第4章80C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)p副本_第1頁(yè)
第4章80C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)p副本_第2頁(yè)
第4章80C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)p副本_第3頁(yè)
第4章80C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)p副本_第4頁(yè)
第4章80C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)p副本_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件1 1第第4 4章章 80C5180C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)本講重點(diǎn):本講重點(diǎn): 匯編語(yǔ)言程序設(shè)計(jì)。匯編語(yǔ)言程序設(shè)計(jì)。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件2 24.14.1單片機(jī)程序設(shè)計(jì)語(yǔ)言概述單片機(jī)程序設(shè)計(jì)語(yǔ)言概述4.1.1 4.1.1 機(jī)器語(yǔ)言和匯編語(yǔ)言機(jī)器語(yǔ)言和匯編語(yǔ)言機(jī)器語(yǔ)言機(jī)器語(yǔ)言用二進(jìn)制表示的指令。用二進(jìn)制表

2、示的指令。匯編語(yǔ)言匯編語(yǔ)言用助記符表示的指令。用助記符表示的指令。4.1.2 4.1.2 單片機(jī)使用的高級(jí)語(yǔ)言單片機(jī)使用的高級(jí)語(yǔ)言C語(yǔ)言、語(yǔ)言、BASIC、PL/M等等20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3 34.1.3 80C514.1.3 80C51單片機(jī)匯編語(yǔ)言的語(yǔ)句格式單片機(jī)匯編語(yǔ)言的語(yǔ)句格式標(biāo)號(hào)標(biāo)號(hào)由由1 18 8個(gè)個(gè)ASCIIASCII碼組成,但碼組成,但第一個(gè)字符第一個(gè)字符必須必須是是字母字母; 同一標(biāo)號(hào)同一標(biāo)號(hào),在,在同一段程序中只允許定義一次;同一段程序中只允許定義一次

3、; 標(biāo)號(hào)標(biāo)號(hào): : 操作碼操作碼 目的操作數(shù)目的操作數(shù), ,源操作數(shù)源操作數(shù); ;注釋注釋 標(biāo)號(hào)標(biāo)號(hào)后邊必須跟后邊必須跟冒號(hào)冒號(hào)。 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4 44.2 4.2 匯編語(yǔ)言程序的基本結(jié)構(gòu)形式匯編語(yǔ)言程序的基本結(jié)構(gòu)形式 一般把程序結(jié)構(gòu)分為一般把程序結(jié)構(gòu)分為3 3種形式:種形式:順序結(jié)構(gòu)順序結(jié)構(gòu)、分支結(jié)構(gòu)分支結(jié)構(gòu)和和循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)。 順序程序是最簡(jiǎn)單的程序結(jié)構(gòu),程序執(zhí)行時(shí),按指令的先后順序程序是最簡(jiǎn)單的程序結(jié)構(gòu),程序執(zhí)行時(shí),按指令的先后順序,一條條地執(zhí)行。順序,一

4、條條地執(zhí)行。 4.2.1 4.2.1 順序結(jié)構(gòu)順序結(jié)構(gòu) 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件5 5例:例:三字節(jié)無(wú)符號(hào)數(shù)相加,其中被加數(shù)在內(nèi)部三字節(jié)無(wú)符號(hào)數(shù)相加,其中被加數(shù)在內(nèi)部RAMRAM的的50H50H、51H51H和和52H52H單元單元中;加數(shù)在內(nèi)部中;加數(shù)在內(nèi)部RAMRAM的的53H53H、54H54H和和55H55H單元中;要求把相加之和存放在單元中;要求把相加之和存放在50H50H、51H51H和和52H52H單單元中,進(jìn)位存放在位尋址區(qū)的元中,進(jìn)位存放在位尋址區(qū)的00H0

5、0H位位中。中。 MOV R0, #52H ; MOV R0, #52H ;被加數(shù)的低字節(jié)地址被加數(shù)的低字節(jié)地址 MOV R1, #55H ;MOV R1, #55H ;加數(shù)的低字節(jié)地址加數(shù)的低字節(jié)地址 MOV A, R0MOV A, R0 ADD A, R1 ; ADD A, R1 ;低字節(jié)相加低字節(jié)相加 MOV R0, A ;MOV R0, A ;存低字節(jié)相加結(jié)果存低字節(jié)相加結(jié)果20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件6 6 DEC R0 DEC R0 DEC R1 DEC R1 MOV

6、 A, R0 MOV A, R0 ADDC A, R1 ; ADDC A, R1 ;中間字節(jié)帶進(jìn)位相加中間字節(jié)帶進(jìn)位相加 MOV R0, A ;MOV R0, A ;存中間字節(jié)相加結(jié)果存中間字節(jié)相加結(jié)果 DEC R0DEC R0 DEC R1 DEC R1 MOV A, R0 MOV A, R0 ADDC A, R1 ; ADDC A, R1 ;高字節(jié)帶進(jìn)位相加高字節(jié)帶進(jìn)位相加 MOV R0, A ;MOV R0, A ;存高字節(jié)相加結(jié)果存高字節(jié)相加結(jié)果20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課

7、件7 7 CLR A CLR A ADDC A, #00H ADDC A, #00H MOV R0, #00H ; MOV R0, #00H ;存放進(jìn)位的單元地址存放進(jìn)位的單元地址 MOV R0, A ;MOV R0, A ;進(jìn)位送進(jìn)位送00H00H位保存位保存20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件8 84.2.2 4.2.2 分支結(jié)構(gòu)分支結(jié)構(gòu) 例:例:假定在外部假定在外部RAMRAM中有中有ST1ST1、ST2ST2和和ST3ST3共共3 3個(gè)連續(xù)個(gè)連續(xù)單元,單元,其中其中ST1ST1和

8、和ST2ST2單元中分別單元中分別存放著兩個(gè)存放著兩個(gè)8 8位無(wú)符號(hào)二進(jìn)制位無(wú)符號(hào)二進(jìn)制數(shù)數(shù),要求找出其中的大數(shù)并存入,要求找出其中的大數(shù)并存入ST3ST3單元中。單元中。START: CLR C ;START: CLR C ;進(jìn)位位清進(jìn)位位清“0”0” MOV DPTR, #ST1 ; MOV DPTR, #ST1 ;設(shè)置數(shù)據(jù)指針設(shè)置數(shù)據(jù)指針 MOVX A, DPTR ;MOVX A, DPTR ;取第一個(gè)數(shù)取第一個(gè)數(shù) 分支結(jié)構(gòu)是通過(guò)轉(zhuǎn)移指令實(shí)現(xiàn)的,又分為單分支結(jié)構(gòu)分支結(jié)構(gòu)是通過(guò)轉(zhuǎn)移指令實(shí)現(xiàn)的,又分為單分支結(jié)構(gòu)和多分支結(jié)構(gòu)。和多分支結(jié)構(gòu)。 1.1.單分支結(jié)構(gòu)單分支結(jié)構(gòu) 20222022年年6

9、 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件9 9 MOV R2, A ; MOV R2, A ;第一個(gè)數(shù)存第一個(gè)數(shù)存R2 R2 INC DPTR ; INC DPTR ;數(shù)據(jù)指針加數(shù)據(jù)指針加1 1 MOVX A, DPTR ; MOVX A, DPTR ;取第二個(gè)數(shù)取第二個(gè)數(shù) SUBB A, R2 ;SUBB A, R2 ;兩數(shù)比較兩數(shù)比較 JNC BIG1 ;JNC BIG1 ;第二個(gè)數(shù)大則轉(zhuǎn)第二個(gè)數(shù)大則轉(zhuǎn)BUG1BUG1 XCH A, R2 ; XCH A, R2 ;第一個(gè)數(shù)大則整字節(jié)交第一個(gè)數(shù)大則整字節(jié)交 換

10、,然后繼續(xù)執(zhí)行程序換,然后繼續(xù)執(zhí)行程序BIG0: INC DPTRBIG0: INC DPTR MOVX DPTR, A ; MOVX DPTR, A ;存大數(shù)存大數(shù)20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件1010 RET RETBIG1: MOVX A, DPTRBIG1: MOVX A, DPTR SJMP BIG0 SJMP BIG020222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件11112

11、.2.多分支結(jié)構(gòu)多分支結(jié)構(gòu) YesNo20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件1212YesYesNoNoCJNE20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件1313例:例:某溫度控制系統(tǒng),采集的溫度值某溫度控制系統(tǒng),采集的溫度值(Ta)(Ta)放在累加器放在累加器A A中。此外,在內(nèi)部中。此外,在內(nèi)部RAM RAM 54H54H單元存放控制溫度下限值單元存放控制溫度下限值(T54)(T54)

12、,在,在55H55H單元存放控制溫度上限值單元存放控制溫度上限值(T55)(T55)。若。若TaT55TaT55,程序轉(zhuǎn)向,程序轉(zhuǎn)向JWJW(降溫處理程序);若(降溫處理程序);若TaT54Ta55Ta55 轉(zhuǎn)降溫處理程序轉(zhuǎn)降溫處理程序 CJNE A, 54H, LOOP2 ;TaT54CJNE A, 54H, LOOP2 ;TaT54則轉(zhuǎn)向則轉(zhuǎn)向LOOP2LOOP2 AJMP FH ;Ta=T54 AJMP FH ;Ta=T54則返回主程序則返回主程序LOOP2: JC SW ;LOOP2: JC SW ;若若(CY)=1(CY)=1則表明則表明 TaT54TaT54,轉(zhuǎn)升溫處理程序。,轉(zhuǎn)升

13、溫處理程序。FH: RETFH: RET20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件16162 2)用查地址表方法實(shí)現(xiàn)多分支程序轉(zhuǎn)移用查地址表方法實(shí)現(xiàn)多分支程序轉(zhuǎn)移關(guān)鍵是建立一個(gè)差值表,并將各分支入口地址與該表首地址的差關(guān)鍵是建立一個(gè)差值表,并將各分支入口地址與該表首地址的差值按順序排列其中,差值表首地址送入值按順序排列其中,差值表首地址送入DPTRDPTR,分支序號(hào)值送入,分支序號(hào)值送入A A中,然后就可通過(guò)轉(zhuǎn)移指令中,然后就可通過(guò)轉(zhuǎn)移指令JMP A+DPTRJMP A+DPTR進(jìn)行分支進(jìn)行分

14、支。 (0AH0BH0CH0DHAAABBBCCCDDD20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件17173 3)其他)其他方法實(shí)現(xiàn)多分支方法實(shí)現(xiàn)多分支程序轉(zhuǎn)移(自學(xué))程序轉(zhuǎn)移(自學(xué))地址表、堆棧等地址表、堆棧等20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件18184.2.3 4.2.3 循環(huán)程序結(jié)構(gòu)循環(huán)程序結(jié)構(gòu) 循環(huán)是為了重復(fù)執(zhí)行一個(gè)程序段。循環(huán)是為了重復(fù)執(zhí)行一個(gè)程序段。 與高級(jí)語(yǔ)言不同,匯編語(yǔ)

15、言中沒(méi)有專用的循環(huán)指與高級(jí)語(yǔ)言不同,匯編語(yǔ)言中沒(méi)有專用的循環(huán)指令,但可以使用條件轉(zhuǎn)移指令通過(guò)條件判斷來(lái)控令,但可以使用條件轉(zhuǎn)移指令通過(guò)條件判斷來(lái)控制循環(huán)。制循環(huán)。 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件1919 在程序運(yùn)行時(shí),有時(shí)需要連續(xù)重復(fù)執(zhí)行某段在程序運(yùn)行時(shí),有時(shí)需要連續(xù)重復(fù)執(zhí)行某段程序,可以使用循環(huán)程序。其結(jié)構(gòu)包括四部程序,可以使用循環(huán)程序。其結(jié)構(gòu)包括四部分:分: 1 1、置循環(huán)初值、置循環(huán)初值 2 2、循環(huán)體(循環(huán)工作部分)、循環(huán)體(循環(huán)工作部分) 3 3、修改控制變量、修改控制變

16、量 4 4、循環(huán)控制部分、循環(huán)控制部分 其組織方式如下圖所示。其組織方式如下圖所示。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件2020置初值循環(huán)體循環(huán)修改循環(huán)控制退出循環(huán)未完未完完完(a)置初值循環(huán)體循環(huán)修改循環(huán)控制退出循環(huán)未完未完完完(b)循環(huán)組織方式流程圖循環(huán)組織方式流程圖20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件21211 1、置循環(huán)初值、置循環(huán)初值 對(duì)于循環(huán)程序中所使用的工作單元,在循

17、環(huán)開(kāi)始時(shí)對(duì)于循環(huán)程序中所使用的工作單元,在循環(huán)開(kāi)始時(shí)應(yīng)置初值。應(yīng)置初值。 例如,工作寄存器設(shè)置計(jì)數(shù)初值,累加器例如,工作寄存器設(shè)置計(jì)數(shù)初值,累加器A A清清0 0,以,以及設(shè)置地址指針、長(zhǎng)度等。及設(shè)置地址指針、長(zhǎng)度等。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件22222 2、循環(huán)體(循環(huán)工作部分)、循環(huán)體(循環(huán)工作部分) 重復(fù)執(zhí)行的程序段部分,分為循環(huán)工作部分和循環(huán)重復(fù)執(zhí)行的程序段部分,分為循環(huán)工作部分和循環(huán)控制部分??刂撇糠帧?循環(huán)控制部分循環(huán)控制部分每循環(huán)一次,檢查結(jié)束條件每循環(huán)一次,檢查

18、結(jié)束條件,當(dāng)滿足,當(dāng)滿足條件時(shí),就停止循環(huán),往下繼續(xù)執(zhí)行其他程序條件時(shí),就停止循環(huán),往下繼續(xù)執(zhí)行其他程序20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件23233 3、修改控制變量、修改控制變量 在循環(huán)程序中,不許給出循環(huán)結(jié)束條件。在循環(huán)程序中,不許給出循環(huán)結(jié)束條件。 常見(jiàn)的是計(jì)數(shù)循環(huán),當(dāng)循環(huán)了一定的次數(shù)后,就停止循環(huán)。常見(jiàn)的是計(jì)數(shù)循環(huán),當(dāng)循環(huán)了一定的次數(shù)后,就停止循環(huán)。 在單片機(jī)中,在單片機(jī)中,一般用一個(gè)工作寄存器一般用一個(gè)工作寄存器RnRn作為計(jì)數(shù)器作為計(jì)數(shù)器,對(duì)該計(jì),對(duì)該計(jì)數(shù)器賦初值作為循環(huán)次

19、數(shù)。每循環(huán)一次,數(shù)器賦初值作為循環(huán)次數(shù)。每循環(huán)一次,計(jì)數(shù)器的值減計(jì)數(shù)器的值減1 1,即,即修改循環(huán)控制變量,當(dāng)計(jì)數(shù)器的置件為修改循環(huán)控制變量,當(dāng)計(jì)數(shù)器的置件為0 0時(shí),就停止循環(huán)。時(shí),就停止循環(huán)。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件24244 4、循環(huán)控制部分、循環(huán)控制部分 根據(jù)循環(huán)結(jié)束條件,判斷是否結(jié)束循環(huán)。根據(jù)循環(huán)結(jié)束條件,判斷是否結(jié)束循環(huán)。 89C5189C51可采用可采用DJNZDJNZ指令來(lái)自動(dòng)修改控制變量并能結(jié)束循環(huán)。指令來(lái)自動(dòng)修改控制變量并能結(jié)束循環(huán)。20222022年年6

20、 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件2525例:例:設(shè)有一字符串以回車(chē)符為結(jié)束標(biāo)志,并存放在內(nèi)部設(shè)有一字符串以回車(chē)符為結(jié)束標(biāo)志,并存放在內(nèi)部RAMRAM從從40H40H單元開(kāi)始的連續(xù)存儲(chǔ)單元中,編寫(xiě)測(cè)試字符串長(zhǎng)度的程序。單元開(kāi)始的連續(xù)存儲(chǔ)單元中,編寫(xiě)測(cè)試字符串長(zhǎng)度的程序。思路:思路:1.1.逐個(gè)字符與回車(chē)符(逐個(gè)字符與回車(chē)符(0DH0DH)比較;)比較; 2.2.設(shè)置一個(gè)字符串指針;設(shè)置一個(gè)字符串指針; 3.3.設(shè)置一個(gè)長(zhǎng)度計(jì)數(shù)器。設(shè)置一個(gè)長(zhǎng)度計(jì)數(shù)器。 MOV R2,#0FFH ;MOV R2,#0FFH ;

21、設(shè)置長(zhǎng)度計(jì)數(shù)器初值設(shè)置長(zhǎng)度計(jì)數(shù)器初值 MOV R0,#3FH ;MOV R0,#3FH ;設(shè)置字符串指針初值設(shè)置字符串指針初值LOOP: INC R2LOOP: INC R2 INC R0 INC R0CJNE R0, #0DH,LOOPCJNE R0, #0DH,LOOP RET RET20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件262620222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件2727202

22、22022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件2828一、分析問(wèn)題一、分析問(wèn)題 對(duì)需要解決的問(wèn)題進(jìn)行分析,以求對(duì)問(wèn)題由對(duì)需要解決的問(wèn)題進(jìn)行分析,以求對(duì)問(wèn)題由正確的理解。如,正確的理解。如, 解決問(wèn)題的任務(wù)是什么?解決問(wèn)題的任務(wù)是什么? 工作過(guò)程?工作過(guò)程? 現(xiàn)有的條件,已知數(shù)據(jù),對(duì)運(yùn)算的精度和速現(xiàn)有的條件,已知數(shù)據(jù),對(duì)運(yùn)算的精度和速度方面的要求?度方面的要求? 設(shè)計(jì)的硬件結(jié)構(gòu)是否方便編程?設(shè)計(jì)的硬件結(jié)構(gòu)是否方便編程?20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電

23、學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件2929二、確定算法二、確定算法 算法就是如何將實(shí)際問(wèn)題轉(zhuǎn)化成程序模塊來(lái)處理。算法就是如何將實(shí)際問(wèn)題轉(zhuǎn)化成程序模塊來(lái)處理。 在編程以前,先要對(duì)幾種不同的算法進(jìn)行分析、比在編程以前,先要對(duì)幾種不同的算法進(jìn)行分析、比較,找出最適宜的算法較,找出最適宜的算法20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3030三、畫(huà)程序流程圖三、畫(huà)程序流程圖 程序流程圖是用各種圖形、符號(hào)、有向線段等來(lái)說(shuō)明程序設(shè)程序流程圖是用各種圖形、符號(hào)、有向線段等來(lái)說(shuō)明程序設(shè)計(jì)

24、過(guò)程的一種直觀的表示。計(jì)過(guò)程的一種直觀的表示。 流程圖劃分得越細(xì)致,編寫(xiě)程序是也越方便。流程圖劃分得越細(xì)致,編寫(xiě)程序是也越方便。 畫(huà)流程圖是程序結(jié)構(gòu)設(shè)計(jì)的一種重要手段。畫(huà)流程圖是程序結(jié)構(gòu)設(shè)計(jì)的一種重要手段。 一個(gè)系統(tǒng)軟件包括總流程圖和局部流程圖。一個(gè)系統(tǒng)軟件包括總流程圖和局部流程圖。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3131流程圖常采用的圖形和符號(hào):流程圖常采用的圖形和符號(hào):橢圓框橢圓框或桶形框或桶形框:表示程序的:表示程序的開(kāi)始開(kāi)始或或結(jié)束結(jié)束。矩形框矩形框:表示要進(jìn)行的工作。:表示

25、要進(jìn)行的工作。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3232流程圖常采用的圖形和符號(hào):流程圖常采用的圖形和符號(hào):菱形框菱形框:表示要判斷的事情,菱形框內(nèi):表示要判斷的事情,菱形框內(nèi)的表達(dá)式表示要判斷的內(nèi)容。的表達(dá)式表示要判斷的內(nèi)容。圓圈圓圈:表示連接點(diǎn):表示連接點(diǎn)指向線指向線:表示程序的流向:表示程序的流向20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3333四、編寫(xiě)程序四、編寫(xiě)程序 用用89

26、C5189C51匯編語(yǔ)言編寫(xiě)的源程序。匯編語(yǔ)言編寫(xiě)的源程序。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件343420222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3535編程的方法和技巧編程的方法和技巧一、模塊化的程序設(shè)計(jì)方法一、模塊化的程序設(shè)計(jì)方法二、編程技巧二、編程技巧20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)

27、課件教學(xué)課件3636一、模塊化的程序設(shè)計(jì)方法一、模塊化的程序設(shè)計(jì)方法1 1、程序功能模塊化的優(yōu)點(diǎn)、程序功能模塊化的優(yōu)點(diǎn)2 2、劃分模塊的原則、劃分模塊的原則20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件37371 1、程序功能模塊化的優(yōu)點(diǎn)、程序功能模塊化的優(yōu)點(diǎn) 單個(gè)模塊結(jié)構(gòu)的程序單個(gè)模塊結(jié)構(gòu)的程序功能單一功能單一,易于編寫(xiě)易于編寫(xiě)、調(diào)試調(diào)試和和修改修改。 便于便于分工分工,從而可使多個(gè)程序員同時(shí)進(jìn)行程序的編寫(xiě)和調(diào)試,從而可使多個(gè)程序員同時(shí)進(jìn)行程序的編寫(xiě)和調(diào)試工作,加快軟件研制進(jìn)度。工作,加快軟件研

28、制進(jìn)度。 程序程序可讀性好可讀性好,便于,便于功能擴(kuò)充功能擴(kuò)充和和版本升級(jí)版本升級(jí)。 對(duì)程序的修改可局部進(jìn)行對(duì)程序的修改可局部進(jìn)行,其它部分可以保持不變。,其它部分可以保持不變。 對(duì)使用頻繁的子程序?qū)κ褂妙l繁的子程序建立子程序庫(kù)建立子程序庫(kù),便于多模塊調(diào)用。,便于多模塊調(diào)用。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件38382 2、劃分模塊的原則、劃分模塊的原則 每個(gè)模塊應(yīng)具有每個(gè)模塊應(yīng)具有獨(dú)立的功能獨(dú)立的功能,能產(chǎn)生一個(gè)明確的結(jié)果,即單,能產(chǎn)生一個(gè)明確的結(jié)果,即單模塊的功能高內(nèi)聚性。模塊的功

