單片機課程設計---鍵盤接口課程設計_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計報告</b></p><p>  題 目 鍵盤接口課程設計 </p><p>  課 程 名 稱 單片機原理及接口技術 </p><p>  院 部 名 稱 龍蟠學院 </p><p>  專 業(yè)

2、 電氣工程及其自動化 </p><p>  班 級 M08電氣工程及其自動化 </p><p>  學 生 姓 名 </p><p>  學 號 </p><p>  課程設計地點 </p&

3、gt;<p>  課程設計學時 一周 </p><p>  指 導 教 師 </p><p>  單片機原理及接口技術課程設計</p><p><b>  鍵盤接口課程設計</b></p><p><b>  課程

4、設計目的:</b></p><p>  熟悉單片機仿真軟件Proteus,單片機開發(fā)環(huán)境Keil的應用;</p><p>  增進對單片機的感性認識,加深對單片機理論方面的理解;</p><p>  使學生了解和掌握單片機應用系統(tǒng)的軟硬件設計過程、方法及實現(xiàn),為以后設計和實現(xiàn)單片機應用系統(tǒng)打下良好基礎。</p><p><b

5、>  課程設計內(nèi)容:</b></p><p>  本課程設計為獨立式非編碼鍵盤接口鍵盤的輸入輸出系統(tǒng)。89c51作為核心,課程設計分為兩大部分:鍵盤的輸入和LED顯示。</p><p><b>  硬件設計:</b></p><p>  1. 89C51微處理器</p><p>  89C51是一種帶4

6、K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C51是一種高效微控制器,89

7、C2051是它的一種精簡版本。89C單片機為很多嵌入式系統(tǒng)提供了一種靈活性高且價廉的方案。 </p><p><b>  2. 鍵盤接口電路</b></p><p>  獨立式鍵盤是指各按鍵互相獨立的接通一條輸入數(shù)據(jù)線,該電路為查詢方式電路。當任何一個鍵按下時,與之相連的輸入數(shù)據(jù)線即被清0,而平時改線為1.要判別是否有鍵按下,需用單片機的位處理指令。</p>

8、;<p>  3. 譯碼器 74LS164 原理</p><p>  器件功能:8位傳入,并出移位寄存器</p><p>  74HC164、74HCT164 是高速硅門 CMOS 器件,與低功耗肖特基型 TTL (LSTTL) 器件的引腳兼容。74HC164、74HCT164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA 或 DSB

9、)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。 </p><p>  時鐘 (CP) 每次由低變高時,數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個數(shù)據(jù)輸入端(DSA和 DSB)的邏輯與,它將上升時鐘沿之前保持一個建立時間的長度。 </p><p>  主復位 (MR) 輸入端上的一個低電平將使其它

10、所有輸入端都無效,同時非同步地清除寄存器,強制所有的輸出為低電平。</p><p><b>  IEC邏輯符號</b></p><p>  H = HIGH(高)電平 </p><p>  h = 先于低-至-高時鐘躍變一個建立時間 (set-up time) 的 HIGH(高)電平 </p><p>  L = LOW

11、(低)電平 </p><p>  l = 先于低-至-高時鐘躍變一個建立時間 (set-up time) 的 LOW(低)電平 </p><p>  q = 小寫字母代表先于低-至-高時鐘躍變一個建立時間的參考輸入 (referenced input) 的狀態(tài) </p><p>  ↑ = 低-至-高時鐘躍變 </p><p>  4. 7

12、段LED數(shù)碼顯示</p><p>  7段LED構成字型“8”。本設計為共陽極顯示器。加限流電阻,以防止LED燒壞。</p><p>  數(shù)碼管是數(shù)碼顯示器的俗稱。常用的數(shù)碼顯示器有半導體數(shù)碼管,熒光數(shù)碼管,輝光數(shù)碼管和液晶顯示器等。 本設計所選用的是半導體數(shù)碼管,是用發(fā)光二極管(簡稱LED)組成的字形來顯示數(shù)字,七個條形發(fā)光二極管排列成七段組合字形,便構成了半導體數(shù)碼管。半導體

13、數(shù)碼管有共陽極和共陰極兩種類型。共陽極數(shù)碼管的七個發(fā)光二極管的陽極接在一起,而七個陰極則是獨立的。共陰極數(shù)碼管與共陽極數(shù)碼管相反,七個發(fā)光二極管的陰極接在一起,而陽極是獨立的。 當共陽極數(shù)碼管的某一陰極接低電平時,相應的二極管發(fā)光,可根據(jù)字形使某幾段二極管發(fā)光,所以共陽極數(shù)碼管需要輸出低電平有效的譯碼器去驅(qū)動。共陰極數(shù)碼管則需輸出高電平有效的譯碼器去驅(qū)動。</p><p><b>  軟件設計

14、、</b></p><p><b>  1. 設計思想</b></p><p>  p1.0~p1.7為89C51單片機的輸入端,P3.0~P3.1為單片機的輸出端。首先設置時鐘地址、顯示緩存地址,并對數(shù)碼管顯示初始化。初始化狀態(tài),顯示器顯示數(shù)字為0。在判斷是否有鍵按下前先對P1口寫1,判斷是否有按鍵按下;如果有按鍵按下,需消除按鍵抖動,然后查表確定按鍵值

