單片機實驗答案_第1頁
單片機實驗答案_第2頁
單片機實驗答案_第3頁
免費預覽已結束,剩余42頁可下載查看

下載本文檔

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

文檔簡介

1、單片機實驗答案刖B由于單片機具有高可靠性、超小型、低價格、容易產品化等特點, 在儀器 儀表智能化、實時工業控制、實時數據采集、智能終端、通信 設備、導航系 統、家用電器等控制應用領域,具有十分廣泛的用途。 目前在國內單片機應用 中, MCS-51 系列單片機仍然是一種主流單片 機。為配合單片機應用技術 課程的教學,使學生盡快了解、掌握 89C51 單片機的使用,特編寫了這本上機 指導書(基礎篇)。單片機是一門實踐性很強的課程,提高教學質量的一個重要 環節是 上機實習和訓練,無論是學習匯編語言程序設計,還是學習接 口電路和外設與 計算機的連接,或者軟硬兼施地研制單片機應用系統 , 不通過加強動手

2、是不能獲 得預期效果的。本實驗指導書提供了 9 個實 驗的指導性材料,實驗還有一些思 考題,可以根據課時的安排和教學 要求進行取舍。為了達到某些實驗的目的, 書中提供的參考程序與實 際應用中的程序會有些差別,所以不一定是最優的。由于時間緊迫,加上編者學識有限,如有不妥之處,歡迎讀者批 評指正。 編者1實驗須知1. 實驗前必須閱讀教科書的有關部分和本實驗指導書,了解實 驗目 的、內容、步驟,做好實驗前的準備工作,編寫好實驗中要求自 編或修改的程序;完成實驗前要求完成的準備工作后方可以上機實驗 , 否則不得上機操作2. 各種電源的電壓和極性不能接錯,嚴禁帶電接線和接插元器 前須經過指導教師檢查認可

3、后方能通電。3. 不準隨意撥弄各種與實驗無關的旋鈕和開關,凡與本次實驗 何設備都禁止動用和摸弄,注意安全。4. 嚴禁用手觸摸實驗系統印制電路板和元器件的引腳,防止靜 片。5. 實驗中若損壞儀器或元器件,應及時向指導教師報告,聽候6. 在實驗室內保持安靜和衛生,不得隨意走動和喧嘩,集中精 驗。7. 實驗完成后,關掉電源,及時整理實驗臺桌面,保持環境整8. 按規定認真完成實驗報告,對實驗中出現的現象進行分析, 在規定的時間內交上實驗報告。9. 凡實驗或實驗報告未能按規定完成的學生,不能參加本課程 考查。2第一章實驗系統介紹本實驗系統采用EL-MUT-III型單片機教學實驗系統。1. 系統概述1)微

4、處理器:89S51, P1 口、P3 口對用戶開放,供用戶使用件。通電無關的任 電擊穿芯 處理。力完成實潔。的考試或2) 時鐘頻率: 6.0MHz64KB, 板載3)存儲器:程序存儲器與數據存儲器統一編址,最多可達ROM (監控程序 27C256) 12KB; RAM1 (程序存儲器 6264) 8KB 供用戶下 載實驗程序,可擴展達 32KB; RAM2 (數據存儲器 6264) 8KB 供用戶程序使 用,可擴展達 32KBOOOOOH-2FFFH為監控程序存儲器區,用戶不可用。4000H-5FFFH為用戶實驗程序存儲區,供用戶下載實驗程序。數據存儲器的范圍為:6000H-7FFFH供用戶實

