單片機(jī)雙字節(jié)BCD碼乘法_第1頁
單片機(jī)雙字節(jié)BCD碼乘法_第2頁
單片機(jī)雙字節(jié)BCD碼乘法_第3頁
單片機(jī)雙字節(jié)BCD碼乘法_第4頁
單片機(jī)雙字節(jié)BCD碼乘法_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、集 美 大 學(xué)計(jì) 算 機(jī) 工 程 學(xué) 院實(shí) 驗(yàn) 報(bào) 告課程名稱單片機(jī)應(yīng)用技術(shù)實(shí)驗(yàn)名稱雙字節(jié)BCD碼乘法以及數(shù)據(jù)排序?qū)嶒?yàn)實(shí)驗(yàn)類型設(shè)計(jì)型 姓名學(xué)號(hào)日期地點(diǎn)成績(jī)教師評(píng)語:1. 實(shí)驗(yàn)?zāi)康呐c要求1.進(jìn)一步熟悉51匯編指令,掌握匯編語言的設(shè)計(jì)和調(diào)試方法。2.設(shè)計(jì)十進(jìn)制乘法程序,了解如何調(diào)用系統(tǒng)提供的內(nèi)置數(shù)碼顯示,鍵盤輸入子程序。3.熟悉如何高效方法對(duì)數(shù)據(jù)排序2. 實(shí)驗(yàn)設(shè)備STAR系列實(shí)驗(yàn)儀、PC機(jī)、星研集成軟件環(huán)境3. 實(shí)驗(yàn)內(nèi)容1.從鍵盤上輸入4位被乘數(shù),乘數(shù),實(shí)現(xiàn)4位十進(jìn)制數(shù)的乘法,結(jié)果顯示在數(shù)碼管上。2.調(diào)試狀態(tài)下借助星研集成軟件直接修改RAM30H-3FH的單元,數(shù)值任意,然后對(duì)其排序,檢查排序結(jié)果

2、。4. 實(shí)驗(yàn)硬件電路及接線E5區(qū):A0A3區(qū):A0E5區(qū):A、B、C、DG5區(qū):A、B、C、D5,程序流程圖6,程序源代碼EXTRN CODE(DISPLAY8,GETBCDKEYBUFFER1 DATA 30H ;鍵盤輸入緩沖區(qū)BUFFER2 DATA 40H ;8字節(jié)顯示緩沖區(qū)BUFFER3 DATA 50H ;結(jié)果地址BUFFER4 DATA 60H ;棧緩沖區(qū)ORG 0000HLJMP MAINORG 0100HMAIN:CLR PSW.1MOV R0,#BUFFER1MOV A,#04HLCALL GetBCDKeyMOV R0,#BUFFER4+3MOV A,BUFFER1LCAL

3、L DECOMPDEC R0MOV A,BUFFER1+1LCALL DECOMPMOV R0,#BUFFER4+3LCALL BCD2BMOV R6,BUFFER3 ;BUFFER3為低4位MOV R7,BUFFER3+1 ;BUFFER3+1為高4位CLR PSW.1MOV R0,#BUFFER1MOV A,#04HLCALL GetBCDKey MOV R0,#BUFFER4+3MOV A,BUFFER1LCALL DECOMPDEC R0MOV A,BUFFER1+1LCALL DECOMPMOV R0,#BUFFER4+3LCALL BCD2BMOV R5,BUFFER3+1MOV

4、R4,BUFFER3MOV R0,#BUFFER3LCALL MLTYMOV R3,BUFFER3MOV R2,BUFFER3+1MOV R1,BUFFER3+2MOV R0,BUFFER3+3LCALL B2BCDMOV R0,#BUFFER2+7MOV A,R4LCALL DECOMPDEC R0MOV A,R5LCALL DECOMPDEC R0MOV A,R6LCALL DECOMPDEC R0MOV A,R7LCALL DECOMPMOV R0,#BUFFER2+7CLR CMOV A,R0SUBB A,#00JNZ SHOWMOV BUFFER2+7,#10HSHOW: MOV R

5、0,#BUFFER2LCALL DISPLAY8SJMP $DECOMP: ;A中壓縮BCD碼轉(zhuǎn)化成非壓縮BCD碼,結(jié)果存放在R0結(jié)束的兩個(gè)字節(jié),高位放H位BCD低位放L位BCDPUSH ACCSWAP AANL A,#0FHMOV R0,APOP ACCANL A,#0FHDEC R0MOV R0,ARETBCD2B: ;R0結(jié)束的4位BCD碼轉(zhuǎn)化成二進(jìn)制存在BUFFER3開始的兩個(gè)字節(jié)MOV BUFFER3,#00HMOV BUFFER3+1,#00HMOV R3,#4 ;四個(gè)字節(jié)LOOP: CLR CMOV A,BUFFER3RLC AMOV BUFFER3,AMOV BUFFER3+2

6、,AMOV A,BUFFER3+1RLC AMOV BUFFER3+1,A ;結(jié)果左移一位MOV BUFFER3+3,AMOV R2,#2LOOP1: CLR CMOV A,BUFFER3RLC AMOV BUFFER3,AMOV A,BUFFER3+1RLC AMOV BUFFER3+1,A ;結(jié)果左移一位DJNZ R2,LOOP1 ;整體左移2位CLR CMOV A,BUFFER3+2 ;取移一位的值A(chǔ)DD A,BUFFER3MOV BUFFER3,AMOV A,BUFFER3+3ADDC A,BUFFER3+1MOV BUFFER3+1,A ;結(jié)果*10MOV A,R0 ;先取12的1后

7、取2DEC R0CLR CADD A,BUFFER3MOV BUFFER3,AMOV A,#00HADDC A,BUFFER3+1MOV BUFFER3+1,A ;結(jié)果*10+1DJNZ R3,LOOPRETMLTY:MOV A,R6MOV B,R4MUL ABMOV R0,AMOV R3,BMOV A,R7MOV B,R4MUL ABADD A,R3MOV R3,AMOV A,BADDC A,#00HMOV R2,AMOV A,R6MOV B,R5MUL ABADD A,R3INC R0MOV R0,AMOV A,R2ADDC A,BMOV R2,AMOV R1,#00HJNC NEXTIN

8、C R1NEXT:MOV A,R7MOV B,R5MUL ABADD A,R2INC R0MOV R0,AMOV A,BADDC A,R1INC R0MOV R0,ARET;字節(jié)二進(jìn)制數(shù)轉(zhuǎn)十進(jìn)制數(shù);R0R1R2R3為二進(jìn)制數(shù),R4R5R6R7為壓縮BCD碼B2BCD: CLR AMOV R4,AMOV R5,AMOV R6,AMOV R7,AMOV B,#32LOOPB2: CLR CMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV A,R1RLC AMOV R1,AMOV A,R0RLC AMOV R0,AMOV A,R7ADDC A,R7DA AMOV R7,AMOV A,R6ADDC A,R6DA AMOV R6,AMOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,ADJNZ B,LOOPB2RETEND 2.冒泡排序ORG 1000HBUBBLE: MOV R0,#30HMOV R2,#64CLR 7FHDEC R2BULOOP: MOV 20H,R0MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論