<span id="plx27"><var id="plx27"></var></span>
<dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>
  • 歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
    裝配圖網(wǎng)
    ImageVerifierCode 換一換
    首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

    第4章80C51的匯編語言程序設(shè)計(jì)

    • 資源ID:248212976       資源大?。?span id="gjxtyci" class="font-tahoma">2.18MB        全文頁數(shù):44頁
    • 資源格式: PPT        下載積分:15積分
    快捷下載 游客一鍵下載
    會(huì)員登錄下載
    微信登錄下載
    三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
    二維碼
    微信掃一掃登錄
    下載資源需要15積分
    郵箱/手機(jī):
    溫馨提示:
    用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
    支付方式: 支付寶    微信支付   
    驗(yàn)證碼:   換一換

     
    賬號(hào):
    密碼:
    驗(yàn)證碼:   換一換
      忘記密碼?
        
    友情提示
    2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
    3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
    4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
    5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

    第4章80C51的匯編語言程序設(shè)計(jì)

    單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,第,4,章,80C51,的匯編語言程序設(shè)計(jì),程序編制的,方法,和,技巧,4.1,源程序的,編輯,和,匯編,4.2,基本,程序結(jié)構(gòu),4.3,子程序,及其調(diào)用,4.4,簡單,I/O,設(shè)備的并口直接驅(qū)動(dòng),示例,4.5,2024/10/22,1,單片機(jī)應(yīng)用系統(tǒng)由,硬件系統(tǒng),和,應(yīng)用程序,構(gòu)成,匯編語言,高級(jí)語言,應(yīng)用程序設(shè)計(jì),:,2024/10/22,2,4.1,程序編制的方法和技巧,4.1.1,程序編制的步驟,任務(wù)分析,算法設(shè)計(jì),2024/10/22,3,流程描述,流程圖符號(hào),“,超級(jí)循環(huán),”,框架,2024/10/22,4,強(qiáng)化模塊觀念,4.1.2,程序編制的方法和技巧,采用循環(huán)和子程序,對(duì)中斷子程序要注意保護(hù),PSW,的內(nèi)容,2024/10/22,5,4.1.3,匯編語言的語句格式,非數(shù)字字符開頭,后跟字母、數(shù)字、,“,-,”,、,“,?,”,等,不能用已定義的保留字(指令助記符、偽指令等),后跟英文冒號(hào),“,:,”,Keil,的匯編器,A51,可以識(shí)別的語句形式為:,標(biāo)號(hào)(,符號(hào)地址,),標(biāo)號(hào),:,指令助記符,操作數(shù),1,操作數(shù),2,操作數(shù),3,;,注釋,指令助記符,是指令功能的英文縮寫。,2024/10/22,6,數(shù)據(jù):二進(jìn)制(,B,),十進(jìn)制(,D,或省略,D,),十六進(jìn)制(,H,),注意,A,F,開頭時(shí)要加,“,0,”,ASCII,碼,如,A,,,1245,符號(hào):符號(hào)名、標(biāo)號(hào)或,“,$,”,(,PC,的當(dāng)前值),表達(dá)式:由運(yùn)算符和數(shù)據(jù)構(gòu)成(見表,4.1,),操作數(shù),注釋,英文分號(hào),“,;,”,開頭,2024/10/22,7,優(yōu)先級(jí),運(yùn) 算 符,功 能,表達(dá)式及其結(jié)果示例,高,低,(),括號(hào),4*,(,5+6,)即,44,NOT,、,HIGH,、,LOW,取反、取高字節(jié)、取低字節(jié),NOT 55H,即,AAH,;,HIGH 1234H,即,12H,、,正號(hào)、負(fù)號(hào),5,、,6,*、,/,、,MOD,乘、除(取商)、取余數(shù),17/5,即,3,;,17 MOD 5,即,2,、,加、減,5,4,即,9,;,5,4=,即,1,SHL,、,SHR,左移、右移,2 SHL 2,即,8,;,8 SHR 2,即,2,AND,、,OR,、,XOR,與、或、異或,45H AND 0FH,即,05H,、,=,、,、,=,比較運(yùn)算符,MOV A,X8,;,若,X8,為真,則為,MOV A,01H,若,X8,為假,則為,MOV A,00H,表,4.1,2024/10/22,8,4.2,源程序的編輯和匯編,目標(biāo)程序的產(chǎn)生過程如下圖:,2024/10/22,9,4.2.1,源程序的編輯和匯編,源程序的編輯,ORG,0000H,LJMP MAIN,ORG,0040H,MAIN:MOV R7,#16,MOV R0,#60H,MOV A,#55H,LOOP:MOV R0,A,INC R0,DJNZ R7,LOOP,SJMP$,END,依據(jù)匯編語言規(guī)則,用好,偽指令,符號(hào),不用中文,SJMP$,用于調(diào)試,以,.ASM,存盤,2024/10/22,10,源程序的匯編,匯編源程序轉(zhuǎn)為目標(biāo)程序的過程叫,匯編,匯編通常在,Windows,下的,集成開發(fā)環(huán)境,完成,用,A51.EXE,匯編生成,.OBJ,、,.LIB,及,.LST,目標(biāo)程序的連接,.OBJ,、,.LIB,經(jīng),BL51.EXE,生成無擴(kuò)展名的,絕對(duì)地址目標(biāo)文件,絕對(duì)地址目標(biāo)文件,可以用于仿真器調(diào)試,調(diào)試無誤的目標(biāo)文件用,OH51.EXE,轉(zhuǎn)換為,.HEX,文件,.HEX,文件經(jīng),編程器,寫入單片機(jī)存儲(chǔ)器,2024/10/22,11,4.2.2,偽指令,偽指令,也叫匯編命令。僅對(duì)匯編過程進(jìn)行指示,偽指令沒有對(duì)應(yīng)的單片機(jī)可執(zhí)行代碼(,機(jī)器碼,),起始地址設(shè)定偽指令,ORG,ORG,表達(dá)式,表達(dá)式通常為十六進(jìn)制地址,例:,ORG 8000H,START:MOV A,#30H,ORG,可多次使用,但地址值的順序要由小到大,結(jié)束匯編偽指令,END,END,位于源程序的,最后一行,。,2024/10/22,12,定義字節(jié)數(shù)據(jù)表偽指令,DB,定義字?jǐn)?shù)據(jù)表偽指令,DW,1000H,標(biāo)號(hào):,DB,字節(jié)數(shù)據(jù)表,例:,ORG 1000H,DB -2,-4,-6,8,10,18,FEH,FCH,FAH,08H,0AH,12H,1001H,標(biāo)號(hào):,DW,字?jǐn)?shù)據(jù)表,ORG 1400H,DATA1:DW 32,4A,H,3CH,1400H,32H,4A,H,00H,3CH,1401H,1402H,1403H,大端模式,2024/10/22,13,定義常值為符號(hào)名偽指令,EQU,符號(hào)名,EQU,常值表達(dá)式,LEN,EQU,10,SUM,EQU,21H,BLOCK,EQU,22H,CLR A,MOV R7,LEN,MOV R0,BLOCK,LOOP:ADD A,R0,INC R0,DJNZ R7,LOOP,MOV,SUM,A,符號(hào)名為:,地址,常數(shù),段名,字符串,寄存器名,位名,比較:,標(biāo)號(hào),只能是地址,用,EQU,定義的,“,符號(hào)名,”,一經(jīng)定義不能重新定義或修改,2024/10/22,14,定義位地址為符號(hào)名偽指令,BIT,符號(hào)名,BIT,位地址表達(dá)式,例:,ST BIT P1.0 ;,將,P1.0,的位地址賦給符號(hào)名,ST,CF BIT 0D7H ;,將位地址為,D7H,的位定義為符號(hào)名,用,BIT,定義的,“,符號(hào)名,”,一經(jīng)定義便不能重新定義和改變,2024/10/22,15,4.3.1,順序程序,(無分支、無循環(huán)),4.3,基本程序結(jié)構(gòu),【,例,】,片內(nèi),RAM,的,21H,單元存放一個(gè)十進(jìn)制數(shù)據(jù)十位的,ASCII,碼,,22H,單元存放該數(shù)據(jù)個(gè)位的,ASCII,碼。編寫程序?qū)⒃摂?shù)據(jù)轉(zhuǎn)換成壓縮,BCD,碼存放在,20H,單元。,2024/10/22,16,ORG 0040H,START:MOV A,21H ;,取十位,ASCII,碼,ANL A,#0FH ;,保留低半字節(jié),SWAP A ;,移至高半字節(jié),MOV 20H,A ;,存于,20H,單元,MOV A,22H ;,取個(gè)位,ASCII,碼,ANL A,#0FH ;,保留低半字節(jié),ORL 20H,A ;,合并到結(jié)果單元,SJMP$,END,2024/10/22,17,4.3.2,分支程序,分支程序可根據(jù)要求,無條件,或,條件地,改變程序執(zhí)行流向。編寫分支程序主要在于正確使用,轉(zhuǎn)移指令,。分支程序有:單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)、多分支結(jié)構(gòu)(散轉(zhuǎn)),條件成立?,下條指令,程序段,A,單分支結(jié)構(gòu),Y,N,條件成立?,程序段,B,Y,N,程序段,A,雙分支結(jié)構(gòu),2024/10/22,18,4.3.2,分支程序,分支程序可根據(jù)要求無條件或條件地改變程序執(zhí)行流向。編寫分支程序主要在于正確使用轉(zhuǎn)移指令。分支程序有:單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)、多分支結(jié)構(gòu)(散轉(zhuǎn)),K=,?,程序段,n,n,0,程序段,1,多分支結(jié)構(gòu),程序段,0,1,2024/10/22,19,4.3.2,分支程序,(單分支、雙分支、多分支),【,例,4-2】,設(shè)變量,x,以補(bǔ)碼的形式存放在片內(nèi),RAM,的,30H,單元,變量,y,與,x,的關(guān)系是,:,當(dāng),x,大于,0,時(shí),y=x;,當(dāng),x=0,時(shí),y=20H;,當(dāng),x,小于,0,時(shí),y=x+5,。編制程序,根據(jù),x,的大小求,y,并送回原單元。,2024/10/22,20,ORG 0040H,START:MOV A,30H ;,取,x,至累加器,JZ NEXT,;x=0,轉(zhuǎn),NEXT,ANL A,#80H ;,否,保留符號(hào)位,JZ DONE,;x 0,轉(zhuǎn)結(jié)束,MOV A,#05H ;x 0,處理,ADD A,30H,MOV 30H,A ;X+05H,送,Y,SJMP DONE,NEXT:MOV 30H,#20H;x=0,20H,送,Y,DONE:SJMP DONE,END,2024/10/22,21,【,例,4-3】,根據(jù),R7,的內(nèi)容,x,(轉(zhuǎn)移序號(hào))轉(zhuǎn)向相應(yīng)的處理程序。,設(shè),R7,內(nèi)容為,0,4,,對(duì)應(yīng)的處理程序入口地址分別為,PP0,PP4,。,2024/10/22,22,START:MOV R7,#3 ;,以轉(zhuǎn)移序號(hào),3,為例,ACALL JPNUM,AJMP START,JPNUM:MOV DPTR,#TAB ;,置分支入口地址表首址,MOV A,R7,ADD A,R7,;,乘,2,,調(diào)整偏移量,MOV R3,A,MOVC A,A+DPTR ;,取地址高字節(jié),暫存于,R3,XCH A,R3,INC A,MOVC A,A+DPTR ;,取地址低字節(jié),MOV DPL,A ;,處理程序入口地址低,8,位送,DPL,MOV DPH,R3 ;,處理程序入口地址高,8,位送,DPH,CLR A,JMP A+DPTR,2024/10/22,23,TAB:DW PP0,DW PP1,DW PP2,DW PP3,DW PP4,PP0:MOV,30H,#0 ;,轉(zhuǎn)移序號(hào)為,0,時(shí),置功能號(hào),“,0,”,于,30H,單元,RET,PP1:MOV,30H,#1 ;,轉(zhuǎn)移序號(hào)為,1,時(shí),置功能號(hào),“,1,”,于,30H,單元,RET,PP2:MOV,30H,#2 ;,轉(zhuǎn)移序號(hào)為,2,時(shí),置功能號(hào),“,2,”,于,30H,單元,RET,PP3:MOV 30H,#3,;,轉(zhuǎn)移序號(hào)為,3,時(shí),置功能號(hào),“,3,”,于,30H,單元,RET,PP4:MOV 30H,#4 ;,轉(zhuǎn)移序號(hào)為,4,時(shí),置功能號(hào),“,4,”,于,30H,單元,RET,2024/10/22,24,4.3.3,循環(huán)程序,循環(huán)程序一般由:,初始化部分,循環(huán)體部分,-,處理部分、修改部分、控制部分,結(jié)束部分,其結(jié)構(gòu)一般有兩種:,先進(jìn)入處理部分,再控制循環(huán),至少執(zhí)行一次循環(huán)體,先控制循環(huán),再進(jìn)入處理部分,循環(huán)體是否執(zhí)行,取決于判斷結(jié)果。,2024/10/22,25,開始,設(shè)置循環(huán)初值,循環(huán)處理,循環(huán)修改,結(jié)束處理,結(jié)束,循環(huán)結(jié)束?,開始,設(shè)置循環(huán)初值,循環(huán)處理,循環(huán)修改,結(jié)束處理,結(jié)束,循環(huán)結(jié)束?,N,Y,Y,N,2024/10/22,26,4.3.3,循環(huán)程序,【,例,4-4】,將內(nèi)部,RAM,的,30H,至,3FH,單元初始化為,00H,。,MAIN:MOV R0,#30H;,置初值,MOV A,#00H ;,MOV R7,#16 ;,LOOP:MOV R0,A ;,循環(huán)處理,INC R0 ;,DJNZ R7,LOOP;,循環(huán)修改,判結(jié)束,SJMP$;,結(jié)束處理,2024/10/22,27,【,例,4-5】,將內(nèi)部,RAM,起始地址為,60H,的數(shù)據(jù)串傳送到外部,RAM,中起始地址為,1000H,的存儲(chǔ)區(qū)域,直到發(fā)現(xiàn),$,字符停止傳送。,MAIN:MOV R0,#60H ;,置初值,MOV DPTR,#1000H,LOOP0:MOV A,R0 ;,取數(shù)據(jù),CJNE A,#24H,LOOP1;,循環(huán)結(jié)束?,SJMP DONE ;,是,LOOP1:MOVX DPTR,A ;,循環(huán)處理,INC R0 ;,循環(huán)修改,INC DPTR,SJMP LOOP0 ;,繼續(xù)循環(huán),DONE:SJMP DONE ;,結(jié)束處理,2024/10/22,28,【,例,】,50ms,延時(shí)子程序。設(shè)晶振頻率為,12MHz,,則機(jī)器周期為,1us,。,DEL:MOV R7,#200 ;1MC,DEL1:MOV R6,#123 ;1MC,NOP ;1MC,DJNZ R6,$;2MC,DJNZ R7,DEL1 ;2MC,RET ;2MC,延時(shí)時(shí)間:,t=1+200(1+1+2*123)+2+2,50000us=50ms,2024/10/22,29,4.4,子程序及其調(diào)用,完成,通用功能,、,反復(fù)使用,的程序設(shè)計(jì)成,子程序。,使應(yīng)用程序結(jié)構(gòu)清晰緊湊,便于閱讀和調(diào)試,執(zhí)行要由其它程序來調(diào)用,執(zhí)行完后要返回到調(diào)用程序,結(jié)構(gòu)上仍然采用一般程序的,3,種結(jié)構(gòu),調(diào)用時(shí)注意:,一是

    注意事項(xiàng)

    本文(第4章80C51的匯編語言程序設(shè)計(jì))為本站會(huì)員(fgh****35)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

    溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

    copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

    備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


    本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

    欧美久久久一区二区三区,国产精品亚洲一区二区无码,亚洲国产精品综合久久20声音,亚洲国产精品无码久久久蜜芽
    <span id="plx27"><var id="plx27"></var></span>
    <dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>