版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章第一章 單片機軟件實驗單片機軟件實驗實驗一實驗一 內(nèi)存操作內(nèi)存操作1.實驗?zāi)康膶嶒災(zāi)康恼莆諗?shù)據(jù)傳送指令;掌握各種數(shù)據(jù)傳送指令的尋址方式;熟練運用 keil 環(huán)境對匯編程序進行調(diào)試;掌握數(shù)據(jù)傳送、復制等程序的設(shè)計與調(diào)試方法。2.預習要求預習要求理解數(shù)據(jù)傳送指令和循環(huán)指令的使用;理解如何對內(nèi)部寄存器、內(nèi)部 RAM、外部 RAM 的讀寫;理解各種尋址方式,尤其是較為抽象的變址尋址及相對尋址的方式;認真預習本實驗內(nèi)容,自行編寫程序,填寫實驗報告。3.實驗設(shè)備實驗設(shè)備計算機 1 臺; 4.基礎(chǔ)型實驗內(nèi)容基礎(chǔ)型實驗內(nèi)容下列程序的功能是給外部 RAM800080FFH 的 256 個單元的內(nèi)容賦值,賦
2、值的內(nèi)容取決于程序中 A 的賦值。在 Keil 環(huán)境運行該程序,并觀察寄存器及內(nèi)存單元的變化。 ORG 0000HSTART EQU 8000HMAIN: MOV DPTR, #START ;起始地址 MOV R0,#0 ;設(shè)置 256 字節(jié)計數(shù)值 MOV A,#1H是設(shè)置塊長度地址加 1當前地址內(nèi)容清零是否清除完? 否結(jié)束設(shè)置塊起始地址Loop: MOVX DPTR,A INC DPTR ;指向下一個地址 DJNZ R0,Loop ;計數(shù)值減 1 NOP SJMP $ END下列程序?qū)?3000H 起始的 256 個字節(jié)存儲塊移動到 4000H 起始的 256 個字節(jié)存儲塊,在 Keil 環(huán)
3、境運行如下程序,觀察寄存器及存儲單元的變化。ORG 0000H MOV DPTR,#3000HMOV A,#01HMOV R5,#OLOOP: MOVX DPTR,AINC DPTRDJNZ R5,LOOP MOV R0,#30H MOV R1,#00H MOV R2,#40H MOV R3,#00H MOV R7,#0LOOP1: MOV DPH,R0 MOV DPL,R1 MOVX A,DPTR MOV DPH,R2設(shè)置塊的目標地址設(shè)置移動長度從源地址取數(shù)是否移動完?保存到目標地址中源地址加 1目標地址加 1結(jié)束設(shè)置塊的源地址 MOV DPL,R3 MOVX DPTR,AINC R1INC
4、 R3 DJNZ R7,LOOP1 SJMP $ END5.設(shè)計型實驗內(nèi)容設(shè)計型實驗內(nèi)容在 keil 環(huán)境修改內(nèi)部 RAM 30H 3FH 的內(nèi)容分別為#00H-#0FH,設(shè)計程序?qū)崿F(xiàn)將內(nèi)部 RAM30H-3FH 到 40H-4FH 的數(shù)據(jù)塊拷貝。在 keil 環(huán)境修改內(nèi)部 RAM 30H 3FH 的內(nèi)容分別為#00H-#0FH,設(shè)計程序?qū)崿F(xiàn)將片內(nèi) 30H3FH 單元的內(nèi)容復制到片外 1030H103FH 中。在 keil 環(huán)境修改內(nèi)部 RAM 30H 3FH 的內(nèi)容分別為#00H-#0FH,設(shè)計程序?qū)崿F(xiàn)將內(nèi)部 RAM30H 3FH 內(nèi)容逆序拷貝到外部數(shù)據(jù) XRAM:0000H 000FH 中
5、。使用單步、斷點方式調(diào)試程序,查看特殊功能寄存器、內(nèi)部數(shù)據(jù) RAM、外部數(shù)據(jù)空間的變化。實驗二實驗二 數(shù)制及代碼轉(zhuǎn)換數(shù)制及代碼轉(zhuǎn)換1.實驗?zāi)康膶嶒災(zāi)康牧私馕C系統(tǒng)中的數(shù)制與代碼表示方法;掌握計算機中使用的各種代碼轉(zhuǎn)換方法;掌握實現(xiàn)分支、循環(huán)的指令及其程序的編寫方法;2.預習要求預習要求理解十進制數(shù)、十六進制數(shù)的數(shù)制表示方法;理解 BCD 碼、ASCII 碼編碼方式;如何實現(xiàn)十六進制數(shù)與 BCD 碼之間的轉(zhuǎn)換;如何實現(xiàn) ASCII 碼與 BCD 碼之間的轉(zhuǎn)換。3.實驗設(shè)備實驗設(shè)備計算機 1 臺。 4.基礎(chǔ)型實驗內(nèi)容基礎(chǔ)型實驗內(nèi)容以下程序完成單字節(jié)的 ASCII 碼到十六進制數(shù)轉(zhuǎn)換,完成空白處程序
6、填寫,并在Keil 環(huán)境運行程序,觀察寄存器及內(nèi)存單元的變化。RESULT EQU 30H ORG 0000H MOV A,#41H;“A”的 ASCII 碼 CLR C SUBB A, ; 轉(zhuǎn)換為十六進制值 AMOV RESULT,A LJMP $END 以下程序完成單字節(jié)的 BCD 碼到十六進制數(shù)轉(zhuǎn)換,,在 Keil 環(huán)境運行程序,觀察寄存器及內(nèi)存單元的變化。RESULT EQU 30H ORG 0000H MOV A,#23HMOV R0,AANL A,#0F0HSWAP A MOV B,#0AH MUL AB MOV RESULT,A ;轉(zhuǎn)換高位 MOV A,R0 MOV B,#0FH
7、ADD A,RESULT MOV RESULT,A ; 轉(zhuǎn)換低位 SJMP $END 以下程序?qū)巫止?jié)十六進制數(shù) A 的值轉(zhuǎn)換為十進制數(shù),存放在 30H32H 中,完成空白處程序填寫,并在 Keil 環(huán)境運行程序,觀察寄存器及內(nèi)存單元的變化。RESULT EQU 30H ORG 0000H MOV A,#7BH MOV B,# DIV AB MOV RESULT,A ;除以 100 得百位數(shù) MOV A,B MOV B,# MOV RESULT+1,A ;除以 10 得十位數(shù) MOV RESULT+2,B ;余數(shù)為個位數(shù) SJMP $END 5.設(shè)計型實驗內(nèi)容設(shè)計型實驗內(nèi)容設(shè)一串字母的 ASC
8、II 存于 30H 起始的單元中,設(shè)計程序判斷字母是否為大寫字母,是則將大寫字母的 ASCII 字符轉(zhuǎn)換成小寫字母的 ASCII 字符,為小寫則不轉(zhuǎn)換。將單字節(jié)十六進制數(shù) D8H 轉(zhuǎn)換為十進制數(shù),存放在 30H33H 中。 ,設(shè)計程序,將十六進制數(shù) 614EH 轉(zhuǎn)換成 ASCII 碼,使用單步、斷點方式調(diào)試程序,查看結(jié)果。實驗三實驗三 算術(shù)運算算術(shù)運算1.實驗?zāi)康膶嶒災(zāi)康恼莆账阈g(shù)運算類、邏輯運算類指令的使用方法;掌握 BCD 碼、補碼數(shù)制表示方法;掌握運算程序及循環(huán)程序的編寫和調(diào)試方法。2.預習要求預習要求理解 8051 單片機的算術(shù)運算指令;理解補碼表示數(shù)值的方法;理解壓縮、非壓縮 BCD
9、碼表示數(shù)值的方法;如何實現(xiàn)多位數(shù)的 BCD 碼加、乘、除運算;如何實現(xiàn)多位數(shù)的 BCD 碼減法運算;預習本實驗內(nèi)容,以及相關(guān)課程內(nèi)容。3.實驗設(shè)備實驗設(shè)備計算機 1 臺。4.基礎(chǔ)型實驗內(nèi)容基礎(chǔ)型實驗內(nèi)容以下程序完成單字節(jié)的 BCD 碼加法功能,完成空白處程序填寫,并在 Keil 環(huán)境運行程序,觀察寄存器及內(nèi)存單元的變化。RESULT EQU 30H ORG 0000H MOV A,#99HMOV B,#99HADD , ; BCD 碼相加并得到 BCD 碼結(jié)果 MOV RESULT,A MOV A,#00H A,#00HMOV RESULT+1,A;高位處理 LJMP $END下列程序完成多字
10、節(jié) BCD 碼加法運算。內(nèi)部 RAM30H 開始的 4 字節(jié)長的 BCD碼和外部 RAM 1000H 開始的 4 字節(jié)長的 BCD 碼相加,結(jié)果放在 1100H 開始的單元中(從低字節(jié)到高字節(jié)) 。 ORG 0000H CLR C MOV R5, #04H MOV R0,#30H MOV R1,#10H MOV R2,#00H MOV R3,#11H MOV R4,#00HL1:MOV DPH,R1 MOV DPL,R2 MOVX A,DPTR ADDC A, R0 DA A ;十進制調(diào)整 MOV DPH,R3 MOV DPL,R4 MOVX DPTR,A INC R2 INC R4 INC
11、R0L2:DJNZ R5, L1 JNC L3 MOV DPTR,#1104H ;有進位則結(jié)果的第五個字節(jié)置 1 MOV A,#01H MOVX DPTR,AL3:NOP END5.設(shè)計型實驗內(nèi)容設(shè)計型實驗內(nèi)容設(shè)計程序,實現(xiàn)任意字節(jié)壓縮 BCD 碼的相加,使用單步、斷點方式調(diào)試程序,查看結(jié)果。設(shè)計程序,實現(xiàn)多字節(jié)十六進制數(shù)的減法 123456H005634H,使用單步、斷點方式調(diào)試程序,查看結(jié)果。在內(nèi)部 RAM 的 30H 單元開始,有一串帶符號數(shù)據(jù)塊,其長度在 10H 單元中。編程求其中正數(shù)與負數(shù)的和,并分別存入 2CH 與 2EH 開始的 2 個單元中。 (負數(shù)存放形式為補碼) 。請分別在
12、 30H 單元開始寫入 5 個正數(shù)、11 個負數(shù)和 9 個正數(shù)、7 個負數(shù)的情況,記錄程序運行結(jié)果。例如:輸入-69H,65H,-7H, -25H ,-47H,56H, -3H,17H,6H,-5H,-45H, -1H, -57H, 23H ,-5H,-13H 則正數(shù)的和 89,負數(shù)的和-199H。實驗四實驗四 比較和比較和查表查表1.實驗?zāi)康膶嶒災(zāi)康恼莆毡容^指令的使用及循環(huán)程序的編寫方法;掌握字符查找的思路和算法;理解并能運用查表和散轉(zhuǎn)指令。2.預習要求預習要求理解掌握比較程序的設(shè)計思路;理解多分支結(jié)構(gòu)程序的編程方法;預習本節(jié)實驗內(nèi)容,編寫程序及實驗預習報告。3.實驗設(shè)備實驗設(shè)備 計算機 1
13、 臺。4.基礎(chǔ)型實驗內(nèi)容基礎(chǔ)型實驗內(nèi)容以下子程序完成一個兩位十六進制數(shù)到 ASCII 碼的轉(zhuǎn)換,數(shù)值存放在 R2 中,轉(zhuǎn)換結(jié)果地位存于 R2,高位存于 R3。用 PC 做基址實現(xiàn)。 ORG 0000HHEXA: MOV R2,#1BH MOV A,R2 ANL A,#0FH ADD A,#09H MOVC A,A+PC XCH A,R2 ANL A,#0F0H SWAP A ADD A,#02H MOVC A,A+PC MOV R3,A RETTAB: DB 0,1,2,3,4 DB 5,6,7,8,9 DB A,B,C,D,E,F END5.設(shè)計型實驗內(nèi)容設(shè)計型實驗內(nèi)容分別用近程查表指令和遠
14、程查表指令,查找 R3 內(nèi)容的平方值。R3 內(nèi)容小于等于0FH,即平方值為單字節(jié)數(shù)據(jù)。在外部 RAM 1000H 開始處有 10H 個帶符號數(shù),請找出其中的最大值和最小值,分別存入內(nèi)部 RAM 的 MAX、MIN 單元。分別用近程查表指令和遠程查表指令,查找 R3 內(nèi)容的平方值。平方值為兩個字節(jié)數(shù)據(jù)。第二章第二章單片機硬件實驗單片機硬件實驗硬件實驗需要連接計算機與 80C51 的仿真器,在實驗前要理解相關(guān)的硬件電路,按實驗指導書中的硬件連接方法正確連線,才能保證實驗的正常進行,得到正確結(jié)果。硬件實驗時要注意以下幾點:1、根據(jù)實驗指導書正確進行模塊與模塊之間接口的連接;注意一定要在實驗系注意一定
15、要在實驗系統(tǒng)上電前進行接口的連接,千萬不能帶電操作。統(tǒng)上電前進行接口的連接,千萬不能帶電操作。2、用串行數(shù)據(jù)通信線連接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請注意仿真器的方向:缺口朝上。請注意仿真器的方向:缺口朝上。 (斷電時進行)3、進行 KEIL 軟件的設(shè)置(KEIL 軟件使用見附錄一) ,編輯匯編源程序,編譯,直至編譯無誤。4、打開 80C51 模塊電源和總電源,可以單步或跟蹤或全速方式運行程序,同時觀察運行結(jié)果(注意:要停止調(diào)試,按注意:要停止調(diào)試,按 THKLTHKLC51C51 仿真器上的仿真器上的 ResetReset 按鍵按鍵) 。5、也可以把源程序編譯成可執(zhí)行文件,把
16、可執(zhí)行文件用 ISP 燒錄器燒錄到89S52/89S51 芯片中運行(注意:芯片缺口朝上;不建議使用) 。 (ISP 燒錄器的使用查看附錄二)注:1、在做完實驗時記得養(yǎng)成一個好習慣:把相應(yīng)單元的短路帽和電源開關(guān)還原到原來的位置!以下將不再重述。2、不要插拔實驗系統(tǒng)上的模塊和芯片,不要打開與本實驗不相關(guān)模塊的電源。注意注意不能帶電進行模塊之間導線的連接!不能帶電進行模塊之間導線的連接!實驗一實驗一I/O 控制實驗控制實驗1.實驗?zāi)康膶嶒災(zāi)康恼莆栈?IO 輸入輸出操作指令;熟練運用 keil 環(huán)境對硬件接口進行調(diào)試。2.預習要求預習要求理解 51 單片機 IO 的輸入、輸出控制方式;理解 P0、
17、P1、P2、P3 口做為普通的IO 口有何區(qū)別。理解實現(xiàn)軟件延時程序設(shè)計的延時時間估算;認真預習本節(jié)實驗內(nèi)容,設(shè)計出器件之間的實驗連接線,自行編寫程序,填寫實驗報告。3.實驗設(shè)備實驗設(shè)備計算機 1 臺; ZDGDTH-1 型 80C51 實驗開發(fā)系統(tǒng) 1 套;2 號導線 4 條;8P 數(shù)據(jù)線 1 條。4.基礎(chǔ)型實驗內(nèi)容基礎(chǔ)型實驗內(nèi)容8 位邏輯電平顯示的接口電路設(shè)計如圖 1-1 所示,用 P1 口做輸出口,接八位邏輯電平顯示,程序功能使發(fā)光二極管從右到左輪流循環(huán)點亮。用 8P 數(shù)據(jù)線將 D2 區(qū) 80C51/C8051F020MCU 模塊的 JD1(P1 口)與 A5 區(qū) 8 位邏輯電平顯示模塊
18、 JD1A5 相連。在 Keil 環(huán)境運行該程序,觀察發(fā)光二極管顯示情況。圖 1-1 8 位八位邏輯電平顯示接口電路 ORG 0LOOP: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP LOOPDELAY: MOV R6,#0 ;延時程序MOV R7,#0DELAYLOOP: DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND8 位撥動開關(guān)的接口電路設(shè)計如圖 1-2 所示,假設(shè)采用 P1 口控制 LED 顯示,P2口接收撥碼開關(guān)的輸入值,用 8P 數(shù)據(jù)線將 D2 區(qū) 8
19、0C51/C8051F020MCU 模塊的 JD1(P1 口) 、JD1(P2 口)分別與 A5 區(qū)八位邏輯電平顯示模塊 JD1A5、C6 區(qū) 8 位撥動開關(guān)模塊 JD1 C6 相連。在 Keil 環(huán)境運行該程序,使用單步、斷點、連續(xù)運行調(diào)試程序,查看結(jié)果。開始設(shè)置初始值設(shè)移位次數(shù)數(shù)據(jù)輸出左一位延時移位次數(shù)完成?是否P1 口循環(huán)點燈程序框圖圖 1-2 撥碼開關(guān)接口電路ORG0000HLL: MOVP2,#0FFH NOP MOVA, P2NOP MOVP1,ALJMPLLEND如圖 1-3 所示,假設(shè)采用 P1.0 口控制外部 LED,撥動開關(guān)控制外部中斷,用二號導線將 D2 區(qū) 80C51/C8051F020MCU 模塊的 P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯課程設(shè)計范文
- 舞蹈機構(gòu)結(jié)業(yè)課程設(shè)計
- 統(tǒng)編版七年級語文上冊《5 秋天的懷念》-教學設(shè)計
- 游戲行業(yè)銷售人員工作總結(jié)
- 自閉癥科護士工作總結(jié)
- 2024年研學旅行指導師考試題庫(含答案)
- 2023-2024學年遼寧省大連二十四中高一(下)期中語文試卷
- 美發(fā)沙龍營業(yè)員技巧總結(jié)
- 2024年認識星期教案
- 農(nóng)村安裝雨棚材料合同(2篇)
- 胰島素抵抗與神經(jīng)系統(tǒng)疾病的關(guān)系
- CBL胸腔穿刺教學設(shè)計
- Z矩陣、Y矩陣、A矩陣、S矩陣、T矩陣定義、推導及轉(zhuǎn)換公式
- 軟件工程填空題(18套試題與答案)
- 中美歐規(guī)范樁基承載力計算設(shè)計對比
- 動機式訪談法:改變從激發(fā)內(nèi)心開始
- 瞬時單位線法計算洪水
- 2023-2024學年阿勒泰地區(qū)三年級數(shù)學第一學期期末統(tǒng)考試題含答案
- 經(jīng)典紅歌歌譜100首-
- 單位紅頭文件模板(各類通知、任命通知公函紅頭文件)
- Linux操作系統(tǒng)應(yīng)用(麒麟系統(tǒng))PPT完整全套教學課件
評論
0/150
提交評論