![微機系統(tǒng)與接口技術課程設計報告_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/776ed444-cd97-428d-831e-519f409956b4/776ed444-cd97-428d-831e-519f409956b41.gif)
![微機系統(tǒng)與接口技術課程設計報告_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/776ed444-cd97-428d-831e-519f409956b4/776ed444-cd97-428d-831e-519f409956b42.gif)
![微機系統(tǒng)與接口技術課程設計報告_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/776ed444-cd97-428d-831e-519f409956b4/776ed444-cd97-428d-831e-519f409956b43.gif)
![微機系統(tǒng)與接口技術課程設計報告_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/776ed444-cd97-428d-831e-519f409956b4/776ed444-cd97-428d-831e-519f409956b44.gif)
![微機系統(tǒng)與接口技術課程設計報告_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/776ed444-cd97-428d-831e-519f409956b4/776ed444-cd97-428d-831e-519f409956b45.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微機系統(tǒng)與接口技術課程設計20122013年度 第1學期設計題目:實現(xiàn)特定功能的鍵盤及LED顯示院系: 計算機學院學號: 姓名: 指導教師: 張健 成績評定:完成日期:2014年11月 4 日1. 設計說明微機系統(tǒng)與接口技術是一門實踐性很強的課程,本課程設計是這門課程的最后一個教學環(huán)節(jié),是對這門課程一個較全面的應用設計實踐,目的在于在鞏固學生在課堂上學到的基礎知識,加強學生的綜合能力與系統(tǒng)設計能力、創(chuàng)新能力。在本課程設計中,我的題目是在TD-PITE實驗箱中實現(xiàn)特定功能的鍵盤及LED顯示。整個系統(tǒng)的目標實現(xiàn)功能具體一點是通過鍵盤輸入來控制點陣LED顯示器顯示不同的內容,同時要求有一定的擴展能力
2、特性。整個系統(tǒng)的具體目標功能特性如下;1) 按1鍵顯示年,按2鍵顯示月、日。2) 按3鍵顯示自己的姓名。3) 按4鍵由左向右循環(huán)顯示自己的學號或其它特效功能。1.1. 設計思路從上面的任務說明中可以知道程序的功能很簡單,從總體上可以感受得到關鍵問題在于獲取鍵盤的輸入、控制點陣LED的輸出顯示。前者在于接收到鍵盤是否被按下以及哪一個鍵被按下的數(shù)據(jù),在取得這些數(shù)據(jù)后程序就能夠按規(guī)則將后者的顯示內容進行更改,從而達到通過鍵盤輸入來控制點陣LED的輸出。系統(tǒng)運行流程圖如下:初始化默認顯示姓名LED顯示有輸入?切換顯示內容上面流程圖中LED的顯示特效是動態(tài)的,同時系統(tǒng)需要監(jiān)控鍵盤的輸入情況,即系統(tǒng)需要控
3、制LED輸出,也需要控制鍵盤的輸入檢測。在此有兩種方案可以考慮。第一種是使用中斷的方式(8259A芯片)將鍵盤的檢測獨立出來,當鍵盤被按下時,鍵盤就會發(fā)出一個中斷信號來中斷當前的系統(tǒng)操作,進而系統(tǒng)可以從鍵盤的掃描結果來決定是否進行功能的切換。第二種則是使用程序查詢的方式進行,此方式相對第一種會更加簡單。具體的實施方式是在每一次的LED輸出后,馬上查詢一個鍵盤是不是有按鍵被按下,如果發(fā)現(xiàn)存在被按下的鍵,則讀取鍵盤的按鍵住處,進而進行功能切換,否則繼續(xù)控制LED的動態(tài)效果輸出。相比之下,第二種方式比較簡單實用,所以本系統(tǒng)采取了程序查詢的方式解決了邊控制LED輸出邊監(jiān)控鍵盤輸入的問題。下面針對鍵盤輸
4、入與LED輸出兩個關鍵問題進行詳細的說明。1.1.1. 鍵盤輸入為了得到鍵盤的輸入,本系統(tǒng)使用8255A作為輸入輸出芯片,并連接到一個4*4的鍵盤上。該鍵盤從左上角到右下角分別是0F的編號。在實際連接時,主要使用8255A的端口C的低4位來作為讀入鍵盤的掃描碼的輸入端口。由于該鍵盤還帶有數(shù)碼顯示管單元,為了能夠進行鍵盤輸入操作的調試,這里對數(shù)碼顯示管使用端口A與端口B分別連接之,調試過程中將使用端口A、B來將鍵盤的鍵值使用數(shù)碼管顯示之,注意在最終的執(zhí)行過程中將不會使用到該單元的數(shù)碼顯示管單元器件。下面是系統(tǒng)總線與8255A、4*4的鍵盤單元的連接線路圖。基于上圖的芯片單元配置連接圖,在程序中可
5、以通過8255A的端口C來讀取鍵盤的掃描碼。當發(fā)現(xiàn)有按鍵被按下時,程序會取得按鍵對應的數(shù)字編號,以便進一步處理LED的顯示內容。關于詳細的掃描鍵盤及讀取鍵盤按鍵值的實現(xiàn)請參考后續(xù)的源代碼實現(xiàn)。1.1.2. 點陣LED輸出本系統(tǒng)的輸出將采用點陣式的LED單元進行輸出,實驗箱自帶的點陣LED的大小是16*16的,即由四塊8*8的點陣塊組成,這四個點陣塊分別占用了兩行兩列。實驗箱的點陣LED的顯示方式是行為1時,列為0時對應的LED點會亮。具體的點陣LED的示意圖及內部結構圖如下: 1616點陣示意圖 1616點陣內部結構圖使用點陣LED輸出文字時的關鍵在于符合點陣格式的文字點陣數(shù)據(jù),在本系統(tǒng)中將使
6、用DotReader這款中文點陣生成器自動生成目標文字的點陣數(shù)據(jù),具體的使用方法可以在參考文獻的相關引用資料1中找到。在本系統(tǒng)中,每一個中文的點陣大小是16*16的,在輸出的時候只要將對應的點陣數(shù)據(jù)放到點陣LED的對應位置即可,整個LED會在點陣數(shù)據(jù)填充過程中正確顯示文字。在滑動地顯示文字這個特效功能上,本系統(tǒng)采用逐行掃描方式,不斷地將文字的點陣數(shù)據(jù)向某一個方向”滑動”地在LED上面顯示,最終達到整體上文字的滑動特效顯示。16*16的點陣LED的數(shù)據(jù)端口有一個,通過IOY0IOY4來進行片選操作,從而能夠訪問各行各列的點陣.下面是本16*16點陣LED的四個端口的定義:ROW1EQU 0600
7、H;第07行ROW2EQU 0640H;第815行COL1EQU 0680H ;第07列COL2EQU 06C0H ;第815列下面是16*16點陣LED與系統(tǒng)總線的連接線路圖。1.2. 運用技術本系統(tǒng)整體結構比較簡單,運用到實現(xiàn)技術主要是: 鍵盤輸入單元 點陣LED輸出單元 并行接口單元8255A芯片 16*16中文字符點陣生成器1.3. 完成情況目前系統(tǒng)的完成情況基本能夠達到題目要求,按0鍵的功能是從上至下滑動顯示學生學號,按1鍵則從下至上是滑動顯示學生姓名,并進行LED顯示內容的切換。最后LED的顯示特效也符合預期,能夠正常自下而上地”滑動式”顯示輸出內容2. 源代碼清單本系統(tǒng)結構簡單,
8、主要的代碼量是中文點陣數(shù)據(jù),在此就不列出了。以下整個系統(tǒng)的匯編源代碼清單。整個系統(tǒng)初始運行時默認是滑動顯示學生姓名。MY8255_A EQU 0600H;端口定義MY8255_B EQU 0602H;鍵盤輸入相關接口MY8255_C EQU 0604HMY8255_CONEQU 0606HROW1EQU 0600H ;端口定義ROW2EQU 0640H ;點陣LED輸出相關接口COL1EQU 0680HCOL2EQU 06C0H;堆棧段STACK1SEGMENT STACKDW 256 DUP(?)STACK1ENDS;數(shù)據(jù)段DATA SEGMENTINPUTS DB ?INCLUDE chu
9、nrong.asm ;所有數(shù)據(jù)漢字點陣DATA ENDS;代碼段CODESEGMENTASSUMECS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV DX, ROW1MOV AL, 00HOUT DX, ALMOV DX, ROW2OUT DX, ALMOV AL, 0ffHMOV DX, COL1OUT DX, ALMOV DX, COL2OUT DX, ALMOV DX, MY8255_CON ;初始化8255AMOV AL, 81HOUT DX, ALJMP SHOW_ZHOU ;默認顯示名字;=滑動顯示姓名=SHOW_ZHOU:NAME_BG
10、0:MOV AX, 16*4MOV SI, OFFSET HZDOT_NameNAME_BG1:CALL DISP ;滑動一行SUB SI, 2PUSH SIPUSH AXCALL SCAN_KEYBOARD ;掃描一個鍵盤碼POP AXPOP SIDEC AXJZ NAME_BG0 ;下一輪滑動JMP NAME_BG1 ;下一行;=滑動顯示學號=SHOW_XUEHAO:XUEHAO_BG0:MOV AX, 24MOV SI, OFFSET HZDOT_XUEXUEHAO_BG1:CALL DISP ;滑動一行ADD SI, 2PUSH SIPUSH AXCALL SCAN_KEYBOARD
11、;掃描一個鍵盤碼POP AXPOP SIDEC AXJZ XUEHAO_BG0 ;下一輪滑動JMP XUEHAO_BG1 ;下一行;=掃描鍵盤并選擇功能=SCAN_KEYBOARD:BEGIN: CALL CCSCAN ;掃描JNZ INK1RET;INK1: CALL DALLYCALL DALLYCALL CCSCANJNZ INK2 ;有鍵按下,進行取鍵值INK2_BRK:MOV AL, INPUTS ;得到鍵值CMP AL, 0JZ SHOW_ZHOU ;0顯示姓名;default.CMP AL, 1 ;1顯示學號JZ SHOW_XUEHAORET;=獲取鍵盤輸入的鍵值=INK2:MO
12、V CH,0FEHMOV CL,00HCOLUM:MOV AL,CHMOV DX,MY8255_A OUT DX,ALMOV DX,MY8255_C IN AL,DXL1:TEST AL, 01H ;is Line1?JNZ L2MOV AL, 00H ;Line1JMP KCODEL2:TEST AL, 02H ;is Line2?JNZ L3MOV AL, 04H ;Line2JMP KCODEL3:TEST AL, 04H ;is Line3?JNZ L4MOV AL, 08H ;Line3JMP KCODEL4:TEST AL, 08H ;is Line4?JNZ NEXTMOV AL
13、, 0CH ;Line4KCODE:ADD AL, CLMOV INPUTS, Al ;保存輸入值NEXT:INC CLMOV AL, CHTEST AL, 08HJZ KERRROL AL, 1MOV CH, ALJMP COLUMKERR:JMP INK2_BRK ;返回,并判斷是否需要切換功能;=鍵盤掃描子程序=CCSCAN:MOV AL, 00H ;鍵盤掃描子程序MOV DX, MY8255_AOUT DX, ALMOV DX, MY8255_CIN AL, DXNOT ALAND AL, 0FHRET;= 鍵盤延時子程序=DALLY:PUSH CX MOV CX,0006HT1:MO
14、V AX, 009FHT2:DEC AXJNZ T2LOOP T1POP CXRET;=顯示漢字子程序=;入口參數(shù): SI = 存放漢字點陣起始地址DISP:MOV CX, 000FHPUSH AXML0:PUSH CXMOV BL, 01H MOV CX, 0008HML1:MOV DX, ROW1 ;控制0-7行MOV AL, 00HOUT DX, ALMOV AL, SInot al ;0 表示高亮MOV DX, COL1 ;0-7列 OUT DX, ALINC SI ;下一個字節(jié)(下一列)MOV AL, SInot alMOV DX, COL2 ;8-15列OUT DX, ALINC
15、SIMOV DX, ROW1 ;控制0-7行MOV AL, BLOUT DX, ALROL BL, 1CALL DELAYLOOP ML1MOV DX, ROW1MOV AL, 00HOUT DX, ALMOV CX, 0008HML2:MOV DX, ROW2 ;控制8-15行MOV AL, 00HOUT DX, ALMOV AL, SINOT ALMOV DX, COL1 ;0-7列OUT DX, ALINC SIMOV AL, SI NOT ALMOV DX, COL2 ;8-15列OUT DX, ALINC SIMOV DX, ROW2 ;控制8-15行MOV AL, BLOUT DX
16、, ALROL BL, 1CALL DELAYLOOP ML2MOV DX, ROW2MOV AL, 00HOUT DX, ALSUB SI, 32POP CXLOOP ML0POP AXRET;=顯示延時子程序=DELAY:PUSH CX ;延時子程序MOV CX, 00C0HDL1:PUSH AXPOP AXLOOP DL1POP CXRETCODEENDSEND START; ;本文件為1616點陣中文字庫文件,字的橫向8點構成一字節(jié),左邊點在字節(jié)的高位,字符點陣四角按左上角右上角左下角右下角取字;如你想在以后繼續(xù)用HZDotReader打開文件,追加漢字點陣數(shù)據(jù),請不要修改或增刪所有注
17、釋CD5C5 EQU 00000H;李CBCCC EQU CD5C5+1;俊CB7E5 EQU CBCCC+1;杰 ;杰 CBDDCDB 080H,001H,080H,001H,0FEH,03FH,0FEH,03FHDB 0E0H,003H,0E0H,007H,0B0H,00DH,098H,019HDB 08EH,071H,082H,021H,000H,000H,06CH,033HDB 04CH,066H,0C6H,064H,006H,000H,000H,000H;俊 CBFA1DB 018H,003H,098H,001H,0DCH,018H,0ECH,03FHDB 0EEH,03FH,08E
18、H,019H,0CFH,030H,06DH,023HDB 08CH,01FH,0CCH,01FH,06CH,019H,02CH,00FHDB 00CH,00EH,0CCH,07BH,0ECH,070H,000H,000H;李 CC0EEHZDOT_Name:DB 080H,001H,080H,001H,0FFH,07FH,0FFH,07FHDB 0B0H,007H,09CH,01DH,007H,070H,0FAH,00FHDB 0F8H,00FH,000H,003H,0FEH,07FH,0FEH,07FHDB 080H,001H,0E0H,001H,0C0H,000H,000H,000HHZDOT_XUE:;27 C3237DB 000H,000H,000H,000H,000H,000H,018H,07EHDB 024H,040H,042H,040H,042H,020H,040H,020HDB 020H,020H,010H,010H,008H,010H,004H,010HDB 002H,008H,07EH,008H,000H,000H,000H,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Ortho-methyl-4-anilino-1-boc-piperidine-生命科學試劑-MCE-9872
- 2025年度網(wǎng)紅電商品牌購銷合同
- 2025年度礦山資源整合與投資合作協(xié)議
- 施工方案對土石方材料的要求與選擇
- 游泳教學與生命安全教育的融合
- 高校突發(fā)公共事件應急預案
- 數(shù)據(jù)中心安全管理措施與緊急情況應對實例分析
- 60條合同規(guī)定:如何實現(xiàn)一次性產(chǎn)品零使用
- 上市公司廣告策劃與執(zhí)行合同范本
- 二手房訂房合同條款解析
- 特殊教育導論 課件 第1-6章 特殊教育的基本概念-智力異常兒童的教育
- DB13(J)T145-2012建筑工程資料管理規(guī)程(上冊)
- 企業(yè)職務犯罪法制講座課件
- 2023學年完整公開課版家鄉(xiāng)的方言
- 護理質量管理課件
- 護理學基礎教案導尿術
- 顱腦外傷(新版)課件
- 《先秦漢魏晉南北朝詩》(精校WORD版)
- 分包商座談會領導致辭
- GB/T 16679-1996信號與連接的代號
- 高三考前押題卷文科綜合地理試卷(解析版)
評論
0/150
提交評論