版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 實(shí) 驗(yàn) 報(bào) 告</b></p><p> 課程名稱: MCU(微控制器)綜合課程設(shè)計(jì) </p><p> 實(shí)驗(yàn)名稱: I/O接口實(shí)驗(yàn)與LED顯示實(shí)驗(yàn) </p><p> 院 (系): 專 業(yè):
2、 </p><p> 姓 名: 學(xué) 號: </p><p> 實(shí) 驗(yàn) 室: 測控技術(shù)實(shí)驗(yàn)室 實(shí)驗(yàn)組別: </p><p> 同組人員: 實(shí)驗(yàn)時(shí)間: 2011 年 4
3、月 29 日</p><p> 評定成績: 審閱教師: </p><p> 目 錄</p><p> 實(shí)驗(yàn)?zāi)康暮鸵?#183;············&
4、#183;························3</p><p> 實(shí)驗(yàn)原理·······&
5、#183;···································3<
6、/p><p> 實(shí)驗(yàn)方案和實(shí)驗(yàn)步驟································
7、··5</p><p> 實(shí)驗(yàn)設(shè)備與器材配置·····························&
8、#183;····8</p><p> 實(shí)驗(yàn)記錄···························&
9、#183;················8</p><p> 實(shí)驗(yàn)總結(jié)···············&
10、#183;···························8</p><p> 源代碼····
11、183;····································
12、·····8</p><p><b> 實(shí)驗(yàn)?zāi)康暮鸵?lt;/b></p><p> 熟悉和掌握編輯和編譯環(huán)境Keil和Medley;</p><p><b> 熟悉匯編語言;</b></p><p> 了解I/O接口和使LED燈和數(shù)碼管亮的原理
13、。</p><p> 利用實(shí)驗(yàn)板I/O口(例如P0口)控制8個(gè)LED循環(huán)顯示,循環(huán)點(diǎn)亮?xí)r間間隔約為1秒(采用軟件延時(shí)實(shí)現(xiàn))。</p><p> 在8個(gè)LED數(shù)碼管顯示8個(gè)指定的數(shù)(例如學(xué)號后8位)。</p><p><b> 實(shí)驗(yàn)原理</b></p><p> (1)、I/O接口實(shí)驗(yàn)(流水燈實(shí)驗(yàn)):</p&
14、gt;<p> 本實(shí)驗(yàn)采用上排LED指示燈(與FPGA相連),其原理圖如下:</p><p> 主板左下方有16個(gè)LED指示燈,其中上面8個(gè)LED指示燈FLED0~FLED7輸入直接與FPGA插座引腳相連,可由FPGA模塊輸出引腳直接驅(qū)動,需要8根導(dǎo)線將I/O口與相應(yīng)的LED連接。輸入高電平時(shí)相應(yīng)指示燈被點(diǎn)亮(這里實(shí)驗(yàn)箱開機(jī)復(fù)位后默認(rèn)是點(diǎn)亮的)。通過改變送到I/O接口的8位數(shù),控制8個(gè)LED燈的
15、亮滅。本實(shí)驗(yàn)中使用的單片機(jī)的工作頻率為12MHz,機(jī)器周期為1us。延時(shí)1s的實(shí)現(xiàn)可通過控制指令周期來實(shí)現(xiàn)。</p><p> ?。?)、LED顯示實(shí)驗(yàn):</p><p> 要求在8個(gè)LED數(shù)碼管顯示8個(gè)指定的數(shù)(例如學(xué)號后8位)。</p><p> LED數(shù)碼管的電路圖如下:</p><p> 如圖所示:實(shí)驗(yàn)裝置上設(shè)有8只共陽極七段數(shù)
16、碼管及驅(qū)動電路,8只數(shù)碼管共數(shù)據(jù)線,通過片選可以分別顯示。段碼表為:</p><p> 數(shù)碼管模塊具有兩個(gè)地址:片選地址(位控地址)0F400H和數(shù)據(jù)(段碼)地址0F300H,要在某個(gè)數(shù)碼管上顯示1個(gè)數(shù),需要先向片選地址上送一個(gè)數(shù),選中其中一個(gè)數(shù)碼管,再向數(shù)據(jù)地址送要顯示的數(shù)據(jù)的段碼值,這就是位控和段控。數(shù)碼管的I/O地址都為片外地址。數(shù)碼管要8位同時(shí)顯示,需要采用動態(tài)刷新的方式將8位數(shù)碼管輪流顯示。刷新時(shí)間可
17、設(shè)為1ms,可用軟件延時(shí)實(shí)現(xiàn)。段碼可采用查表法或其它方法來實(shí)現(xiàn),例如查表法TAB: DB 0C0H,0F9H,…</p><p> 實(shí)驗(yàn)方案與實(shí)驗(yàn)步驟(最好繪制程序流程圖)</p><p> ?。ㄒ唬?、I/O接口實(shí)驗(yàn)(流水燈實(shí)驗(yàn))</p><p> 實(shí)驗(yàn)步驟:編譯環(huán)境為Medley</p><p> ?。?)新建項(xiàng)目,命名后其它設(shè)置
18、按默認(rèn)進(jìn)行,無需手工進(jìn)行任何設(shè)置(一路默認(rèn)設(shè)置即可)直到完成項(xiàng)目的創(chuàng)建。</p><p> ?。?)添加自己編寫的.asm源文件。</p><p><b> ?。?)編譯/匯編。</b></p><p> ?。?)用8根導(dǎo)線分別將8個(gè)LED指示燈 FLED0~FLED7和P0口的8位相連。</p><p> ?。?)生成
19、代碼并下載到仿真器上。</p><p> ?。?)全速運(yùn)行,即可看到流水燈現(xiàn)象。</p><p> 實(shí)驗(yàn)方案:利用實(shí)驗(yàn)板I/O口(例如P0口)控制8個(gè)LED循環(huán)顯示,循環(huán)點(diǎn)亮?xí)r間間隔約為1秒。先將A中的數(shù)賦01,并送到P0口,即右邊第一個(gè)燈亮,調(diào)用延時(shí),然后A的數(shù)值左移,再送P0口,再延時(shí),采用RL A左移,所以當(dāng)最左邊的燈亮后,下一次亮的會是最右邊的燈,如此循環(huán)反復(fù),流水燈就運(yùn)作起來了
20、。</p><p><b> 流程圖:</b></p><p><b> N</b></p><p> 該實(shí)驗(yàn)的延時(shí)1S用指令周期的個(gè)數(shù)實(shí)現(xiàn),一個(gè)機(jī)器周期為1us,所以需要1000000個(gè)指令周期。計(jì)算所編寫程序的延時(shí)時(shí)間為:</p><p> {[(248*2+3)*20+3]*20+3+
21、1+2*168}*5+3=1000003us</p><p> ?。ǘED顯示實(shí)驗(yàn)</p><p> 實(shí)驗(yàn)步驟:編譯環(huán)境為Medley,本實(shí)驗(yàn)無需連圖,編寫.asm源文件,編譯后生成代碼下載到仿真器上,全速運(yùn)行,即可看到數(shù)碼管的現(xiàn)象。</p><p> 實(shí)驗(yàn)方案:通過片選地址(位控地址)0F400H和數(shù)據(jù)(段碼)地址0F300H送的內(nèi)容顯示數(shù)值。要在8個(gè)數(shù)
22、碼管上顯示8個(gè)數(shù),需要先向片選地址上送一個(gè)數(shù)選中其中一個(gè)數(shù)碼管,再向數(shù)據(jù)地址送要顯示的數(shù)據(jù)的段碼值,再選中下一個(gè)數(shù)碼管,然后送該數(shù)碼管要顯示的段碼值,如此循環(huán),使數(shù)碼管動態(tài)顯示,由于兩個(gè)數(shù)碼管之間亮的時(shí)間間隔短,視覺暫留,仿佛8位同時(shí)顯示一樣。</p><p><b> 流程圖:</b></p><p> 該實(shí)驗(yàn)的延時(shí)1ms用指令周期的個(gè)數(shù)實(shí)現(xiàn),一個(gè)機(jī)器周期為1u
23、s,所以需要1000個(gè)指令周期。計(jì)算所編寫程序的延時(shí)時(shí)間為:</p><p> (248*2+1+2)*2+1=999us=0.999ms</p><p><b> 實(shí)驗(yàn)設(shè)備與器材配置</b></p><p> 電腦一臺(配有Medley編譯環(huán)境)、MCU單片機(jī)實(shí)驗(yàn)硬件箱、八根導(dǎo)線</p><p><b>
24、; 實(shí)驗(yàn)記錄</b></p><p> 流水燈實(shí)驗(yàn)現(xiàn)象:8個(gè)LED燈從右邊到左依次亮,每次只亮一個(gè)燈,間隔時(shí)間為1s。當(dāng)亮完最左邊的燈時(shí),最右邊的燈又開始亮,如此循環(huán)反復(fù)。</p><p> 數(shù)碼管顯示實(shí)驗(yàn)現(xiàn)象:8位學(xué)號顯示在8個(gè)數(shù)碼管上。</p><p><b> 實(shí)驗(yàn)總結(jié)</b></p><p>
25、 使用Keil和Medley軟件大致相同,但也有些微不同,特別是在運(yùn)行存儲器內(nèi)容交換的程序時(shí),Medley需要下載到單片機(jī)里,但是Keil不需要。</p><p> 外部數(shù)據(jù)存儲器讀/寫只能通過累加器A使用間接尋址方式進(jìn)行,間址寄存器可以是Ri或DPTR.。</p><p> 查詢A累加器里面的位的狀態(tài),只能使用ACC形式,ACC代表累加器地址(E0H)。</p>&l
26、t;p><b> 源代碼</b></p><p> ?。ㄒ唬/O接口實(shí)驗(yàn)(流水燈實(shí)驗(yàn))</p><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b></p><p><b> ORG 0100H</
27、b></p><p> MAIN:MOV A,#01H</p><p> DDD:MOV P0,A</p><p> CALL DELAY</p><p><b> RL A</b></p><p><b> SJMP DDD</b></p>
28、<p> DELAY:MOV R2,#5; 延時(shí)1秒</p><p> D0: MOV R3,#20 </p><p> D1: MOV R4,#20</p><p> D2: MOV R5,#248</p><p><b> DJNZ R5,$</b></p&
29、gt;<p> DJNZ R4,D2</p><p> DJNZ R3,D1</p><p> MOV R6,#168</p><p><b> DJNZ R6,$</b></p><p> DJNZ R2,D0</p><p><b> RET</b&
30、gt;</p><p><b> END</b></p><p> (二)、LED顯示實(shí)驗(yàn):</p><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b></p><p><b> ORG
31、 0100H</b></p><p> MAIN:MOV 79H,#01H</p><p> MOV 7AH,#00H</p><p> MOV 7BH,#04H</p><p> MOV 7CH,#08H</p><p> MOV 7DH,#00H</p><p>
32、MOV 7EH,#00H</p><p> MOV 7FH,#08H</p><p> MOV 80H,#00H</p><p> DDD:MOV R0,#79H;建立顯示緩沖區(qū)首址</p><p> MOV R3,#0FEH;從右邊開始顯示</p><p> MOV A,R3;位控碼初值</p
33、><p> LD0:MOV DPTR,#0F400H;位控口地址</p><p> MOVX @DPTR,A;輸出位控碼</p><p> MOV A,@R0;取出顯示數(shù)據(jù)</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR;查表取字形代碼</p>
34、<p> MOV DPTR,#0F300H;段控口地址</p><p> MOVX @DPTR,A;輸出段控碼</p><p> CALL DELAY;延時(shí)</p><p> INC R0;轉(zhuǎn)向下一緩沖單元</p><p><b> MOV A,R3</b></p><p
35、> JNB ACC.7,LD1;判斷是否到最高位,到,則返回</p><p> RL A;不到,向顯示器高位移位</p><p> MOV R3,A;位控碼送R3保存</p><p> AJMP LD0;繼續(xù)掃描</p><p> LD1:AJMP DDD</p><p><b>
36、 ;字形代碼表</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH</p><p> DELAY:MOV R4,#2;延時(shí)1ms</p><p> D2: MOV R5,#248</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)驗(yàn)2 io口實(shí)現(xiàn)流水燈
- 單片機(jī)課程設(shè)計(jì)(實(shí)驗(yàn))--led顯示游戲機(jī)
- 課程設(shè)計(jì)——led閃光燈實(shí)驗(yàn)
- 實(shí)驗(yàn)1-操作系統(tǒng)用戶接口實(shí)驗(yàn)
- 操作系統(tǒng)用戶接口實(shí)驗(yàn)
- 接口課程設(shè)計(jì)——模擬紅綠燈實(shí)驗(yàn)
- 微機(jī)接口實(shí)驗(yàn)系統(tǒng)的開發(fā)與研究.pdf
- led點(diǎn)陣顯示屏課程設(shè)計(jì)
- eda課程設(shè)計(jì)--led點(diǎn)陣顯示控制
- 實(shí)驗(yàn)5 8255a可編程并行接口實(shí)驗(yàn)
- “微機(jī)原理與接口實(shí)驗(yàn)裝置”的設(shè)計(jì)、實(shí)現(xiàn)及優(yōu)化.pdf
- 微機(jī)接口課程設(shè)計(jì)報(bào)告--數(shù)字鐘實(shí)驗(yàn)
- 液晶顯示屏lcd顯示接口設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)(led顯示管)
- 基于嵌入式led顯示課程設(shè)計(jì)
- 課程綜合實(shí)驗(yàn)與設(shè)計(jì)
- 計(jì)算機(jī)原理及接口實(shí)驗(yàn)系統(tǒng).pdf
- 8253定時(shí)器計(jì)數(shù)器接口實(shí)驗(yàn)
- 8253定時(shí)器計(jì)數(shù)器接口實(shí)驗(yàn)
- 操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---io系統(tǒng)調(diào)用開銷比較
評論
0/150
提交評論