hw006籃球比賽計(jì)時(shí)器_第1頁(yè)
hw006籃球比賽計(jì)時(shí)器_第2頁(yè)
hw006籃球比賽計(jì)時(shí)器_第3頁(yè)
hw006籃球比賽計(jì)時(shí)器_第4頁(yè)
hw006籃球比賽計(jì)時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)I摘要本文主要介紹:籃球比賽計(jì)時(shí)器。本文首先介紹單片機(jī)的相關(guān)知識(shí),對(duì)單片機(jī)進(jìn)行相應(yīng)的研究,并將其與 74HC595 串行顯示電路配合使用。本電路主要核心是 AT89S51,利用軟件和硬件的結(jié)合實(shí)現(xiàn)開(kāi)機(jī)自動(dòng)置節(jié)計(jì)數(shù)器為第一節(jié),節(jié)計(jì)時(shí)器為 12 分 00 秒,24 秒違例為 24 秒。用數(shù)字顯示籃球比賽當(dāng)時(shí)節(jié)數(shù),每節(jié)時(shí)間及 24 秒的倒計(jì)時(shí),采用單片機(jī)串行顯示。最后,本文會(huì)詳細(xì)敘述此電路的安裝與調(diào)試,并對(duì)調(diào)試過(guò)程中出現(xiàn)的問(wèn)題做簡(jiǎn)要說(shuō)明。關(guān)鍵詞 AT89S52 單片機(jī);74HC595;XXX哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)IIAbstractAbstract th

2、is article mainly introduced: Basketball game timer. This article first introduced that monolithic integrated circuits related knowledge, conducts the corresponding research to the monolithic integrated circuit, and its and 74HC595 serial display circuit coordination use. This electric circuit main

3、core is AT89S51, realizes using the software and hardwares 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

4、, each time and 24 second countdown, used the monolithic integrated circuit serial demonstration. Finally, this article will narrate this electric circuits 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 mo

5、nolithic integrated circuit; 74HC595; XXX哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)III目 錄摘要 .IABSTRACTABSTRACT .II第 1 章 緒論 .11.1 課題背景 .11.2 設(shè)計(jì)簡(jiǎn)介 .2第 2 章 系統(tǒng)電路的設(shè)計(jì)方案 .32.1 系統(tǒng)設(shè)計(jì)方案的提出 .32.2 方案的確定 .32.3 本章小結(jié) .3第 3 章 電路設(shè)計(jì)原理及芯片介紹 .43.1 鍵盤(pán)控制及顯示電路設(shè)計(jì)的原理及要求 .43.1.1 電路的設(shè)計(jì)原理與功能要求 .43.1.2 電路的總設(shè)計(jì)框圖 .43.2 總電路選用芯片簡(jiǎn)介 .43.2.1 控制芯片 AT89S52 .43.

6、3 LED 顯示原理介紹 .113.4 鍵盤(pán)控制原理介紹.143.4.1 鍵盤(pán)的工作原理 .143.4.2 獨(dú)立式鍵盤(pán) .173.5 本章小結(jié) .20第 4 章 鍵盤(pán)控制及顯示硬件電路實(shí)現(xiàn) .214.1 LED 顯示電路設(shè)計(jì) .214.2 獨(dú)立按鍵鍵盤(pán)的電路設(shè)計(jì).224.3 硬件的焊接.234.3.1 硬件的焊接 .234.3.2 電路板的檢查和故障排除 .244.4 本章小結(jié) .24第 5 章 鍵盤(pán)控制及顯示電路軟件設(shè)計(jì) .26哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)IV5.1 軟件設(shè)計(jì)的基本工具 .265.1.1 匯編語(yǔ)言的簡(jiǎn)介 .265.1.2 匯編語(yǔ)言的指令系統(tǒng)與程序 .265.1.3 ke

7、ilC51 開(kāi)發(fā)軟件簡(jiǎn)介 .285.2 獨(dú)立式鍵盤(pán)軟件設(shè)計(jì) .285.2.1 軟件設(shè)計(jì)流程圖 .295.3 鍵盤(pán)控制及顯示電路設(shè)計(jì)軟件實(shí)現(xiàn)總流程圖 .295.3.1 總流程圖 .295.4 本章小結(jié) .30結(jié) 論 .31致 謝 .32參考文獻(xiàn) .33附錄 1 外文資料 .34附錄 2 電路原理圖 .37附錄 3 匯編源程序 .38附錄 4 元件清單 .45哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)1第 1 章 緒論1.1 課題背景在電子技術(shù)飛速發(fā)展的今天,電子產(chǎn)品的人性化和智能化已經(jīng)非常成熟,其發(fā)展前景仍然不可估量。如今的人們需求的是一種能給自己帶來(lái)方便的電子產(chǎn)品,當(dāng)然最好是人性化和智能化的,如何能做

8、到智能化呢?單片機(jī)的引入就是一個(gè)很好的例子。單片機(jī)又稱單片微型計(jì)算機(jī),也稱為微控制器,是微型計(jì)算機(jī)的一個(gè)重要分支,單片機(jī)是 20 世紀(jì) 70 年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是集 CPU,RAM,ROM,I/O 接口和中斷系統(tǒng)于同一硅片上的器件。單片機(jī)的誕生標(biāo)志著計(jì)算機(jī)正式形成了通過(guò)計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)兩個(gè)分支。目前單片機(jī)已滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。在我們身邊,由單片機(jī)作為主控制器的全自動(dòng)洗衣機(jī)、高檔電風(fēng)扇、電子廚具、變頻空調(diào)、遙控彩電、錄像機(jī)、VCD/DVD 機(jī)、組合音響、電子琴等。單片機(jī)已在廣闊的計(jì)算機(jī)應(yīng)用領(lǐng)域中表現(xiàn)得淋漓盡致,出盡了

9、風(fēng)頭。從家用消費(fèi)類電器到復(fù)印機(jī)、打印機(jī)、掃描儀、傳真機(jī)等辦公自動(dòng)化產(chǎn)品;從智能儀表、工業(yè)測(cè)控裝置到 CT、MRI、 刀等醫(yī)療設(shè)備;從數(shù)碼相機(jī)、攝錄一體機(jī)到航天技術(shù)、導(dǎo)航設(shè)備、現(xiàn)代軍事裝備;從形形色色的電子貨幣如電話卡、水電氣卡到身份識(shí)別卡、門(mén)禁控制卡、檔案管理卡及相關(guān)讀/寫(xiě)卡機(jī)等等都有單片機(jī)在里面扮演重要角色。因此,單片機(jī)已成為電子類工作者必須掌握的專業(yè)技術(shù)之一。單片機(jī)就是一個(gè)微型中央處理器,通過(guò)編程即能完成很多智能化的工作 ,因此它的出現(xiàn)給電子技術(shù)智能化和微型化起到了很大的推動(dòng)作用。隨著人們生活水平的提高,社會(huì)經(jīng)濟(jì)的發(fā)展,人們開(kāi)始考慮精神生活的享受,并開(kāi)始注重身體素質(zhì)的提高。開(kāi)始舉辦一些小型

