




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1/1實驗報告(單片機實驗報告)1雙字節無符號數加法
例1:雙字節無符號數加法(R0R1)+(R2R3)→(R4R5),
R0、R2、R4存放16位數的高字節,R1、R3、R5存放低字節。已知(R0R1)=(93h,79h);(R2R3)=(25h,a4h)
假設其和不超過16位。請編程。
org0000h
Ljmpstart
org0050h
start:
movR0,#93h
movR1,#79h
movR2,#25h
movR3,#0a4h
movA,R1
ADDA,R3
movR5,A
movA,R0
ADDCA,R2
movR4,A
ss:jmpss
end
2雙字節無符號數減法
例2:雙字節無符號數相減(R0R1)-(R2R3)→(R4R5)。R0、R2、R4存放16位數的高字節,R1、R3、R5存放低字節,已知(R0R1)=(93h,79h);(R2R3)=(25h,a4h);請編程。同學自己可以設置被減數與減數數值
org0000h
Ljmpstart
org0050h
start:
movR0,#93h
movR1,#79h
movR2,#25h
movR3,#0a4h
movA,R1
CLRC
SUBBA,R3
movR5,A
movA,R0
SUBBA,R2
movR4,A
ss:jmpss
end
3雙字節數乘以單字節數
例3:利用單字節乘法指令,進行雙字節數乘以單字節數運算。若被乘數為16位無符號數,地址為M1(30H)和M1+1(31H)(低位先、高位后),乘數為8位無符號數,地址為M2(32H),積由高位到低位存入R2、R3和R4三個寄存器中。
30H,31H,32H內容12H,34H,56H;
org0000h
Ljmpstart
org0050h
start:
mov30h,#12h
mov31h,#34h
mov32h,#56h
mova,(30h)
movb,(32h)
mulab
movR3,b
movR4,a
mova,(31h)
movb,(32h)
mulab
addA,R3
movR3,A
movA,b
ADDCA,#00h
movR2,A
ss:jmpss
end
4.把8位二進制數轉換為3位BCD
例4:利用除法指令把累加器A中的8位二進制數轉換為3位BCD數,并以壓縮形式存放在地址M1、M2單元中。
設A中放A8H,M1、M2單元地址是30H,31H
org0000h
Ljmpstart
org0050h
start:
movA,#0A8h
movb,#64h
divAb
mov(30h),A
movA,b
movb,#0Ah
divAb
swapA
addA,b
mov(31h),A
ss:jmpss
end
5雙字節壓縮BCD碼加法
例6:雙字節壓縮BCD碼加法。
設R5(高)、R4(低)為被加數;R3(高)、R2(低)為加數,相加和的結果存入:R6(萬)、R5(千、百)、R4(十、個)。被加數98H,76H;加數54H,32H
org0000h
Ljmpstart
org0050h
start:
movR5,#98h;R5
movR4,#76h;R4
movR3,#54h;R3
movR2,#32h;R2
movA,R4
addA,R2
DAA
movR4,A
movA,R5
ADDCA,R3
DAA
movR5,A
movA,#0h
movR6,#0h
addca,R6
movR6,A
ss:jmpss
end
6利用DPTR取數據,并保持DPTR原數不變
例6:若在外部ROM/EPROM中2000H單元開始依次存放0~9的平方值,原來數據指針(DPTR)=3A00H,請用查表指令取出2003H單元的數據后,要求保持DPTR中的內容不變。
org0000h
Ljmpstart
start:
movDPTR,#3a00h
pushDPH
movDPTR,#TABLE
mova,#03h
movca,@A+DPTR
popDPH
ss:jmpss
org2000h
TABLE:DB0,1,4,9,16,25,36,49,64,81
End
716位數的算術左移
16位數的算術左移。16位數在內存中低8位存放在M1單元,高8位存放在M1+1單元。16位數是1234H,M1為30H,M2為31H
org0000h
ljmpstart
org0050h
start:
mov(30h),#34H
mov(31h),#12h
mova,30h
movb,#02h
mulab
mov30h,a
movr1,b
mova,31h
movb,#02h
mulab
adda,r1
mov31h,a
ss:jmpss
end
8比較內部RAMI、J單元中A、B兩數的大小
例3:比較內部RAMI、J單元中A、B兩數的大小,設A、B數均為帶符號數,以補碼數存入I、J中,若A=B,則使內部RAM的位K置1;若A≠B,則大數存M單元,小數存N單元。
設內部RAMI、J是30H,40H;(A)=58H,(B)=97H
M單元=50H,N單元=60H,位K=00H
該帶符號數比較子程序的比較過程示意圖如圖3―9所示。
org0000h
ljmpstart
org0050h
start:
mov(30h),#58h
mov(40h),#58h
mova,30h
anla,#80h
jnzm;a>10
mulab
movr3,a;暫存相乘結果mova,r5
anla,#0fh
adda,r3
movb,#64h;b>>100
mulab
movr5,b
movr3,a
mova,r4
anla,#0F0h
swapa
movb,#0ah;b>>10
mulab
movr2,a;暫存相乘結果mova,r4
anla,#0fh
adda,r2
adda,r3
movr4,a
ss:ljmpss
end
10冒泡排序
有8個數據存放在20H為首地址的內部RAM,進行升序排列編程,原始數據:39,27,13,44,78,22,6,51;設R7為比較次數計數器,初始值為07H,F0為標志位,F0=0表明無互換發生,F0=1表明有互換發生
org0000h
ljmpstart
org0050h
start:
mov(20h),#39;27h
mov(21h),#27;1Bh
mov(22h),#13;0DH
mov(23h),#44;2CH
mov(24h),#78;4EH
mov(25h),#22;16H
mov(26h),#6;06H
mov(27h),#51;33H
a0:movr0,#20h
movr1,#1fh
movr7,#07h
clrf0
clrc
a1:
mova,@r0
incr0
incr1
movb,a
subba,@r0
jca3
a2:mova,b
xcha,@r0mov@r1,asetbf0
a3:djnzr7,a1jbf0,a0
ss:ljmpss
End
11中斷方式下定時器應用設計
設單片機的晶振為12MHz,,定時器0方式0工作,產生1ms定時,在P1.0引腳上輸出周期為2ms的方波,中斷方式完成,試設計程序。
org000BH
LJMPINT
org2000H
ljmpstart
start:
movTMOD,#00H
movth0,#1ch
movtl1,#18h
setbEA
setbET0
setbTR0
sjmp$
INT:CPLp1.0;輸出方波
MOVTH0,#1ch;重新裝入計數初值,如果是方式2就不需要重裝。
MOVTL0,#18h
RETI
ss:jmpss
end
12查詢方式下定時器應用設計
設單片機的晶振為12MHz,,定時器0方式0工作,產生1ms定時,在P1.0引腳上輸出周期為2ms的方波,查詢方式完成,試設計程序。
org2000H
ljmpstart
start:
movTMOD,#00H
movth0,#1ch
movtl1,#18h
mova,#00h
movIE,#00H
setbTR0
loop:jbctf0,loop1
sjmploop
loop1:
clrtf0
CPLp1.0;輸出方波
inca
MOVTH0,#1ch;重新裝入計數初值,如果是方式2就不需要重裝。
MOVTL0,#18h
sjmploop
ss:jmpss
End
13中斷方式下定時器應用設計
設片內RAM的70H單元的初值為01H,要求每1秒鐘將其內容左環移一位,采用定時器T1,采用定時方式1,晶振頻率為6MHz。中斷方式完成,試設計程序。
ORG0000H
LJMPMAIN
ORG001BH;T1中斷入口
LJMPINT;轉至INT處
ORG2000H;主程序
MAIN:
MOVTMOD,#10H;T1工作于方式1
MOVTH1,#3CH;設置計數初值
MOVTL1,#0B0H
SETBEA;CPU開中斷
SETBET1;允許T1中斷
SETBTR1;啟動T1定時
MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能交通系統在高速公路管理中的智能交通組織與優化創新應用創新應用創新策略報告
- 教育質量標準與認證體系2025年構建與創新研究
- 2025年跨境電商物流服務供應鏈金融創新報告
- 互聯網金融平臺用戶信任機制與金融科技融合研究報告
- 2025年城市污水處理廠智能化改造對城市可持續發展的貢獻報告
- 老年教育課程設置與社區參與式教學模式創新實踐報告
- 哈爾濱市會展產業集群發展的可行性分析
- SHINY CRYSTAL金牌導購之飾品銷售技巧(繁體字)
- 作弊檢討九篇
- 公司禁止打游戲管理制度
- 流行病學傳染病流行病學幻燈片
- 藥物配伍禁忌查詢表
- 水 泵 安 裝 記 錄
- 參加培訓人員匯總表
- 0720小罐茶品牌介紹
- 常州市機械行業安管考試題庫
- 手術記錄-頸胸椎前后路脫位c7t
- PPT模板:小學生防溺水安全教育主題班會08課件(45頁PPT)
- 如何當好副職
- GB∕T 10544-2022 橡膠軟管及軟管組合件 油基或水基流體適用的鋼絲纏繞增強外覆橡膠液壓型 規范
- 低血糖的急救護理PPT課件
評論
0/150
提交評論