版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、. MM 大 學(xué)MMMMMMM 學(xué) 院 實 驗 報 告課程名稱 單片機原理及其接口技術(shù) 實驗名稱 雙字節(jié)BCD碼乘法及數(shù)據(jù)排序?qū)嶒瀸嶒烆愋?設(shè)計型 姓名 00 學(xué)號 00 日期 00 地點 00 成績 教師 00 評語:1、 實驗?zāi)康?. 進一步熟悉51匯編指令,掌握匯編語言的設(shè)計和調(diào)試方法。2. 設(shè)計十進制乘法和程序,了解如何通過調(diào)用系統(tǒng)提供的內(nèi)置數(shù)碼顯示,鍵盤輸入子程序。3. 熟悉如何使用高效方法對數(shù)據(jù)排序。2、 實驗內(nèi)容1. 從鍵盤上輸入4位被乘數(shù)、乘數(shù),實現(xiàn)4位十進制的乘法,結(jié)果顯示在數(shù)碼管上。其中鍵盤輸入和數(shù)碼顯示可調(diào)用星研集成軟件的內(nèi)置函數(shù)實現(xiàn),說明和參考實例見3.6節(jié)。說明:可分
2、步走,先省略鍵盤輸入和數(shù)碼顯示,直接設(shè)定被乘數(shù)和乘數(shù)進行乘法,在驗證乘法功能正確之后,在增加鍵盤輸入和數(shù)碼顯示的功能。2. 調(diào)試狀態(tài)下借助星研集成軟件直接修改片內(nèi)RAM30H3FH單元,數(shù)值任意,然后對其冒泡排序,檢查排序結(jié)果。三、實驗儀器STAR ES598PCI試驗儀、PC機一臺四、實驗原理圖A3區(qū):JP51的p1口-G6區(qū):LED 5、 設(shè)計思路1.雙字節(jié)4位BCD碼乘法2. 冒泡排序6、 實驗程序1.雙字節(jié)4位BCD碼乘法EXTRNCODE(Display8, GetBCDKey)BUFFER2DATA70H;8字節(jié)顯示緩沖區(qū)BUFFERDATA 30H BLOCKdata50HRES
3、ULTDATA40HF1BIT 0D1H ;PSW.1 ORG 0000H LJMP START ORG 0100HSTART: MOV SP,#60H CLR F1 ;先清除顯示,再接收鍵輸入START1:MOV R0,#BUFFER MOV A,#4 ;按鍵次數(shù)LCALL GetBCDKey ;得到雙字節(jié)十進制數(shù)(乘數(shù))MOV R0,#BUFFERACALL BCD2B ;轉(zhuǎn)換成二進制數(shù)MOV BLOCK,R3MOV BLOCK+1,R4SETB F1 ;接收到第一個鍵,才清除顯示MOV R0,#BUFFERMOV A,#4 ;按鍵次數(shù)LCALL GetBCDKey ;得到雙字節(jié)十進制數(shù)(
4、減數(shù))MOV R0,#BUFFERACALL BCD2BMOV BLOCK+2,R3MOV BLOCK+3,R4MOV R4,BLOCK ;四個BCD入口參數(shù)MOV R5,BLOCK+1MOV R6,BLOCK+2MOV R7,BLOCK+3MOV R0,#RESULTlCALL MLTYMOV R3,RESULTMOV R2,RESULT+1MOV R1,RESULT+2MOV R0,RESULT+3ACALL B4toD4 ;字節(jié)二進制數(shù)轉(zhuǎn)十進制數(shù);R0R1R2R3為二進制數(shù),R4R5R6R7為壓縮BCD碼MOV A,R7ANL A,#0FHMOV BUFFER2,AMOV A,R7ANL
5、 A,#0F0HSWAP AMOV BUFFER2+1,AMOV A,R6ANL A,#0FHMOV BUFFER2+2,AMOV A,R6ANL A,#0F0HSWAP AMOV BUFFER2+3,AMOV A,R5ANL A,#0FHMOV BUFFER2+4,AMOV A,R5ANL A,#0F0HSWAP AMOV BUFFER2+5,AMOV A,R4ANL A,#0FHMOV BUFFER2+6,AMOV A,R4ANL A,#0F0HSWAP AMOV BUFFER2+7,AMOV R0,#BUFFER2LCALL Display8sjmp $BCD2B: MOV R1,#BU
6、FFER MOV R2,#2S: MOV A,R1 PUSH ACC ANL A,#0FH MOV R0,A POP ACC JNB ACC.4,NEXT1 ;分別判斷4,5,6,7位是否為1,分別加上10,20,40,80 XCH A,R0 ADD A,#10 XCH A,R0NEXT1: JNB ACC.5,NEXT2 XCH A,R0 ADD A,#20 XCH A,R0NEXT2: JNB ACC.6,NEXT3 XCH A,R0 ADD A,#40 XCH A,R0NEXT3: JNB ACC.7,NEXT4 XCH A,R0 ADD A,#80 XCH A,R0NEXT4: MOV
7、 A,R0 PUSH ACC INC R1 DJNZ R2,S POP ACC MOV R0,A POP ACC MOV B,#100 ;高2位(千位、百位)乘以100 MUL AB ADD A,R0 MOV R3,A ;轉(zhuǎn)換成的二進制數(shù)放在R4R3中 MOV A,B ADDC A,#0 MOV R4,A RET ;字節(jié)二進制數(shù)轉(zhuǎn)十進制數(shù);R0R1R2R3為二進制數(shù),R4R5R6R7為壓縮BCD碼;該子程序也可以模仿書上(胡漢才)例4.22,采用除以10、其余數(shù)為個位數(shù)字,其商繼續(xù)除以10得十位數(shù)字,依次類推B4toD4:CLRAMOVR4,AMOVR5,AMOVR6,AMOVR7,AMOVB
8、,#32LOOP:CLRCMOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVA,R1RLCAMOVR1,AMOVA,R0RLCAMOVR0,AMOVA,R7 ;算法舉例:例如數(shù)據(jù)為0010 0100(36),則過程為ADDCA,R7 ; A R7DAA ; 0 0MOVR7,A ; 0 0MOVA,R6 ; 1 1ADDCA,R6 ; 2 2DAA ; 4 4MOVR6,A ; 9 9MOVA,R5 ; 18 18ADDCA,R5 ; 36 36DAAMOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,ADJNZB,LOOPRETMLTY:MOV A,R6
9、MOV 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 NXT1INC R1NXT1:MOV A,R7MOV B,R5MUL ABADD A,R2INC R0MOV R0,AMOV A,BADDC A,R1INC R0MOV R0,ARETend2.冒泡排序SIZE EQU 8 ;數(shù)據(jù)個數(shù)ARRAY
10、EQU 30H ;數(shù)據(jù)起始地址CHANGE EQU 0 ;交換標志SORT: MOV R0,#ARRAY MOV R7,#SIZE-1 CLR CHANGEGOON:MOV A,R0 MOV R2,A INC R0 MOV B,R0 CJNE A,B,NOTEQUAL SJMP NEXTNOTEQUAL: JC NEXT ;前小后大,不交換 SETB CHANGE ;前大后小,置交換標志 XCH A,R0 ;交換 DEC R0 XCH A,R0 INC R0NEXT:DJNZ R7,GOON JB CHANGE ,SORT SJMP $ END八、實驗小結(jié)1、感覺這次實驗還是有難度的,BCD碼轉(zhuǎn)化二進制,以及二進制轉(zhuǎn)化BCD碼算法,還無法融會貫通。2、這個乘法思路很有條理性,從鍵盤輸入然后轉(zhuǎn)化,后經(jīng)過參數(shù)賦值傳遞調(diào)用乘法子程序,運行結(jié)果再經(jīng)過轉(zhuǎn)化,后調(diào)用內(nèi)置函數(shù)顯示出來,這樣使程序相當于模塊化,易懂明了。3、開始時,程序運行沒有顯示結(jié)果出來,后經(jīng)過檢查是調(diào)用內(nèi)置顯示函數(shù)時,參數(shù)的傳遞不正確,只要對Buffer
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度電商平臺贈品營銷合作合同3篇
- 2024年度個人教育貸款合同終止及還款計劃協(xié)議3篇
- 2024年中英進口農(nóng)產(chǎn)品加工設(shè)備采購合同范本3篇
- 2024年度高低壓配電施工責(zé)任承包協(xié)議版B版
- 2024年小客車車牌指標租賃及租賃車輛安全協(xié)議3篇
- 2024年教育行業(yè)母子公司股權(quán)轉(zhuǎn)讓與教育資源整合協(xié)議3篇
- 2024年度商業(yè)連鎖分租合作協(xié)議3篇
- 海珠區(qū)年度初中信息技術(shù)結(jié)業(yè)考試質(zhì)量分析
- 化工工程安裝合同范例
- 燈箱廣告含稅合同范例
- 生和碼頭港口設(shè)施維護管理制度(3篇)
- 黑龍江省哈爾濱市第六中學(xué)2025屆高考數(shù)學(xué)三模試卷含解析
- 【MOOC】數(shù)字邏輯設(shè)計及應(yīng)用-電子科技大學(xué) 中國大學(xué)慕課MOOC答案
- 研學(xué)活動協(xié)議書合同范本
- 換熱器的原理及構(gòu)造
- 校園安全形勢會商研判制度(4篇)
- 湖北省十堰市2023-2024學(xué)年高二上學(xué)期期末調(diào)研考試 地理 含答案
- 重慶市2023-2024學(xué)年六年級上冊語文期末測試試卷(含答案)3
- 水下土方疏浚(水力沖挖)施工方案
- 以往馬克思主義中國化進程與青年學(xué)生使命擔(dān)當(2022年春)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人工智能與信息社會學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論