5、驗程序使用。用戶在編寫實驗程序時要注意,程序的起始地址應為4000H,所 用的中斷入口地址均應在原地址的基礎上,加上 4000H。用戶中斷入 口地址見表1-1 o2. 資源分配本系統采用可編程邏輯器件 (CPLD EPM7128做為地址的譯碼。地址的編譯碼分為兩部分。一部分為系統CPLD提供了系統器件(如監控程序存儲器、用戶程序存儲器、數據存儲器、系統顯示控 制器、系統串行通訊 控制器等)的地址譯碼功能,此外還通過插孔CSO、CS1、CS2、CS3、CS4、CS5提供固定的譯碼地址給用戶使用。譯碼地址見表1-2 o另一部分為用戶CPLD它完全對用戶開放,用戶可通過芯片的JTAG 接口與 PC

6、機相連,對芯片進行編程,得到譯碼地址,由插孔LCSO、LCS1 LCS2 LCS3 LCS4 LCS5 3LCS6 LCS7俞出,供使用。表1 2: CPLD地址分配表地址范圍輸出孔/映射器件性質(系統/用戶)0H00012FFFH監控程序存儲器3000H3FFFH數據存儲器系統*4000H7FFFH用戶程序存儲器系統*8000HCFDFHLCSO-LCS7用戶CFEOHPC機串行通訊芯片8250系統*CFE8H顯示、鍵盤芯片8279系統CFAOH-CFA7HCS0系統CFA8H-CFAFHCS1系統CFBOH-CFB7HCS2系統CFB8H-CFBFHCS3系統CFCOH-CFC7HCS4系

7、統CFC8H-CFCFHCS5系統CFDOH- FFFFHLCS0一 LCS7用戶注:系統地址中帶“*”的表示用戶不可用,統也不可改,其他系地址用戶可用,但不可改。3.系統使用方法1)用通信電纜將EL-MUT-III型單片機教學實驗系統側面的 RS232接口與PC機的COM 口相連接2) 啟動EL-MUT-III型單片機教學實驗系統的電源開關,EL-MUT-III型單片 機教學實驗系統面板上的LED顯示“ 199502”幾秒后顯示P-03) 雙擊桌面 MCS51 快捷圖標如圖 1-1,啟動 51 實驗系統,啟動 后的界面 如圖 1-2 0圖 1-1 圖 1-24) 如需改變串口和波特率,在相應

8、列表框中修改。點擊“確定”按鈕后,立即實驗系統面板上的 “PRESE”,面板上的LED顯示“C,同時PC機 屏幕顯示“ 51EL型(80C51)教學實驗環境”界面,如圖 1-3 o4圖 1-3 51.型( 80C51) 教學實驗環境界面5) 通過“文件,菜單新建或打開匯編語言文件,也可通過工具 按鈕 新建匯編文件。新建匯編文件的擴展名為 .ASM。6) 用“編譯,菜單下的匯編命令或工具按鈕對匯編文件進行匯編。如有錯誤,應對文件重新編輯,直至匯編 無錯誤為 止。7) 用“調試,菜單下的“調試,命令或工具按鈕進入“調試,界面,如圖 1-4。圖 1-4 “調試,界面8) 用“調試,菜單下各調試命令,

9、如圖 1-5對匯編文件進行調試,或用工具按鈕對匯編文件進行調試。工具按鈕的功能如圖 1-6o圖 1-55圖 1-66第二章上機指導實驗一 P1 口實驗(一)一、實驗目的:1. 學習 P1 口作為輸出口的使用方法。2. 延時子程序的編寫和使用。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊。三、實驗原理:實驗原理如圖 2-1-1 。圖 2-1-1 P1 口輸出實驗電路1. P1 口的使用方法P1 口為準雙向口,每一位都能獨立地定義為輸入位或輸出位。作為輸入位時,必須向鎖存器相應位寫入“ 1。89S51在復位時所有 口鎖存器均置為“1,如果曾對口鎖存器寫過 “0,此時要使它作

10、為 一個輸入口,則應再次寫入一個 “1。2.延時程序的實現指令循環常用兩種方法實現延時程序,一是用定時器中斷來實現,二是用來實現。在系統時間允許的情況下可以采用后一種方法。本實驗系統晶振為延時 0.1s 的程序如下:DEL:I MOV R6, #200DEL2: DJNZ R6, DEL27DJNZ R7, DELI124-6 us=2 us。MOV R7, #X(2)(3)(4)6.0MHZ,則一個機器周期為(1)程序中 X 為延時值。指令MOV、DJNZ需兩個機器周期,所以每執行一條指令需要延時程序中 X 值應滿足下式:4 + X( 4 + 200X4 +4) =0.1X106指令(1)時

