單片機實驗二軟件設計_第1頁
單片機實驗二軟件設計_第2頁
單片機實驗二軟件設計_第3頁
單片機實驗二軟件設計_第4頁
單片機實驗二軟件設計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗二、單片機軟件實驗 一、 實驗目的: 1、進一步掌握仿真器及軟件的使用; 2、進一步熟悉51單片機指令系統(tǒng); 3、掌握匯編語言程序的設計方法; 4、進一步掌握程序的調試、診斷和排錯方法。二、實驗儀器: 1、PC機一臺。 2、仿真器(EASYPROBE)一只。 3、穩(wěn)壓電源一臺。1YesYes開始0R4R50Cy16R0移出位Cy=1?No(R4R5)+(R2R3)R4R5(R0)-1R0(R0)=0?ENDNoCyR4R5R6R7右移(循環(huán))一位CyR4R5R6R7右移(循環(huán))一位R4R5R6R7三、實驗原理:雙字節(jié)無符號數(shù)相乘移位加算法2四、實驗內容:(一)程序的運行與驗證:1、把長度為

2、10H的字符串從內部RAM的輸入緩沖區(qū)inbuf向輸出緩沖區(qū)outbuf進行傳送,遇到0D0H或整個字符串傳送完畢。設inbuf=30H,outbuf=50H(1)(30H)(35H)=00H05H,(36H)=0D0H,(37H)(3FH)=07H0FH ,運行程序檢查(50H)到(5FH)的內容。(2)(30H)(3FH)=00H0FH ,運行程序 檢查(50H)到(5FH)的內容。3 INBUF EQU 30H OUTBUF EQU 50HORG 0000HLJMP MAIN ORG 1000H1000 7830 MAIN:MOV R0,#INBUF1002 7950 MOV R1,#O

3、UTBUF1004 7A10 MOV R2,#10H1006 E6 LOOP: MOV A,R01007 C3 CLR C1008 94D0 SUBB A,#0D0H100A 6006 JZ OVER100C E6 MOV A,R0100D F7 MOV R1,A100E 09 INC R1100F 08 INC R01010 DAF4 DJNZ R2,LOOP1012 80 FEOVER:SJMP OVER END 42、求8個數(shù)的平均值,這8個數(shù)以表格形式存放在從table開始的單元中。(1)table:db 02H,03H,04H,10H,12H,22H,25H,30H 運行程序檢查結果

4、。 (2)table:db 0C2H,0D0H,88H,92H,55H,66H,0A5H,74H 修改并運行程序,檢查結果。5ORG 0000HLJMP MAIN ORG 1000H1000 901020 MAIN:MOV DPTR,#TABLE1003 7908 MOV R1,#08H1005 89F0 MOV B,R11007 7800 MOV R0,#00H1009 E4 LOOP:CLR A100A 93 MOVC A,A+DPTR100B 28 ADD A,R0100C F8 MOV R0,A100D A3 INC DPTR100E D9F9 DJNZ R1,LOOP1010 84

5、DIV AB1011 80 FE SJMP $ ORG 1020H1020 0203041012222530 TABLE:DB 2H,03H,04H,10H,12H,22H,25H,30H END6ORG 1000HMOV DPTR,#TABLEMOV R1,#08HMOV B,R1MOV R0,#00HMOV R2,#0LOOP:CLR AMOVC A,A+DPTRADD A,R0JNC J1INC R2J1:MOV R0,AINC DPTRDJNZ R1,LOOPDIV ABMOV R0,AMOV A,R2MOV B,#32MUL ABADD A,R0SJMP $ORG 1020HTABL

6、E:DB 0C2H,0D0H,88H,92HDB 55H,66H,0A5H,74H END7(三)編寫16位無符號數(shù)相乘的移位加算法程序:實現(xiàn)(R2R3)(R6R7)R4R5R6R7; (1)若(R2R3)=1088H,(R6R7)=20A0H,運行程序檢查結果; (2)若(R2R3)=0C0FFH,(R6R7)=B080H,運行程序檢查結果; (3)若(R2R3)=0050H,(R6R7)=0080H,運行程序檢查結果。8 ORG 0000H ACALL DBMUL1STOP: SJMP STOP ORG 0100HDBMUL1: CLR A ;初始化 MOV R4, A ; MOV R5,

7、 A ; MOV R0, #16 ; CLR C ;LOOP: MOV A, R4 ;R4R5R6R7右移一位 RRC A ; MOV R4, A ; MOV A, R5 ; RRC A ; MOV R5, A ; MOV A, R6 ; RRC A ; MOV R6, A ; MOV A, R7 ; RRC A ; MOV R7, A ; JNC SKP ;移出位=0,跳過雙字節(jié)無符號數(shù)相乘移位加算法程序 9 MOV A, R5 ;移出位0,(R4R5)+(R2R3)R4R5 ADD A, R3 MOV R5, A ; MOV A, R4 ; ADDC A, R2 ; MOV R4, A ;

8、SKP: DJNZ R0, LOOP ;計數(shù)結束否 MOV A, R4 ;R4R5R6R7右移一位 RRC A ; MOV R4, A ; MOV A, R5 ; RRC A ; MOV R5, A ; MOV A, R6 ; RRC A ; MOV R6, A ; MOV A, R7 ; RRC A ; MOV R7, A ; RET ;返回 END 10雙字節(jié)無符號數(shù)相乘移位乘算法子程序 ORG0200HDBMUL2:MOVA,R3MOVB,R7MULAB;R3*R7(得第一次部分積)XCHA,R7 ;原R7的內容送A,R7R3R7L(在R7中得到乘積的第4字節(jié))MOVR5,B ;R5R3

9、R7HMOVB,R2MULAB;R2*R7(得第二次部分積)ADDA,R5 ;R2R7L+R3R7HMOVR4,A ;R4和CLR AADDCA,B;R2R7H+(R2R7L+R4時產生的進位)MOVR5,A ;R5和MOVA,R6MOVB,R3MULAB ;R3*R6(得第三次部分積)ADDA,R4 ;R3R6L+R4XCHA,R6 ;AR6,R6R3R6L+R4(在R6中得到乘積的第三字節(jié))XCHA,B;AR3R6H,BR611ADDCA,R5;R3R6H+R5+(R3R6L+R4時產生的進位)MOVR5,A;R5和MOVF0,C;FO進位 MOVA,R2MULAB;R2*R6(得第四次部分積)ADDA,R5;R2R6L+(R3R6H+R5時產生的進位)MOVR5,A;在R5中得到乘積的第二字節(jié)CLRAMOVACC.0,C;累加器最高位進位MOVC,F0;ADDCA,B;R2R6H+FO+ACC.0MOVR4,A;在R4中得到乘積的第一字節(jié)

溫馨提示

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

評論

0/150

提交評論