




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機學習第四章第1頁,課件共17頁,創(chuàng)作于2023年2月匯編語言程序設計中的數(shù)計算機只能識別二進制數(shù)——機器指令,它原本是不認識常用的十六進制數(shù)和十進制數(shù)的。機器指令/目標代碼:由0/1代碼組成的操作碼與操作數(shù)。十六進制數(shù):便于讀寫記憶的二進制數(shù)的簡寫形式。(0~9,A~F后綴:H/h)BCD碼:用二進制數(shù)表達的十進制數(shù)。(0~9表示為:0000~1001B后綴:B/b,H/h)二進制數(shù):由0/1組成、“逢2進1”的數(shù)制。如:01011110B(0~1后綴:B/b)2第2頁,課件共17頁,創(chuàng)作于2023年2月匯編語言編程基本規(guī)則匯編語言:用助記符描述的指令的集合。√指令中以A—F開頭的十六進制數(shù)前必須添一個“0”。√二進制數(shù)必須帶后綴“B”或“b”;十六進制數(shù)必須帶后綴“H”或“h”;十進制數(shù)的后綴是“D”或“d”或無.[標號:]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]匯編程序:匯編語言編寫的程序借助編譯工具編譯成為目標代碼,計算機才能識別。這個編譯工具稱為匯編程序。3第3頁,課件共17頁,創(chuàng)作于2023年2月匯編程序的偽指令匯編程序→軟件→
工具→工具軟件:將程序員用匯編語言編寫的程序翻譯成機器碼
(真)指令:告訴計算機如何操作以及做何種操作用匯編語言編寫的程序在此被稱為應用程序偽指令:告訴匯編程序在翻譯應用程序時有何具體約定。偽指令不進行具體的操作,那是真指令的事。比如:從何處開始,何處結束,某些編程者自己規(guī)定的表述代表什么意思……
4第4頁,課件共17頁,創(chuàng)作于2023年2月匯編程序的常用偽指令ORGaddr16——ASM51程序中一定要寫!規(guī)定編譯后的機器代碼存放的起始位置。END
——ASM51程序中一定要寫!表示翻譯到此結束,其后的任何內(nèi)容不予理睬。符號名稱EQU表達式將表達式的值賦予符號名稱。程序中凡出現(xiàn)該符號名稱就等同于該表達式。$——“當前PC值”也叫位置計數(shù)器代表正在執(zhí)行的指令所在位置。5第5頁,課件共17頁,創(chuàng)作于2023年2月符號名稱BIT
位地址將位地址的值賦予符號名稱。程序中凡出現(xiàn)該符號名稱就代表該位地址。DW
雙字節(jié)數(shù)據(jù)[或雙字節(jié)數(shù)據(jù)組]將雙字節(jié)數(shù)據(jù)[或雙字節(jié)數(shù)據(jù)組]順序存放在此后的存儲單元中。占據(jù)相應存儲空間。DB8位數(shù)據(jù)[或8位數(shù)據(jù)組]將8位數(shù)據(jù)[或8位數(shù)據(jù)組]順序存放在此后的存儲單元中。占相應數(shù)量的存儲空間。6第6頁,課件共17頁,創(chuàng)作于2023年2月程序的順序/分支/循環(huán)三種基本結構
ORG2000HBCD2B:MOVA,R2;取入口數(shù)據(jù)
ANLA,#0F0H;取出十位
SWAPA;高4位低4位
MOVB,#0AHMULAB;十位乘10MOVR3,A;積暫存進R3MOVA,R2;再取入口數(shù)據(jù)
ANLA,#0FH;取出個位
ADDA,R3MOVR2,A;結果R2RET;若不是子程序可用END
例:將R2中BCD碼數(shù)轉為二進制數(shù)存進R2(此子程序在下一例中還要用到)7第7頁,課件共17頁,創(chuàng)作于2023年2月編程要點:兩字節(jié)BCD碼數(shù)范圍為:0000H—9999H
相應2進制/16進制數(shù)為:0000H—270FH
調(diào)用BCD2B子程序實現(xiàn)“千位,百位”轉為二進制,
并乘100;
再調(diào)BCD2B子程序實現(xiàn)“十位,個位”轉為二進制;
最后,對位相加。例:將R5R4中的雙字節(jié)BCD碼數(shù)轉為二進制數(shù)存于R5R4中。8第8頁,課件共17頁,創(chuàng)作于2023年2月例:將R5R4中的兩字節(jié)BCD碼數(shù)轉為二進制數(shù)存于R5R4中X100千百十個二進制+Cy+(R5)(R4)(R5)(R4)(R6)(A)(R5)(A)二進制二進制二進制二進制二進制調(diào)BCD2B調(diào)BCD2B9第9頁,課件共17頁,創(chuàng)作于2023年2月
ORG2000HVAREQU30H;定義緩存單元
FUNCEQU31HBR1:MOVA,VAR;取出變量“X”JZCOMP;若=0,就賦0
JNBACC.7,POS1;判斷=正?
MOVA,#0FFH;(-1=+1取反加1)SJMPCOMP;輸出-1POS1:MOVA,#01H;輸出+1COMP:MOVFUNC,A;賦給函數(shù)“Y”HERE:AJMPHEREEND例3:1(X>0)0(X=0)–1(X<0)Y=10第10頁,課件共17頁,創(chuàng)作于2023年2月任務一:控制一盞燈點亮任務二:紅燈周期性亮/滅任務三:紅外防盜報警
0RG0000HAJMPMAINORG0003HRLAACALLDELAYRETIMAIN:MOVA,#80HSETBEX0SETBEAWAIT:JBACC.0,JOB1JBACC.1,JOB2JBACC.2,JOB3AJMPWAITJOB1: CLRP1.0;亮紅燈HERE:AJMPHEREJOB2:CPLP1.0;亮/滅
ACALLDELAY;延時1秒
AJMPJOB2;重復JOB3:CLRP1.1;亮綠燈REDO:SETBP1.3CHECK:JNBP1.3,CHECKLOOP:…………;報警!
AJMPREDO;再檢測11第11頁,課件共17頁,創(chuàng)作于2023年2月
ORG1000HDELAY:MOVR6,#200;1TmLOOP1:MOVR7,#248;1TmNOP;1TmLOOP2:DJNZR7,LOOP2;2TmDJNZR6,LOOP1;2TmRET;1Tm例:軟件循環(huán)延時100mS(晶振12MHz)☆1Tm=1uS100mS=100000uS☆MOVRn#data和NOP是單機器周期指令☆DJNZRn,rel是雙機器周期指令☆200=0C8H;248=0F8H1+1+248x2=498(498+2)x20012第12頁,課件共17頁,創(chuàng)作于2023年2月
ORG1000HDL1S:MOVR7,#10DL1:MOVR6,#200DL2:MOVR5,#250DL3:DJNZR5,DL3DJNZR6,DL2DJNZR7,DL1RET例:軟件循環(huán)延時1S(晶振12MHz)☆1Tm=1uS1S=1000000uS☆MOVRn#data是單機器周期指令☆DJNZRn,rel是雙機器周期指令1+250x21+[(1+250x2)+2)]x2001+[(1+250x2+2)x200+2]x1013第13頁,課件共17頁,創(chuàng)作于2023年2月
ORG2000HH2ASC:MOVA,R2;取待轉換的數(shù)據(jù)(入口)ADDA,#0F6H;判此數(shù)是否≥10?
若≥10,則C=1;<10,則C=0MOVA,R2;重取待轉換的數(shù)據(jù)
JNCAD30H;小于10就跳去加30HADDA,#07H;≥10就先加7再去加30H
AD30H:ADDA,#30HMOVR2,A;存結果(出口)RET例:16進制數(shù)(00H—0FH)轉ASCII碼子程序算法:凡≥10的十六進制數(shù)加37H;凡<10的十六進制數(shù)加30H。(ASCII碼表0~9→30H~39H,A~F→41H~46H
14第14頁,課件共17頁,創(chuàng)作于2023年2月TABL:DW050FH,0E89H,0A695H,1EAAH,0D9BH,7F93HDW0373H,26D7H,2710H,9E3FH,1A66H,22E3HDW1174H,16EFH,33E4H,6CA0H例:根據(jù)16個雙字節(jié)數(shù)的序號查表找出對應數(shù)據(jù)表地址#TABL#TABL+1#TABL+2#TABL+3……#TABL+30#TABL+31數(shù)據(jù)YY0高Y0低Y1高Y1低……Y15高Y15低序號X00H01H……0FH編程思路:以表格首地址(TABL)為基址,以序號(的2倍)為偏移量,查找對應的數(shù)據(jù)15第15頁,課件共17頁,創(chuàng)作于2023年2月ORG2000HSTA1:MOVA,R2;取待查數(shù)據(jù)的序號X(入口)
RLA;每數(shù)占2個單元,序號要乘2MOVR4,A;R4←序號x2(即偏移量)MOVDPTR,#TABL;DPTR←表格首地址MOVCA,@A+DPTR;(A)←查到數(shù)據(jù)高8位
XCHA,R4;數(shù)據(jù)高8位存進R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年無玷污采水器合作協(xié)議書
- 2025年度樹木修剪、施肥與銷售一體化服務協(xié)議
- 二零二五年度勞動合同電子臺賬操作手冊編寫合同
- 二零二五年度安防產(chǎn)品經(jīng)銷商返點合作協(xié)議
- 2025年度集體合同協(xié)商與職工退休待遇
- 設備維修年度工作計劃
- 2025年中考英語作文寫作指導手冊
- 2025年桌面云項目可行性研究報告及建設實施方案
- 2024年全球及中國內(nèi)毒素截留濾芯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 法律知識合同法重點題
- 2017華東六省一市優(yōu)質(zhì)課課件連乘問題11月29日
- 部編版(統(tǒng)編)一年級語文下冊每課練習題(全冊全套)
- DB62∕T 4134-2020 高速公路服務區(qū)設計規(guī)范
- 中電朝陽250兆瓦智慧風儲一體化風電項目環(huán)評報告書
- 做一個幸福教師
- 海上風電場+風機基礎介紹
- 國家自然科學基金申請標書模板
- GB T 20219-2015 絕熱用噴涂硬質(zhì)聚氨酯泡沫塑料(高清版)
- 車間斷針記錄表
- 人人有事做事事有人做
- MT_T 693-2019-礦用無線電波透視儀通用技術條件_(高清版)
評論
0/150
提交評論