11、間 指令(2)時間 指令(3) 時間 指令(4)時間故 X=123.75D=7CH。將X=123.75D=7CH代入上式,得到實際延時時間約為 0.1002S3. 程序流程圖:程序流程圖見圖 2-1-2 和圖 2-1-3o四、實驗內容與步驟1.實驗內容:圖 2-1-2 點亮發光二極管程序流程圖2-1-3 左移循環點亮發光二極管程序流程圖1)P1 做輸出口,接八只發光二極管,根據程序流程圖2-1-2, 編寫程序使 P1 8 個發光二極管同時熄滅 延時 點亮。2)根據程序流程圖 1-3,編寫程序使 P1 口 8 個發光二極管每隔 個左移循環點完 : 。2. 實驗步驟:1)將分別連接發光二極管L1?

12、 L8。2)按流程圖 2-1-2 編寫程序,對程序進行編輯、匯編直至無語法 錯誤。3)調試程序:(1) 單步調試,觀察并記錄相應寄存器內容及發光二極管L1? L8的狀 態。(2)全速運行程序,觀察并記錄發光二極管 L1? L8的狀態。4)重復 2、3 步驟,進行實驗內容 2 的實驗。五、實驗報告1. 寫出使 P1 口 8 個發光二極管同時熄滅 延時 點亮源程序清單,并對每條指令給予注解。2. 寫出使P1 口 8個LED每隔一個(或二個)左移循環點亮源程 序清 單,并對每條指令給予注解。六、思考題1. 改變延時常數,重做實驗。2. 修改程序,使LED發光方式、方向等改變。七、參考程序:1. 點亮

13、8個LED程序清單ORG 4000HLJMP STARTORG 4100HSTART: MOV A, #00HMOV Pl, ALCALL DELAYMOV A, #OFFHMOV Pl, ALCALL DELAYJMP STARTDELAY:MOVRl, #124DELI:MOVR2,#200DEL2:DJNZR2,DEL2DJNZ Rl, DELIRETEND2. 循環點亮LED程序清單ORG 4000HLJMP STARTORG 4100HSTARTMOVA,#OFEHRL ALCALL DELAYJMP LOOPDELAY: MOV Rl, #124DELI:MOV R2, #200D

14、EL2: DJNZ R2, DEL2DJNZ Rl, DELIRETEND;點亮 8 個 LED ;延時 0.1 秒;熄滅 8 個 LED ;延時 0.1 秒;延時 0.1 秒;點亮1個LED ;左移一位,點亮下一個發 光二極管;延時0.1秒 延時0.1 秒9 ;實驗二 P1 口實驗(二)一、實驗目的:1. P1 口作為輸入口的使用方法。2. 掌握數據輸入、輸出程序的設計方法。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊三、實驗原理:1. P1 作為輸入口實驗原理見圖 2-2-1 o圖 2-2-1 P1 口 作 為 輸 入 口 實 驗 電 路圖 2-2-2 顯示 P1

15、口狀態程序流程圖10四、實驗內容與步驟:1. 實驗內容:P1 口做輸入口 :如圖2-2-1, P1 的分別接8個單刀雙鄭開關K1K8, 74LS273故輸出口接八個LED編寫程序讀取開關 K1-K8狀態,并在LED上顯示出來。2. 實驗步驟:1)根據圖2-2-1連線,CS273接CS02)根據流程圖 2-2-2 編寫相應程序,對程序進行編輯、匯編直至 無語法 錯誤。3)調試程序,撥動開關K1-K8觀察并記錄程序運行結果。五、實驗報告仿照實驗一,寫出相應的實驗報告。六、思考題1. 圖2-2-1中芯片74LS273的作用是什么?2. 在圖2-2-1中,若LED反轉1800,電路和程序如何修改?七、

16、參考程序:;通過LED將 P1 口的狀態顯示ORG 0000HORG 4100HSTART: MOV Pl, #OFFH;設置 Pl 口為輸入狀態LP: MOV A, Pl; Pl 口的狀態讀入累加器 AMOV DPTR, #OCFAOH 74LS273地址(輸出口 地址)送 DPTRMOVX DPTR, A; A 的值送 LED顯示JMP LP;繼續循環監測端口 Pl的狀態END11實驗三 Pl 口實驗(三)一、實驗目的:1. 掌握 P1 口既做輸入又做輸出的使用方法。2. 掌握分支程序的設計方法。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊三、實驗原理:1. P1