10、的籃球比賽。這就需要裁判有一個(gè)公正的判罰,以保證比賽的順利進(jìn)行。這就需要有一個(gè)專門(mén)計(jì)時(shí)的工具。所以我就設(shè)計(jì)了一個(gè)籃球比賽計(jì)時(shí)器。設(shè)計(jì)簡(jiǎn)單,耗費(fèi)少,容易制作。可用于街頭籃球比賽和校園籃球比賽?;ê苌俚腻X(qián)就可以得到一個(gè)實(shí)用的籃球比賽計(jì)時(shí)器。本次設(shè)計(jì)注重對(duì)單片機(jī)工作原理以及鍵盤(pán)控制及顯示原理的理解,以便今后自己在單片機(jī)領(lǐng)域的學(xué)習(xí)和開(kāi)發(fā)打下基礎(chǔ),提高自己的動(dòng)手能力和設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的理論知識(shí),做到理論和實(shí)踐相結(jié)合。本次設(shè)計(jì)的重要意義還在于對(duì)單片機(jī)的內(nèi)部結(jié)構(gòu)和工作狀態(tài)做更進(jìn)一步的了解,同時(shí)還對(duì)單片機(jī)的接口技術(shù),中斷技術(shù),存儲(chǔ)方式和控制方式作更深層次的了解。此次設(shè)哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)

11、(論文)2計(jì)更進(jìn)一步了解基本電路的設(shè)計(jì)流程,提高自己的設(shè)計(jì)理念,豐富自己的理論知識(shí),鞏固所學(xué)知識(shí),使自己的動(dòng)手動(dòng)腦能力有更進(jìn)一步提高,為自己今后的學(xué)習(xí)和工作打好基礎(chǔ),為自己的專業(yè)技能打好基礎(chǔ)。1.2 設(shè)計(jì)簡(jiǎn)介籃球比賽中除了有總時(shí)間倒計(jì)時(shí)外,為了加快比賽的節(jié)奏,新的規(guī)則還要求進(jìn)攻方在 24 秒內(nèi)有一次投籃動(dòng)作,否則視為違例。根據(jù)要求,以 AT89S52單片機(jī)為核心,設(shè)計(jì)籃球比賽計(jì)時(shí)控制器?;@球比賽上下半場(chǎng)四節(jié)制,每節(jié) 12分鐘,要求能隨時(shí)暫停,啟動(dòng)后繼續(xù)計(jì)時(shí),一節(jié)比賽結(jié)束后可清零。按籃球比賽規(guī)則,進(jìn)攻方有 24 秒為例計(jì)時(shí)。 “分” “秒”顯示用 LED 數(shù)碼管。用開(kāi)關(guān)控制計(jì)時(shí)器的啟動(dòng)/暫停。該

12、籃球比賽計(jì)時(shí)器的設(shè)計(jì),可對(duì)比賽總時(shí)間和各方每次控球時(shí)間計(jì)時(shí)。該計(jì)時(shí)器采用按鍵操作、LED 顯示,非常實(shí)用。此計(jì)時(shí)器在程序參數(shù)稍加修改后也可作為其他球類比賽的計(jì)時(shí)器。主控芯片為 AT89S52,采用 12MHz 晶振,P0.0-P0.7 作鍵盤(pán)輸入。A1 為 12分鐘暫停鍵;A2 為啟動(dòng) 12 分鐘計(jì)時(shí)鍵,24 秒計(jì)時(shí)開(kāi)始;A3 為 24S 復(fù)位開(kāi)啟鍵(投籃或交換控球時(shí)按下此鍵); A4 為 24 秒計(jì)時(shí)停止鍵(沒(méi)有違例);A5為總計(jì)時(shí)和 24 秒計(jì)時(shí)同時(shí)啟動(dòng)鍵;A6 為總計(jì)時(shí)和 24S 計(jì)時(shí)同時(shí)停止鍵。 電路采用靜態(tài)顯示,一起點(diǎn)亮各位數(shù)碼管,同時(shí)顯示不同的字符。點(diǎn)亮各位數(shù)碼管鎖存輸出。顯示器的

13、第一位顯示計(jì)時(shí)節(jié)數(shù),3 至 6 位顯示計(jì)時(shí)的分,最后 2 位顯示 24 秒。用 T0 定時(shí)器中斷進(jìn)行 24 秒處理,12 分鐘計(jì)時(shí)用 T1 定時(shí)器中斷計(jì)時(shí)。同時(shí)電路通過(guò)鍵盤(pán)掃描,根據(jù)鍵值轉(zhuǎn)相應(yīng)鍵處理。哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)3第 2 章 系統(tǒng)電路的設(shè)計(jì)方案2.1 系統(tǒng)設(shè)計(jì)方案的提出本設(shè)計(jì)是基于 89S52 單片機(jī)的鍵盤(pán)控制及顯示電路設(shè)計(jì),從系統(tǒng)的設(shè)計(jì)功能上看,系統(tǒng)可分為兩大部分,即鍵盤(pán)輸入控制部分和顯示部分,對(duì)于每一個(gè)部分都有不同的設(shè)計(jì)方案,起初我擬訂了下面兩種方案:第一種方案:鍵盤(pán)控制采用矩陣掃描鍵盤(pán),可以用普通按鍵構(gòu)成 44 矩陣鍵盤(pán),直接接到 89S52 單片機(jī)的 P0 口,高

14、四位作為行,低四位作為列,通過(guò)軟件完成鍵盤(pán)的掃描和定位。顯示部分采用動(dòng)態(tài)顯示,采用移位寄存器 74LS164 和譯碼器74LS138 通過(guò)顯示驅(qū)動(dòng)程序驅(qū)動(dòng)七段數(shù)碼管顯示。此方案成本低,所用到的兩個(gè)外圍芯片價(jià)格都很低廉,而且單片機(jī)的 I/O 口占用較少,可以節(jié)約單片機(jī)接口資源。第二種方案:鍵盤(pán)控制采用獨(dú)立是式鍵盤(pán),每個(gè)按鍵的“接零端”均接地,每個(gè)按鍵的“測(cè)試端”各接一條輸入線,通過(guò)檢測(cè)輸入線的電平狀態(tài)就可以很容易地判斷哪個(gè)鍵被按下了,這種方法操作速度高而且軟件結(jié)構(gòu)很簡(jiǎn)單。這種方法比較適合按鍵較少或操作速度較高的場(chǎng)合。顯示部分采用靜態(tài)顯示方法,所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功

15、能的接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中 CPU 的開(kāi)銷(xiāo)小。2.2 方案的確定本設(shè)計(jì)要求按鍵較多,且本次設(shè)計(jì)只是對(duì)所學(xué)知識(shí)的一次實(shí)踐,設(shè)計(jì)要求簡(jiǎn)單,容易實(shí)現(xiàn),成本低。比較以上兩中設(shè)計(jì)方案,第二種成本低,占用單片機(jī)資源少,且容易實(shí)現(xiàn),這樣的設(shè)計(jì)比較適合本次設(shè)計(jì),故選用第二種設(shè)計(jì)方案。2.3 本章小結(jié)本章主對(duì)所選方案進(jìn)行比較,并最終確定選用那種方案。哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)4第 3 章 電路設(shè)計(jì)原理及芯片介紹3.1 鍵盤(pán)控制及顯示電路設(shè)計(jì)的原理及要求3.1.1 電路的設(shè)計(jì)原

16、理與功能要求本設(shè)計(jì)采用 AT89S52 單片機(jī)芯片作為中央處理芯片,采用 AT89S52 的 P0口構(gòu)成獨(dú)立 8 鍵鍵盤(pán),采用 AT89S52 串行口靜態(tài)顯示,選用 74HC595 作為L(zhǎng)ED 驅(qū)動(dòng)芯片。本電路設(shè)計(jì)有以下功能及要求:(1)籃球比賽計(jì)時(shí)器全場(chǎng)時(shí)間為 48 分鐘,共四節(jié),每節(jié) 12 分鐘和 24 秒違例。要求開(kāi)機(jī)自動(dòng)置節(jié)計(jì)數(shù)器為第一節(jié),節(jié)計(jì)時(shí)器為 12 分 00 秒,24 秒違例為 24 秒。(2)用數(shù)字顯示籃球比賽當(dāng)時(shí)節(jié)數(shù),每節(jié)時(shí)間及 24 秒的倒計(jì)時(shí),采用單片機(jī)串行顯示。(3)能隨時(shí)用按紐開(kāi)關(guān)控制比賽的啟動(dòng)/暫停,啟動(dòng)后開(kāi)始比賽,暫停期間不計(jì)時(shí),重新啟動(dòng)后繼續(xù)計(jì)時(shí)。3.1.2

17、電路的總設(shè)計(jì)框圖電路的總設(shè)計(jì)框圖根據(jù)設(shè)計(jì)任務(wù)與要求,可初步將系統(tǒng)分為五大功能模塊:主電路、開(kāi)關(guān)啟/??刂齐娐?、顯示電路、音響電路和+5V 穩(wěn)壓電源。進(jìn)一步細(xì)說(shuō),主電路選用89S52 作為中央處理器;開(kāi)關(guān)啟/??刂齐娐酚砂藗€(gè)按鍵組成;顯示電路由八位七段數(shù)碼管和 74HC595 組成;音響電路用 ULN2003 驅(qū)動(dòng)蜂鳴器;+5V 穩(wěn)壓電路采用 7805 穩(wěn)壓塊把電源電壓穩(wěn)定在+5V。原理框圖如圖 3-1 所示。圖 3-1 籃球比賽計(jì)時(shí)器的原理框圖3.2 總電路選用芯片簡(jiǎn)介3.2.1 控制芯片 AT89S52AT89S52 功能特性描述:表 3.5 段碼與字形碼的關(guān)系哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論

18、文)5字形D7dpD6gD5fD4eD3dD2cD1bD0a段碼01100000003H1111110019FH21010010045H3101100000DH41001100199H51001001029H61000001021H7111110001FH81000000001H91001000009HA1000100011HB1000001041HC1100011063HD1010000185HE1000011061HF1000111071H靜態(tài)顯示是指數(shù)碼管顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位數(shù)碼管相互獨(dú)立,公共端恒定接地(共陰極)或接正電源(共陽(yáng)極)。每

19、個(gè)數(shù)碼管的 8 個(gè)字段分別與一個(gè) 8 位 I/O 口地址相連,I/O口只要有段碼輸出,相應(yīng)字符即顯示出來(lái),并保持不變,直到 I/O 口輸出新的段碼。采用靜態(tài)顯示方式,較小的電流即可獲得較高的亮度,且占用 CPU 時(shí)間少,編程簡(jiǎn)單,顯示便于監(jiān)測(cè)和控制,但其占用的口線多,硬件電路復(fù)雜,成本高,只適合于顯示位數(shù)較少的場(chǎng)合。動(dòng)態(tài)掃描顯示方式:其工作原理是將多個(gè)顯示器的段碼同名端連在一起,位碼分別控制,利用眼睛的余輝暫留效應(yīng),哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)6分別進(jìn)行顯示。只要保證一定的顯示頻率,看起來(lái)的效果和一直顯示是一樣的,但在電路上卻簡(jiǎn)化了很多,降低了成本。比如要做四位 LED 顯示,靜態(tài)顯示方

20、式則需要 4 塊 74LS164 作為靜態(tài)顯示接口,如用動(dòng)態(tài)掃描顯示則只需一塊即可。通常也用 8155 芯片作為動(dòng)態(tài)掃描顯示接口的擴(kuò)展,擴(kuò)展電路在此就不做敘述了,本設(shè)計(jì)采用的是串行口動(dòng)態(tài)掃描方式。動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱為位掃描。通常,各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè) 8 位的 I/O 口控制;各位的位選線(公共陰極或陽(yáng)極)由另外的 I/O 口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示,必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時(shí)刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼。依此規(guī)律循環(huán),即可使各位數(shù)碼管

21、顯示將要顯示的字符。雖然這些字符是在不同的時(shí)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人以同時(shí)顯示的感覺(jué)。3.4 鍵盤(pán)控制原理介紹 3.4.1 鍵盤(pán)的工作原理(1) 鍵盤(pán)的分類按鍵按結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長(zhǎng)。目前,微機(jī)系統(tǒng)中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵。 按鍵按照接口原理可分為編碼鍵盤(pán)與非編碼鍵盤(pán)兩類,這兩類鍵盤(pán)的主要區(qū)別是識(shí)別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤(pán)主要是用硬件來(lái)實(shí)現(xiàn)對(duì)鍵的識(shí)別,非編碼鍵盤(pán)主要是由軟件來(lái)實(shí)現(xiàn)鍵盤(pán)的定義與識(shí)別。全編碼鍵盤(pán)

22、能夠由硬件邏輯自動(dòng)提供與鍵對(duì)應(yīng)的編碼,此外,一般還具有去抖動(dòng)和多鍵、竄鍵保護(hù)電路。這種鍵盤(pán)使用方便,但需要較多的硬件,價(jià)格較貴,一般的單片機(jī)應(yīng)用系統(tǒng)較少采用。非編碼鍵盤(pán)只簡(jiǎn)單地提供行和列的矩陣,其它工作均由軟件完成。由于其經(jīng)濟(jì)實(shí)用,較多地應(yīng)用于單片機(jī)系統(tǒng)中。本設(shè)計(jì)采用非編碼鍵盤(pán)接口。(2) 按鍵輸入原理在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門(mén)的復(fù)位電路及專一的復(fù)位功能外,其它按鍵都是以開(kāi)關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)的。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時(shí),計(jì)算機(jī)應(yīng)用系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過(guò)程。對(duì)于一組鍵或一個(gè)鍵盤(pán),總有一個(gè)接口電路與CPU 相連。CPU 可以采

23、用查詢或中斷方式了解有無(wú)將鍵輸入,并檢查是哪一哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)7個(gè)鍵按下,將該鍵號(hào)送入累加器 ACC,然后通過(guò)跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。(3)按鍵結(jié)構(gòu)與特點(diǎn) 機(jī)鍵盤(pán)通常使用機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。也就是說(shuō),它能提供標(biāo)準(zhǔn)的 TTL 邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如圖 3.10 抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為 510 ms。在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)

24、致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施。這一點(diǎn)可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時(shí),可采用硬件去抖,而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖。在硬件上可采用在鍵輸出端加 R-S 觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路。圖 3.11 是一種由 R-S 觸發(fā)器構(gòu)成的去抖動(dòng)電路,當(dāng)觸發(fā)器一旦翻轉(zhuǎn),觸點(diǎn)抖動(dòng)不會(huì)對(duì)其產(chǎn)生任何影響。圖 3-9 鍵觸點(diǎn)的機(jī)械抖動(dòng)哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)8圖 3-10 雙穩(wěn)態(tài)去抖電路電路工作過(guò)程如下:按鍵未按下時(shí),a = 0,b = 1,輸出 Q = 1。按鍵按

25、下時(shí),因按鍵的機(jī)械彈性作用的影響,使按鍵產(chǎn)生抖動(dòng)。當(dāng)開(kāi)關(guān)沒(méi)有穩(wěn)定到達(dá) b端時(shí),因與非門(mén) 2 輸出為 0 反饋到與非門(mén) 1 的輸入端,封鎖了與非門(mén) 1,雙穩(wěn)態(tài)電路的狀態(tài)不會(huì)改變,輸出保持為 1,輸出 Q 不會(huì)產(chǎn)生抖動(dòng)的波形。當(dāng)開(kāi)關(guān)穩(wěn)定到達(dá) b 端時(shí),因 a = 1,b = 0,使 Q = 0,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn)。當(dāng)釋放按鍵時(shí),在開(kāi)關(guān)未穩(wěn)定到達(dá) a 端時(shí),因 Q = 0,封鎖了與非門(mén) 2,雙穩(wěn)態(tài)電路的狀態(tài)不變,輸出 Q 保持不變,消除了后沿的抖動(dòng)波形。當(dāng)開(kāi)關(guān)穩(wěn)定到達(dá) a 端時(shí),因 a = 0,b = 0,使 Q = 1,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn),輸出 Q 重新返回原狀態(tài)。由此可見(jiàn),鍵盤(pán)輸出經(jīng)雙穩(wěn)

26、態(tài)電路之后,輸出已變?yōu)橐?guī)范的矩形方波。 軟件上采取的措施是:在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè) 10 ms 左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)。同理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動(dòng)的影響。(4) 按鍵編碼一組按鍵或鍵盤(pán)都要通過(guò) I/O 口線查詢按鍵的開(kāi)關(guān)狀態(tài)。根據(jù)鍵盤(pán)結(jié)構(gòu)的不同,采用不同的編碼。無(wú)論有無(wú)編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對(duì)應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的跳轉(zhuǎn)。(5) 編制鍵盤(pán)程序 一個(gè)完善的鍵盤(pán)控制程序應(yīng)具備以下功能:檢測(cè)有無(wú)按鍵

27、按下,并采取硬件或軟件措施,消除鍵盤(pán)按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)9有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對(duì)任何按鍵的操作對(duì)系統(tǒng)不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(zhǎng),系統(tǒng)僅執(zhí)行一次按鍵功能程序。準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿足跳轉(zhuǎn)指令要求。3.4.2 獨(dú)立式鍵盤(pán)獨(dú)立式按鍵是直接用 I/O 口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根 I/O 口線,每個(gè)按鍵的工作不會(huì)影響其它 I/O 口線的狀態(tài)。獨(dú)立式按鍵的典型應(yīng)用如圖 3.11 所示。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根 I/O 口線,因此,在按鍵較多時(shí),I/O 口線浪費(fèi)較大

28、,不宜采用。圖 3-11 獨(dú)立式按鍵電路獨(dú)立式按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根 I/O 口線的輸入狀態(tài),如某一根 I/O 口線輸入為低電平,則可確認(rèn)該 I/O 口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。此程序比較簡(jiǎn)單,在此不做編寫(xiě),本設(shè)計(jì)采用的是矩陣掃描鍵盤(pán)。3.4.3 矩陣式鍵盤(pán)矩陣式鍵盤(pán)單片機(jī)系統(tǒng)中,若使用按鍵較多時(shí),通常采用矩陣式(也稱行列式)鍵盤(pán)。本設(shè)計(jì)采用的就是矩陣式鍵盤(pán)。(1) 矩陣式鍵盤(pán)的結(jié)構(gòu)及原理矩陣式鍵盤(pán)由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上,其結(jié)構(gòu)如圖 3.13 所示。由圖可知,一個(gè) 44 的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有 16 個(gè)按鍵的鍵盤(pán),顯然

29、,在按鍵數(shù)量較多時(shí),矩陣式鍵盤(pán)較之獨(dú)立式按鍵鍵盤(pán)要節(jié)省很多 I/O 口。矩陣式鍵盤(pán)中,行、列線分別連接到按鍵開(kāi)關(guān)的兩端,行線通過(guò)上拉電阻接到5V 上。當(dāng)無(wú)鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)10將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤(pán)中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定閉合鍵的位置。(2) 矩陣式鍵盤(pán)按鍵識(shí)別按鍵的方法很多,掃描法識(shí)別按鍵的過(guò)程. 圖 3-12 矩陣鍵盤(pán)按鍵按下時(shí)

30、,與此鍵相連的行線與列線導(dǎo)通,行線在無(wú)鍵按下時(shí)處在高電平顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會(huì)引起行電平的變化,因此,必須使所有列線處在低電平。只有這樣,當(dāng)有鍵按下時(shí),該鍵所在的行電平才會(huì)由高電平變?yōu)殒I盤(pán)的編碼.(3)對(duì)于獨(dú)立式按鍵鍵盤(pán),因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。對(duì)于矩陣式鍵盤(pán),按鍵的位置由行號(hào)和列號(hào)惟一確定,因此可分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高 4 位是行號(hào),低 4 位是列號(hào)。如圖 3.12 中的 8 號(hào)鍵,它位于第 2 行,第 0 列,因此,其鍵盤(pán)編碼應(yīng)為 20H。采用上述編碼對(duì)于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對(duì)按鍵進(jìn)行處理

31、。因此,可采用依次排列鍵號(hào)的方式對(duì)按排進(jìn)行編碼。以圖 3.12 中的 44 鍵盤(pán)為例,可將鍵號(hào)編碼為:01H、02H、03H、0EH、0FH、10H 等 16 個(gè)鍵號(hào)。編碼相互轉(zhuǎn)換可通過(guò)計(jì)算或查表的方法實(shí)現(xiàn)。 (4)鍵盤(pán)的工作方式對(duì)鍵盤(pán)的響應(yīng)取決于鍵盤(pán)的工作方式,鍵盤(pán)的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中 CPU 的工作狀況而定,其選取的原則是既要保證 CPU 能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用 CPU 的工作時(shí)間。通常,鍵盤(pán)的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。(5)編程掃描方式編程掃描方式是利用 CPU 完成其它工作的空余時(shí)間,調(diào)用鍵盤(pán)掃描子程序來(lái)響應(yīng)鍵盤(pán)輸入的要求。在低電平。CPU

32、根據(jù)行電平的變化,便能判定相應(yīng)哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)11的行有鍵按下。8 號(hào)鍵按下時(shí),第 2 行一定為低電平。然而,第 2 行為低電平時(shí),能否肯定是 8 號(hào)鍵按下呢?回答是否定的,因?yàn)?9、10、11 號(hào)鍵按下,同樣會(huì)使第 2 行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時(shí)刻都處在低電平,可在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤(pán)掃描。采用鍵盤(pán)掃描后,再來(lái)觀察 8 號(hào)鍵按下時(shí)的工作過(guò)程,當(dāng)?shù)?0 列處于低電平時(shí),第 2 行處于低電平,而第 1、2、3 列處于低電平時(shí),第 2 行

