




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、微機原理與接口技術(shù)-鍵盤LED顯示【課程設(shè)計報告】PAGE PAGE 26重慶大學(xué)課 程 設(shè) 計 報 告課程名稱: 微機原理與接口技術(shù) 設(shè)計題目: 鍵盤LED顯示 院 系:電氣信息學(xué)院 班 級: 2007級 設(shè)計時間:2009年12月 TOC o 1-3 h z u HYPERLINK l _Toc250763788 第一章 概述 PAGEREF _Toc250763788 h 2 HYPERLINK l _Toc250763789 1.1學(xué)習(xí)目的 PAGEREF _Toc250763789 h 2 HYPERLINK l _Toc250763790 1.2 計算機的應(yīng)用 PAGEREF _T
2、oc250763790 h 2 HYPERLINK l _Toc250763791 1.3學(xué)習(xí)計算機的意義 PAGEREF _Toc250763791 h 3 HYPERLINK l _Toc250763792 1.4課程設(shè)計目的 PAGEREF _Toc250763792 h 3 HYPERLINK l _Toc250763793 第二章 總體方案設(shè)計 PAGEREF _Toc250763793 h 4 HYPERLINK l _Toc250763794 2.1 設(shè)計注意問題 PAGEREF _Toc250763794 h 4 HYPERLINK l _Toc250763795 2.2 總體
3、思路 PAGEREF _Toc250763795 h 4 HYPERLINK l _Toc250763796 第三章 硬件設(shè)計 PAGEREF _Toc250763796 h 5 HYPERLINK l _Toc250763797 3.1 8255工作原理 PAGEREF _Toc250763797 h 5 HYPERLINK l _Toc250763798 3.2 鍵盤工作原理 PAGEREF _Toc250763798 h 7 HYPERLINK l _Toc250763799 3.3 鍵特征值的形成 PAGEREF _Toc250763799 h 8 HYPERLINK l _Toc25
4、0763800 3.4段值的形成 PAGEREF _Toc250763800 h 8 HYPERLINK l _Toc250763801 3.5 8255接線圖 PAGEREF _Toc250763801 h 9 HYPERLINK l _Toc250763804 第四章 軟件設(shè)計 PAGEREF _Toc250763804 h 10 HYPERLINK l _Toc250763805 4.1 8255初始化 PAGEREF _Toc250763805 h 10 HYPERLINK l _Toc250763806 4.2 鍵盤掃描的處理方法 PAGEREF _Toc250763806 h 10
5、 HYPERLINK l _Toc250763807 4.2.1. 判斷是否有鍵被按下的方法 PAGEREF _Toc250763807 h 10 HYPERLINK l _Toc250763808 4.2.2. 判斷是否有鍵被按下的源程序 PAGEREF _Toc250763808 h 11 HYPERLINK l _Toc250763809 4.2.3 防抖動 PAGEREF _Toc250763809 h 11 HYPERLINK l _Toc250763810 4.2.4.防抖動的延時子程序 PAGEREF _Toc250763810 h 12 HYPERLINK l _Toc2507
6、63811 4.3 程序核心部分 PAGEREF _Toc250763811 h 12 HYPERLINK l _Toc250763812 4.3.1 逐行掃描 PAGEREF _Toc250763812 h 12 HYPERLINK l _Toc250763813 4.3.2逐行掃描的源程序 PAGEREF _Toc250763813 h 12 HYPERLINK l _Toc250763814 第五章 源程序代碼 PAGEREF _Toc250763814 h 13 HYPERLINK l _Toc250763815 5.1 根據(jù)整體思路以及軟件設(shè)計得到的代碼 PAGEREF _Toc25
7、0763815 h 13 HYPERLINK l _Toc250763816 5.2 以上代碼存在問題分析 PAGEREF _Toc250763816 h 16 HYPERLINK l _Toc250763817 第六章 難點分析 PAGEREF _Toc250763817 h 16 HYPERLINK l _Toc250763818 第七章 體會 感慨 建議 PAGEREF _Toc250763818 h 19 HYPERLINK l _Toc250763819 第八章 參考文獻 PAGEREF _Toc250763819 h 20 第一章 概述1.1學(xué)習(xí)目的“微機原理與接口技術(shù)”是電氣工程
8、及其自動化專業(yè)的一門重要的專業(yè)基礎(chǔ)課程。我們通過該門課的學(xué)習(xí),知道了微機的工作原理,微型計算機的基本結(jié)構(gòu),接口技術(shù)及匯編語言程序設(shè)計,為后續(xù)的課程的學(xué)習(xí)和今后的工作打下堅實的基礎(chǔ)。通過實驗可以培養(yǎng)學(xué)生利用計算機技術(shù)和編程手段分析,解決專業(yè)領(lǐng)域的各種問題的能力和意識,并進一步感受微機發(fā)展的微機發(fā)展的新技術(shù)和新方法。1.2 計算機的應(yīng)用目前計算機的應(yīng)用已經(jīng)遍布各個行業(yè),如科學(xué)計算、數(shù)據(jù)處理、過程控制、人工智能、網(wǎng)絡(luò)應(yīng)用等??茖W(xué)和工程計算:科學(xué)和工程計算的特點是計算量大,而邏輯關(guān)系相對簡單,它是計算機重要應(yīng)用領(lǐng)域之一。數(shù)據(jù)和信息處理:數(shù)據(jù)處理是指對數(shù)據(jù)的收集、存儲、加工、分析和傳送的全過程。這些數(shù)據(jù)
9、處理應(yīng)用的特點是數(shù)據(jù)量很大,但計算相對簡單。多媒體技術(shù)的發(fā)展,為數(shù)據(jù)處理增加了新鮮內(nèi)容,都涉及更廣泛的數(shù)據(jù)類型,這些數(shù)據(jù)處理過程不僅數(shù)據(jù)量大,而且還會帶來大量的運算和復(fù)雜的運算過程。過程控制:過程控制是生產(chǎn)自動化的重要技術(shù)內(nèi)容和手段,它是由計算機對所采集到的數(shù)據(jù)按一定方法經(jīng)過計算,然后輸出到指定執(zhí)行機構(gòu)去控制生產(chǎn)的過程。人工智能:人們把計算機模擬人腦力勞動的過程成為人工智能。人工智能是利用計算機來模擬人的思維過程,并利用計算機程序來實現(xiàn)這些過程。 1.3學(xué)習(xí)計算機的意義電子計算機是一種能自動高速地進行大量運算的電子機器。電子計算機的出現(xiàn)和發(fā)展,是科學(xué)技術(shù)和生產(chǎn)力的卓越成就之一,反過來,它也極大
10、地促進了科學(xué)技術(shù)和生產(chǎn)力的發(fā)展。微型計算機的發(fā)展前景是不可估量的。微型計算機功能強,體積小,使用方便,可靠性高,價格低廉,因而應(yīng)用范圍非常廣泛,航天工業(yè),交通運輸,醫(yī)藥衛(wèi)生甚至家庭生活及教學(xué)儀器等方面都廣泛地使用了微型計算機。毫無疑問,今后微型計算機在人類社會和日常生活中的影響將會越來越大。感受接口的重要作用,學(xué)會微機與接口的綜合應(yīng)用。掌握接口的編程技術(shù)。1.4課程設(shè)計目的 1.掌握 8255的使用和編程方法。 2.通過8255設(shè)計鍵盤掃描及它們的輸入輸出方式和它們的控制字。綜合運用本學(xué)期所學(xué)的關(guān)于匯編的知識,在實驗中進一步熟悉本學(xué)期所學(xué)的課程并結(jié)合實際生活,掌握匯編的應(yīng)用。 3.注重鍵盤掃描
11、的方法設(shè)計以及解決問題的思路。 4.了解任何微機應(yīng)用開發(fā)工作都離不開接口的技術(shù)、選用及連接。微機應(yīng)用系統(tǒng)需要設(shè)計的硬件是一些接口電路,所要編寫的軟件是控制這些接口電路按要求工作的驅(qū)動程序。重點講述可編程并行接口芯片8255A、內(nèi)部結(jié)構(gòu)、工作方式、初始化編程及其應(yīng)用實例。第二章 總體方案設(shè)計2.1 設(shè)計注意問題 在唐都實驗箱上實現(xiàn)鍵盤掃描并顯示在LED上,比如當(dāng)按下6時,LED會顯示6的字樣。總體設(shè)計方案如下: 1.實現(xiàn)鍵盤的掃描(鍵號與鍵值的對應(yīng))。 2.防抖動措施。 3.防重鍵的措施。2.2 總體思路 本次試驗報告的整體思路如下:行開放,找到列值并保存;逐行掃描,找到行值并保存;行值和列值組
12、合成鍵特征值;根據(jù)鍵特征值找到鍵號;根據(jù)鍵號查表得段碼;送出相應(yīng)位碼。鍵盤掃描邏輯性很強,步步相扣。思路顯得尤其重要。第三章 硬件設(shè)計3.1 8255工作原理并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對象之間傳遞信息。CPU和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8位、16位或32位等。8255 A可編程外圍接口芯片是Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個并行接口,用+5V 單電源供電,能以下三種方式下工作:方式0:基 輸入/輸出方式方式1:選通輸入/輸出方式方式2:雙向選通工作方式8255A的內(nèi)部結(jié)構(gòu)及引腳如圖3.1 所示,8255 工作方式控制字
13、和 C口按位 置位/復(fù)位控制字格式如圖3.2所示。 雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖3.1所示,8255工作方式控制字和C口按位置位/復(fù)位控制字如圖3.3所示圖3.1 8255的內(nèi)部結(jié)構(gòu)及引腳圖3.2 8255工作方式控制字和C口按位置位/復(fù)位控制字3.2 鍵盤工作原理 唐都實驗箱提供的是4*4的小鍵盤,如下圖所示, 列為高電平。并且位選口與行控口共用端口。鍵盤原理圖3.2:FE7dCbA9876543210列0列1列2列3 0 0+5 圖3.2 鍵盤原理圖鍵盤工作原理闡述: 每一個鍵跨接在行、列線之間; 在無按鍵時,列線固定為高電平;列控制口用于讀入列線狀態(tài),即列值。 行線電平
14、受控于“行控制口”,行控口輸出的信號稱為行值 某鍵未按下,該鍵關(guān)聯(lián)的行、列線不通;按下,則把行線的電平引入列線。設(shè)置行線為低電平,則把行線的低電平引入列線。3.3 鍵特征值的形成根據(jù)鍵盤的工作原理可以得到如下鍵特征值表3.4: 鍵值列值行值鍵特征值鍵值列值行值鍵特征值00111B1110B7EH10111B1101B7DH20111B1011B7BH30111B0111B77H41011B1110BBEH51011B1101BBDH61011B1011BBBH71011B0111BB7H81101B1110BDEH91101B1101BDDHA1101B1011BDBHb1101B0111BD
15、7HC1110B1110BEEHd1110B1101BEDHE1110B1011BEBHF1110B0111BE7H .3鍵特征值表3.4段值的形成 DpgfedcbaD7D6D5D4D3D2D1D0000111111 3FH100000110 06H2010110115BH301001111 4FH 401100110 66H501101101 6DH601111101 7DH700000111 07H801111111 7FH901101111 6FHA01110111 77Hb01111100 7CHC00111001 39H d01011110 5EHE01111001 79HF011
16、1000171H顯示段值見表3.5表3.4 段碼表3.5 8255接線圖 PB PA0 PA1 PA2 PA3 PC3 PC2PC1 PC0 LED6 LED5 LED4 LED3 LED2 LED1 列控位控行控+5V 圖3.5 8255接線圖3.6 寄存器地址選取 根據(jù)唐都實驗儀器提供的手冊,選取IOY1作為8255芯片的片選端口,A1 A0為片內(nèi)譯碼。即:PA口地址: 0640HPB口地址: 0642HPC口地址: 0644PD(控制口) 地址: 0646H第四章 軟件設(shè)計4.1 8255初始化以PC為列控口;以PA低4位為行控口;列口為輸入,行口輸出;顯示以PB為段選口;PB口輸出;P
17、A低6位為位選。根據(jù)3.1與3.2 得出8255芯片的控制字為:10001001B,即:89H。4.2 鍵盤掃描的處理方法4.2.1. 判斷是否有鍵被按下的方法 行開放:使所有行線輸出低電平,從列控口讀入列狀態(tài)(列值)即: 通過行控口,輸出全0 。4條行線均為低電平。如果沒有鍵按下,則行線低電平不會引入到列線,從列控口讀入的必為全1;只要有一個鍵按下,如F鍵,則行1的低電平引入列3,從列控口讀入的列值為1110,非全1,由此得出判斷是否有鍵按下的條件: 讀入的列值為全1,無按鍵;非全1,必有按鍵!判斷是否有鍵被按下的流程:讓行線輸出全為0;讀列的值;判斷列值是否全為0;若不全為0,則說明有按鍵
18、按下;全為0,則說明沒有按鍵按下,繼續(xù)等待輸入。 4.2.2. 判斷是否有鍵被按下的源程序 MOV DX,0640H MOV AL,00H OUT DX,ALJXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR對源程序的解釋:程序中只需要C口低四位,所以用“AND AL,0FH”對低4位保存4.2.3 防抖動防抖動措施對按鍵來說是必需的,可以讓微機準(zhǔn)確輸入,在課程設(shè)計中,利用延時子程序來實現(xiàn)防抖動。4.2.4.防抖動的延時子程序 DELAY PROC NEAR ;延時子程序 MOV CX,0F000HDLP: LOOP DLP RE
19、TDELAY ENDP4.3 程序核心部分4.3.1 逐行掃描 問題:怎么判斷按鍵說在行的位置? 查閱資料,判斷按鍵所在行的位置用逐行掃描的方法。 逐行掃描:使行線輸出逐一為低電平,從列控口讀入列狀態(tài)(列值)。 此時如果列值讀入為全1,則按鍵不在本行;非全1,在本行。 判斷是否有鍵被按下的流程:使第0行為0(掃描0行);讀入列值;判斷列值是否全為0若列值全為0,則說明按鍵不在本行;列值移位,再次讀入列值,進行判斷。4.3.2逐行掃描的源程序 LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE Z
20、JSC ROL AH,1 MOV AL,AH JMP LOP1逐行掃描的源程序的解釋:ROL AH,1,行值移位后繼續(xù)掃描。 第五章 源程序代碼5.1 根據(jù)整體思路以及軟件設(shè)計得到的代碼 DATA SEGMENT DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H JZTABLE DB 7EH,7DH,7BH,77H DB 0BEH,0BDH,0BBH,0B7H DB 0DEH,0DDH,0DBH,0D7H DB 0EEH,0EDH,0EBH,0E7HDATA ENDSCODE SEGME
21、NT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,0646H MOV AL,89H OUT DX,AL ;初始化 T1: MOV DX,0640H ;行開放 MOV AL,00H OUT DX,AL JXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR CALL DELAY ;防抖動 MOV BL,AL ;保存列值 MOV AL,0FEH ;逐行掃描 MOV AH,AL LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN A
22、L,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH JMP LOP1 ZJSC:SHL BL,4 AND AH,0FH OR BL,AH ;形成鍵特征值 LEA SI,JZTABLE MOV CL,0 LOP3:CMP BL,SI JE LOP2 INC CL INC SI JMP LOP3 LOP2:MOV DX,0640H MOV AL,00H OUT DX,AL LOP4: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE LOP4 CALL DELAY LEA DI,DZTABLE
23、MOV BX,DI MOV AL,CL XLAT MOV DX,0642H OUT DX,AL MOV DX,0640H MOV AL,00H OUT DX,AL MOV AH,4CH INT 21H DELAY PROC NEAR ;延時子程序 MOV CX,0F000HDLP: LOOP DLP RETDELAY ENDPCODE ENDS5.2 以上代碼存在問題分析 以上源代碼在理論上已經(jīng)準(zhǔn)確了,但是任然不能調(diào)試成功,經(jīng)過細心檢查,發(fā)現(xiàn)源程序中的延時子程序出現(xiàn)問題。DELAY PROC NEAR ;延時子程序 MOV CX,0F000HDLP: LOOP DLPRETDELAY ENDP
24、CODE ENDS在延時子程序中用了寄存器CX,但是后面程序中還要用CX,沒有保存現(xiàn)場。應(yīng)該改為:DELAY PROC NEAR PUSH CX MOV CX,0F000HDLP: LOOP DLP POP CXRETDELAY ENDPCODE ENDS第六章 難點分析本課程設(shè)計的難點之一是行掃描的實現(xiàn)。以上工作做完后,已經(jīng)能顯示了,鍵盤掃描問題就基本解決了。但是本課程設(shè)計的又一難點怎么實現(xiàn)防重鍵?我想的方法是根據(jù)鍵特征值去判斷:觀察鍵特征值,發(fā)現(xiàn)鍵特征值0的個數(shù)均是偶數(shù)。就利用此條件去判斷,若出現(xiàn)奇數(shù)則是重鍵,具體操做見一下程序 DATA SEGMENT DZTABLE DB 3FH,06
25、H,5BH,4FH,66DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H JZTABLE DB 7EH,7DH,7BH,77H DB 0BEH,0BDH,0BBH,0B7H DB 0DEH,0DDH,0DBH,0D7H DB 0EEH,0EDH,0EBH,0E7HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,0646H MOV AL,89H OUT DX,AL ;初始化 T1: MOV DX,0640H ;行開放 MOV AL,0
26、0H OUT DX,AL JXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR CALL DELAY ;防抖動 MOV BL,AL ;保存列值 MOV AL,0FEH ;逐行掃描 MOV AH,AL LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH JMP LOP1 ZJSC:SHL BL,4 AND AH,0FH OR BL,AH ;形成鍵特征值 JNP AAA ;防重鍵 LEA SI,JZTABLE MOV CL,0 LOP3:CMP BL,SI JE LOP2 INC CL INC SI JMP LOP3 LOP2:MOV DX,0640H MOV AL,00H OUT DX,AL LOP4: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE LOP4 CALL DELAY LEA DI,DZTABLE MOV BX,DI MOV AL,CL XLAT MOV DX,0642H OUT DX,AL MOV D
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)工作者考試基礎(chǔ)知識
- 出差協(xié)議合同二零二五年
- 二零二五版兼職出納聘用協(xié)議書
- 全新在職員工分紅協(xié)議
- 班組勞務(wù)合同范例
- 二零二五版勞務(wù)服務(wù)外包合同
- 安防項目合同范本
- 公司簽入股合同范本
- 私人抵房合同范本
- 財務(wù)注意事項培訓(xùn)
- JJG 633-2024氣體容積式流量計
- 管網(wǎng)設(shè)計方案
- 管理溝通-原理、策略及應(yīng)用(第二版)教學(xué)課件7
- 中西醫(yī)結(jié)合診療
- 建立良好的生活習(xí)慣和健康生活方式
- 數(shù)據(jù)庫系統(tǒng)原理教程-清華大學(xué)
- 中國東盟物流行業(yè)分析
- 正方體、長方體展開圖(滬教版)
- 2023文化傳媒公司股東協(xié)議書
- 三位數(shù)除以兩位數(shù)-有余數(shù)-豎式運算300題
- 房建工程安全質(zhì)量觀摩會策劃匯報
評論
0/150
提交評論