單片機(jī)及接口課程設(shè)計(jì)報(bào)告
專 業(yè): 電子信息工程
班 級(jí): 信息143
姓 名: 楊榮慶
學(xué) 號(hào): 201427187
指導(dǎo)教師: 李恩玉、吳則舉、王辛杰
時(shí) 間: 2017-01-02~2017-01-13
通信與電子工程學(xué)院
1.1 設(shè)計(jì)任務(wù)
鍵盤接口和顯示設(shè)計(jì),設(shè)計(jì)并實(shí)現(xiàn)一4×4鍵盤的接口,并在兩個(gè)數(shù)碼管上顯示鍵盤所在的行與列。
1.2設(shè)計(jì)要求
① 掌握原理圖的畫法,在PROTEUS平臺(tái)上用單片機(jī)完成所選題目的原理圖設(shè)計(jì);
② 在KEIL C平臺(tái)上使用C語(yǔ)言編程實(shí)現(xiàn)編程,并調(diào)試通過(guò);
③ 在PROTEUS平臺(tái)上利用設(shè)計(jì)好的原理圖和調(diào)試好的程序完成整個(gè)仿真;
④ 在單片機(jī)最小系統(tǒng)板上實(shí)現(xiàn)仿真后軟硬件設(shè)計(jì);
1.3設(shè)計(jì)目的
為了進(jìn)一步鞏固學(xué)習(xí)的理論知識(shí),增強(qiáng)對(duì)所學(xué)知識(shí)的實(shí)際應(yīng)用能力和運(yùn)用所學(xué)的知識(shí)解決實(shí)際問題的能力,進(jìn)行本次課程設(shè)計(jì)。通過(guò)設(shè)計(jì)使我在鞏固所學(xué)知識(shí)的基礎(chǔ)之上具有初步的單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用能力。
① 通過(guò)本設(shè)計(jì),綜合運(yùn)用《單片機(jī)技術(shù)原理與應(yīng)用》、《DSP原理與應(yīng)用》《C語(yǔ)言程序設(shè)計(jì)》以及《數(shù)字電路》、《模擬電路》等課程的內(nèi)容,為以后從事電子產(chǎn)品設(shè)計(jì)、軟件編程、系統(tǒng)控制等工作奠定一定的基礎(chǔ)。
② 學(xué)會(huì)使用KEIL C和PROTEUS等軟件,用C語(yǔ)言或匯編語(yǔ)言編寫一個(gè)較完整的實(shí)用程序,并仿真運(yùn)行,保證設(shè)計(jì)的正確性。
③ 了解單片機(jī)接口應(yīng)用開發(fā)的全過(guò)程:分析需求、設(shè)計(jì)原理圖、選用元器件、布線、編程、調(diào)試、撰寫報(bào)告等。
2.1鍵盤接口:
鍵盤可以分為獨(dú)立式和矩陣式兩類,每一類有可根據(jù)對(duì)鍵盤的譯碼方法分為編碼鍵盤和非編碼鍵盤兩種類型。編碼鍵盤是鍵盤按下直接獲取按鍵的鍵號(hào),當(dāng)有按鍵按下時(shí),能直接得到按下鍵的鍵號(hào),這種鍵盤使用方便,但硬件電路復(fù)雜,常常不被微型計(jì)算機(jī)采用。在非編碼鍵盤中,利用按鍵直接與單片機(jī)的I/O口線(或外部擴(kuò)展的I/O口線)相連接,鍵盤按下時(shí)不能直接得到按鍵號(hào),還要通過(guò)編寫程序判斷I/O口線的電平求得鍵號(hào)。因此,非編碼鍵盤硬件電路極為簡(jiǎn)單。
對(duì)于4×4鍵盤,共有十六個(gè)按鍵。如果每個(gè)按鍵與單片機(jī)的一個(gè)引腳相連,就會(huì)占用16個(gè)引腳,這樣會(huì)使的單片機(jī)的接口不夠用(即使夠用,也是對(duì)單片機(jī)端口的極大浪費(fèi))。因此我們應(yīng)該行列式的接法。行列式非編碼鍵盤是一種把所有按鍵排列成行列矩陣的鍵盤。在這種鍵盤中,每根行線和列線的交叉處都接有一個(gè)按鍵,每當(dāng)某個(gè)按鍵被按下時(shí),與這個(gè)按鍵相連的行線和列線就會(huì)接通,否則是斷開狀態(tài)。。因此4×4行列式非編碼鍵盤只需4條行線和4條列線,總共占用8條I/O端口線。大大減少了I/O端口線的利用。
去除按鍵的抖動(dòng),當(dāng)判別出可能有鍵按下時(shí),軟件延時(shí)一段時(shí)間(10ms左右)再判別鍵盤的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤上有確定的鍵按下,否則是鍵抖動(dòng)。
矩陣式鍵盤的線反轉(zhuǎn)法掃描,主要操作步驟為:(1)讓行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全低電平,則行線中電平由高變低的所在行為按鍵的所在行;(2)再把行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全低電平,則列線中電平由高變低的所在行為按鍵的所在列。綜合上述兩步的結(jié)果,可確定按鍵所在的行和列,從而識(shí)別出所按的鍵。
2.2顯示接口:
實(shí)現(xiàn)4×4鍵盤的接口需要用到單片機(jī)并編寫相應(yīng)的程序來(lái)識(shí)別鍵盤的十六個(gè)按鍵中哪個(gè)按鍵被按下。要求將被按下的按鍵顯示出來(lái),因此可以用兩個(gè)數(shù)碼管來(lái)分別顯示被按下的按鍵的行與列。單片機(jī)控制LED數(shù)碼管有兩種顯示方式:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。靜態(tài)顯示方式就是指無(wú)論多少位LED數(shù)碼管,都同時(shí)處于顯示狀態(tài),多位LED數(shù)碼管工作于靜態(tài)顯示方式時(shí),各位的共陰極(或共陽(yáng)極)連接在一起并接地(或接+5V),每位數(shù)碼管的段碼線分別與一個(gè)單片機(jī)控制的8位I/O口鎖存器輸出相連,如果送往各個(gè)LED數(shù)碼管所顯示的字符的段碼一經(jīng)確定,則相應(yīng)的I/O口鎖存器鎖存的段碼輸出將維持不變,直至送入下一個(gè)顯示字符的段碼。因此,靜態(tài)顯示方式送往顯示無(wú)閃爍,亮度較高,軟件控制比較容易。動(dòng)態(tài)顯示用于顯示位數(shù)較多時(shí),將所有的LED數(shù)碼管顯示器的段碼線的相應(yīng)段并聯(lián)在一起,由一個(gè)8位I/O端口控制,而各顯示位的公共端分別由另一單獨(dú)的I/O端口線控制。 每隔一段時(shí)間逐位的輪流點(diǎn)亮各數(shù)碼管(掃描),由于數(shù)碼管的余暉和人眼的“視覺暫留”作用,只要控制好每位數(shù)碼管點(diǎn)亮顯示的時(shí)間和間隔,則可造成“多位同時(shí)亮”的假象。發(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時(shí),如果點(diǎn)亮?xí)r間太短,發(fā)光太弱,人眼無(wú)法看清;時(shí)間太長(zhǎng),產(chǎn)生閃爍現(xiàn)象,而且此時(shí)間越長(zhǎng),占用單片機(jī)的時(shí)間也越多。另外,顯示位數(shù)增多,也將占用單片機(jī)的大量時(shí)間,因此動(dòng)態(tài)現(xiàn)實(shí)的實(shí)質(zhì)是以執(zhí)行程序的時(shí)間來(lái)?yè)Q取I/O端口數(shù)目的減少。因此選用靜態(tài)顯示,并且選擇共陰極數(shù)碼管,直接接地,不需要上拉電阻,方便了電路的連接。
圖3-1總電路圖
3.2部分硬件設(shè)計(jì)及其原理
圖3-2 4*4按鍵硬件圖
每個(gè)按鍵都有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和列線分別通過(guò)兩并行接口和CPU通信。鍵盤的一端(列線)通過(guò)電阻接VCC,而接地是通過(guò)程序輸出數(shù)字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無(wú)鍵按下,判斷哪一個(gè)鍵按下,還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地;另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵。
圖3-3 數(shù)碼管硬件圖
兩位數(shù)碼管靜態(tài)顯示,并且采用共陰極數(shù)碼管,直接接地,避免采用上拉電阻,與AT89C52的P2、P3口相連,按行列顯示按鍵,靜態(tài)顯示,顯示無(wú)閃爍,亮度較高,軟件控制較容易。
圖3-4 STC89C52芯片
(1)8位CPU
(2)數(shù)據(jù)存儲(chǔ)器(256RAM)程序存儲(chǔ)器(8KB Flash ROM)
(3)4個(gè)八位可編程并行I/O口(P0口、P1口、P2口、P3口)
(4)3個(gè)可編程的16位定時(shí)器/計(jì)數(shù)器(T0、T1、T2)
(5)1個(gè)全雙工的通用異步收發(fā)串行口(UART)
(6) 中斷系統(tǒng)具有6個(gè)中斷源、6個(gè)中斷向量
(8)1個(gè)看門狗定時(shí)器(WDT)
四 軟件設(shè)計(jì)
4.1程序流程圖
(在51hei附件里面)
圖4-1 總程序流程圖
圖4-3 鍵盤掃描流程圖
5.1仿真結(jié)果截圖
圖5-1 初始狀態(tài)數(shù)碼管顯示為“00”
圖5-2 第三行第四列按鍵按下,顯示為“34”
圖5-3 第三行第二列按鍵按下,顯示為“32”
圖5-4 第四行第三列按鍵按下,顯示為“43”
在用C語(yǔ)言進(jìn)行編程的時(shí)候,也遇見了許多的問題,各種函數(shù)的調(diào)用,實(shí)體名、變量名的定義,通過(guò)對(duì)C語(yǔ)言課本的查閱,在老師的幫助下都解決了。
6.2課程設(shè)計(jì)總結(jié)
通過(guò)本次課程設(shè)計(jì),我運(yùn)用所學(xué)知識(shí),完成了整個(gè)課程設(shè)計(jì)的內(nèi)容,從電路原理圖的設(shè)計(jì)到硬件電路圖的連接,再到程序的編寫、電路原理圖的仿真,最后通過(guò)焊接完成了實(shí)物的設(shè)計(jì),在這次課程設(shè)計(jì)中,運(yùn)用了許多課程的內(nèi)容,通過(guò)查閱資料,以及與同學(xué)的探討,最終完成了4×4鍵盤的設(shè)計(jì)及按鍵的顯示。
通過(guò)本次單片機(jī)與接口課程設(shè)計(jì),我學(xué)會(huì)了使用proteus軟件和keil軟件,基本上完成了所設(shè)計(jì)的課題,設(shè)計(jì)出了4×4鍵盤的接口,并且在兩個(gè)數(shù)碼管上能夠顯示鍵盤所在的行值與列值。通過(guò)本次課設(shè),首先,使我能夠綜合運(yùn)用《單片機(jī)技術(shù)原理與應(yīng)用》、《DSP原理與應(yīng)用》《C語(yǔ)言程序設(shè)計(jì)》以及《數(shù)字電路》、《模擬電路》等課程中學(xué)到的知識(shí)做一些電路的仿真,其次,使我對(duì)C語(yǔ)言有了更好的掌握和運(yùn)用,用其進(jìn)行軟件編程更加得心應(yīng)手。初步掌握了keil 和proteus等軟件,可以用C語(yǔ)言編寫一個(gè)完整的程序,并且能夠在proteus中完成電路圖的設(shè)計(jì),且能夠使程序與電路圖吻合,達(dá)到設(shè)計(jì)的目的,實(shí)現(xiàn)設(shè)計(jì)的要求,本次課設(shè)使我了解單片機(jī)接口應(yīng)用開發(fā)的全過(guò)程:分析需求、設(shè)計(jì)原理圖、選用元器件、布線、編程、調(diào)試、撰寫報(bào)告等。
6.3收獲和體會(huì)
這次課設(shè),使我認(rèn)識(shí)到:無(wú)論是設(shè)計(jì)硬件電路還是編寫相應(yīng)的軟件程序,我們應(yīng)該極其認(rèn)真的進(jìn)行設(shè)計(jì),在這個(gè)過(guò)程中哪怕是出現(xiàn)一個(gè)小小的錯(cuò)誤,都會(huì)導(dǎo)致不能仿真出正確的結(jié)果甚至根本不會(huì)出結(jié)果。本專業(yè)要求我們應(yīng)該有基本的專業(yè)知識(shí)和較強(qiáng)的動(dòng)手操作能力。因此能夠熟練使用proteus和keil等軟件對(duì)于我們未來(lái)的就業(yè)非常重要。本次課設(shè)僅僅使我們對(duì)proteus和keil等軟件有了一個(gè)簡(jiǎn)單的了解,我們應(yīng)該利用業(yè)余時(shí)間了解一些對(duì)我們專業(yè)有用的軟件,做到能夠掌握并熟練使用。課余時(shí)間多多做一些電路的仿真,這對(duì)我們將來(lái)找工作有很大的方便。
通過(guò)這次課程設(shè)計(jì)我發(fā)現(xiàn)了自己有很大的不足,書本上的知識(shí)固然重要,但是真正應(yīng)用到實(shí)際當(dāng)中才是最主要的,F(xiàn)在學(xué)習(xí)專業(yè)知識(shí),只是為運(yùn)用到實(shí)際中打下堅(jiān)實(shí)的基礎(chǔ),我們應(yīng)該多鍛煉自己的動(dòng)手能力,多練習(xí)自己的焊接技術(shù)、排版能力、接線技巧等,這對(duì)以后的工作將會(huì)是一個(gè)巨大的幫助,通過(guò)本次課程設(shè)計(jì),對(duì)我各方面都具有一定的影響,在以后的學(xué)習(xí)生活中,我會(huì)更加努力的去學(xué)習(xí)各種關(guān)于專業(yè)的知識(shí),充實(shí)自己,使自己有充分的的提高。
參考文獻(xiàn)
[1] 張毅剛. 單片機(jī)原理及應(yīng)用 [M]. 北京:高等教育出版社,2016
[2] 陳峰. DSP原理與系統(tǒng)設(shè)計(jì) [M]. 北京:電子工業(yè)出版社,2010
[3] 張敏霞. C語(yǔ)言程序設(shè)計(jì)教程 [M]. 北京:電子工業(yè)出版社,2013
[4] 閆石. 數(shù)字電子技術(shù)基礎(chǔ) [M]. 北京: 高等教育出版社,1998
[5] 童詩(shī)白. 模擬電子技術(shù)基礎(chǔ) [M]. 北京: 高等教育出版社,2015
教師評(píng)語(yǔ): |
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |