




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、會(huì)計(jì)學(xué)1C單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)新解讀實(shí)用單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)新解讀實(shí)用2第1頁(yè)/共44頁(yè)3第2頁(yè)/共44頁(yè)*.ASM第3頁(yè)/共44頁(yè)第4頁(yè)/共44頁(yè)第5頁(yè)/共44頁(yè)第6頁(yè)/共44頁(yè)ORG 1000HORG 1000HA1:DB 01001010B,23A1:DB 01001010B,23o o,23,78H,23,78H,A2:DB A2:DB 5 5, ,”12AB12AB”,12D,-2,12D,-2(1000H)=01001010B=4AH,(1000H)=01001010B=4AH,(1001H)=23(1001H)=23o o=13H=13H,(1002H)=23=17H, (1
2、002H)=23=17H, (1003H)=78H,(1003H)=78H,(1004H)=35H(5(1004H)=35H(5的的ASCIIASCII碼碼),),(1005H)=31H(1(1005H)=31H(1的的ASCIIASCII碼)碼), ,(1006H)=32H(2(1006H)=32H(2的的ASCIIASCII碼碼),),(1007H)=41H(A(1007H)=41H(A的的ASCIIASCII碼)碼), ,(1008H)=42H(B(1008H)=42H(B的的ASCIIASCII碼碼),),(1009H)=12D=0CH(1009H)=12D=0CH(100AH)=-2
3、=0FEH(100AH)=-2=0FEH【例例】第7頁(yè)/共44頁(yè)【例例】第8頁(yè)/共44頁(yè)【例例】ADDRTAB:DS 20ADDRTAB:DS 20; ;從標(biāo)號(hào)從標(biāo)號(hào)ADDRTABADDRTAB代表的地址開(kāi)始,預(yù)留代表的地址開(kāi)始,預(yù)留2020個(gè)個(gè); ;連續(xù)的地址單元。連續(xù)的地址單元。DBDB、DWDW、DSDS只能對(duì)于程序存儲(chǔ)器使用只能對(duì)于程序存儲(chǔ)器使用第9頁(yè)/共44頁(yè)第10頁(yè)/共44頁(yè)【例例】CS EQU 0FFFFHCS EQU 0FFFFHA1 EQU R1A1 EQU R1A2 EQU 10H A2 EQU 10H DELAY EQU 0708HDELAY EQU 0708H第11頁(yè)/
4、共44頁(yè)n表達(dá)式可以是一個(gè)數(shù)據(jù)或地址,也可以是一個(gè)包含所定義字符名在內(nèi)的表達(dá)式,但不能是一個(gè)匯編符號(hào)(如R0R7)。n與EQU的區(qū)別:nEQU必須先定義后使用。nDATA無(wú)此限制,所以DATA偽指令可以放在源程序的開(kāi)頭或末尾MOV R0,ADDRESSMOV R0,ADDRESSMOV R1,#ADDRESSMOV R1,#ADDRESSADDRESS DATA 31HADDRESS DATA 31H將將31H31H單元內(nèi)容送單元內(nèi)容送R0,(R1)=31HR0,(R1)=31H。第12頁(yè)/共44頁(yè)第13頁(yè)/共44頁(yè)ORGORGSJMP $SJMP $ENDEND【例例】程序格式如下:程序格式
5、如下:第14頁(yè)/共44頁(yè)16第15頁(yè)/共44頁(yè)17第16頁(yè)/共44頁(yè)18第17頁(yè)/共44頁(yè)x-1(x5)0(5x 10)x+1(x10)Y=要根據(jù)要根據(jù)x的大小來(lái)決定的大小來(lái)決定y值,在判斷值,在判斷x5和和y10時(shí),采用時(shí),采用CJNE和和JC以及以及CJNE和和JNC指令進(jìn)行判斷。指令進(jìn)行判斷。19第18頁(yè)/共44頁(yè)ORG 1000HMOV A,30H;取取xCJNE A,#5,NEXT1;與與5比較比較NEXT1: JC NEXT3;x5,則轉(zhuǎn),則轉(zhuǎn)NEXT3CJNE A,#10,NEXT2;與與10比較比較NEXT2: JNC NEXT4; x10,則轉(zhuǎn),則轉(zhuǎn)NEXT4MOV R0,#
6、0;5x 10,y=0SJMP NEXT5NEXT3: MOV R0,ADEC R0;x5,y=x-1SJMP NEXT5NEXT4: MOV R0,AINC R0;x10,y=x+1NEXT5: MOV 31H,R0;存結(jié)果存結(jié)果SJMP $END20第19頁(yè)/共44頁(yè)第20頁(yè)/共44頁(yè)22第21頁(yè)/共44頁(yè)23第22頁(yè)/共44頁(yè)MOV A,#kRL AADD A,R3MOV DPTR,#BRTABJMP A+DPTRBRTAB:LJMP BR0;BRTABLJMP BR1;BRTA+3 LJMP BRn;BRTAB+3n24第23頁(yè)/共44頁(yè)25第24頁(yè)/共44頁(yè)26第25頁(yè)/共44頁(yè)27
7、第26頁(yè)/共44頁(yè)28第27頁(yè)/共44頁(yè)n恢復(fù)即可29第28頁(yè)/共44頁(yè)30第29頁(yè)/共44頁(yè)31第30頁(yè)/共44頁(yè)如何調(diào)整定時(shí)時(shí)長(zhǎng)?如何調(diào)整定時(shí)時(shí)長(zhǎng)?第31頁(yè)/共44頁(yè)第32頁(yè)/共44頁(yè)第33頁(yè)/共44頁(yè)n注意:如果數(shù)據(jù)表存放在外部ROM中,執(zhí)行查表指令時(shí),會(huì)在控制引腳PSEN上產(chǎn)生一個(gè)程序存儲(chǔ)器讀信號(hào)。第34頁(yè)/共44頁(yè)第35頁(yè)/共44頁(yè)【例例】分別用兩條查表指令編寫(xiě)一段子程序,功能為:分別用兩條查表指令編寫(xiě)一段子程序,功能為:根據(jù)累加器根據(jù)累加器A A中的數(shù)(中的數(shù)(0 09 9之間)查找平方表,求出相應(yīng)之間)查找平方表,求出相應(yīng)的平方數(shù),放在的平方數(shù),放在A A中。中。第36頁(yè)/共44
8、頁(yè)第37頁(yè)/共44頁(yè)n程序中:n值存放在A中,Y值存入R2R1R0中。第38頁(yè)/共44頁(yè)ORG 2000HORG 2000HTEM EQU 30HTEM EQU 30HFACTORIAL:FACTORIAL:MOV B,#3MOV B,#3MUL ABMUL AB;n;n在在A A中,中,n n3 3MOV B,AMOV B,A; ;暫存暫存B B中中MOV DPTR,#TABMOV DPTR,#TAB; ;指向表首址指向表首址TABLTABLMOV A,A+DPTRMOV A,A+DPTR; ;查表取低字節(jié)查表取低字節(jié)MOV R0,AMOV R0,A; ;存入存入R0R0INC DPTRIN
9、C DPTR; ;修正地址指針修正地址指針MOV A,BMOV A,B; ;恢復(fù)恢復(fù)n n3 3MOV A,A+DPTRMOV A,A+DPTR; ;查表取中間字節(jié)查表取中間字節(jié)MOV R1,AMOV R1,A; ;存入存入R1R1INC DPTRINC DPTR; ;修正地址指針修正地址指針MOV A,BMOV A,B; ;恢復(fù)恢復(fù)n n3 3MOVC A,A+DPTRMOVC A,A+DPTR; ;查表取高字節(jié)查表取高字節(jié)MOV R2,AMOV R2,A; ;存入存入R2R2RETRETTAB:TAB:DB 0,0,0, 0,0,1,0,0,2, 0,0,6DB 0,0,0, 0,0,1,
10、0,0,2, 0,0,6 ;0,1,2,3;0,1,2,3的階乘的階乘DB 0,0,18H,0,0,78H,0,2,D0HDB 0,0,18H,0,0,78H,0,2,D0H;4,5,6;4,5,6的階乘的階乘DB 0,13H,0B0H,0,9DH,80HDB 0,13H,0B0H,0,9DH,80H;7,8;7,8的階乘的階乘DB 5,89H,80HDB 5,89H,80H;9;9的階乘的階乘第39頁(yè)/共44頁(yè)在某單片機(jī)系統(tǒng)中,按下一按鍵,在某單片機(jī)系統(tǒng)中,按下一按鍵,鍵值(代表哪個(gè)鍵被按下)存放在內(nèi)部鍵值(代表哪個(gè)鍵被按下)存放在內(nèi)部RAM的的40H單元內(nèi)。設(shè)計(jì)一段程序單元內(nèi)。設(shè)計(jì)一段程序?qū)崿F(xiàn)功能:如果實(shí)現(xiàn)功能:如果(40H)=00H,調(diào)用子程序,調(diào)用子程序SUB1;如果;如果(40H)=01H,調(diào)用子,調(diào)用子程序程序SUB2;如果;如果(40H)=02H,調(diào)用子程序,調(diào)用子程序SUB3;如果;如果(40H)=03H,調(diào)用子,調(diào)用子程序程序SUB4;如果;如果(40H)=04H,調(diào)用子程序,調(diào)用子程序SUB5。MOV A,40HMOV DPTR,#TABRL AADD A,40HJMP A+DPTRTAB:LCALL SUB1LCA
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省大連市2022-2023學(xué)年高二下學(xué)期期末考試化學(xué)試題(含答案)
- 介紹玩具活動(dòng)方案
- 從軍夏日活動(dòng)方案
- 倉(cāng)儲(chǔ)貨架促銷活動(dòng)方案
- 倉(cāng)庫(kù)清理活動(dòng)方案
- 付費(fèi)專欄活動(dòng)方案
- 代表之家活動(dòng)方案
- 代賬公司節(jié)假日活動(dòng)方案
- 企業(yè)與企業(yè)團(tuán)建活動(dòng)方案
- 企業(yè)代言活動(dòng)方案
- T/CCIAS 010-2023雞精調(diào)味料生產(chǎn)技術(shù)規(guī)范
- 上海市建平西學(xué)校2025年八年級(jí)數(shù)學(xué)第二學(xué)期期末經(jīng)典試題含解析
- 2025年04月高等教育自學(xué)考試《00034社會(huì)學(xué)概論》試題
- GB/T 23454-2025石材臺(tái)面板
- 2025年微觀經(jīng)濟(jì)學(xué)與宏觀經(jīng)濟(jì)學(xué)專業(yè)考試試卷及答案
- 2024年江蘇省蘇州市初中地理會(huì)考模擬卷(三)含答案
- 2024-2025學(xué)年度部編版二年級(jí)語(yǔ)文下學(xué)期期末試卷 (含答案)
- 2025年高考語(yǔ)文備考之古詩(shī)文名句名篇默寫(xiě)(共80題含答案)
- 2024年寧夏醫(yī)科大學(xué)總醫(yī)院招聘真題
- 新東方留學(xué)合同范本7篇
- 2025-2030中國(guó)理發(fā)行業(yè)市場(chǎng)發(fā)展前瞻及投資戰(zhàn)略研究報(bào)告
評(píng)論
0/150
提交評(píng)論