17、口同時作輸入、輸出口電路原理見圖 2-3-1。圖 2-3-1 P1 口同時作輸入、輸出口實驗電路2. 程序流程圖:程序流程圖見圖 2-3-2o四、實驗內容與步驟:1. 實驗內容:圖 2-3-1 為模擬汽車轉向燈控制電路圖, K1 為左轉彎開關, L5、L6做為左轉彎燈;K2為右轉彎開關,L7、L8做為右轉彎燈。編寫程序實現表 2-3-1 的功能。表 2-3-1:開關 KI、K2 功能表12圖 2-3-2 P1 口既做輸入又做輸出程序流程圖2 實驗步驟 :21) 根據圖 2-3-1 連線。3) 輸入相應程序,對程序進行編輯、匯編直至無語法錯誤。調試程序,撥動開關K1-K2觀察并記錄程序運行結果。

18、五、實驗報告 仿照實驗一,寫出相應的實驗報告。六、思考題 當 K1K2=11 時,左轉彎燈和右轉彎燈同時閃爍,程序應如何修改編程并調試。七、參考程序:;P1 同時作輸入、輸出口實驗程序ORG 4000HLJMP STARTORG 4100HSTART SETB P1.SETB P1.; 用于輸入時先置位口內鎖存器113L0MOVA, PlANL CJNE A, LJMP LI: LJMP L2: LJMP L3: LJMP L4: PRGOLJMPPRG1ACALLMOV ACALL LJMP PRG2ACALLA, #03H;從 Pl 口讀入開關狀態,取低兩位#00H, L1PRGOCJNE

19、 A, #01H, L2PRG1CJNE A, #02H, L3PRG2CJNE A, #03H, L4PRG3LJMP LOMOV Pl, #OFFHSTARTMOV Pl, #0F3HDELAYPl, #OFFHDELAYSTARTMOVMOV Pl, #OCFHDELAYPl, #OFFHDELAYLJMPDELAYDELIDEL2DEL3DJNZDJNZSTARTMOVMOVMOVDJNZR2, DEL2Rl, DELIRl, #5R2,#200R3,#126RDEL3,3RETEND ;向 Pl 口輸出 #OFFH, LED全滅;此時 K2 Kl=0 0;只 點亮 L5、L6,表示左

20、轉彎;此時 K2 Kl=0 1;熄滅LED 0.5秒;延時0.5秒;只點亮L7、L8,表示右轉彎;此時K2 Kl=l 0;熄滅LED0.5秒;LED全亮,此時K2 Kl=l 1;延 時0.5秒14實驗四中斷實驗實驗目的:1. 外部中斷技術的基本使用方法。2. 中斷處理程序的編程方法。3. 中斷嵌套處理程序的編程方法。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊實驗原理:1. 實驗原理如圖 2-4-1 o圖 2-4-1 外部中斷實驗電路2. 程序流程圖:程序流程圖見圖 2-4-2o圖2-4-2 K1中斷控制LED程序流程圖15四、實驗內容與步驟:1. 實驗內容:1) 單一

21、外部中斷控制:按 K1在INTO端產生中斷信號,從而使 個LED同時閃爍5次。2)兩級中斷控制(中斷嵌套):按 K1使8個LED閃爍后,按 右循環點亮。3)根據圖 2-4-3,編寫程序:開關狀態,并通過輸出。的下降沿產生中斷,中斷服務程序為讀入 圖 2-4-32. 實驗步驟:1 ) 按圖 2-4-1 連接線路。2)根據程序流程圖編寫程序,編輯程序并進行匯編。P1 的 8K2 使 LED中斷過3)用“單步連續運行程序”命令運行程序,觀察程序運行等待 程,在等待中斷過程時,按 K1( K2)鍵,觀察并記錄程序運行過 程和LED顯7F 情況。4)對實驗內容 2 編程,重復 2-3 步驟。觀察并記錄程