33、卻處在高電平,由此可判定按下的鍵應(yīng)是第 2 行與第 0 列的交叉點(diǎn),即8 號(hào) 執(zhí)行鍵功能程序時(shí),CPU 不再響應(yīng)鍵輸入要求,直到 CPU 重新掃描鍵盤(pán)為止。鍵盤(pán)掃描程序一般應(yīng)包括以下內(nèi)容:判別有無(wú)鍵按下;鍵盤(pán)掃描取得閉合鍵的行、列值;用計(jì)算法或查表法得到鍵值;判斷閉合鍵是否釋放,如沒(méi)釋放則繼續(xù)等待;將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。(6)定時(shí)掃描方式定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤(pán)掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如 10 ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷。CPU 響應(yīng)中斷后對(duì)鍵盤(pán)進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵,再執(zhí)行該鍵的功能程序。定時(shí)掃描方式

34、的硬件電路與編程掃描方式相同。(7)中斷掃描方式種鍵盤(pán)掃描方式時(shí),無(wú)論是否按鍵,CPU 都要定時(shí)掃描鍵盤(pán),而單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤(pán)輸入,因此,CPU 經(jīng)常處于空掃描狀態(tài)。為提高 CPU 工作效率,可采用中斷掃描工作方式。其工作過(guò)程如下:當(dāng)無(wú)鍵按下時(shí),CPU 處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU 轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序,并識(shí)別鍵。哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)12圖 3-13 中斷掃描鍵盤(pán)電路圖 3-13 是一種簡(jiǎn)易鍵盤(pán)接口電路,該鍵盤(pán)是由 8031 P1 口的高、低字節(jié)構(gòu)成的 44 鍵盤(pán)。鍵盤(pán)的列線與 P1 口的高 4 位相連,鍵盤(pán)的行線與 P1 口的低 4位

35、相連,因此,P1.4P1.7 是鍵輸出線,P1.0P1.3 是掃描輸入線。圖中的 4 輸入與門(mén)用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過(guò)上拉電阻接至+5 V 電源,輸出端接至 8031 的外部中斷輸入端。具體工作如下:當(dāng)鍵盤(pán)無(wú)鍵按下時(shí),與門(mén)各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時(shí),端為低電平,向 CPU 申請(qǐng)中斷,若 CPU 開(kāi)放外部中斷,則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序。3.5 本章小結(jié) 本章對(duì)硬件電路的設(shè)計(jì)和電路所用到的芯片進(jìn)行了介紹。主要是鍵盤(pán)控制電路與顯示電路的原理和功能,并對(duì) LED 顯示原理進(jìn)行了介紹。下面將根據(jù)以上說(shuō)介紹的原理設(shè)計(jì)鍵盤(pán)控制及顯示硬件電路。哈

36、爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)13第第 4 章章 鍵盤(pán)控制及顯示硬件電路實(shí)現(xiàn)鍵盤(pán)控制及顯示硬件電路實(shí)現(xiàn)本章將根據(jù)上面所介紹的原理及芯片功能設(shè)計(jì)鍵盤(pán)控制及顯示的硬件實(shí)現(xiàn)電路,鍵盤(pán)控制及顯示電路的設(shè)計(jì)流程是:鍵盤(pán)按鍵按下,輸入該鍵盤(pán)鍵值,經(jīng) CPU 處理后輸出,由 LED 顯示器顯示所按的鍵值。其工作原理:當(dāng)有鍵按下時(shí),CPU 將對(duì)整個(gè)鍵盤(pán)進(jìn)行掃描,確定按鍵位置,讀取鍵值;CPU 再將所讀取的鍵值送到顯示部分,最后通過(guò) LED 顯示器顯示鍵值。其總體框圖如圖,總電路原理圖見(jiàn)(附錄 2)。圖 4-1 電路總設(shè)計(jì)框圖4.1 LED 顯示電路設(shè)計(jì)單片機(jī)并行 I/O 口數(shù)量總是有限的,有時(shí)并行口需作其他

37、更重要的用途,一般也不會(huì)用數(shù)量眾多的并行 I/O 口專門(mén)用來(lái)驅(qū)動(dòng)顯示電路,因此本設(shè)計(jì)采用了 AT89S52 的串行通信口靜態(tài)顯示。AT89S52 的串行通信口是一個(gè)功能強(qiáng)大的通信口,而且是相當(dāng)好用的通信口,用于顯示驅(qū)動(dòng)電路再合適不過(guò)了,下面我們就根據(jù)這種需要設(shè)計(jì)一個(gè)用兩個(gè)串行通信口線設(shè)計(jì)一個(gè) 8 位 LED 顯示電路。下圖即是電路原理圖,我采用AT89S52 單片機(jī),同時(shí)用廉價(jià)易得的 74HC595 作為驅(qū)動(dòng)芯片。74HC595 是一個(gè)8 位串入并出的移位寄存器,其此處的功能是將 AT89S52 串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動(dòng) LED 數(shù)碼管。使用串行口進(jìn)行 LED通

38、信,程序編寫(xiě)相當(dāng)簡(jiǎn)單,只需將需顯示的數(shù)據(jù)直接送串口發(fā)送緩沖器,等待串行中斷即可,程序見(jiàn)附錄,電路原理如圖 4-2。哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)14圖 4-2 串行顯示電路采用靜態(tài)顯示技術(shù),畫(huà)面穩(wěn)定,無(wú)雜點(diǎn),圖像效果清晰;視頻效果流暢。 LED 顯示器是由發(fā)光二極管排列組成的一顯示器件,它采用低電壓掃描驅(qū)動(dòng),同時(shí)還具有如下優(yōu)點(diǎn):耗電省,使用壽命長(zhǎng),成本低,亮度高,視角大,規(guī)格品種多等,因此本設(shè)計(jì)采用 LED 數(shù)碼顯示器作為顯示部分的重要元件。4.2 獨(dú)立按鍵鍵盤(pán)的電路設(shè)計(jì)本設(shè)計(jì)采用的是 8 鍵獨(dú)立式鍵盤(pán),掃描方法采用編程掃描方式,其鍵盤(pán)部分電路圖如下:圖 4-3 獨(dú)立按鍵電路圖本設(shè)計(jì)采用的

39、是一種行掃描法,行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤(pán),其掃描過(guò)程如下:(1) 判斷鍵盤(pán)中有無(wú)鍵按下:將全部行線 Y0-Y3 置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)15于低電平線與 4 根行線相交叉的 4 個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)中無(wú)鍵按下。(2) 判斷閉合鍵所在的位置:在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某

40、列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。比如,如圖 4.3,89C51 的 P1 口用作鍵盤(pán) I/O 口,鍵盤(pán)的列線接到 P1 口的低 4 位,鍵盤(pán)的行線接到 P1 口的高 4 位。行線 P1.4-P1.7 分別接有 4 個(gè)上拉電阻到正電源+5V,并把列線 P1.0-P1.3 設(shè)置為輸入線,行線 P1.4-P.17 設(shè)置為輸出線。4 根行線和 4 根列線形成 16 個(gè)相交點(diǎn)。檢測(cè)當(dāng)前是否有鍵被按下。檢測(cè)的方法是 P1.4-P1.7 輸出全“1”,讀取P1.0-P1.3 的狀態(tài),若 P1.0-P1.3 為全“0”,則無(wú)鍵閉合,否則有鍵閉合;去除鍵抖動(dòng)。當(dāng)檢測(cè)到有鍵按下后,延

