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