22、序運行結果。5)對實驗內容 3 編程,重復 2-3 步驟。觀察并記錄程序運行結 果。6)在中端服務程序中設置斷點,重復 2-3 步驟。觀察并記錄程 序運行結 果。五、實驗報告1. 根據實驗 1 內容寫出相應的實驗報告。2. 畫出實驗內容 2 的程序框圖3. 對程序語句加以注解。六、思考題1. 中斷時,需保護現場(如 PSW, ACC等寄存器的內容),中斷 服務程序應如何修改?2. 如何在程序中實現INT1的中斷優先權高于INTO中斷優先權?七、參考程序:;實驗四16;INTO中斷實驗程序;主程序8個LED熄滅,等待INTO中斷ORG 4000HLJMP STARTORG 4003HORG 40

23、13HLJMPLPTORG4100HSTAR T:MOV A,#OFFHMOVBAH, ASETBEXOSETBEXICLRITOSETBEAMOVSP, #70HMOVA, #OFFHMOVPl, ASJMP$DELAY:MOVRl, #5DELI:MOVR2, #200DEL2MOVR3, #126DEL3DJNZR3, DEL3DJNZR2, DEL2DJNZRl, DELIRET;INT0中斷服務程序:8個LED閃爍5次EXTO: MOV RO,MOV A, #00HLOOP: MOV Pl, ACALL DELAYCPL AMOV Pl, ADJNZ RO, LOOP17MOV A,

24、 #OFFHMOV Pl, ARETIRR ALPT: MOVA, #01H SHIF:LCALL FLASHSJMP SHIFT FLASH: MOV Pl,ALCALL DELATMOV P1,#OOHLCALL DELAYDJNZ R2, FLASHRETDELAY: MOV R5,#200D1:MOV R6,#123NOPDJNZ R6,$DJNZ R5,D1RET實驗五定時器/計數器實驗 (一)一、實驗目的:1. 掌握 89S51 內部定時器、計數器的使用和編程方法。2. 定時器中斷處理程序的編程方法。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊三、實驗原理:

25、1. 實驗原理如圖 2-5-1 。圖 2-5-1 定時器實驗電路1) 定時常數的確定采用定時器中斷方法可實現時間延時,延時時間由主頻和定時器方式來確定。本實驗中時鐘頻率為 6.0 MHZ,其延時時間最大值約為0.13s (方式一下) 。若要產生 0.5 秒延時時間,需采用定時器定時和軟件計數 的方法來實 現。為此我們可在主程序中設置軟件循環次數初值為05H (用R0)的軟件計數器和定時時間為0.1S的定時器。這樣定時器每 隔0.1S產生一次中斷,CPU響應 中斷后將 R0 中計數值減一,即可實 現 0.5s 延時。定時器時間常數的確定方法 如下:機器周期 =124-晶振頻率 =12/(6X10

26、6)=2 (us) =2X10-6 (s)定時器工作于方式一,設計數初值為 X,則有(216-X) X2X10-6s=0.1s由此可求得 X=15536D=3CB0Ho故初始值為 TH=3CH, TL=B0H2)初始化程序初始化程序包括定時器初始化和中斷系統初始化,即對IP、IE、TCON、TMOD 的相應位進行正確的設置,并將時間常數送入定時器中。193)設計中斷服務程序和主程序中斷服務程序除了要完成計數減一工作外,還要將時間常數重新 送入定 時器中,為下一次中斷做準備。主程序則用來控制發光二極管 按要求亮滅。2. 程序流程圖:程序流程圖見圖 2-5-2o圖 2-5-2 定時器 TO 中斷控

27、制 LED 程序流程圖四、實驗內容與步驟:1. 實驗內容:定時器工作于方式1,每0.5秒LED1-LED8閃爍。2. 實驗步驟:1)按圖 251 連接線路。2)根據程序流程圖編寫程序,編輯程序并進行匯編。3)運行程序,觀察并記錄LED顯示情況。五、實驗報告根據實驗內容寫出相應的實驗報告。(變化花樣可自行設計),六、思考題1.用定時器工作方式 0 或方式 2,能否實現本實驗功能?2. 如能,修改程序并調試3.根據圖2-5-3,編寫用TO中斷控制LED閃爍5次的程序。20圖2-5-3定時器TO中斷控制LED閃爍5次程序流程圖七、參考程序:;實驗五定時器定時0.5S中斷實驗,LED閃爍,RO: 0.

