DZ034籃球比賽計時器
DZ034籃球比賽計時器,dz034,籃球比賽,計時器
I摘要本文主要介紹:籃球比賽計時器。本文首先介紹單片機(jī)的相關(guān)知識,對單片機(jī)進(jìn)行相應(yīng)的研究,并將其與 74HC595 串行顯示電路配合使用。本電路主要核心是 AT89S51,利用軟件和硬件的結(jié)合實現(xiàn)開機(jī)自動置節(jié)計數(shù)器為第一節(jié),節(jié)計時器為 12 分 00 秒,24 秒違例為 24 秒。用數(shù)字顯示籃球比賽當(dāng)時節(jié)數(shù),每節(jié)時間及 24 秒的倒計時,采用單片機(jī)串行顯示。最后,本文會詳細(xì)敘述此電路的安裝與調(diào)試,并對調(diào)試過程中出現(xiàn)的問題做簡要說明。關(guān)鍵詞 AT89S52 單片機(jī);74HC595;XXXIIAbstractAbstract this article mainly introduced: Basketball game timer. This article first introduced that monolithic integrated circuit's related knowledge, conducts the corresponding research to the monolithic integrated circuit, and its and 74HC595 serial display circuit coordination use. This electric circuit main core is AT89S51, realizes using the software and hardware's union starting sets at the festival counter for first, the festival timer is 12 minute 00 second automatically, 24 second case of breaching the rules is 24 seconds. With the digital demonstration basketball game at that time the pitch number, each time and 24 second countdown, used the monolithic integrated circuit serial demonstration. Finally, this article will narrate this electric circuit's installment and the debugging in detail, and to will debug the question which in the process will appear to give the briefing。key words 89S52 monolithic integrated circuit; 74HC595; XXXIII目 錄摘要 ...............................................................IABSTRACT..........................................................II第 1 章 緒論 .......................................................11.1 課題背景 .....................................................11.2 設(shè)計簡介 .....................................................2第 2 章 系統(tǒng)電路的設(shè)計方案 .........................................32.1 系統(tǒng)設(shè)計方案的提出 ...........................................32.2 方案的確定 ...................................................32.3 本章小結(jié) .....................................................3第 3 章 電路設(shè)計原理及芯片介紹 ....................................43.1 鍵盤控制及顯示電路設(shè)計的原理及要求 ...........................43.1.1 電路的設(shè)計原理與功能要求 .................................43.1.2 電路的總設(shè)計框圖 .........................................43.2 總電路選用芯片簡介 ...........................................43.2.1 控制芯片 AT89S52..........................................43.3 LED 顯示原理介紹 ............................................113.4 鍵盤控制原理介紹 ............................................143.4.1 鍵盤的工作原理 ..........................................143.4.2 獨立式鍵盤 ..............................................173.5 本章小結(jié) ....................................................20第 4 章 鍵盤控制及顯示硬件電路實現(xiàn) ................................214.1 LED 顯示電路設(shè)計 ............................................214.2 獨立按鍵鍵盤的電路設(shè)計 ......................................224.3 硬件的焊接 ..................................................234.3.1 硬件的焊接 .............................................234.3.2 電路板的檢查和故障排除 .................................244.4 本章小結(jié) ....................................................24第 5 章 鍵盤控制及顯示電路軟件設(shè)計 ...............................26IV5.1 軟件設(shè)計的基本工具 ..........................................265.1.1 匯編語言的簡介 ..........................................265.1.2 匯編語言的指令系統(tǒng)與程序 ................................265.1.3 keilC51 開發(fā)軟件簡介 ....................................285.2 獨立式鍵盤軟件設(shè)計 ..........................................285.2.1 軟件設(shè)計流程圖 ..........................................295.3 鍵盤控制及顯示電路設(shè)計軟件實現(xiàn)總流程圖 ......................295.3.1 總流程圖 ................................................295.4 本章小結(jié) ....................................................30結(jié) 論 ............................................................31致 謝 ............................................................32參考文獻(xiàn) ..........................................................33附錄 1 外文資料 ...................................................34附錄 2 電路原理圖 .................................................37附錄 3 匯編源程序 .................................................38附錄 4 元件清單 ...................................................451第 1 章 緒論1.1 課題背景在電子技術(shù)飛速發(fā)展的今天,電子產(chǎn)品的人性化和智能化已經(jīng)非常成熟,其發(fā)展前景仍然不可估量。如今的人們需求的是一種能給自己帶來方便的電子產(chǎn)品,當(dāng)然最好是人性化和智能化的,如何能做到智能化呢?單片機(jī)的引入就是一個很好的例子。單片機(jī)又稱單片微型計算機(jī),也稱為微控制器,是微型計算機(jī)的一個重要分支,單片機(jī)是 20 世紀(jì) 70 年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是集 CPU, RAM,ROM,I/O 接口和中斷系統(tǒng)于同一硅片上的器件。單片機(jī)的誕生標(biāo)志著計算機(jī)正式形成了通過計算機(jī)系統(tǒng)和嵌入式計算機(jī)系統(tǒng)兩個分支。目前單片機(jī)已滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。在我們身邊,由單片機(jī)作為主控制器的全自動洗衣機(jī)、高檔電風(fēng)扇、電子廚具、變頻空調(diào)、遙控彩電、錄像機(jī)、VCD/DVD 機(jī)、組合音響、電子琴等。單片機(jī)已在廣闊的計算機(jī)應(yīng)用領(lǐng)域中表現(xiàn)得淋漓盡致,出盡了風(fēng)頭。從家用消費類電器到復(fù)印機(jī)、打印機(jī)、掃描儀、傳真機(jī)等辦公自動化產(chǎn)品;從智能儀表、工業(yè)測控裝置到 CT、MRI、γ 刀等醫(yī)療設(shè)備;從數(shù)碼相機(jī)、攝錄一體機(jī)到航天技術(shù)、導(dǎo)航設(shè)備、現(xiàn)代軍事裝備;從形形色色的電子貨幣如電話卡、水電氣卡到身份識別卡、門禁控制卡、檔案管理卡及相關(guān)讀/寫卡機(jī)等等都有單片機(jī)在里面扮演重要角色。因此,單片機(jī)已成為電子類工作者必須掌握的專業(yè)技術(shù)之一。單片機(jī)就是一個微型中央處理器,通過編程即能完成很多智能化的工作 ,因此它的出現(xiàn)給電子技術(shù)智能化和微型化起到了很大的推動作用。隨著人們生活水平的提高,社會經(jīng)濟(jì)的發(fā)展,人們開始考慮精神生活的享受,并開始注重身體素質(zhì)的提高。開始舉辦一些小型的籃球比賽。這就需要裁判有一個公正的判罰,以保證比賽的順利進(jìn)行。這就需要有一個專門計時的工具。所以我就設(shè)計了一個籃球比賽計時器。設(shè)計簡單,耗費少,容易制作??捎糜诮诸^籃球比賽和校園籃球比賽?;ê苌俚腻X就可以得到一個實用的籃球比賽計時器。本次設(shè)計注重對單片機(jī)工作原理以及鍵盤控制及顯示原理的理解,以便今后自己在單片機(jī)領(lǐng)域的學(xué)習(xí)和開發(fā)打下基礎(chǔ),提高自己的動手能力和設(shè)計能力,培養(yǎng)創(chuàng)新能力,豐富自己的理論知識,做到理論和實踐相結(jié)合。本次設(shè)計的重要意義還在于對單片機(jī)的內(nèi)部結(jié)構(gòu)和工作狀態(tài)做更進(jìn)一步的了解,同時還對單片機(jī)的接口技術(shù),中斷技術(shù),存儲方式和控制方式作更深層次的了解。此次設(shè)2計更進(jìn)一步了解基本電路的設(shè)計流程,提高自己的設(shè)計理念,豐富自己的理論知識,鞏固所學(xué)知識,使自己的動手動腦能力有更進(jìn)一步提高,為自己今后的學(xué)習(xí)和工作打好基礎(chǔ),為自己的專業(yè)技能打好基礎(chǔ)。1.2 設(shè)計簡介籃球比賽中除了有總時間倒計時外,為了加快比賽的節(jié)奏,新的規(guī)則還要求進(jìn)攻方在 24 秒內(nèi)有一次投籃動作,否則視為違例。根據(jù)要求,以 AT89S52單片機(jī)為核心,設(shè)計籃球比賽計時控制器?;@球比賽上下半場四節(jié)制,每節(jié) 12分鐘,要求能隨時暫停,啟動后繼續(xù)計時,一節(jié)比賽結(jié)束后可清零。按籃球比賽規(guī)則,進(jìn)攻方有 24 秒為例計時。 “分” “秒”顯示用 LED 數(shù)碼管。用開關(guān)控制計時器的啟動/暫停。該籃球比賽計時器的設(shè)計,可對比賽總時間和各方每次控球時間計時。該計時器采用按鍵操作、LED 顯示,非常實用。此計時器在程序參數(shù)稍加修改后也可作為其他球類比賽的計時器。主控芯片為 AT89S52,采用 12MHz 晶振,P0.0-P0.7 作鍵盤輸入。A1 為 12分鐘暫停鍵;A2 為啟動 12 分鐘計時鍵,,24 秒計時開始;A3 為 24S 復(fù)位開啟鍵(投籃或交換控球時按下此鍵); A4 為 24 秒計時停止鍵(沒有違例);A5為總計時和 24 秒計時同時啟動鍵;A6 為總計時和 24S 計時同時停止鍵。 電路采用靜態(tài)顯示,一起點亮各位數(shù)碼管,同時顯示不同的字符。點亮各位數(shù)碼管鎖存輸出。顯示器的第一位顯示計時節(jié)數(shù),3 至 6 位顯示計時的分,最后 2 位顯示 24 秒。用 T0 定時器中斷進(jìn)行 24 秒處理,12 分鐘計時用 T1 定時器中斷計時。同時電路通過鍵盤掃描,根據(jù)鍵值轉(zhuǎn)相應(yīng)鍵處理。3第 2 章 系統(tǒng)電路的設(shè)計方案2.1 系統(tǒng)設(shè)計方案的提出本設(shè)計是基于 89S52 單片機(jī)的鍵盤控制及顯示電路設(shè)計,從系統(tǒng)的設(shè)計功能上看,系統(tǒng)可分為兩大部分,即鍵盤輸入控制部分和顯示部分,對于每一個部分都有不同的設(shè)計方案,起初我擬訂了下面兩種方案:第一種方案:鍵盤控制采用矩陣掃描鍵盤,可以用普通按鍵構(gòu)成 4×4 矩陣鍵盤,直接接到 89S52 單片機(jī)的 P0 口,高四位作為行,低四位作為列,通過軟件完成鍵盤的掃描和定位。顯示部分采用動態(tài)顯示,采用移位寄存器 74LS164 和譯碼器74LS138 通過顯示驅(qū)動程序驅(qū)動七段數(shù)碼管顯示。此方案成本低,所用到的兩個外圍芯片價格都很低廉,而且單片機(jī)的 I/O 口占用較少,可以節(jié)約單片機(jī)接口資源。第二種方案:鍵盤控制采用獨立是式鍵盤,每個按鍵的“接零端” 均接地,每個按鍵的“測試端”各接一條輸入線,通過檢測輸入線的電平狀態(tài)就可以很容易地判斷哪個鍵被按下了,這種方法操作速度高而且軟件結(jié)構(gòu)很簡單。這種方法比較適合按鍵較少或操作速度較高的場合。顯示部分采用靜態(tài)顯示方法,所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中 CPU 的開銷小。2.2 方案的確定本設(shè)計要求按鍵較多,且本次設(shè)計只是對所學(xué)知識的一次實踐,設(shè)計要求簡單,容易實現(xiàn),成本低。比較以上兩中設(shè)計方案,第二種成本低,占用單片機(jī)資源少,且容易實現(xiàn),這樣的設(shè)計比較適合本次設(shè)計,故選用第二種設(shè)計方案。2.3 本章小結(jié)本章主對所選方案進(jìn)行比較,并最終確定選用那種方案。4第 3 章 電路設(shè)計原理及芯片介紹3.1 鍵盤控制及顯示電路設(shè)計的原理及要求3.1.1 電路的設(shè)計原理與功能要求本設(shè)計采用 AT89S52 單片機(jī)芯片作為中央處理芯片,采用 AT89S52 的 P0口構(gòu)成獨立 8 鍵鍵盤,采用 AT89S52 串行口靜態(tài)顯示,選用 74HC595 作為LED 驅(qū)動芯片。本電路設(shè)計有以下功能及要求:(1)籃球比賽計時器全場時間為 48 分鐘,共四節(jié),每節(jié) 12 分鐘和 24 秒違例。要求開機(jī)自動置節(jié)計數(shù)器為第一節(jié),節(jié)計時器為 12 分 00 秒,24 秒違例為 24 秒。(2)用數(shù)字顯示籃球比賽當(dāng)時節(jié)數(shù),每節(jié)時間及 24 秒的倒計時,采用單片機(jī)串行顯示。(3)能隨時用按紐開關(guān)控制比賽的啟動/暫停,啟動后開始比賽,暫停期間不計時,重新啟動后繼續(xù)計時。3.1.2 電路的總設(shè)計框圖根據(jù)設(shè)計任務(wù)與要求,可初步將系統(tǒng)分為五大功能模塊:主電路、開關(guān)啟/??刂齐娐?、顯示電路、音響電路和+5V 穩(wěn)壓電源。進(jìn)一步細(xì)說,主電路選用89S52 作為中央處理器;開關(guān)啟/??刂齐娐酚砂藗€按鍵組成;顯示電路由八位七段數(shù)碼管和 74HC595 組成;音響電路用 ULN2003 驅(qū)動蜂鳴器;+5V 穩(wěn)壓電路采用 7805 穩(wěn)壓塊把電源電壓穩(wěn)定在+5V。原理框圖如圖 3-1 所示。圖 3-1 籃球比賽計時器的原理框圖3.2 總電路選用芯片簡介3.2.1 控制芯片 AT89S52AT89S52 功能特性描述:AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)5可編程 Flash 存儲器。使用 Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash ,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52 具有以下標(biāo)準(zhǔn)功能:8k 字節(jié) Flash,256 字節(jié) RAM, 32 位 I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/ 計數(shù)器,一個6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM 、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。AT89S52 引腳結(jié)構(gòu):圖 3-2 AT89S52 的 PDIP 封裝 圖 3-3 AT89S52 的 PLCC 封裝主要特性:(1) 與 MCS-51 單片機(jī)產(chǎn)品兼容;(2) 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲器;(3) 1000 次擦寫周期;(4) 全靜態(tài)操作:0Hz ~33Hz ;(5) 三級加密程序存儲器;6(6) 32 個可編程 I/O 口線;(7) 三個 16 位定時器/計數(shù)器;(8) 八個中斷源;(9) 全雙工 UART 串行通道;(10)低功耗空閑和掉電模式;(11) 掉電后中斷可喚醒;(12) 看門狗定時器;(13) 雙數(shù)據(jù)指針;. (14)掉電標(biāo)識符.管腳說明:VCC: 電源;GND: 接地;P0 口:P0 口是一個 8 位漏極開路的雙向 I/O 口。作為輸出口,每位能驅(qū)動 8 個 TTL 邏輯電平。對 P0 端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0 口也被作為低 8 位地址/ 數(shù)據(jù)復(fù)用。在這種下, P0 具有內(nèi)部上拉電阻。在 flash 編程時,P0 口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p1 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P1 端口寫“1” 時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL ) 。此外,P1.0 和 P1.2 分別作定時器/計數(shù)器 2 的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器 2 的觸發(fā)輸入(P1.1/T2EX) ,具體如下表所示。表 3-1 部分引腳第二功能在 flash 編程和校驗時,P1 口接收低 8 位地址字節(jié)。7P2 口:P2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL ) 。在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVX @DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址(如 MOVX @RI )訪問外部數(shù)據(jù)存儲器時,P2 口輸出 P2 鎖存器的內(nèi)容。在 flash 編程和校驗時,P2 口也接收高 8 位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL ) 。P3 口亦作為 AT89S52 特殊功能(第二功能)使用,如下表所示。在 flash 編程和校驗時,P3 口也接收一些控制信號。表 3-2 P3 口引腳第二功能RST: 復(fù)位輸入。晶振工作時,RST 腳持續(xù) 2 個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計時完成后,RST 腳輸出 96 個晶振周期的高電平。特殊寄存器 AUXR( 地址 8EH) 上的 DISRTO 位可以使此功能無效。DISRTO 默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低 8 位地址的輸出脈沖。在 flash 編程時,此引腳( PROG )也用作編程輸入8脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE 脈沖將會跳過。如果需要,通過將地址為 8EH 的 SFR 的第 0 位置“1” ,ALE 操作將無效。這一位置 “1”, ALE 僅在執(zhí)行 MOVX 或 MOVC 指令時有效。否則,ALE 將被微弱拉高。這個 ALE 使能標(biāo)志位(地址為 8EH 的SFR 的第 0 位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN: 外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng) AT89S52 從外部程序存儲器執(zhí)行外部代碼時,PSEN 在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN 將不被激活。EA/VPP: 訪問外部程序存儲器控制信號。為使能從 0000H 到 FFFFH 的外部程序存儲器讀取指令,EA 必須接 GND。為了執(zhí)行內(nèi)部程序指令,EA 應(yīng)該接VCC。在 flash 編程期間,EA 也接收 12 伏 VPP 電壓。XTAL1: 振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2: 振蕩器反相放大器的輸出端。振蕩器特性:XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2 應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫‘1’且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但 RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。時鐘電路:AT89S52 片內(nèi)設(shè)有一個由反向放大器所構(gòu)成的振蕩電路, XTALl 和XTAL2 分別為振蕩電路的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。如圖 3.4 所示:9a) 內(nèi)時鐘方式 b) 外時鐘方式3-4 時鐘電路圖內(nèi)部方式時鐘電路如圖 3-4 a)所示。在 XTAL1 和 XTAL2 引腳上外接定時元件,內(nèi)部振蕩電路就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體可以在 1.2 MHZ 到 12MHZ 之間選擇,電容值在 5~30 PF 之間選擇,電容的大小可起頻率微調(diào)作用。外部方式的時鐘電路如圖 3-4 b)所示,XTALl 接地; XTAL2 接外部振蕩器。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于 12MHZ 的方波信號。時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘信號從和地供單片機(jī)使用。P1 在每一個狀態(tài) S 的前半部分有效。 P2 在每個狀態(tài)的后半部分有效。復(fù)位和復(fù)位電路:AT89S52 單片機(jī)的復(fù)位電路如圖 3.5 所示。在 RESET(圖中表示為 RST)輸入端出現(xiàn)高電平時實現(xiàn)復(fù)位和初始化。在振蕩器運行的情況下,要實現(xiàn)復(fù)位操作,必須使 RST 引腳至少保持兩個機(jī)器周期(24 個振蕩器周期)高電平。CPU在第二個機(jī)器周期內(nèi)執(zhí)行內(nèi)部復(fù)位操作、以后每一個機(jī)器周期重復(fù)一次,直至 RST 端電平變低。復(fù)位期間不產(chǎn)生 ALE 及 PSEN 信號。a)上電復(fù)位 b)開關(guān)復(fù)位3-5 復(fù)位電路圖 3.2.2 74HC59574HC595 是具有 8 位移位寄存器和一個存儲器,三態(tài)輸出功能。 移位寄10存器和存儲器是分別的時鐘。數(shù)據(jù)在 SCHcp 的上升沿輸入,在 STcp 的上升沿進(jìn)入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行 8 位的,具備三態(tài)的總線輸出,當(dāng)使能 OE 時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。(1)引腳結(jié)構(gòu)圖圖 3-6 74HC595 引腳圖(2)引腳說明74595 的數(shù)據(jù)端:QA--QH: 八位并行輸出端,可以直接控制數(shù)碼管的 8 個段。QH': 級聯(lián)輸出端。我將它接下一個 595 的 SI 端。SI: 串行數(shù)據(jù)輸入端。74595 的控制端說明:/SCLR(10 腳 ): 低點平時將移位寄存器的數(shù)據(jù)清零。通常我將它接 Vcc。SCK(11 腳):上升沿時數(shù)據(jù)寄存器的數(shù)據(jù)移位。QAQBQC...QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V 時,大于幾十納秒就行了。我通常都選微秒級)RCK(12 腳) :上升沿時移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。通常我將 RCK 置為低電平,當(dāng)移位結(jié)束后,在 RCK 端產(chǎn)生一個正脈沖(5V 時,大于幾十納秒就行了。我通常都選微秒級),更新顯示數(shù)據(jù)。11/G(13 腳 ): 高電平時禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時省力。注:74164 和 74595 功能相仿,都是 8 位串行輸入轉(zhuǎn)并行輸出移位寄存器。74164 的驅(qū)動電流(25mA)比 74595(35mA)的要小,14 腳封裝,體積也小一些。74595 的主要優(yōu)點是具有數(shù)據(jù)存儲寄存器,在移位的過程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場合很有用處,數(shù)碼管沒有閃爍感。與 164 只有數(shù)據(jù)清零端相比,595 還多有輸出端時能/禁止控制端,可以使輸出為高阻態(tài)。3.3 LED 顯示原理介紹本設(shè)計選用價格低廉的發(fā)光二極管 LED 顯示器作為顯示部分的顯示器件,下面介紹 LED 顯示器的工作原理。(1) LDE 發(fā)光二極管的發(fā)光原理發(fā)光二極管是由Ⅲ-Ⅳ族化合物,如 GaAs(砷化鎵)、GaP(磷化鎵)、GaAsP(磷砷化鎵)等半導(dǎo)體制成的,其核心是 PN 結(jié)。因此它具有一般 P-N 結(jié)的 I-N 特性,即正向?qū)ǎ聪蚪刂?、擊穿特性。此外,在一定條件下,它還具有發(fā)光特性。在正向電壓下,電子由 N 區(qū)注入 P 區(qū),空穴由 P 區(qū)注入 N 區(qū)。進(jìn)入對方區(qū)域的少數(shù)載流子(少子)一部分與多數(shù)載流子(多子)復(fù)合而發(fā)光,如圖 3-7 所示。圖 3.7 發(fā)光二極管發(fā)光原理假設(shè)發(fā)光是在 P 區(qū)中發(fā)生的,那么注入的電子與價帶空穴直接復(fù)合而發(fā)光,或者先被發(fā)光中心捕獲后,再與空穴復(fù)合發(fā)光。除了這種發(fā)光復(fù)合外,還有些電子被非發(fā)光中心(這個中心介于導(dǎo)帶、介帶中間附近)捕獲,而后再與空穴復(fù)12合,每次釋放的能量不大,不能形成可見光。發(fā)光的復(fù)合量相對于非發(fā)光復(fù)合量的比例越大,光量子效率越高。由于復(fù)合是在少子擴(kuò)散區(qū)內(nèi)發(fā)光的,所以光僅在靠近 PN 結(jié)面數(shù) μm 以內(nèi)產(chǎn)生。理論和實踐證明,光的峰值波長 λ 與發(fā)光區(qū)域的半導(dǎo)體材料禁帶寬度 Eg 有關(guān),即 λ≈1240/Eg(mm)式中 Eg 的單位為電子伏特(eV)。若能產(chǎn)生可見光 (波長在 380nm 紫光~780nm 紅光),半導(dǎo)體材料的Eg 應(yīng)在 3.26~1.63eV 之間。比紅光波長長的光為紅外光。現(xiàn)在已有紅外、紅、黃、綠及藍(lán)光二極管,但其中藍(lán)光二極管成本、價格很高,使用不普遍。(2) LED 數(shù)碼顯示器的結(jié)構(gòu)LED 是用發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管,其外形如下圖 3.6 所示。 圖 3.8 數(shù)碼管結(jié)構(gòu)圖它由 8 個發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示數(shù)字 0 ?9、字符 A ? F、H、L、P 、R 、U、Y、符號“ ?”及小數(shù)點“.” 。數(shù)碼管的外形結(jié)構(gòu)如圖 3.9所示。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu)。由圖 3.9 可見,它有 8 個發(fā)光二極管陽極連在一起作為公共端;而共陰極是將 8 個發(fā)光二極管陰極連在一起作為公共端。本設(shè)計采用的是共陽極的。數(shù)碼管的公共端相當(dāng)于一個總開關(guān),一般稱為碼位開關(guān),當(dāng)它低電平的時候數(shù)碼管全滅;當(dāng)它為高電平時,根據(jù)發(fā)光二極管陽極的狀態(tài)(一般成為段碼或字型碼),低電平該段亮,高電平不亮。輸出一個段碼就可以控制 LED 顯示器的字型。表 3.5 給出了段碼與字型的關(guān)系,假定 a,b,c,d,e,f,dp 分別對應(yīng) D0,D1,D2 ,D3,D4 ,D5 ,D6,D7。(3) LED 數(shù)碼顯示器的接口方法LED 顯示器的接口常分為動態(tài)掃描方式和靜態(tài)顯示方式。表 3.5 段碼與字形碼的關(guān)系13字形 D7dpD6gD5fD4eD3dD2cD1bD0a段碼0 1 1 0 0 0 0 0 0 03H1 1 1 1 1 1 0 0 1 9FH2 1 0 1 0 0 1 0 0 45H3 1 0 1 1 0 0 0 0 0DH4 1 0 0 1 1 0 0 1 99H5 1 0 0 1 0 0 1 0 29H6 1 0 0 0 0 0 1 0 21H7 1 1 1 1 1 0 0 0 1FH8 1 0 0 0 0 0 0 0 01H9 1 0 0 1 0 0 0 0 09HA 1 0 0 0 1 0 0 0 11HB 1 0 0 0 0 0 1 0 41HC 1 1 0 0 0 1 1 0 63HD 1 0 1 0 0 0 0 1 85HE 1 0 0 0 0 1 1 0 61HF 1 0 0 0 1 1 1 0 71H靜態(tài)顯示是指數(shù)碼管顯示某一字符時,相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位數(shù)碼管相互獨立,公共端恒定接地(共陰極)或接正電源(共陽極)。每個數(shù)碼管的 8 個字段分別與一個 8 位 I/O 口地址相連,I/O口只要有段碼輸出,相應(yīng)字符即顯示出來,并保持不變,直到 I/O 口輸出新的段碼。采用靜態(tài)顯示方式,較小的電流即可獲得較高的亮度,且占用 CPU 時間少,編程簡單,顯示便于監(jiān)測和控制,但其占用的口線多,硬件電路復(fù)雜,成本高,只適合于顯示位數(shù)較少的場合。動態(tài)掃描顯示方式:其工作原理是將多個顯示器的段碼同名端連在一起,位碼分別控制,利用眼睛的余輝暫留效應(yīng),14分別進(jìn)行顯示。只要保證一定的顯示頻率,看起來的效果和一直顯示是一樣的,但在電路上卻簡化了很多,降低了成本。比如要做四位 LED 顯示,靜態(tài)顯示方式則需要 4 塊 74LS164 作為靜態(tài)顯示接口,如用動態(tài)掃描顯示則只需一塊即可。通常也用 8155 芯片作為動態(tài)掃描顯示接口的擴(kuò)展,擴(kuò)展電路在此就不做敘述了,本設(shè)計采用的是串行口動態(tài)掃描方式。動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常,各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個 8 位的 I/O 口控制;各位的位選線(公共陰極或陽極)由另外的 I/O 口線控制。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示,必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼。依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符。雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。3.4 鍵盤控制原理介紹 3.4.1 鍵盤的工作原理(1) 鍵盤的分類按鍵按結(jié)構(gòu)原理可分為兩類,一類是觸點式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價低,后者壽命長。目前,微機(jī)系統(tǒng)中最常見的是觸點式開關(guān)按鍵。 按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤主要是用硬件來實現(xiàn)對鍵的識別,非編碼鍵盤主要是由軟件來實現(xiàn)鍵盤的定義與識別。全編碼鍵盤能夠由硬件邏輯自動提供與鍵對應(yīng)的編碼,此外,一般還具有去抖動和多鍵、竄鍵保護(hù)電路。這種鍵盤使用方便,但需要較多的硬件,價格較貴,一般的單片機(jī)應(yīng)用系統(tǒng)較少采用。非編碼鍵盤只簡單地提供行和列的矩陣,其它工作均由軟件完成。由于其經(jīng)濟(jì)實用,較多地應(yīng)用于單片機(jī)系統(tǒng)中。本設(shè)計采用非編碼鍵盤接口。(2) 按鍵輸入原理在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門的復(fù)位電路及專一的復(fù)位功能外,其它按鍵都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)的。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時,計算機(jī)應(yīng)用系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過程。對于一組鍵或一個鍵盤,總有一個接口電路與CPU 相連。CPU 可以采用查詢或中斷方式了解有無將鍵輸入,并檢查是哪一15個鍵按下,將該鍵號送入累加器 ACC,然后通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。(3)按鍵結(jié)構(gòu)與特點機(jī)鍵盤通常使用機(jī)械觸點式按鍵開關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。也就是說,它能提供標(biāo)準(zhǔn)的 TTL 邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。機(jī)械式按鍵再按下或釋放時,由于機(jī)械彈性作用的影響,通常伴隨有一定時間的觸點機(jī)械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如圖 3.10 抖動時間的長短與開關(guān)的機(jī)械特性有關(guān),一般為 5?10 ms。在觸點抖動期間檢測按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯,即按鍵一次按下或釋放被錯誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點機(jī)械抖動所致的檢測誤判,必須采取去抖動措施。這一點可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時,可采用硬件去抖,而當(dāng)鍵數(shù)較多時,采用軟件去抖。在硬件上可采用在鍵輸出端加 R-S 觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器) 或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動電路。圖 3.11 是一種由 R-S 觸發(fā)器構(gòu)成的去抖動電路,當(dāng)觸發(fā)器一旦翻轉(zhuǎn),觸點抖動不會對其產(chǎn)生任何影響。圖 3-9 鍵觸點的機(jī)械抖動16圖 3-10 雙穩(wěn)態(tài)去抖電路電路工作過程如下:按鍵未按下時,a = 0,b = 1,輸出 Q = 1。按鍵按下時,因按鍵的機(jī)械彈性作用的影響,使按鍵產(chǎn)生抖動。當(dāng)開關(guān)沒有穩(wěn)定到達(dá) b端時,因與非門 2 輸出為 0 反饋到與非門 1 的輸入端,封鎖了與非門 1,雙穩(wěn)態(tài)電路的狀態(tài)不會改變,輸出保持為 1,輸出 Q 不會產(chǎn)生抖動的波形。當(dāng)開關(guān)穩(wěn)定到達(dá) b 端時,因 a = 1,b = 0,使 Q = 0,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn)。當(dāng)釋放按鍵時,在開關(guān)未穩(wěn)定到達(dá) a 端時,因 Q = 0,封鎖了與非門 2,雙穩(wěn)態(tài)電路的狀態(tài)不變,輸出 Q 保持不變,消除了后沿的抖動波形。當(dāng)開關(guān)穩(wěn)定到達(dá) a 端時,因 a = 0,b = 0,使 Q = 1,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn),輸出 Q 重新返回原狀態(tài)。由此可見,鍵盤輸出經(jīng)雙穩(wěn)態(tài)電路之后,輸出已變?yōu)橐?guī)范的矩形方波。 軟件上采取的措施是:在檢測到有按鍵按下時,執(zhí)行一個 10 ms 左右(具體時間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)。同理,在檢測到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動的影響。(4) 按鍵編碼一組按鍵或鍵盤都要通過 I/O 口線查詢按鍵的開關(guān)狀態(tài)。根據(jù)鍵盤結(jié)構(gòu)的不同,采用不同的編碼。無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對應(yīng)的鍵值,以實現(xiàn)按鍵功能程序的跳轉(zhuǎn)。(5) 編制鍵盤程序一個完善的鍵盤控制程序應(yīng)具備以下功能:檢測有無按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機(jī)械觸點抖動的影響。17有可靠的邏輯處理辦法。每次只處理一個按鍵,其間對任何按鍵的操作對系統(tǒng)不產(chǎn)生影響,且無論一次按鍵時間有多長,系統(tǒng)僅執(zhí)行一次按鍵功能程序。準(zhǔn)確輸出按鍵值(或鍵號) ,以滿足跳轉(zhuǎn)指令要求。3.4.2 獨立式鍵盤獨立式按鍵是直接用 I/O 口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨占用一根 I/O 口線,每個按鍵的工作不會影響其它 I/O 口線的狀態(tài)。獨立式按鍵的典型應(yīng)用如圖 3.11 所示。獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根 I/O 口線,因此,在按鍵較多時,I/O 口線浪費較大,不宜采用。圖 3-11 獨立式按鍵電路獨立式按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根 I/O 口線的輸入狀態(tài),如某一根 I/O 口線輸入為低電平,則可確認(rèn)該 I/O 口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。此程序比較簡單,在此不做編寫,本設(shè)計采用的是矩陣掃描鍵盤。3.4.3 矩陣式鍵盤單片機(jī)系統(tǒng)中,若使用按鍵較多時,通常采用矩陣式(也稱行列式)鍵盤。本設(shè)計采用的就是矩陣式鍵盤。(1) 矩陣式鍵盤的結(jié)構(gòu)及原理矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點上,其結(jié)構(gòu)如圖 3.13 所示。由圖可知,一個 4×4 的行、列結(jié)構(gòu)可以構(gòu)成一個含有 16 個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多 I/O 口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V 上。當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線18將導(dǎo)通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定。這是識別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號配合起來作適當(dāng)處理,才能確定閉合鍵的位置。(2) 矩陣式鍵盤按鍵識別按鍵的方法很多,掃描法識別按鍵的過程.圖 3-12 矩陣鍵盤按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行電平的變化,因此,必須使所有列線處在低電平。只有這樣,當(dāng)有鍵按下時,該鍵所在的行電平才會由高電平變?yōu)殒I盤的編碼.(3)對于獨立式按鍵鍵盤,因按鍵數(shù)量少,可根據(jù)實際需要靈活編碼。對于矩陣式鍵盤,按鍵的位置由行號和列號惟一確定,因此可分別對行號和列號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個字節(jié),高 4 位是行號,低 4 位是列號。如圖 3.12 中的 8 號鍵,它位于第 2 行,第 0 列,因此,其鍵盤編碼應(yīng)為 20H。采用上述編碼對于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對按鍵進(jìn)行處理。因此,可采用依次排列鍵號的方式對按排進(jìn)行編碼。以圖 3.12 中的 4×4 鍵盤為例,可將鍵號編碼為:01H、02H、03H、…、0EH 、0FH 、10H 等 16 個鍵號。編碼相互轉(zhuǎn)換可通過計算或查表的方法實現(xiàn)。 (4)鍵盤的工作方式對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實際應(yīng)用系統(tǒng)中 CPU 的工作狀況而定,其選取的原則是既要保證 CPU 能及時響應(yīng)按鍵操作,又不要過多占用 CPU 的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。(5)編程掃描方式編程掃描方式是利用 CPU 完成其它工作的空余時間,調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在低電平。CPU 根據(jù)行電平的變化,便能判定相應(yīng)19的行有鍵按下。8 號鍵按下時,第 2 行一定為低電平。然而,第 2 行為低電平時,能否肯定是 8 號鍵按下呢?回答是否定的,因為 9、10、11 號鍵按下,同樣會使第 2 行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可在某一時刻只讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。采用鍵盤掃描后,再來觀察 8 號鍵按下時的工作過程,當(dāng)?shù)?0 列處于低電平時,第 2 行處于低電平,而第 1、2、3 列處于低電平時,第 2 行卻處在高電平,由此可判定按下的鍵應(yīng)是第 2 行與第 0 列的交叉點,即8 號 執(zhí)行鍵功能程序時,CPU 不再響應(yīng)鍵輸入要求,直到 CPU 重新掃描鍵盤為止。鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:判別有無鍵按下;鍵盤掃描取得閉合鍵的行、列值;用計算法或查表法得到鍵值;判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待;將閉合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。(6)定時掃描方式定時掃描方式就是每隔一段時間對鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時器產(chǎn)生一定時間(例如 10 ms)的定時,當(dāng)定時時間到就產(chǎn)生定時器溢出中斷。CPU 響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵,再執(zhí)行該鍵的功能程序。定時掃描方式的硬件電路與編程掃描方式相同。(7)中斷掃描方式種鍵盤掃描方式時,無論是否按鍵,CPU 都要定時掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入,因此,CPU 經(jīng)常處于空掃描狀態(tài)。為提高 CPU 工作效率,可采用中斷掃描工作方式。其工作過程如下:當(dāng)無鍵按下時,CPU 處理自己的工作,當(dāng)有鍵按下時,產(chǎn)生中斷請求,CPU 轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵。20圖 3-13 中斷掃描鍵盤電路圖 3-13 是一種簡易鍵盤接口電路,該鍵盤是由 8031 P1 口的高、低字節(jié)構(gòu)成的 4×4 鍵盤。鍵盤的列線與 P1 口的高 4 位相連,鍵盤的行線與 P1 口的低 4位相連,因此,P1.4 ?P1.7 是鍵輸出線,P1.0?P1.3 是掃描輸入線。圖中的 4 輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過上拉電阻接至+5 V 電源,輸出端接至 8031 的外部中斷輸入端。具體工作如下:當(dāng)鍵盤無鍵按下時,與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時,端為低電平,向 CPU 申請中斷,若 CPU 開放外部中斷,則會響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。3.5 本章小結(jié)本章對硬件電路的設(shè)計和電路所用到的芯片進(jìn)行了介紹。主要是鍵盤控制電路與顯示電路的原理和功能,并對 LED 顯示原理進(jìn)行了介紹。下面將根據(jù)以上說介紹的原理設(shè)計鍵盤控制及顯示硬件電路。21第 4 章 鍵盤控制及顯示硬件電路實現(xiàn)本章將根據(jù)上面所介紹的原理及芯片功能設(shè)計鍵盤控制及顯示的硬件實現(xiàn)電路,鍵盤控制及顯示電路的設(shè)計流程是:鍵盤按鍵按下,輸入該鍵盤鍵值,經(jīng) CPU 處理后輸出,由 LED 顯示器顯示所按的鍵值。其工作原理:當(dāng)有鍵按下時,CPU 將對整個鍵盤進(jìn)行掃描,確定按鍵位置,讀取鍵值;CPU 再將所讀取的鍵值送到顯示部分,最后通過 LED 顯示器顯示鍵值。其總體框圖如圖,總電路原理圖見(附錄 2)。圖 4-1 電路總設(shè)計框圖4.1 LED 顯示電路設(shè)計單片機(jī)并行 I/O 口數(shù)量總是有限的,有時并行口需作其他更重要的用途,一般也不會用數(shù)量眾多的并行 I/O 口專門用來驅(qū)動顯示電路,因此本設(shè)計采用了 AT89S52 的串行通信口靜態(tài)顯示。AT89S52 的串行通信口是一個功能強(qiáng)大的通信口,而且是相當(dāng)好用的通信口,用于顯示驅(qū)動電路再合適不過了,下面我們就根據(jù)這種需要設(shè)計一個用兩個串行通信口線設(shè)計一個 8 位 LED 顯示電路。下圖即是電路原理圖,我采用AT89S52 單片機(jī),同時用廉價易得的 74HC595 作為驅(qū)動芯片。74HC595 是一個8 位串入并出的移位寄存器,其此處的功能是將 AT89S52 串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動 LED 數(shù)碼管。使用串行口進(jìn)行 LED通信,程序編寫相當(dāng)簡單,只需將需顯示的數(shù)據(jù)直接送串口發(fā)送緩沖器,等待串行中斷即可,程序見附錄,電路原理如圖 4-2。22圖 4-2 串行顯示電路采用靜態(tài)顯示技術(shù),畫面穩(wěn)定,無雜點,圖像效果清晰;視頻效果流暢。 LED 顯示器是由發(fā)光二極管排列組成的一顯示器件,它采用低電壓掃描驅(qū)動,同時還具有如下優(yōu)點:耗電省,使用壽命長,成本低,亮度高,視角大,規(guī)格品種多等,因此本設(shè)計采用 LED 數(shù)碼顯示器作為顯示部分的重要元件。4.2 獨立按鍵鍵盤的電路設(shè)計本設(shè)計采用的是 8 鍵獨立式鍵盤,掃描方法采用編程掃描方式,其鍵盤部分電路圖如下:圖 4-3 獨立按鍵電路圖本設(shè)計采用的是一種行掃描法,行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,其掃描過程如下:(1) 判斷鍵盤中有無鍵按下:將全部行線 Y0-Y3 置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位23于低電平線與 4 根行線相交叉的 4 個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。(2) 判斷閉合鍵所在的位置:在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。比如,如圖 4.3,89C51 的 P1 口用作鍵盤 I/O 口,鍵盤的列線接到 P1 口的低 4 位,鍵盤的行線接到 P1 口的高 4 位。行線 P1.4-P1.7 分別接有 4 個上拉電阻到正電源+5V,并把列線 P1.0-P1.3 設(shè)置為輸入線,行線 P1.4-P.17 設(shè)置為輸出線。4 根行線和 4 根列線形成 16 個相交點。檢測當(dāng)前是否有鍵被按下。檢測的方法是 P1.4-P1.7 輸出全“1”,讀取P1.0-P1.3 的狀態(tài),若 P1.0-P1.3 為全“0”,則無鍵閉合,否則有鍵閉合;去除鍵抖動。當(dāng)檢測到有鍵按下后,延時一段時間再做下一步的檢測判斷;若有鍵被按下,應(yīng)識別出是哪一個鍵閉合。方法是對鍵盤的行線進(jìn)行掃描P1.4-P1.7 按下述 4 種組合依次輸出:P1.7 1 1 1 0P1.6 1 1 0 1P1.5 1 0 1 1P1.4 0 1 1 1在每組行輸出時讀取 P1.0-P1.3,若全為“1”,則表示為“0”這一行沒有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。為了保證鍵每閉合一次 CPU 僅作一次處理,必須卻除鍵釋放時的抖動。4.3 硬件的焊接4.3.1 硬件的焊接硬件的焊接是本次設(shè)計的重要環(huán)節(jié),所用的工具為:30W 電烙鐵,焊錫和鑷子。因為本次設(shè)計電路組成相對簡單,因此采用實驗板焊接電路。實驗板上沒有連通的導(dǎo)線,所有元器件都要用導(dǎo)線連接,這就要求一定的焊接技能,不過此技能在以前的電裝實習(xí)中已經(jīng)學(xué)過并熟練掌握。焊接前先要將所需材料準(zhǔn)備好,把電路所需元器件按合理的布局在實驗板上排好,這樣焊接線路比較明朗,不容易出錯,檢查時也比較容易。(1) 低座的焊接24本次設(shè)計一共有九個底座,即 1 個 AT89S52,8 個 74HC595
收藏
編號:146526
類型:共享資源
大?。?span id="94xvpv6" class="font-tahoma">342.46KB
格式:RAR
上傳時間:2017-10-26
100
積分
- 關(guān) 鍵 詞:
-
dz034
籃球比賽
計時器
- 資源描述:
-
DZ034籃球比賽計時器,dz034,籃球比賽,計時器
展開閱讀全文
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。