29、能高內(nèi)聚性。 模塊之間的模塊之間的控制耦合應(yīng)盡量簡(jiǎn)單控制耦合應(yīng)盡量簡(jiǎn)單,數(shù)據(jù)耦合應(yīng)盡量少數(shù)據(jù)耦合應(yīng)盡量少,即模,即模塊間的低耦合性??刂岂詈鲜侵改K進(jìn)入和退出的條件及方塊間的低耦合性??刂岂詈鲜侵改K進(jìn)入和退出的條件及方式,數(shù)據(jù)耦合是指模塊間的信息交換方式、交換量的多少及式,數(shù)據(jù)耦合是指模塊間的信息交換方式、交換量的多少及交換頻繁程度。交換頻繁程度。 模塊長(zhǎng)度適中。模塊長(zhǎng)度適中。2020條條100100條的范圍較合適。條的范圍較合適。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件3939二、編程技

30、巧二、編程技巧1 1、盡量、盡量采用采用循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)和和子程序子程序。2 2、盡量、盡量少用少用無(wú)條件轉(zhuǎn)移無(wú)條件轉(zhuǎn)移指令。指令。3 3、對(duì)于通用的子程序,考慮到其通用性,除了用于存放子程、對(duì)于通用的子程序,考慮到其通用性,除了用于存放子程序入口參數(shù)的寄存器外,子程序中用到的其他寄存器的內(nèi)容序入口參數(shù)的寄存器外,子程序中用到的其他寄存器的內(nèi)容應(yīng)壓入堆棧(返回前再?gòu)棾觯?,即保護(hù)現(xiàn)場(chǎng)。應(yīng)壓入堆棧(返回前再?gòu)棾觯?,即保護(hù)現(xiàn)場(chǎng)。4 4、在中斷處理程序中,除了要保護(hù)處理程序中用到的寄存器、在中斷處理程序中,除了要保護(hù)處理程序中用到的寄存器外,還要保護(hù)標(biāo)志寄存器。外,還要保護(hù)標(biāo)志寄存器。5 5、用累加器

31、傳遞入口參數(shù)或返回參數(shù)比較方便用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,子程序中,子程序中,一般不必把累加器內(nèi)容壓入堆棧。一般不必把累加器內(nèi)容壓入堆棧。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件40404.3 80C514.3 80C51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)舉例單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)舉例 本節(jié)課本上的例題以自學(xué)為主。本節(jié)課本上的例題以自學(xué)為主。大部分程序沒(méi)用,重點(diǎn)看查表程序。大部分程序沒(méi)用,重點(diǎn)看查表程序。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電

32、學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4141 ORG 1000H ORG 1000H ONE DATA 30H ONE DATA 30H TWO DATA 31H TWO DATA 31H MAX DATA 32H MAX DATA 32H CLR C CLR C MOV A MOV A ,ONE ONE SUBB A SUBB A ,TWO TWO JZ XMAXJZ XMAX JB ACCJB ACC7 7,NEGNEG JB OVJB OV,YMAXYMAX SJMP SJMP XMAXXMAX NEG NEG: JB OVJB OV,XMAXXMAX YMAX YM

33、AX: MOV A MOV A ,TWOTWO SJMP RMAXSJMP RMAX XMAX XMAX: MOV A MOV A ,ONEONE RMAX RMAX: MOV MAXMOV MAX,A A SJMP $ SJMP $ END END 例例 ONE ONE和和TWOTWO單元中的兩個(gè)帶符號(hào)數(shù)比較大小,將較大者存入單元中的兩個(gè)帶符號(hào)數(shù)比較大小,將較大者存入MAXMAX單元中。兩數(shù)相等則任一個(gè)存入單元中。兩數(shù)相等則任一個(gè)存入MAXMAX即可。即可。若若X XY Y為負(fù),則為負(fù),則OV=0OV=0,XYXYXY若若X XY Y為正,則為正,則OV=0OV=0,XYXY OV=1 OV

34、=1,XY XY 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4242 ORG 0000H ORG 0000HZero: Zero: movmov R0, #30H R0, #30H movmov R7,#10 R7,#10 movmov A,#00H A,#00HLoop: Loop: movmov R0, A R0, A inc R0 inc R0 djnzdjnz R7,Loop R7,Loop sjmpsjmp $ $ END END30H30HR0R023H23H98H98H0A8H0