28、5s延時循環次數ORG 4000 HLJMP STARTORG 400BHLJMP TO I NTORG 4100HSTART: MOV TMOD, #01HMOVTHO, #3CHMOVTLO, #OBOHMOVA, #OFFHMOVPl, A21SETBEASETBETOSETBTROMOVR0, #05HDJNZ RO, NEXTCPL AMOV Pl, AMOV RO, #05HNEXT: MOV THO, #3CHMOV TLO, #OBOHSETB TRORETIEND;實驗五1 LED閃爍5次,RO: 0.5s延時循環次數,R:閃爍次數ORG 4000HLJMP STARTORG

29、 400BHLJMP TO I NTORG 4100HSTART: MOV TMOD, #01HMOV THO, #3CHMOV TLO, #OBOHMOV Rl, #10HddO# VAOIAISETB EASETB ETOSETB TROMOV RO, #05HSJMP $22TOINT: CLR TRODJNZ RO, NEXTDJNZ Rl, LPMOV A, #OFFHMOV Pl, ASJMP LP1LP: CPLMOVMOVNEXT: MOVMOVSETBLP1: RETIENDA Pl, A RO, #05H THO, #3CH TLO, #OBOH TRO 23 實驗六定時器

30、/ 計數器實驗(二)一、實驗目的 :1. 8031 外部計數的使用和編程方法。2. 中斷處理程序的編程方法。實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊三、實驗原理:1. 實驗原理如圖 2-6-1 o圖 2-6-1 計數器實驗電路圖中74LS132、按鍵S和電阻組成一單脈沖發生器,P+端接89S51的T0 端,按鍵每按動一次將在 P+端產生一個負脈沖,從而在 T0端產生一次中斷請 求,因此將 T0 設置為計數器方式即可對外部脈沖進 行計數。2. 程序流程圖:程序流程圖見圖 2-6-2o四、實驗內容與步驟:1. 實驗內容:定時器工作于方式2,定時器每計5個脈沖使LED1? L

31、ED8亮、滅一次 (或發光方式變化一次)。2. 實驗步驟:1)按圖 261 連接線路。2)根據程序流程圖編寫程序,編輯程序并進行匯編。3)運行程序,觀察并記錄LED顯示情況。五、實驗報告根據實驗內容寫出相應的實驗報告。24圖2-6-2用TO對外部脈沖進行計數控制LED程序流程圖六、思考題1. 用定時器工作方式0或方式2,能否實現本實驗功能?2. 如能,修改程序并調試。LED3. 采用查詢方式編寫程序,實現外部脈沖進行計數控制七、參考程序:;實驗六 按右下角的“PULS按鍵5次,LED交替亮滅ORG4000 HLJMPSTARTORG400BHLJMPTOINTORG4100HSTARMOTMO

32、D, #06HT:VMOVTH#OFBHO,MOVTLOJ#OFBHMOVA,#00HSETBEASETBETOSETB TROTOINT: MOV Pl, ACPL ARETIEND26實驗七8255A PB 口控制PA 口實驗一、實驗目的:1. 掌握 8255A 芯片的結構及編程方法。2. 掌握 8255A 并行口讀取開關數據的方法。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊三、實驗原理:1. 實驗原理如圖 2-7-1 o圖2-7-1 8255A接口實驗電路2. 程序流程圖:程序流程圖見圖 2-7-2o27圖 2-7-28255A 接口實驗程序流程圖四、實驗內容步

33、驟:1.實驗內容:8255A B 作為開關量輸入口, A 口作為顯示輸出口。編寫程序 讀取按紐 開關狀態,在發光二極管上顯示出來2. 實驗步驟:1)按圖2-7-1連接線路。2)根據程序流程圖編寫程序,編輯程序并進行匯編。3)運行程序,撥動開關K1-K8觀察并記錄LED顯示情況。五、實驗報告根據實驗內容寫出相應的實驗報告。六、參考程序:OR4000 HGLJMP STARTOR4100GHPAEQUOCFA OHPBEQU0CFA1HPCTEQU0CFA3;實驗七8255A接口實驗,A 口顯示輸出口,日口作為開關量輸 入口LHSTART: MOV DPTR, #PCT置 8255A 控制字,A、