15、;若沒有按鍵按下,循環(huán)判斷是否有鍵按下的程序段。當有按鍵按下,且按鍵抬起后,鍵值存入緩存,據(jù)鍵值查表取段碼,設置移位次數(shù),段碼移位輸出,輸出移位脈沖,輸出數(shù)字。</p><p><b>  2. 流程圖</b></p><p><b>  3. 程序</b></p><p>  DINEQUP3.0

16、 ; 74ls164數(shù)據(jù)輸入地址</p><p>  CLKEQUP3.1 ;時鐘地址</p><p>  DBUFEQU30H ;顯示緩存地址</p><p>  TEMP EQU 40H</p><p><b>  ORG00H</b>&

17、lt;/p><p>  MOV30H,#16;數(shù)碼管顯示初始化</p><p>  MAIN:ACALLDISP;顯示</p><p>  ACALLKEY;計算鍵值</p><p><b>  AJMPMAIN</b></p><p>  KEY: ;計

18、算鍵碼子程序</p><p>  MOV P1,#0FFH ;讀數(shù)前先寫1 </p><p>  MOVA,P1 </p><p>  CJNEA,#0FFH,K00 ;判斷是否有鍵按下 </p><p>  AJMPKEY </p&

19、gt;<p>  K00:ACALLDELAY </p><p><b>  MOVA,P1</b></p><p>  CJNEA,#0FFH,K01 ;消除按鍵抖動 </p><p><b>  AJMPKEY</b></p><p

20、>  K01:MOVR3,#8 </p><p>  MOV R2,#0 </p><p>  MOV B,A </p><p>  MOVDPTR,#K0TAB;查表比較,計算鍵值</p><p>  K02: MOV

21、A,R2</p><p>  MOVC A,@A+DPTR </p><p>  CJNE A,B,K04 </p><p>  K03: MOVA,P1 </p><p>  CJNE A,#0FFH,K03 ;等待按鍵抬起

22、 </p><p>  ACALL DELAY </p><p>  MOV A,R2 </p><p><b>  RET</b></p><p>  K04:INC R2 </p><

23、;p>  DJNZR3,K02</p><p>  MOV A,#0FFH </p><p><b>  AJMP KEY</b></p><p>  K0TAB:DB 0FEH,0FDH,0FBH,0F7H </p><p>  DB 0EFH,0DFH,0BFH,07FH&l

24、t;/p><p>  DISP: ;數(shù)碼顯示子程序</p><p>  MOV DBUF,A;鍵值存入緩存</p><p>  MOV R0,#DBUF</p><p>  MOV R1,#TEMP</p><p>  DP10:MOV DPTR,#SEGTAB</p

25、><p>  MOV A,@R0</p><p>  MOVC A,@A+DPTR;根據(jù)鍵值查表取段碼</p><p>  MOV @R1,A;暫存段碼</p><p>  MOV R0,#TEMP</p><p>  DP12:MOV R2,#8;設置移位次數(shù)</p&

26、gt;<p>  MOV A,@R0</p><p>  DP13: RLC A;段碼移位輸出</p><p>  MOV DIN,C</p><p>  CLR CLK;輸出移位脈沖</p><p>  SETB CLK</p><p>  DJNZ

27、 R2,DP13</p><p><b>  RET</b></p><p>  SEGTAB: DB 3FH,06H,5BH,4FH,66H </p><p>  DB 6DH,7DH,07H,7FH,6FH</p><p>  DELAY: MOV R4,#02H

28、 </p><p>  AA1: MOV R5,#0F8H</p><p>  AA: DJNZ R5,AA</p><p>  DJNZR4,AA1</p><p><b>  RET</b></p><p><b>  END </b

29、></p><p><b>  設計總結:</b></p><p>  在此次的鍵盤設計,掌握了89C51單片機及了各芯片的工作原理和其具體的使用方法. 在設計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的。在設計電路的連接圖中出錯的主要原因都是接線和芯片的接觸不良以及接線的錯誤所引起的.接線的時候一定要細心,不要接錯</p

30、><p>  對自己的設計圖要仔細考慮,是否可行,尤其是進位輸出,著重看看進位的CP脈沖是否正確。</p><p>  本次課設最大的障礙是方案確定在圖書館所查的電路圖有一處錯誤,即在校正電路中連錯了一個借口。最后經(jīng)過多次的檢查,終于找出了錯誤之處,并進行改正。</p><p>  在EWB軟件中得到繪制出原理圖。每一部分電路完成后就對其進行功能檢測,以便及時發(fā)現(xiàn)問題進

31、行改正。擴展電路是在主體電路的基礎上加上一部分功能實現(xiàn)電路,以實現(xiàn)定時、整點報時等功能。并附帶原理闡述。</p><p>  通過這次課程設計學習,讓我對各種電路都有了大概的了解,也學會了常用繪圖軟件及仿真軟件的應用。</p><p>  所以說,坐而言不如立而行,對于這些電路還是應該自己動手實際操作才會有深刻理解,才會有收獲。</p><p><b> 

32、 參考文獻:</b></p><p>  [1] 康華光.《數(shù)字電子技術基礎》. 北京:高等教育出版社,2000.3</p><p>  [2] 李朝清.《單片機原理及接口技術》(第3版).北京:北京航空航天大學出版社,2006.12</p><p>  [3] 姚福安. 《電子電路設計與實踐》(第一版 ).山東科學技術出版社,2002.4</p&

溫馨提示

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

評論

0/150

提交評論