41、時(shí)一段時(shí)間再做下一步的檢測(cè)判斷;若有鍵被按下,應(yīng)識(shí)別出是哪一個(gè)鍵閉合。方法是對(duì)鍵盤(pán)的行線進(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在每組行輸出時(shí)讀取 P1.0-P1.3,若全為“1”,則表示為“0”這一行沒(méi)有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。為了保證鍵每閉合一次 CPU 僅作一次處理,必須卻除鍵釋放時(shí)的抖動(dòng)。4.3 硬件的焊接4.3.1 硬件的焊接硬件的焊接是本次設(shè)計(jì)的重要環(huán)節(jié),所用的工具為:30W 電烙鐵

42、,焊錫和鑷子。因?yàn)楸敬卧O(shè)計(jì)電路組成相對(duì)簡(jiǎn)單,因此采用實(shí)驗(yàn)板焊接電路。實(shí)驗(yàn)板上沒(méi)有連通的導(dǎo)線,所有元器件都要用導(dǎo)線連接,這就要求一定的焊接技能,不過(guò)此技能在以前的電裝實(shí)習(xí)中已經(jīng)學(xué)過(guò)并熟練掌握。焊接前先要將所需材料準(zhǔn)備好,把電路所需元器件按合理的布局在實(shí)驗(yàn)板上排好,這樣焊接線路比較明朗,不容易出錯(cuò),檢查時(shí)也比較容易。(1) 低座的焊接哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)16本次設(shè)計(jì)一共有九個(gè)底座,即 1 個(gè) AT89S52,8 個(gè) 74HC595。焊接時(shí),先將低座按照原先排好的布局插到電路板上,因?yàn)槊總€(gè)管腳幾間隙都很小,因此在焊接是都要很仔細(xì),焊錫不要太多,焊點(diǎn)不要太大,這樣可以防止管腳之間的短路,

43、同時(shí)在焊接時(shí)不能形成虛焊,虛焊會(huì)導(dǎo)致電路的斷路,底座焊接要穩(wěn),松動(dòng)也會(huì)容易導(dǎo)致虛焊。(2) 鍵盤(pán)的焊接本次設(shè)計(jì)鍵盤(pán)由 8 個(gè)普通開(kāi)關(guān)按鍵按 1 行的形式組成。我所選用的普通開(kāi)關(guān)按鍵有四個(gè)腳,其中有兩個(gè)腳是導(dǎo)通的,如果在焊接時(shí)不小心將導(dǎo)通的兩端作為按鍵則按鍵將不起作用,因此在焊接前應(yīng)使用萬(wàn)用表檢查哪兩個(gè)腳為導(dǎo)通端,這樣會(huì)避免按鍵無(wú)作用情況的發(fā)生。(3) 導(dǎo)線的焊接電路中導(dǎo)線是用來(lái)連接元器件的,它相當(dāng)于整個(gè)電路的血管。導(dǎo)線是整個(gè)電路焊接最麻煩的,導(dǎo)線的焊接不僅需要細(xì)心還要有耐心,每一根線的長(zhǎng)短,怎么布局都要自己由根據(jù)整個(gè)電路的布局來(lái)確定,少一根都不行。因此我在焊接時(shí)是先將要連的線在實(shí)驗(yàn)板上用鉛筆標(biāo)

44、畫(huà)好,然后焊接,這樣焊出來(lái)的不僅美觀而且不容易出錯(cuò)。4.3.2 電路板的檢查和故障排除(1) 電路板的檢查當(dāng)整個(gè)電路板所有元器件及導(dǎo)線都焊接完成后,則開(kāi)始用萬(wàn)用表檢查電路的導(dǎo)通情況。先檢查低座,將萬(wàn)用表調(diào)到電阻最低擋,再將兩個(gè)表筆分別接到每個(gè)管腳的兩端,若有萬(wàn)用表有報(bào)警聲這說(shuō)明導(dǎo)通,若沒(méi)反應(yīng)即為不導(dǎo)通。再檢查導(dǎo)線的導(dǎo)通情況,辦法和檢查低座一樣。(2) 電路故障的排除當(dāng)在檢查低座的時(shí)候發(fā)現(xiàn) AT89S52 低座的 21 腳沒(méi)有導(dǎo)通,經(jīng)檢查發(fā)現(xiàn) 21腳松動(dòng),形成虛焊,經(jīng)重新焊接再用萬(wàn)用表檢查,21 腳導(dǎo)通,故障排除 .在檢查導(dǎo)線時(shí)發(fā)現(xiàn) AT89S52 低座的 40 叫與地線和火線同時(shí)導(dǎo)通,經(jīng)對(duì)整個(gè)

45、線路盤(pán)查發(fā)現(xiàn)火線與地線相連通了,經(jīng)處理后再次用萬(wàn)用表檢查,電路完好,故障排除.高低單色光地方官地方官地方官地方官地方官地方官地方官對(duì)法國(guó)隊(duì)似懂非懂所凍豆腐大隨風(fēng)倒反對(duì)。4.4 本章小結(jié)本章主要敘述了 鍵盤(pán)控制電路和顯示電路是怎樣實(shí)現(xiàn)的。LED顯示電路的設(shè)計(jì),獨(dú)立按鍵的電路設(shè)計(jì)以及硬件的焊接,電路板的檢查和故障的排除。,哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)17哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)18第 5 章 鍵盤(pán)控制及顯示電路軟件設(shè)計(jì) 軟件部分設(shè)計(jì)是本次設(shè)計(jì)的另一個(gè)重要組成部分,它的設(shè)計(jì)成敗將直接影響到整個(gè)設(shè)計(jì)的功能能否正常實(shí)現(xiàn)。本次軟件設(shè)計(jì)采用匯編語(yǔ)言編程,用keil51 軟件對(duì)所編程序進(jìn)行編譯

46、。5.1 軟件設(shè)計(jì)的基本工具5.1.1 匯編語(yǔ)言的簡(jiǎn)介匯編語(yǔ)言是一種用文字助記符來(lái)表示機(jī)器指令的符號(hào)語(yǔ)言,是最接近機(jī)器碼的一種語(yǔ)言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語(yǔ)言可能有所差異,因此匯編語(yǔ)言是不易移植的。 C 語(yǔ)言也是一種結(jié)構(gòu)化的高級(jí)語(yǔ)言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語(yǔ)言。缺點(diǎn)是占用資源較多,執(zhí)行效率沒(méi)有匯編高。對(duì)于目前普遍使用的RISC 架構(gòu)的 8bit MCU 來(lái)說(shuō),其內(nèi)部 ROM、RAM、STACK 等資源都有限,如果使用 C 語(yǔ)言編寫(xiě),一條 C 語(yǔ)言指令編譯后,會(huì)變成很多條機(jī)器碼,很容易出現(xiàn)ROM 空間不夠、堆棧溢出等問(wèn)題。而且