34、B、C 口均工作方式0,; A、C 口為輸出,B 口 為輸入MOV A, #82HMOVX DPTR, ALOOP: MOV DPTR, #PB ; 從日口讀入開關狀態值MOVX A, DPTRMOVDPTR, # PA?,成A 口將狀態值輸出顯示MOVX DPTR, AMOV R7, #10H; 延時DELO: MOV R6, #OFFHDELI: DJNZDJNZJMPENDR6, DELI R7, DELO LOOP 29實驗八8位A/D轉換器ADC0809接口實驗一、實驗目的:1. 了解A/D轉換器ADC0809的工作原理。2. 掌握ADC0809與89S51接口電路設計方法。3. 掌

35、握 A/D 轉換程序編程方法。二、實驗設備:EL-MUT-III型單片機實驗箱、8051CPU模塊、數字萬用表三、實驗原理:1. 實驗原理如圖 2-8-1 o圖 2-8-1 89S51 與 ADC0809接 口 電路2. 程序流程圖:根據 A/D 與單片機連接方式和控制系統本身要 求的不 同,實現 A/D 轉換的軟件設計方也不同。常用的控制方式有程 序查詢、定時采 樣和中斷方式。定時采樣方式程序流程圖見圖 2-8-2o四、實驗內容與步驟1. 實驗內容1)從ADINO輸入模擬信號VIN ( 0? 5V),間隔為0.25V (即0V、0.25V0. 5V、0.75V75V) 用萬用表電壓檔測量該模

36、擬信號的大小。2)啟動 A/D 轉換。用轉換后數字量與萬用表測量結果進行比較。3)用模擬電壓作橫坐標,轉換后的數字量作縱坐標作 D-V 圖, 找出ADC0809 的數字量輸出值 D (換算為十進制叔)與模擬量輸入值 VIN 之間的 關系。檢查 A/D 轉換的線性度。2. 實驗步驟:1)按圖2-8-1連線。ADIN0接AN0,參考程序采用查詢法,因此ADC0809的EOC引腳不連接。302) 通過“V.AR電位器調整加在IN0通道的電壓,用數字萬用 表進行測量,從 0V 開始,間隔為 0.25V。3)輸入程序。對每個電壓值,運行程序。轉換后的數字量保存 于 30H開始的單元圖 2-8-2 A/D

37、 轉換實驗流程圖五、實驗報告1. 根據實驗內容寫出相應的實驗報告。找出2. 用模擬電壓作橫坐標,轉換后的數字量作縱坐標作D-V 圖,ADC0809的數字量輸出值D (換算為十進制叔)與模擬量輸入值VIN 之間的關系。檢查 A/D 轉換的線性度。六、思考題1.若轉換后的數字量保存于外部 RAM 4300H開始單元,程序應 如何修改?上機調試。2.若程序采用中斷法,電路應如何連接?3.畫 出中斷法流程圖,修改程序,重做實驗。七、參考程序:;實驗八 A/D米樣程序ORG 4000H;開始執行第一條指令的地址 LJMPSTART;跳轉到主程序31ORG4100H;主程序的地址START: MOV Rl

38、, #30H;指向內部RAM 20H單元MOV R6, #20H;30H-4FH共32個內部RAM單元,它們用 MOV A, #00H;來存放被米集電壓的數據區LP:MOV R1, A;30H-4FH內部 RAM單元清0INC R1;指向下一個單兀DJNZ R6, LP;32個單元清0未完成,返回LP處繼續清 0 MOV Rl, #30H;數據區首址送R1寄存器MOV R7, #14H;采集數據的總數14H (20)送R7寄存器 MOVDPTR, #OCFAOH;IN0通道地址OCFAOH送DPTR寄存器CAIJI: MOVXDPTR, A;啟動A/D進行轉換LP1:MOV R2, #40H;設置延時時間WAIT: DJNZ R2, WAIT;延時等待A/D轉換結束MOVX A, DPTR;讀A/D轉換的數值到累加器AMOV Rl, A;轉換后的數據送數據區(30H4FH)保存INC R1;指向下一個單兀CW:DJNZ R7, CAIJI;20個數據米集完成停止,否則繼續采集SJMP $;停止END;結束32實驗九 8位D/A轉換器DAC0832接口實驗一、實驗目的:1. 了解D/A轉換器DAC0832的工作原理。2. 掌握DAC0832與89S51接口電路設

溫馨提示

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

評論

0/150

提交評論