35、A8H0FDH0FDH0 00 00 00 00 00 020222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4343例例 將兩個(gè)半字節(jié)數(shù)合并成一個(gè)一字節(jié)數(shù)將兩個(gè)半字節(jié)數(shù)合并成一個(gè)一字節(jié)數(shù)。 設(shè)內(nèi)部設(shè)內(nèi)部RAM 40H#, 41HRAM 40H#, 41H單元中分別存放著單元中分別存放著 8 8 位二進(jìn)制數(shù)位二進(jìn)制數(shù), , 要求取出要求取出兩個(gè)單元中的低半字節(jié)兩個(gè)單元中的低半字節(jié), , 并成一個(gè)字節(jié)后并成一個(gè)字節(jié)后, , 存入存入50H50H單元中。單元中。 程序如下程序如下: : START: MOV

36、 R1, START: MOV R1, 40H ; 40H ; 設(shè)置設(shè)置R1R1為為數(shù)據(jù)指針數(shù)據(jù)指針 MOV A, R1 ; MOV A, R1 ; 取出第一個(gè)單元中取出第一個(gè)單元中的內(nèi)容的內(nèi)容 ANL A, ANL A, 0FH ; 0FH ; 取第一個(gè)數(shù)的低取第一個(gè)數(shù)的低半字節(jié)半字節(jié) SWAP A SWAP A ; ; 移至高移至高半字節(jié)半字節(jié) INC R1 INC R1 ; ; 修改修改數(shù)據(jù)指針數(shù)據(jù)指針 XCH A, R1 XCH A, R1 ; ; 取第二個(gè)單元中取第二個(gè)單元中的內(nèi)容的內(nèi)容 ANL A, ANL A, 0FH ; 0FH ; 取第二個(gè)數(shù)的低取第二個(gè)數(shù)的低半字節(jié)半字節(jié) O

37、RL A, R1 ; ORL A, R1 ; 拼字拼字 MOV 50H, A MOV 50H, A ; ; 存放結(jié)果存放結(jié)果 RET RET 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4444 0BH + 90H 9BH + 66H 101H 40H + 1 42H 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件45454.4 4.4 單片機(jī)匯編語(yǔ)言源程序的編輯和單片機(jī)匯編語(yǔ)言源程序的編輯和匯編(

38、自學(xué))匯編(自學(xué)) 匯編匯編匯編匯編20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件46464.5 80C514.5 80C51單片機(jī)匯編語(yǔ)言偽指令單片機(jī)匯編語(yǔ)言偽指令匯編程序匯編程序 軟件軟件 工具工具工具軟件工具軟件:將程序員將程序員用匯編語(yǔ)言編寫(xiě)的程序用匯編語(yǔ)言編寫(xiě)的程序翻譯成機(jī)器碼翻譯成機(jī)器碼 ( (真真) )指令指令: :告訴告訴計(jì)算機(jī)計(jì)算機(jī)如何操作以及做何種操作如何操作以及做何種操作用匯編語(yǔ)言編寫(xiě)的程序用匯編語(yǔ)言編寫(xiě)的程序在此被稱為在此被稱為應(yīng)用程序應(yīng)用程序偽指令:偽指令:告訴告訴匯編程

39、序匯編程序在翻譯應(yīng)用程序時(shí)在翻譯應(yīng)用程序時(shí)有何具有何具體約定體約定。偽指令不進(jìn)行具體的操作,那是真指令偽指令不進(jìn)行具體的操作,那是真指令的事。的事。比如:比如:從何處開(kāi)始,何處結(jié)束,某些編程者自己從何處開(kāi)始,何處結(jié)束,某些編程者自己規(guī)定的表述代表什么意思規(guī)定的表述代表什么意思 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4747ORGORG addr16addr16ASM51ASM51程序中一定要寫(xiě)!程序中一定要寫(xiě)!規(guī)定編譯后的機(jī)器代碼存放的規(guī)定編譯后的機(jī)器代碼存放的起始位置起始位置。ENDEN

40、D ASM51ASM51程序中一定要寫(xiě)!程序中一定要寫(xiě)!表示翻譯到此表示翻譯到此結(jié)束結(jié)束,其后的任何內(nèi)容不予理睬。,其后的任何內(nèi)容不予理睬。符號(hào)名稱符號(hào)名稱 EQUEQU 表達(dá)式表達(dá)式將表達(dá)式的值賦予符號(hào)名稱。程序中凡出現(xiàn)該將表達(dá)式的值賦予符號(hào)名稱。程序中凡出現(xiàn)該符符號(hào)名稱號(hào)名稱就就等同于等同于該該表達(dá)式表達(dá)式。$ $ “當(dāng)前當(dāng)前PCPC值值”也叫也叫位置計(jì)數(shù)器位置計(jì)數(shù)器代表正在執(zhí)行的指令所在位置。代表正在執(zhí)行的指令所在位置。20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4848符號(hào)名稱符號(hào)名稱