47、一些單片機(jī)廠家也不一定能提供 C 編譯器。而匯編語(yǔ)言,一條指令就對(duì)應(yīng)一個(gè)機(jī)器碼,每一步執(zhí)行什么動(dòng)作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來(lái)也比較方便。所以在單片機(jī)開(kāi)發(fā)中,通常是建議采用匯編語(yǔ)言。5.1.2 匯編語(yǔ)言的指令系統(tǒng)與程序前面已經(jīng)講述了本設(shè)計(jì)的幾個(gè)主要組成部分,這些部分只構(gòu)成了系統(tǒng)的硬件。所謂硬件(Hardware),就是看得到,摸得到的實(shí)體。但是,光有這樣的硬件,還只是有了實(shí)現(xiàn)和控制功能的可能性。整個(gè)電路系統(tǒng)要真正地能進(jìn)行工作,還必須有軟件(Software)的配合。軟件主要指的是單片機(jī)實(shí)現(xiàn)各種功能的各種程序。程序是由指令組成的,指令的基本組成是操作碼和操作數(shù)。單片機(jī)

48、的品種很多,設(shè)計(jì)時(shí)怎樣表示操作碼和操作數(shù),都有各自的規(guī)定,再有指令代碼也各不相同,因此,必須對(duì)所選單片機(jī)的全部指令,也就是所謂”指令系統(tǒng)”,有足夠的了解。各個(gè)系列的單片機(jī)雖然有不同的指令系統(tǒng),但也有其共同性。掌握一種單片機(jī)的指令系統(tǒng),對(duì)其它系列單片機(jī)可以起到觸類旁通的作用。MCS51 單片機(jī)應(yīng)用廣泛,派生品種多,具有代表性,所以,這里以 MCS51系列的指令系統(tǒng)為例說(shuō)明”指令”的組成和應(yīng)用。例:MOV A,20H,這條指令表示把 20H 這個(gè)數(shù)送入累加器 A 中(一個(gè)特殊功能寄存器)。再如:ADD A,70H,這條指令表示把累加器 A 中的內(nèi)容(在上例中送入的20H)和存貯器中地址為 70H

49、單元中的內(nèi)容(也是一個(gè)數(shù)字),通過(guò)算術(shù)邏輯單元(英文縮寫(xiě)為 ALU)相加,并將結(jié)果保留在 A 中。這里 MOV、ADD 等稱為操作碼,而A、20H、70H 等均稱為操作數(shù)。在匯編語(yǔ)言程序中,操作碼通常由英文單詞哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)19縮寫(xiě)而成,這樣有助于記憶,所以又稱助記符。如 MOV 就是英文單詞 MOVE 的縮寫(xiě),含有搬移的意思;而 ADD 即為英文單詞,其意為相加。因此,對(duì)于略懂英語(yǔ)的用戶,掌握單片機(jī)指令的含意是較為方便的。操作數(shù)有多種表示法,如以上的20H 稱為立即數(shù),即 20H 就是真正的操作數(shù)。而 70H 是存貯器中某個(gè)單元的地址,在該單元中,放著操作數(shù)(比如說(shuō)是 3

50、AH),ADD A,70H 不是將70H 和 A 中的內(nèi)容相加,而是從存貯器 70H 單元中將 3AH 取出和 A 中的內(nèi)容相加。由上可知,要找到實(shí)際操作數(shù),有時(shí)就要轉(zhuǎn)個(gè)彎,甚至轉(zhuǎn)幾個(gè)彎,這個(gè)過(guò)程稱為尋址,MCS51 共有 7 種尋址方式,現(xiàn)介紹如下: (1) 立即尋址:操作數(shù)就寫(xiě)在指令中,和操作碼一起放在程序存貯器中。把“”號(hào)放在立即數(shù)前面,以表示該尋址方式為立即尋址,如20H。 (2) 寄存器尋址:操作數(shù)放在寄存器中,在指令中直接以寄存器的名字來(lái)表示操作數(shù)的地址。例如 MOV A,R0 就屬于寄存器尋址,即將 R0 寄存器的內(nèi)容送到累加器 A 中。 (3) 直接尋址:操作數(shù)放在單片機(jī)的內(nèi)部

51、 RAM 某單元中,在指令中直接寫(xiě)出該單元的地址。如前例的 ADD A,70H 中的 70H。 (4)寄存器間接尋址:操作數(shù)放在 RAM 某個(gè)單元中,該單元的地址又放在寄存器 R0 或 R1 中。 如果 RAM 的地址大于 256,則該地址存放在 16 位寄存器DPTR(數(shù)據(jù)指針)中,此時(shí)在寄存器名前加符號(hào)來(lái)表示這種間接尋址。如MOV A, R0。其它還有變址尋址、相對(duì)尋址、位尋址等,在此不作介紹??赡苡腥藭?huì)問(wèn),在指令中直接給出實(shí)際操作數(shù),不是簡(jiǎn)單、明了嗎?為什么還要用其它幾種尋址方式呢?這是因?yàn)樵诰幹瞥绦驎r(shí)很難一下子就給出操作數(shù)。如用單片機(jī)控制溫度時(shí),時(shí)時(shí)需要將給定的控制溫度(如 20)減去

52、環(huán)境溫度,而環(huán)境溫度時(shí)時(shí)有變化,顯然無(wú)法在程序指令中給出,只有通過(guò)一定方式,將其送入某個(gè)輸入/輸出口,再存放在某個(gè)寄存器中,這就必須用到寄存器尋址。又如要進(jìn)行算術(shù)運(yùn)算,要計(jì)算每班學(xué)員各科成績(jī)的平均值,如果把每個(gè)學(xué)員的各科都編一個(gè)程序,在程序中直接給出該學(xué)員各科成績(jī),再求平均值,顯然太麻煩。這里可以編一個(gè)求平均成績(jī)的通用程序,把每位學(xué)員的成績(jī)送入存貯器的各個(gè)單元中,這時(shí)可采取直接尋址,一個(gè)程序可供每個(gè)學(xué)員用,不是更方便嗎?所以,尋址方式越多,編制程序就越方便、靈活,適用范圍就越廣。 5.3.2 總程序清單(見(jiàn)附錄 3)5.4 本章小結(jié)哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)21本章主要介紹鍵盤(pán)控制及顯

53、示電路的軟件設(shè)計(jì),對(duì)軟件設(shè)計(jì)的基本工具匯編語(yǔ)言進(jìn)行了介紹,以及程序的流程圖。哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)22結(jié) 論本次所做的畢業(yè)設(shè)計(jì)是基于單片機(jī)的鍵盤(pán)控制及顯示的電路設(shè)計(jì),剛拿到題目的時(shí)候覺(jué)得也沒(méi)什么,就是一個(gè)鍵盤(pán),一個(gè) LED 顯示,再加上一個(gè)單片機(jī),其它也就沒(méi)什么了,在通過(guò)一段時(shí)間的查閱資料后才發(fā)現(xiàn)一切并不像想象中的那么簡(jiǎn)單,而且還有一種不知道從何下手的感覺(jué),不過(guò)后來(lái)在指導(dǎo)老師的精心指導(dǎo)下才開(kāi)始有了思路,然后查閱資料,制訂計(jì)劃,一步一步完成了此次設(shè)計(jì)任務(wù)。在做本次設(shè)計(jì)過(guò)程中,可以說(shuō)是歷經(jīng)坎坷,在設(shè)計(jì)剛開(kāi)始沒(méi)多久,大約沒(méi)到一個(gè)月我就到就業(yè)單位實(shí)習(xí)了,到了單位就沒(méi)那么多時(shí)間來(lái)做設(shè)計(jì),每周

