




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機學(xué)習(xí)第四章第1頁,共17頁,2022年,5月20日,2點45分,星期二匯編語言程序設(shè)計中的數(shù)計算機只能識別二進(jìn)制數(shù)機器指令,它原本是不認(rèn)識常用的十六進(jìn)制數(shù)和十進(jìn)制數(shù)的。機器指令/目標(biāo)代碼: 由0/1代碼組成的操作碼與操作數(shù)。十六進(jìn)制數(shù):便于讀寫記憶的二進(jìn)制數(shù)的簡寫形式。 (09,AF 后綴:H/h)BCD碼:用二進(jìn)制數(shù)表達(dá)的十進(jìn)制數(shù)。 (09表示為:00001001B 后綴:B/b,H/h)二進(jìn)制數(shù) :由0/1組成、“逢2進(jìn)1”的數(shù)制。 如:01011110B (01 后綴:B/b)2第2頁,共17頁,2022年,5月20日,2點45分,星期二匯編語言編程基本規(guī)則匯編語言:用助記符描述的
2、指令的集合。指令中以 AF 開頭的十六進(jìn)制數(shù)前必須添一個 “0”。二進(jìn)制數(shù)必須帶后綴“B”或“b”;十六進(jìn)制數(shù)必須帶后綴“H”或“h”;十進(jìn)制數(shù)的后綴是“D”或“d”或無.標(biāo)號:操作碼 目的操作數(shù),源操作數(shù);注釋匯編程序:匯編語言編寫的程序借助編譯工具編譯成為目標(biāo)代碼,計算機才能識別。這個編譯工具稱為匯編程序。3第3頁,共17頁,2022年,5月20日,2點45分,星期二匯編程序的偽指令匯編程序 軟件 工具工具軟件: 將程序員用匯編語言編寫的程序翻譯成機器碼 (真)指令:告訴計算機如何操作以及做何種操作用匯編語言編寫的程序在此被稱為應(yīng)用程序偽指令:告訴匯編程序在翻譯應(yīng)用程序時有何具體約定。偽指
3、令不進(jìn)行具體的操作,那是真指令的事。 比如:從何處開始,何處結(jié)束,某些編程者自己規(guī)定的表述代表什么意思 4第4頁,共17頁,2022年,5月20日,2點45分,星期二匯編程序的常用偽指令ORG addr16ASM51程序中一定要寫!規(guī)定編譯后的機器代碼存放的起始位置。END ASM51程序中一定要寫!表示翻譯到此結(jié)束,其后的任何內(nèi)容不予理睬。符號名稱 EQU 表達(dá)式將表達(dá)式的值賦予符號名稱。程序中凡出現(xiàn)該符號名稱就等同于該表達(dá)式。$ “當(dāng)前PC值”也叫位置計數(shù)器 代表正在執(zhí)行的指令所在位置。5第5頁,共17頁,2022年,5月20日,2點45分,星期二符號名稱 BIT 位地址將位地址的值賦予符
4、號名稱。程序中凡出現(xiàn)該符號名稱就代表該位地址。DW 雙字節(jié)數(shù)據(jù)或雙字節(jié)數(shù)據(jù)組將雙字節(jié)數(shù)據(jù)或雙字節(jié)數(shù)據(jù)組順序存放在此后的存儲單元中。占據(jù)相應(yīng)存儲空間。DB 8位數(shù)據(jù)或8位數(shù)據(jù)組將8位數(shù)據(jù)或8位數(shù)據(jù)組順序存放在此后的存儲單元中。占相應(yīng)數(shù)量的存儲空間。6第6頁,共17頁,2022年,5月20日,2點45分,星期二程序的順序/分支/循環(huán)三種基本結(jié)構(gòu) ORG 2000HBCD2B:MOV A, R2 ;取入口數(shù)據(jù) ANL A, #0F0H ;取出十位 SWAP A ;高4位 低4位 MOV B, #0AH MUL AB ;十位乘10 MOV R3,A ;積暫存進(jìn)R3 MOV A, R2;再取入口數(shù)據(jù) A
5、NL A, #0FH ;取出個位 ADD A, R3 MOV R2,A ;結(jié)果 R2 RET ;若不是子程序可用END 例:將R2中BCD碼數(shù)轉(zhuǎn)為二進(jìn)制數(shù)存進(jìn)R2(此子程序在下一例中還要用到)7第7頁,共17頁,2022年,5月20日,2點45分,星期二編程要點: 兩字節(jié) BCD碼數(shù)范圍為: 0000H9999H 相應(yīng)2進(jìn)制/16進(jìn)制數(shù)為: 0000H270FH 調(diào)用 BCD2B子程序?qū)崿F(xiàn)“千位,百位”轉(zhuǎn)為二進(jìn)制, 并乘100; 再調(diào) BCD2B子程序?qū)崿F(xiàn)“十位,個位”轉(zhuǎn)為二進(jìn)制; 最后,對位相加。例:將R5R4中的雙字節(jié)BCD碼數(shù)轉(zhuǎn)為 二進(jìn)制數(shù)存于R5R4中。8第8頁,共17頁,2022年,
6、5月20日,2點45分,星期二例: 將R5R4中的兩字節(jié)BCD碼數(shù)轉(zhuǎn)為二進(jìn)制數(shù)存于R5R4中X 100千 百十 個二進(jìn)制+Cy+(R5)(R4)(R5)(R4)(R6)(A)(R5)(A)二進(jìn)制二進(jìn)制二進(jìn)制二進(jìn)制二進(jìn)制調(diào) BCD2B調(diào) BCD2B9第9頁,共17頁,2022年,5月20日,2點45分,星期二 ORG 2000H VAR EQU 30H ;定義緩存單元 FUNC EQU 31HBR1: MOV A,VAR ;取出變量“X” JZ COMP ;若=0,就賦 0 JNB ACC.7,POS1 ;判斷 = 正? MOV A,#0FFH ;(-1 = +1取反加1) SJMP COMP
7、;輸出 -1POS1:MOV A,#01H ;輸出 +1COMP:MOV FUNC,A ;賦給函數(shù)“Y”HERE:AJMP HERE END例3:1 (X0) 0 (X=0) 1(X0)Y=10第10頁,共17頁,2022年,5月20日,2點45分,星期二任務(wù)一:控制一盞燈點亮 任務(wù)二:紅燈周期性亮/滅 任務(wù)三:紅外防盜報警 0RG 0000H AJMP MAIN ORG 0003H RL A ACALL DELAY RETIMAIN:MOV A,#80H SETB EX0 SETB EAWAIT:JB ACC.0,JOB1 JB ACC.1,JOB2 JB ACC.2,JOB3 AJMP W
8、AITJOB1: CLR P1.0 ;亮紅燈HERE: AJMP HEREJOB2: CPL P1.0 ;亮/滅 ACALL DELAY ;延時1秒 AJMP JOB2 ;重復(fù)JOB3: CLR P1.1 ;亮綠燈REDO: SETB P1.3 CHECK:JNB P1.3,CHECK LOOP: ;報警! AJMP REDO ;再檢測11第11頁,共17頁,2022年,5月20日,2點45分,星期二 ORG 1000HDELAY:MOV R6,#200 ; 1TmLOOP1:MOV R7,#248 ; 1Tm NOP ; 1TmLOOP2:DJNZ R7,LOOP2 ; 2Tm DJNZ R
9、6,LOOP1 ; 2Tm RET ; 1Tm例:軟件循環(huán)延時100mS(晶振12MHz) 1Tm =1uS 100mS = 100000 uS MOV Rn #data 和 NOP 是單機器周期指令 DJNZ Rn,rel 是雙機器周期指令 200 = 0C8H ; 248 = 0F8H1+1+ 248x2 =498(498+2)x20012第12頁,共17頁,2022年,5月20日,2點45分,星期二 ORG 1000HDL1S:MOV R7,#10DL1: MOV R6,#200DL2: MOV R5, #250 DL3: DJNZ R5, DL3 DJNZ R6,DL2 DJNZ R7
10、,DL1 RET例:軟件循環(huán)延時1S(晶振12MHz) 1Tm =1uS 1S = 1000000 uS MOV Rn #data 是單機器周期指令 DJNZ Rn,rel 是雙機器周期指令1+ 250 x21+ (1+250 x2) +2)x2001+ (1+250 x2+2) x200+2x1013第13頁,共17頁,2022年,5月20日,2點45分,星期二 ORG 2000HH2ASC: MOV A,R2 ;取待轉(zhuǎn)換的數(shù)據(jù)(入口) ADD A,#0F6H ;判此數(shù)是否10 ? 若10,則C=1;10,則C=0 MOV A,R2 ;重取待轉(zhuǎn)換的數(shù)據(jù) JNC AD30H ;小于10就跳去加
11、30H ADD A,#07H ;10就先加7 再去加30H AD30H: ADD A,#30H MOV R2,A ;存結(jié)果(出口) RET例:16進(jìn)制數(shù)(00H0FH)轉(zhuǎn)ASCII碼子程序算法:凡10的十六進(jìn)制數(shù)加37H;凡10的 十六進(jìn)制數(shù)加 30H。(ASCII碼表09 30H39H, AF 41H46H 14第14頁,共17頁,2022年,5月20日,2點45分,星期二TABL: DW 050FH,0E89H,0A695H,1EAAH,0D9BH,7F93H DW 0373H,26D7H, 2710H,9E3FH,1A66H,22E3H DW 1174H,16EFH, 33E4H,6CA
12、0H例:根據(jù)16個雙字節(jié)數(shù)的序號查表找出對應(yīng)數(shù)據(jù)表地址#TABL#TABL+1#TABL+2#TABL+3#TABL+30#TABL+31數(shù)據(jù)YY0高Y0低Y1高Y1低Y15高Y15低序號X00H01H0FH編程思路:以表格首地址(TABL)為基址,以序號(的2倍)為偏移量,查找對應(yīng)的數(shù)據(jù)15第15頁,共17頁,2022年,5月20日,2點45分,星期二 ORG 2000HSTA1: MOV A,R2 ;取待查數(shù)據(jù)的序號 X (入口) RL A ;每數(shù)占2個單元,序號要乘2 MOV R4,A ;R4 序號 x2 (即偏移量) MOV DPTR,#TABL ;DPTR 表格首地址 MOVC A,A+DPTR ;(A) 查到數(shù)據(jù)高8位 XCH A,R4 ;數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024塔式太陽能光熱發(fā)電站鏡場控制系統(tǒng)技術(shù)規(guī)范
- 2025年阿里貨運資格證模擬考試
- 2025年南京貨車資格證答案
- 墊資工程施工合同協(xié)議書
- 小商鋪房屋租賃合同
- 2025年高中化學(xué)新教材同步 必修第一冊 第2章 第2節(jié) 第1課時 氯氣的性質(zhì)
- 反擔(dān)保 保證合同范本
- Α-烯基磺酸鹽(AOS9235)競爭策略分析報告
- 印布油墨戰(zhàn)略市場規(guī)劃報告
- 鋅鎳蓄電池市場分析及競爭策略分析報告
- 2024年江蘇省中學(xué)生生物學(xué)奧林匹克初賽理論試題
- 環(huán)境年度報告
- 生產(chǎn)流水線的規(guī)劃方案
- 小針刀療法教學(xué)課件
- 打造寫生基地方案
- 寫作:廣告詞-【中職專用】高二語文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護(hù)理查房課件
- 銷售人員人才畫像
- 鑫宇鋅合金模具設(shè)計標(biāo)準(zhǔn)
- 整理我的小書桌(課件)小學(xué)勞動二年級通用版
- 森林撫育施工組織設(shè)計
評論
0/150
提交評論