41、BITBIT 位地址位地址將位地址的值賦予符號(hào)名稱。程序中凡出現(xiàn)該將位地址的值賦予符號(hào)名稱。程序中凡出現(xiàn)該符號(hào)名稱符號(hào)名稱就就代表代表該該位地址位地址。DWDW 雙字節(jié)數(shù)據(jù)雙字節(jié)數(shù)據(jù) 或雙字節(jié)數(shù)據(jù)組或雙字節(jié)數(shù)據(jù)組 將將雙字節(jié)數(shù)據(jù)雙字節(jié)數(shù)據(jù) 或雙字節(jié)數(shù)據(jù)組或雙字節(jié)數(shù)據(jù)組 順序順序存放在存放在此此后的后的存儲(chǔ)單元中存儲(chǔ)單元中。占據(jù)相應(yīng)存儲(chǔ)空間。占據(jù)相應(yīng)存儲(chǔ)空間。DBDB 8 8位數(shù)據(jù)位數(shù)據(jù) 或或8 8位數(shù)據(jù)組位數(shù)據(jù)組 將將8 8位數(shù)據(jù)位數(shù)據(jù) 或或8 8位數(shù)據(jù)組位數(shù)據(jù)組 順序順序存放在存放在此后的此后的存存儲(chǔ)單元中儲(chǔ)單元中。占相應(yīng)數(shù)量的存儲(chǔ)空間。占相應(yīng)數(shù)量的存儲(chǔ)空間。20222022年年6 6月月2

42、 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件4949匯編起始偽指令匯編起始偽指令 格式:格式: ORG ORG 功能:功能:指定匯編源程序編譯成機(jī)器語(yǔ)言程序指定匯編源程序編譯成機(jī)器語(yǔ)言程序 的起始地址的起始地址例如:例如: ORGORG 0000H 0000H LJMP 0100H LJMP 0100H ORGORG 0100H 0100H Start: MOV A,#5AH Start: MOV A,#5AH SJMP $ SJMP $ END END20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武

43、漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件5050匯編結(jié)束偽指令匯編結(jié)束偽指令 格式:格式:END END 起始地址起始地址 功能:停止匯編功能:停止匯編 仍用上例:仍用上例: ORG 0000H ORG 0000H LJMP 0100H LJMP 0100H ORG 0100H ORG 0100HStart: MOV A,#5AhStart: MOV A,#5Ah SJMP $ SJMP $ ENDEND20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)教學(xué)課件教學(xué)課件5151定義字節(jié)偽

44、指令定義字節(jié)偽指令 格式:格式: DB DB 功能:功能:把把項(xiàng)或項(xiàng)表的數(shù)值存入從標(biāo)號(hào)開(kāi)始的項(xiàng)或項(xiàng)表的數(shù)值存入從標(biāo)號(hào)開(kāi)始的連續(xù)單元,其中項(xiàng)或項(xiàng)表可以是一個(gè)字節(jié)、數(shù)連續(xù)單元,其中項(xiàng)或項(xiàng)表可以是一個(gè)字節(jié)、數(shù)或以引號(hào)括起來(lái)的字符串?;蛞砸?hào)括起來(lái)的字符串。 ORG 1000HORG 1000HDat: DB Dat: DB 11h,-111h,-1, ,A,BCDA,BCD END END 該指令只能為程序存儲(chǔ)器賦初該指令只能為程序存儲(chǔ)器賦初值,不能為其他存儲(chǔ)器賦初值,尤其不值,不能為其他存儲(chǔ)器賦初值,尤其不能為內(nèi)部數(shù)據(jù)存儲(chǔ)器賦初值。能為內(nèi)部數(shù)據(jù)存儲(chǔ)器賦初值。1000H1000H11H11HFFHFFH41H41H42H42H程序存儲(chǔ)器程序存儲(chǔ)器43H43H44H44H補(bǔ)碼補(bǔ)碼ASCIIASCII碼碼 20222022年年6 6月月2 2日星期四日星期四武漢理工大學(xué)機(jī)電學(xué)院武漢理工大學(xué)機(jī)電學(xué)院?jiǎn)纹瑱C(jī)應(yīng)用系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論