54、只能靠上網(wǎng)或打電話與指導(dǎo)老師和同學(xué)了解設(shè)計(jì)的進(jìn)度情況,在這期間得到了老師和同學(xué)的熱情幫助,因此設(shè)計(jì)進(jìn)展也算比較順利。我是在畢業(yè)答辯前兩周回到學(xué)校繼續(xù)做設(shè)計(jì),這段時(shí)間主要是對(duì)硬件電路的制作和軟件的調(diào)試,同時(shí)還有畢業(yè)論文的完成,在此期間也得到了指導(dǎo)老師和同學(xué)的熱情幫助,從而設(shè)計(jì)進(jìn)展很順利。在本次設(shè)計(jì)過(guò)程中,自己通過(guò)對(duì)所學(xué)知識(shí)的復(fù)習(xí),通過(guò)圖書(shū)館,網(wǎng)絡(luò)的資料查閱,使得自己的理論知識(shí)豐富了許多。以前在學(xué)習(xí)單片機(jī)的時(shí)候都是一些書(shū)上的理論知識(shí),也是一些比較膚淺的東西,在課堂上并沒(méi)有深入的學(xué)習(xí),更沒(méi)有用到實(shí)際中去,但是在這次設(shè)計(jì)中對(duì)單片機(jī)作了更深一步的學(xué)習(xí),最重要的是把所學(xué)到的東西用到實(shí)際中,實(shí)現(xiàn)了理論與實(shí)踐

55、相結(jié)合。同時(shí)在本次設(shè)計(jì)中也鍛煉了自己的動(dòng)腦動(dòng)手能力,整個(gè)設(shè)計(jì)幾乎都是要靠自己來(lái)完成,指導(dǎo)老師只能在比較大的框架上或是一些很細(xì)節(jié)的東西給予指導(dǎo),其余都要靠自己獨(dú)立完成。在焊接電路板的時(shí)候自己的焊接技術(shù)又較以前做電裝實(shí)習(xí)時(shí)更進(jìn)一步了,同時(shí)在檢查電路故障的時(shí)候也鍛煉了自己發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力。在做軟件編程時(shí)更要?jiǎng)幽X,因?yàn)槲业脑O(shè)計(jì)使用的一些芯片與同組同學(xué)的不大一樣,因此軟件部分也大有不同,整個(gè)軟件部分的編程任務(wù)都是自己完成,當(dāng)然也得到了老師和同學(xué)的指導(dǎo)和幫助,但是不管怎樣,在本次設(shè)計(jì)中,自己的動(dòng)手動(dòng)腦能力得到了很大提高。本次設(shè)計(jì)總的來(lái)說(shuō)是成功的,當(dāng)然也存在很多不足之處,但是在這個(gè)過(guò)程中自己學(xué)到了東

56、西,自己得到了鍛煉,自己能把大學(xué)四年所學(xué)的專業(yè)知識(shí)用到實(shí)踐中去,這才是本次設(shè)計(jì)的最大目的!哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)23致致 謝謝在完成本電路的設(shè)計(jì)當(dāng)中,給我很大幫助的不但有我的導(dǎo)師崔嘵紅老師,還有實(shí)驗(yàn)室的各個(gè)老師們。在這里,我向曾經(jīng)幫助過(guò)我的所有老師們道一聲 “謝謝您!老師 ” 。首先感謝導(dǎo)師 崔嘵紅 老師在畢業(yè)綜合設(shè)計(jì)期間所給予的關(guān)心和幫助。崔嘵紅 老師對(duì)待工作認(rèn)真負(fù)責(zé)、忙里抽閑,在處理公事和授課之余向我耐心地講解有關(guān)適宜。 崔嘵紅 老師這種對(duì)待工作認(rèn)真負(fù)責(zé)、嚴(yán)以律己的工作態(tài)度和寬以待人的崇高品質(zhì)永遠(yuǎn)值得我們學(xué)習(xí)和借鑒。也非常感謝姜曉宇同學(xué) 在電路的制作及調(diào)試過(guò)程中給予的技術(shù)支持。

57、在完成設(shè)計(jì)當(dāng)中,我的導(dǎo)師 崔嘵紅 老師,他總是不斷詢問(wèn)我的設(shè)計(jì)情況,包括我的進(jìn)展情況、在電路當(dāng)中所遇到的困難情況和應(yīng)該怎樣解決這些困難。在整個(gè)論文的撰寫(xiě)及修改過(guò)程,都是在崔老師的熱心指導(dǎo)下完成的,在此,向在畢業(yè)綜合設(shè)計(jì)當(dāng)中給予我提供幫助的老師說(shuō)一聲“老師您辛苦了! ” 預(yù)祝老師在今后的生活及工作中,身體健康、工作順利,在電子領(lǐng)域有更大的飛躍。在此,也向在畢業(yè)綜合設(shè)計(jì)期間給予我關(guān)心和幫助 老師及同學(xué)表示感謝!哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)24參考文獻(xiàn)參考文獻(xiàn)1 楊素行 .模擬電子技術(shù)基礎(chǔ) .清華大學(xué)電子教研組 .1998:492-5182 李士平 .北京電子報(bào) .北京電子報(bào)社 98 合訂本下

58、 .19983 趙保經(jīng) .中國(guó)集成電路大全 .國(guó)防工業(yè)出版社 .1989:79-824 童詩(shī)白 .現(xiàn)代電子學(xué)及應(yīng)用 .東南大學(xué)出版社 .1997:23-345 童詩(shī)白 .模擬電子技術(shù)基礎(chǔ) .高等教育出版社 .1988:55-786. 曉 喻.電子制作 .中國(guó)家用電器維修協(xié)會(huì) .1999:15-187 翟德富 .家用電路手冊(cè) .機(jī)械工業(yè)出版社 .2001:56-608 陳克安 .集成電路速查大全 .西安電子科技出版社 .1996:153-1559 于洪沿 .常用電子元件簡(jiǎn)明手冊(cè) .中國(guó)礦業(yè)大學(xué)出版社 .1985:345-34710 肖景和 .數(shù)字集成電路應(yīng)用精粹 .人民郵電出版社 .1995:6

59、7-7011 劉京南、王成華 .電子電路基礎(chǔ) .北京電子工業(yè)出版社 .1998:271-29312 余孟嘗 .數(shù)字電子技術(shù)基礎(chǔ) .清華大學(xué)電子教研組 .1999:371-39013 鄒壽彬 .電子技術(shù)基礎(chǔ) .高等教育出版社 .1997:45-6614 閆石主.數(shù)字電子技術(shù)基礎(chǔ).高等教育出版社.1989:56-14615 AdelS.Sedra and Kenneth.Smith.Microelectronic Circuits,4rd,Oxford University Press.Inc.1998:35-4016 Jacob Millman and Arvin Grabel:Microele

60、ctronics, 2nd ed, Mc Graw-Hill Book Company,New York.1987:156-17217 Paul Mr.Brown,Jr: A Guide to analog Asics,Academic Press,Inc,San Diego.1992:86-91哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)25附錄 1 外文資料匯編的源文件是一個(gè)標(biāo)準(zhǔn)的 ASCII 碼文件,任何文本編輯如 EDLIN 、WORDSTAR 等都可以編寫(xiě),F(xiàn)AST MAP 對(duì)于源文件書(shū)寫(xiě)格式有一定要求。文件的第一行要求大寫(xiě)字母給出 GAL 器件的型號(hào), “PLD16V8”或“PLD20V8”

溫馨提示

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

評(píng)論

0/150

提交評(píng)論