

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科生畢業(yè)設(shè)計(jì)任務(wù)書(論文)任務(wù)書</p><p> 學(xué)生姓名 專業(yè)班級(jí) </p><p> 指導(dǎo)教師 工作單位 </p><p> 設(shè)計(jì)(論文)題目: 基于單片機(jī)的交通信息顯示系統(tǒng)設(shè)計(jì) </p><p> 設(shè)計(jì)(論文)主
2、要內(nèi)容:</p><p> 明確設(shè)計(jì)目的、意義以及國(guó)內(nèi)外研究現(xiàn)狀,通過(guò)單片機(jī)、LED以及相應(yīng)的按鍵實(shí)現(xiàn)功能。重點(diǎn)闡述系統(tǒng)方案論證,系統(tǒng)硬件電路工作原理、軟件設(shè)計(jì)原理和調(diào)試原理。優(yōu)化實(shí)現(xiàn)方案。</p><p> 要求完成的主要任務(wù):</p><p> 1、用匯編語(yǔ)言或者C語(yǔ)言編寫出LED顯示系統(tǒng)的相關(guān)程序;</p><p> 2、通過(guò)單
3、片機(jī)、LED顯示屏以及相關(guān)的按鍵實(shí)現(xiàn)功能,包括單片機(jī)的選型,LED點(diǎn)陣的選擇,驅(qū)動(dòng)電路,顯示電路等硬件設(shè)計(jì)及相應(yīng)的驅(qū)動(dòng)程序設(shè)計(jì);</p><p> 3、用protues或其他軟件完成系統(tǒng)仿真,并完成硬件的調(diào)試;</p><p> 4、根據(jù)畢業(yè)設(shè)計(jì)有關(guān)規(guī)范撰寫畢業(yè)論文,要求字?jǐn)?shù)不少于12000字,中文參考文獻(xiàn)不少于15篇,其中英文文獻(xiàn)不少于2篇;</p><p>
4、 5、翻譯與選題相關(guān)的英文參考文獻(xiàn)原文字符數(shù)不得少于20000,翻譯成中文字?jǐn)?shù)不得少于5000字;</p><p> 6、完成設(shè)計(jì)圖紙不少于12幅。</p><p><b> 參考文獻(xiàn):</b></p><p> 1、郭天祥.新概念51單片機(jī)C語(yǔ)言教程——入門、提高、開(kāi)發(fā)、拓展[M],電子工業(yè)出版社,2009,1.</p>
5、<p> 2、靳桅.基于51系列單片機(jī)的LED顯示屏開(kāi)發(fā)技術(shù)(第二版)[M].北京:航空航天大學(xué)出版社.2011.</p><p> 3、Jeyamkondan S,Jayas D S,Holly R A.16x16 dot matrix LED has 4mm profile. Electronics Weekly,11/26/2003 Issue 2125,36-36,1/9p,1c;(AN
6、11842012).</p><p> 指導(dǎo)教師簽名: 系主任簽名: </p><p><b> 院長(zhǎng)簽名(章) </b></p><p> 本科生畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告</p><p><b> 目錄</b></p>
7、<p><b> 摘要I</b></p><p> AbstractII</p><p><b> 1 緒論1</b></p><p> 1.1 LED研究背景及意義1</p><p> 1.2 LED技術(shù)研究現(xiàn)狀1</p><p> 1.
8、3課題研究?jī)?nèi)容3</p><p> 2 系統(tǒng)要求及方案論證4</p><p> 2.1設(shè)計(jì)主框圖4</p><p> 2.2顯示模塊方案論證5</p><p> 2.3數(shù)據(jù)傳輸模塊5</p><p> 2.4芯片的選擇6</p><p> 3系統(tǒng)硬件電路的設(shè)計(jì)7<
9、/p><p> 3.1 系統(tǒng)硬件整體電路7</p><p> 3.2單片機(jī)系統(tǒng)及外圍電路7</p><p> 3.3列驅(qū)動(dòng)模塊8</p><p> 3.4 行驅(qū)動(dòng)模塊10</p><p> 3.5 LED點(diǎn)陣模塊11</p><p> 4 系統(tǒng)程序的設(shè)計(jì)13</p>
10、;<p> 4.1顯示驅(qū)動(dòng)程序13</p><p><b> 4.2主程序15</b></p><p><b> 5 調(diào)試結(jié)果19</b></p><p> 5.1 軟件開(kāi)發(fā)環(huán)境簡(jiǎn)介19</p><p> 5.2 軟件調(diào)試19</p><p>
11、; 5.3 硬件調(diào)試20</p><p> 6 總結(jié)與展望24</p><p><b> 6.1 總結(jié)24</b></p><p><b> 6.2 展望24</b></p><p><b> 參考文獻(xiàn)26</b></p><p>&
12、lt;b> 致謝27</b></p><p><b> 摘要</b></p><p> 隨著城市化建設(shè)和交通事業(yè)的飛速發(fā)展,在智能交通系統(tǒng)的研究和發(fā)展中,交通信息顯示系統(tǒng)是解決交通擁擠、保證交通安全、提高交通網(wǎng)絡(luò)使用效率的不可缺少的重要部分。</p><p> 本設(shè)計(jì)是一16*16點(diǎn)陣LED電子顯示屏的設(shè)計(jì)。功能為P
13、C機(jī)通過(guò)串口輸入要顯示的交通信息,然后在點(diǎn)陣中正確顯示。整機(jī)以40引腳單片機(jī)STC89C52為核心,介紹了以它為控制系統(tǒng)的LED點(diǎn)陣電子顯示屏的動(dòng)態(tài)設(shè)計(jì)和開(kāi)發(fā)過(guò)程。驅(qū)動(dòng)部份由兩個(gè)移位存儲(chǔ)器的74HC595和兩個(gè)移位寄存器74HC164組成,74HC595負(fù)責(zé)列掃描數(shù)據(jù),74HC164負(fù)責(zé)行掃描數(shù)據(jù)。列掃描采用三極管放大電流,加大掃描強(qiáng)度,提高點(diǎn)陣屏亮度。系統(tǒng)的設(shè)計(jì)重點(diǎn)為屏幕顯示。該電子顯示屏可以顯示各種文字或單色圖像,全屏能顯示1個(gè)漢字
14、,采用4塊8×8點(diǎn)陣LED顯示模塊來(lái)組成16×16點(diǎn)陣顯示模式。顯示采用動(dòng)態(tài)顯示,由四個(gè)按鍵控制,使得圖形或文字能夠?qū)崿F(xiàn)上移、右移等多種顯示方式。</p><p> 文中詳細(xì)介紹了LED點(diǎn)陣顯示的硬件設(shè)計(jì)思路、硬件電路各個(gè)部分的功能及原理、相應(yīng)軟件的程序設(shè)計(jì)以及相關(guān)芯片選擇論證及使用說(shuō)明等。由于C語(yǔ)言語(yǔ)句比匯編語(yǔ)句在功能上結(jié)構(gòu)性、可續(xù)性、可維護(hù)性上有明顯的優(yōu)勢(shì),所以單片機(jī)控制系統(tǒng)程序采用C語(yǔ)
15、言程序進(jìn)行編輯,通過(guò)編程控制各顯示點(diǎn)對(duì)應(yīng)LED陽(yáng)極和陰極端的電平,就可以有效的控制各顯示點(diǎn)的亮滅。所顯示字符的點(diǎn)陣數(shù)據(jù)可以自行編寫(即直接點(diǎn)陣畫圖),也可從標(biāo)準(zhǔn)字庫(kù)中提取。經(jīng)實(shí)踐證明,該系統(tǒng)顯示誤差小,性能穩(wěn)定,結(jié)構(gòu)合理,擴(kuò)展能力強(qiáng)。</p><p> 關(guān)鍵詞:STC89C52單片機(jī); LED;點(diǎn)陣顯示;動(dòng)態(tài)顯示;C語(yǔ)言</p><p><b> Abstract</b
16、></p><p> With the rapid development of urbanization construction and the cause of the traffic, in the research and development of intelligent transportation systems, traffic information display system i
17、n solving the traffic congestion, guarantee traffic safety, increasing the service efficiency of traffic network plays an important role. </p><p> This design is a 16 × 16 dot matrix LED electronic dis
18、play designs. The function is PC machine input traffic information to display through the serial port, and displayed correctly in the lattice .40-pin MCU STC89C52 machine core, introduced to it as the control system of L
19、ED electronic display of dynamic lattice design and development process. Drive part by the the two memory 74HC595 shift and the two shift registers 74HC164. 74HC595 responsible for column scanning data, the 74HC164 is re
20、sponsi</p><p> This paper introduces in detail the LED dot matrix display hardware design, hardware circuit of each part of the function and principle, the corresponding software program design and chip sel
21、ection demonstration and instructions for use. Because the C language statement than assembly language statement in the function structure, sustainable, maintenance has the obvious advantage of single-chip microcomputer
22、control system, so the edit program using C language program, programming controlled by t</p><p> Key word: STC89C52 MCU; LED; dot-matrix display; dynamic display; C language</p><p><b>
23、1 緒論</b></p><p> 發(fā)光二極管(LED)是60年代末發(fā)展起來(lái)的一種半導(dǎo)體顯示器件,70年代,隨著半導(dǎo)體材料合成技術(shù)、單晶制造技術(shù)和P-N結(jié)形成技術(shù)的研究進(jìn)展,LED在發(fā)光顏色、亮度等性能方面大大提高并迅速實(shí)現(xiàn)了批量化和實(shí)用化。進(jìn)入80 年代后,LED在發(fā)光波長(zhǎng)范圍和性能方面進(jìn)一步提高,并開(kāi)始形成平板顯示產(chǎn)品,即LED顯示屏。近年高亮度、大功率LED器件發(fā)展迅速,半導(dǎo)體照明時(shí)
24、代正在向我們走近。[1]</p><p> 1.1 LED研究背景及意義</p><p> 在LED顯示屏的眾多應(yīng)用中,交通信息顯示是最重要的應(yīng)用領(lǐng)域。</p><p> 隨著城市化建設(shè)和交通事業(yè)的飛速發(fā)展,在智能交通系統(tǒng)的研究和發(fā)展中,交通信息顯示系統(tǒng)是解決交通擁擠、保證交通安全、提高交通網(wǎng)絡(luò)使用效率的不可缺少的重要部分,如在道路上安裝可變交通信息顯示牌,對(duì)
25、行駛在道路上的車輛進(jìn)行限速、引導(dǎo)、合理分流,將大大降低由于氣候、路況、時(shí)段等原因造成的交通堵塞、車禍,能有效的提高車流量。而隨著LED顯示技術(shù)的發(fā)展,LED顯示產(chǎn)品在交通信息顯示領(lǐng)域得到了非常廣泛的應(yīng)用。[1]</p><p> 不同類型的交通運(yùn)輸方式和交通領(lǐng)域,智能化信息服務(wù)系統(tǒng)的具體構(gòu)成有所側(cè)重和不同。智能化信息服務(wù)系統(tǒng)主要用于如民航系統(tǒng)的航班信息查詢系統(tǒng)、民航售票系統(tǒng)、航班動(dòng)態(tài)信息顯示系統(tǒng)、候機(jī)樓自動(dòng)廣播
26、系統(tǒng)、綜合查詢系統(tǒng)等;鐵路運(yùn)輸?shù)蔫F路聯(lián)網(wǎng)售票系統(tǒng)、鐵路車站旅客引導(dǎo)系統(tǒng)、列車到發(fā)通告系統(tǒng)、貨物運(yùn)輸通告及查詢系統(tǒng)等;高速公路的可變情報(bào)板、可變限速標(biāo)志、道路通行服務(wù)系統(tǒng)(氣象信息等)等;城市交通的交通誘導(dǎo)系統(tǒng)、交通管理綜合查詢系統(tǒng)、交通信息對(duì)外發(fā)布系統(tǒng)等。</p><p> 智能化交通信息服務(wù)的主要表現(xiàn)形式是通過(guò)各種信息顯示設(shè)備將交通信息實(shí)時(shí)發(fā)布顯示,常見(jiàn)的顯示設(shè)備包括LED顯示屏、LCD顯示屏、CRT顯示屏、
27、PDP顯示屏、DLP顯示屏等。</p><p> 現(xiàn)代信息顯示技術(shù)的發(fā)展,形成了CRT、LCD、PDP、LED、EL、DLP等系列的信息顯示產(chǎn)品。從實(shí)用市場(chǎng)來(lái)講,14英寸以下是LCD占主導(dǎo)地位,14-32英寸以CRT為主導(dǎo),40-70英寸甚至100英寸是PDP的市場(chǎng),100英寸以上,無(wú)論是室內(nèi)還是室外,LED顯示屏以絕對(duì)優(yōu)勢(shì)成為主流產(chǎn)品。[2]</p><p> 1.2 LED技術(shù)研究
28、現(xiàn)狀</p><p> 在我國(guó)交通運(yùn)輸行業(yè)中,相對(duì)來(lái)說(shuō),機(jī)場(chǎng)航班動(dòng)態(tài)信息顯示系統(tǒng)在系統(tǒng)構(gòu)成、顯示終端等方面總體上比較領(lǐng)先;鐵路旅客引導(dǎo)信息顯示系統(tǒng)的起步比較早,顯示手段傳統(tǒng)上以LED和CRT為主,近年來(lái)發(fā)展迅速,系統(tǒng)與客運(yùn)自動(dòng)化系統(tǒng)聯(lián)網(wǎng),表現(xiàn)出優(yōu)良的智能化水平;道路交通誘導(dǎo)系統(tǒng)正在迅速興起,處于發(fā)展和完善過(guò)程中,由于道路交通的環(huán)境特點(diǎn),LED顯示成為主要的信息顯示手段。[2]</p><p&
29、gt; LED顯示在交通誘導(dǎo)中的應(yīng)用日趨廣泛并向多樣化發(fā)展。道路交通誘導(dǎo)系統(tǒng)的作用是根據(jù)道路交通狀態(tài)或管理部門指令,及時(shí)顯示各種通告和相關(guān)信息,從而有效地對(duì)交通流進(jìn)行誘導(dǎo),合理地控制和均衡交通流分布,提高現(xiàn)有道路的使用率,為駕駛?cè)藛T安全快速行車提供良好的服務(wù)。交通誘導(dǎo)系統(tǒng)中,誘導(dǎo)信息發(fā)布根據(jù)信息接收者的不同,分為面向個(gè)體和面向群體兩種。面向個(gè)體的交通誘導(dǎo)信息一般通過(guò)出行者的車載設(shè)備接收,車載設(shè)備中包括了GPS(全球衛(wèi)星定位系統(tǒng))定位、
30、導(dǎo)航儀等裝置。面向群體的誘導(dǎo)信息發(fā)布方式有交通誘導(dǎo)室外LED顯示屏、可變交通標(biāo)識(shí)標(biāo)志、廣播、電視、因特網(wǎng)、電話等。其中,比較有效的手段是交通廣播和安裝在道路上的交通誘導(dǎo)室外LED顯示屏及可變交通標(biāo)志,這也是目前廣為發(fā)展和普遍采用的交通誘導(dǎo)信息對(duì)外發(fā)布的主要方式。面向公眾的交通誘導(dǎo)信息一般是在室外環(huán)境下發(fā)布的。由于LED顯示的高亮度特點(diǎn),因此成為交誘導(dǎo)信息的主要發(fā)布載體。常見(jiàn)的交通誘導(dǎo)LED顯示方式有交通誘導(dǎo)LED顯示屏(可變情報(bào)板)、交
31、通誘導(dǎo)路徑顯示牌、停車指示牌、可變標(biāo)識(shí)標(biāo)志等。</p><p> 材料技術(shù)的不斷提升,拓寬了LED的應(yīng)用范圍。交通領(lǐng)域LED顯示的應(yīng)用,有以下幾個(gè)方面。</p><p> (1) 交通信號(hào)燈市場(chǎng)需求旺盛。超高亮、大功率的LED器件,在城市交通信號(hào)燈中已得到廣泛應(yīng)用。LED信號(hào)燈以其高亮度、高可靠性、低使用成本、長(zhǎng)壽命等特點(diǎn),得到城市交通管理部門的青睞。隨著城市化進(jìn)程和道路市政建設(shè)的發(fā)展
32、,新建交通路口數(shù)量不斷增加,目前使用的傳統(tǒng)交通信號(hào)燈正在被LED信號(hào)燈替換。預(yù)測(cè)國(guó)內(nèi)道路交通LED信號(hào)燈市場(chǎng)約有幾十億元。另外,公路車道指示燈、機(jī)場(chǎng)、鐵路、航運(yùn)等領(lǐng)域的信號(hào)、標(biāo)識(shí)類用燈,也有很大的市場(chǎng)潛力。</p><p> (2) 公路LED可變情報(bào)板、可變限速標(biāo)志等產(chǎn)品已發(fā)展成為公路建設(shè)中的規(guī)范化和標(biāo)準(zhǔn)化產(chǎn)品。現(xiàn)有的道路需要補(bǔ)充完善,新建的道路有標(biāo)準(zhǔn)規(guī)范的要求,相關(guān)產(chǎn)品的行業(yè)標(biāo)準(zhǔn)也已正式發(fā)布實(shí)施。預(yù)計(jì)每年公
33、路可變情報(bào)板、可變限速標(biāo)志等顯示類產(chǎn)品的市場(chǎng)在3-5億元左右。</p><p> (3) 汽車領(lǐng)域應(yīng)用。據(jù)研究統(tǒng)計(jì),LED用作汽車主剎車燈時(shí)的響應(yīng)時(shí)間比傳統(tǒng)的白熾燈要快80ns,在高速公路上行駛會(huì)增加4~6m的安全距離。由于LED具有良好的抗震性能、節(jié)電、綠色環(huán)保等特點(diǎn),汽車照明、燈飾等方面的應(yīng)用前景看好。目前國(guó)內(nèi)外許多品牌的汽車制造商已經(jīng)在開(kāi)始采用LED剎車燈、儀表燈和照明燈。</p><
34、p> (4) 城市道路交通誘導(dǎo)、標(biāo)識(shí)標(biāo)志等在逐步擴(kuò)大。道路交通誘導(dǎo)LED顯示在各個(gè)城市都在迅速增長(zhǎng),產(chǎn)品技術(shù)發(fā)展迅速。在產(chǎn)品類型方面,交通誘導(dǎo)LED顯示屏目前仍為主流產(chǎn)品,但各種簡(jiǎn)單、經(jīng)濟(jì)、實(shí)用的可變交通信息標(biāo)識(shí)標(biāo)志類產(chǎn)品將會(huì)發(fā)展普及并形成主導(dǎo)。 </p><p> (5) 北京2008奧運(yùn)會(huì)、上海2010世博會(huì)帶來(lái)發(fā)展的契機(jī)。2008年北京奧運(yùn)會(huì)和2010年上海世博會(huì)的舉辦,為L(zhǎng)ED顯示帶來(lái)巨大商機(jī)。
35、</p><p> 在城市交通領(lǐng)域,LED顯示的市場(chǎng)將會(huì)有顯著擴(kuò)大。同時(shí),半導(dǎo)體照明的發(fā)展,也將為LED顯示產(chǎn)業(yè)的總體提升帶來(lái)新的發(fā)展機(jī)遇。[2]</p><p><b> 1.3課題研究?jī)?nèi)容</b></p><p> 本設(shè)計(jì)是1個(gè)16*16點(diǎn)陣LED電子顯示屏的設(shè)計(jì)。利用單片機(jī)對(duì)整個(gè)系統(tǒng)進(jìn)行總體控制,進(jìn)行顯示所要顯示的漢字和字符。其中顯
36、示字模數(shù)據(jù)有單片機(jī)輸入顯存,點(diǎn)陣的點(diǎn)亮過(guò)程有程序控制,由驅(qū)動(dòng)電路完成。點(diǎn)陣采用單色顯示,該顯示器電路的特點(diǎn)是:點(diǎn)陣的動(dòng)態(tài)顯示過(guò)程占用時(shí)間比較短,亮度均勻。</p><p> 整體電路以美國(guó)ATMEL公司生產(chǎn)的40腳單片機(jī)AT89C52為核心,介紹了以它為控制系統(tǒng)的LED點(diǎn)陣電子顯示屏的動(dòng)態(tài)設(shè)計(jì)和開(kāi)發(fā)過(guò)程。通過(guò)該芯片控制一個(gè)行驅(qū)動(dòng)器74HC164和2個(gè)列驅(qū)動(dòng)器74HC595來(lái)驅(qū)動(dòng)顯示屏顯示。該電子顯示屏可以顯示各
37、種文字或單色圖像,全屏顯示1個(gè)漢字,采用4塊8 * 8點(diǎn)陣LED顯示模塊來(lái)組成1個(gè)16x16點(diǎn)陣顯示模式。顯示采用動(dòng)態(tài)顯示,使得圖形或文字能夠?qū)崿F(xiàn)靜止、移入移出等多種顯示方式。文中詳細(xì)介紹了LED點(diǎn)陣顯示的硬件設(shè)計(jì)思路、硬件電路各個(gè)部分的功能及原理、相應(yīng)軟件的程序設(shè)計(jì),以及使用說(shuō)明等。</p><p> 2 系統(tǒng)要求及方案論證</p><p> 本方案設(shè)計(jì)一個(gè)電子顯示屏,具體要求滿足以
38、下條件:</p><p> (1) 設(shè)計(jì)并制作一個(gè)基于單片機(jī)的簡(jiǎn)易16 *16點(diǎn)陣顯示的LED電子顯示屏。</p><p> (2) 利用串口通訊可以實(shí)現(xiàn)從電腦上發(fā)送漢字和字符,并在點(diǎn)陣屏上顯示出來(lái)。</p><p> (3) 在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足、穩(wěn)定、清晰無(wú)串?dāng)_。</p><p> (4) 能顯示一組特定漢字
39、組成的句子,通過(guò)控制器切換顯示內(nèi)容,并具有掉電保護(hù)功能。</p><p> 電路大致上可以分成單片機(jī)系統(tǒng)及外圍電路、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路三部分。</p><p><b> 2.1設(shè)計(jì)主框圖</b></p><p> 設(shè)計(jì)主要框圖如圖1所示。</p><p> 圖1 硬件設(shè)計(jì)主框圖</p><
40、p> 本設(shè)計(jì)是一個(gè)用LED點(diǎn)陣顯示16*16點(diǎn)陣漢字,顯示屏長(zhǎng)和高均為一個(gè)漢字??偣诧@示“當(dāng)前時(shí)間、溫度、可見(jiàn)度”等漢字從左到右或者從下到上。設(shè)計(jì)思路,實(shí)現(xiàn)漢字朝固定方向滾動(dòng)顯示這一動(dòng)作而且給人以連續(xù)顯示不閃爍的感覺(jué),就必須要求每幀的頻率大于25HZ。將點(diǎn)陣顯示屏逐行顯示,由于人眼惰性,在很短的時(shí)間下從上到下將點(diǎn)陣逐行點(diǎn)亮,就會(huì)使人感覺(jué)一整屏在顯示。采用的是8*8的LED點(diǎn)陣,8個(gè)共陽(yáng)極COM端(A1~A8),每一個(gè)公共端都對(duì)應(yīng)
41、一列的LED共8只。本設(shè)計(jì)的屏幕需要4塊的LED點(diǎn)陣。</p><p> 用單片機(jī)STC89C52單片機(jī)作為本系統(tǒng)的控制模塊。單片機(jī)可把由按鍵讀來(lái)的數(shù)據(jù)利用軟件來(lái)進(jìn)行解碼處理,從而把數(shù)據(jù)傳輸?shù)津?qū)動(dòng)模塊(列驅(qū)動(dòng)器和行驅(qū)動(dòng)器),實(shí)現(xiàn)文字的顯示。點(diǎn)陣電子顯示屏為主要的顯示模塊,把單片機(jī)傳來(lái)的數(shù)據(jù)顯示出來(lái),并且可以實(shí)現(xiàn)滾動(dòng)顯示。在顯示過(guò)程中,可以根據(jù)要求用按鍵來(lái)對(duì)顯示屏實(shí)時(shí)的選擇與切換。</p><
42、p> 2.2顯示模塊方案論證</p><p> 顯示模塊是本次設(shè)計(jì)最核心的部分,對(duì)于8*8LED點(diǎn)陣顯示有以下兩種方案:</p><p> 方案一:靜態(tài)顯示,從理論上說(shuō),不論顯示圖形還是文字,只要控制與組成這些圖形或文字的各個(gè)點(diǎn)所在的位置相對(duì)應(yīng)的LED器件發(fā)光,就可以得到我們想要的顯示結(jié)果。將一幀圖像中的每一個(gè)二極管的狀態(tài)分別用0和1表示,若為0 ,則表示LED無(wú)電流,即暗狀態(tài)
43、;若為1則表示二極管被點(diǎn)亮。若給每一個(gè)發(fā)光二極管一個(gè)驅(qū)動(dòng)電路,一幅畫面輸入以后,所有LED的狀態(tài)保持到下一幅畫。16*16的點(diǎn)陣共有256個(gè)發(fā)光二極管,顯然單片機(jī)沒(méi)有這么多的端口,如果我采用鎖存器來(lái)擴(kuò)展端口,按8位的鎖存器來(lái)計(jì)算,16*16的點(diǎn)陣需要256/8=32個(gè)鎖存器。這個(gè)數(shù)字很龐大,因?yàn)槲覀儍H僅是16*16的點(diǎn)陣,在實(shí)際應(yīng)用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個(gè)很龐大的數(shù)字。</p><p&g
44、t; 方案二:動(dòng)態(tài)顯示,對(duì)一幅畫面進(jìn)行分割,對(duì)組成畫面的各部分分別顯示,是動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式,可以避免靜態(tài)顯示的問(wèn)題。但設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,閃爍問(wèn)題。因此合理的設(shè)計(jì)既應(yīng)保證驅(qū)動(dòng)電路易實(shí)現(xiàn),又要保證圖像穩(wěn)定,無(wú)閃爍。動(dòng)態(tài)掃描的意思簡(jiǎn)單地說(shuō)就是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行(比如16行)的同名列共用一套驅(qū)動(dòng)器。具體就16*16的點(diǎn)陣來(lái)說(shuō),把所有同一行的發(fā)光管的陽(yáng)極連在一起,把所有同一列的發(fā)光管的陰極連在
45、一起(共陽(yáng)極的接法),先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第一行使其燃亮一定時(shí)間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其點(diǎn)亮相同的時(shí)間,然后熄滅;以此類推,第十六行之后,又重新燃亮第一行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺(jué)暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的圖形了。我們通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)掃描刷新頻率(發(fā)光二極管的停閃頻率)為50Hz, 發(fā)光二極管導(dǎo)通時(shí)間≥1ms時(shí),顯示亮度較好,無(wú)
46、閃爍感。 </p><p> 鑒于上述原因, 我采用方案二。 </p><p><b> 2.3數(shù)據(jù)傳輸模塊</b></p><p> 顯然,采用并行方式時(shí),從控制電路到列驅(qū)動(dòng)器的線路數(shù)量大,相應(yīng)的硬件數(shù)目多。當(dāng)列數(shù)很多時(shí),并列傳輸?shù)姆桨甘遣豢扇〉摹?lt;/p><p> 采用串行傳輸?shù)姆椒?,控制電路可以只用一根?/p>
47、號(hào)線,將列數(shù)據(jù)一位一位傳往列驅(qū)動(dòng)器,在硬件方面無(wú)疑是十分經(jīng)濟(jì)的。但是,串行傳輸過(guò)程較長(zhǎng),數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動(dòng)器,只有當(dāng)一行的各列數(shù)據(jù)都以傳輸?shù)轿恢?,這一行的各列才能并行地進(jìn)行顯示。這樣,對(duì)于一行的顯示過(guò)程就可以分解成列數(shù)據(jù)準(zhǔn)備(傳輸)和列數(shù)據(jù)顯示兩部分。對(duì)于串行傳輸方式來(lái)說(shuō),列數(shù)據(jù)準(zhǔn)備時(shí)間可能相當(dāng)長(zhǎng),在行掃描周期確定的情況下留給行顯示的時(shí)間就太少,以致影響到LED的亮度。</p><p> 解決串
48、行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時(shí)間矛盾問(wèn)題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一列數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存功能。經(jīng)過(guò)上述分析,就可以歸納出列驅(qū)動(dòng)器電路應(yīng)具有的功能。對(duì)于列數(shù)據(jù)準(zhǔn)備來(lái)說(shuō),它應(yīng)能實(shí)現(xiàn)串入并處的移位功能;對(duì)于列數(shù)據(jù)顯示來(lái)說(shuō),應(yīng)具有并行鎖存的功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進(jìn)行顯示時(shí),串并移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會(huì)影響本行的顯示。</p&
49、gt;<p><b> 2.4芯片的選擇</b></p><p> 方案一:采用時(shí)分復(fù)用的方法,把橫引腳直接接到單片機(jī)的I/O口上,但如果做到點(diǎn)陣做得比較長(zhǎng)時(shí),用得比較多的I/O口,而且隨著點(diǎn)陣的長(zhǎng)度增加而增加。</p><p> 方案二:采用串口輸入并口輸出的方法,主要用到芯片是74HC595和74HC164,此方案是由74HC595輸出字碼74
50、HC164作選通。由于74HC595是串口輸入并口輸出而且可以多塊芯片級(jí)聯(lián),所要的I/O線比較少并不隨便顯示長(zhǎng)度的增長(zhǎng)而增多。</p><p> 基于以上分析,選用方案二。</p><p> 3系統(tǒng)硬件電路的設(shè)計(jì)</p><p> 硬件設(shè)計(jì)以40引腳單片機(jī)STC89C52為核心,介紹了以它為控制系統(tǒng)的LED點(diǎn)陣電子顯示屏的動(dòng)態(tài)設(shè)計(jì)和開(kāi)發(fā)過(guò)程。驅(qū)動(dòng)部份由兩個(gè)移位
51、存儲(chǔ)器的74HC595和兩個(gè)移位寄存器74HC164組成,74HC595負(fù)責(zé)列掃描數(shù)據(jù),74HC164負(fù)責(zé)行掃描數(shù)據(jù)。</p><p> 3.1 系統(tǒng)硬件整體電路</p><p> 整體電路大致上可以分成單片機(jī)系統(tǒng)及外圍電路、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路三部分。整體電路如下圖2所示。</p><p> 圖2 系統(tǒng)整體電路</p><p>
52、 通入5V的直流電,送到單片機(jī)、74HC595的電源端,單片機(jī)開(kāi)始工作。單片機(jī)的P1、P3口輸出低電平,輸?shù)近c(diǎn)陣的列信號(hào)就是高電平,這樣于74HC595相連的的輸入點(diǎn)必須有低電平輸出否則就不會(huì)有燈亮,單片機(jī)工作對(duì)點(diǎn)陣的掃描順序是先從P1.0開(kāi)始,P3.0、3.1、3.2控制74HC595的輸入端,先給左面的74HC595導(dǎo)通再控制74HC595導(dǎo)通,這樣從上到下從左到右依次掃描,根據(jù)程序中輸入的字型碼來(lái)顯示出所設(shè)定的字。</p&g
53、t;<p> 因?yàn)槭袌?chǎng)上買不到16*16的點(diǎn)陣顯示屏,所以在現(xiàn)實(shí)中,硬件部分采用了4塊8*8的點(diǎn)陣顯示屏來(lái)構(gòu)成一塊16*6 LED顯示屏。</p><p> 3.2單片機(jī)系統(tǒng)及外圍電路</p><p> 單片機(jī)采用MSC-51或其兼容系列芯片,采用24MHZ或更高頻率晶振,以獲得較高的刷新頻率,時(shí)期顯示更穩(wěn)定。單片機(jī)的串口與列驅(qū)動(dòng)器相連,用來(lái)顯示數(shù)據(jù)。P3口低3位與列驅(qū)
54、動(dòng)器相連,送出列選信號(hào);P2.0~P2.4口則用來(lái)發(fā)送控制信號(hào)。P0口和P1口空著,在有必要的時(shí)候可以擴(kuò)展系統(tǒng)的ROM和RAM。</p><p> 最小系統(tǒng)電路如下圖3.</p><p><b> 圖3單片機(jī)最小系統(tǒng)</b></p><p> 最小系統(tǒng)包括晶振電路和復(fù)位電路。</p><p> 晶振電路是單片機(jī)系
55、統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會(huì)不能工作;假如振蕩器運(yùn)行不規(guī)律,系統(tǒng)執(zhí)行程序的時(shí)候就會(huì)出現(xiàn)時(shí)間上的誤差,這在通信中會(huì)體現(xiàn)的很明顯:電路將無(wú)法通信。他是由一個(gè)晶振和兩個(gè)瓷片電容組成的,晶振和瓷片電容是沒(méi)有正負(fù)的,注意兩個(gè)瓷片電容相連的那端一定要接地。瓷片電容作用是濾波,防止雜波干擾晶振的正常工作。</p><p> 復(fù)位電路,給單片機(jī)一個(gè)復(fù)位信號(hào)一個(gè)一定時(shí)間的低電平)使程序從頭開(kāi)始執(zhí)行;一般有兩中復(fù)位
56、方式:上電復(fù)位,在系統(tǒng)一上電時(shí)利用電容兩端電壓不能突變的原理給系統(tǒng)一個(gè)短時(shí)的低電平;手動(dòng)復(fù)位,同過(guò)按鈕接通低電平給系統(tǒng)復(fù)位,這時(shí)如果手按著一直不放,系統(tǒng)將一直復(fù)位,不能正常工作,在這里我們需要注意用的電容是電解電容,是有正負(fù)的,如果接反了,他就會(huì)爆炸。[3]</p><p><b> 3.3列驅(qū)動(dòng)模塊</b></p><p> 列驅(qū)動(dòng)電路由集成電路74HC595構(gòu)
57、成。它具有8位移位寄存器和一個(gè)存儲(chǔ)寄存器,三態(tài)輸出的功能。而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,可以實(shí)現(xiàn)在顯示本列數(shù)據(jù)的同時(shí),傳送下一列數(shù)據(jù),既達(dá)到重疊處理的目的。</p><p> 數(shù)據(jù)在SHcp的上升沿輸入,在STcp的上升沿進(jìn)入存儲(chǔ)寄存器。移位寄存器有一個(gè)串行移位輸入(Ds)和一個(gè)串行輸出(Q7')。存儲(chǔ)寄存器有一個(gè)并行8位的具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出
58、到總線。</p><p> 74HC595引腳功能如表1所示。</p><p> 表1 74HC595引腳說(shuō)明</p><p> 列驅(qū)動(dòng)電路如圖4所示。</p><p><b> 圖4 列驅(qū)動(dòng)電路</b></p><p> 將2片74HC595進(jìn)行級(jí)連,可共用一個(gè)移位時(shí)鐘SCK及數(shù)據(jù)鎖存
59、信號(hào)RCK。這樣,當(dāng)?shù)谝恍行枰@示的數(shù)據(jù)經(jīng)過(guò)SCK時(shí)鐘后便可將其全 部移入74HC595中,此時(shí)還將產(chǎn)生一個(gè)數(shù)據(jù)鎖存信號(hào)RCK將數(shù)據(jù)鎖存在74HC595中,并在使能信號(hào)G的作用下,使串入數(shù)據(jù)并行輸出,從而使與各輸 出位對(duì)應(yīng)的場(chǎng)驅(qū)動(dòng)管處于放大或截止?fàn)顟B(tài);同時(shí)由行掃描控制電路產(chǎn)生信號(hào)使第一行掃描管導(dǎo)通,相當(dāng)于第一列LED的正端都接高,顯然,第一列LED管的亮滅就取決于74HC595中的鎖存信號(hào);此外,在第一行LED管點(diǎn)亮的同時(shí),再在74HC
60、595中移入第二列需要顯示的數(shù)據(jù),隨后將其鎖存,同時(shí)由列掃描控制電路將第一列掃描管關(guān)閉而接通第二列,使第二列LED管點(diǎn)亮,以此類推,當(dāng)?shù)谑袙呙柽^(guò)后再回到第一列,這樣,只要掃描速度足夠高,就可形成一幅完整的文字或圖像。</p><p><b> 3.4 行驅(qū)動(dòng)模塊</b></p><p> 由于4點(diǎn)陣顯示器有16行,為充分利用單片機(jī)的接口,本電路中加入了2個(gè)74
61、HC164,74HC164是高速硅門 CMOS 器件,與低功耗肖特基型 TTL (LSTTL) 器件的引腳兼容。74HC164是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過(guò)兩個(gè)輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個(gè)輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。引腳圖及引腳說(shuō)明如表2。</p><p> 時(shí)鐘
62、 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 , 是兩個(gè)數(shù)據(jù)輸入端(DSA 和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。</p><p> 主復(fù)位 (MR) 輸入端上的一個(gè)低電平將使其它所有輸入端都無(wú)效,同時(shí)非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。</p><p> 具體引腳功能如表2所示。</p><p> 表2 74HC164引
63、腳說(shuō)明</p><p> 在本驅(qū)動(dòng)電路中,用兩個(gè)74HC164串接,實(shí)現(xiàn)16位二進(jìn)制數(shù)的移位輸出,用于驅(qū)動(dòng)16×16LED點(diǎn)陣的“行”信號(hào)。由于通過(guò)單片機(jī)輸出的信號(hào)是低電平有效的信號(hào),而LED點(diǎn)陣的“行”連接的是16個(gè)LED的共陽(yáng)極,因此驅(qū)動(dòng)信號(hào)需要高電平,所以本電路的設(shè)計(jì)中通過(guò)PNP型三極管,將單片機(jī)輸出的有效信號(hào)經(jīng)過(guò)74HC164移位后,送到16個(gè)三極管的基極,三極管導(dǎo)通后,在三極管的集電極就可以
64、得到一個(gè)高電平信號(hào)。</p><p> 行驅(qū)動(dòng)電路如圖5所示。</p><p><b> 圖5 行驅(qū)動(dòng)電路</b></p><p> 芯片74HC164的8和1管腳即ysck與ysi 與單片機(jī)P3口相連接。單片機(jī)兩個(gè)I/O口分配給74HC164一個(gè)作為串行數(shù)據(jù)的輸出口,另一個(gè)作為74HC164的時(shí)鐘信號(hào)輸出口。</p>&l
65、t;p> 3.5 LED點(diǎn)陣模塊</p><p> 四個(gè)8×8的點(diǎn)陣構(gòu)成一個(gè)16×16的點(diǎn)陣。行和列的交叉處有一個(gè)LED,共由256個(gè)LED構(gòu)成,如果LED的陽(yáng)極與行相連,而陰極與列相連,那么只要給該LED對(duì)應(yīng)的行以高電平,列以低電平,那么對(duì)應(yīng)的LED就發(fā)光。</p><p> 點(diǎn)陣電路如圖6所示。</p><p> 圖6 4塊8
66、*8點(diǎn)陣電路</p><p> LED驅(qū)動(dòng)顯示采用動(dòng)態(tài)掃描方法,動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動(dòng)器。以16×16點(diǎn)陣為例,把所有同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽(yáng)極連在一起(共陰的接法),先送出對(duì)應(yīng)第1列發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1列使其燃亮一定的時(shí)間,然后熄滅;再送出第2列的數(shù)據(jù)并鎖存,然后選通第2列使其燃亮相同的時(shí)間,然后
67、熄滅;….第16列之后,又重新燃亮第1列,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺(jué)暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。[4]</p><p> 顯示數(shù)據(jù)可通過(guò)單片機(jī)的P0,,P2口接驅(qū)動(dòng)電路傳輸?shù)近c(diǎn)陣行引腳。</p><p> LED點(diǎn)陣顯示模塊進(jìn)行的方法有兩種:</p><
68、p> 1)水平方向(X方向)掃描,即逐列掃描的方式(簡(jiǎn)稱列掃描方式):此時(shí)用一個(gè)P口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個(gè)P口輸出行碼(列數(shù)據(jù)),決定該列上哪個(gè)LED亮(相當(dāng)于段碼)。能亮的列從左到右掃描完16列(相當(dāng)于位碼循環(huán)移動(dòng)16次)即顯示出一個(gè)完整的圖像。</p><p> 2)豎直方向(Y方向)掃描,即逐行掃描方式(簡(jiǎn)稱行掃描方式):此時(shí)用一個(gè)P口輸出決定哪一行能亮(相當(dāng)于位碼),另一
69、個(gè)P口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點(diǎn)陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些LED燈亮(相當(dāng)于段碼)。能亮的行從上向下掃描完16行(相當(dāng)于位碼循環(huán)移位16次)即顯示一幀完整的圖像。[4][5]</p><p> 行對(duì)應(yīng)的給LED的陽(yáng)極,先給第一行以高電平,如果送給16列的代碼為EFFF,則第一行的第4個(gè)LED被點(diǎn)亮,再給第二行以高電平,如果送給16列的代碼為EF07,則第二行的第4、9、10、11、12、13
70、個(gè)被點(diǎn)亮,接著給第三行以高電平,同時(shí)給列以驅(qū)動(dòng)代碼,這樣不斷地進(jìn)行行行的掃描,只要速度夠快,由于人的視覺(jué)暫留作用,就不會(huì)感覺(jué)到明顯的閃爍感。</p><p><b> 4 系統(tǒng)程序的設(shè)計(jì)</b></p><p> 程序流程圖程序開(kāi)始執(zhí)行后,系統(tǒng)初始化,顯示一行開(kāi)機(jī)內(nèi)容。然后開(kāi)始不停掃描矩陣鍵盤,若有按鍵按下,根據(jù)具體按鍵程序執(zhí)行不同內(nèi)容的顯示,顯示形式也不同(包括
71、字體的向右流動(dòng),向上流動(dòng)等形式)。</p><p> 系統(tǒng)整體流程圖如圖7所示。</p><p><b> 否</b></p><p><b> 是</b></p><p><b> 圖7 總體流程圖</b></p><p><b>
72、 4.1顯示驅(qū)動(dòng)程序</b></p><p> LED驅(qū)動(dòng)部份使用兩個(gè)移位帶存儲(chǔ)器的74HC595和兩個(gè)移位寄存器74HC164組成,74HC595負(fù)責(zé)列掃描數(shù)據(jù),74HC164負(fù)責(zé)行掃描數(shù)據(jù)。列掃描采用三極管放大電流,加大掃描強(qiáng)度,提高點(diǎn)陣屏亮度。</p><p> 驅(qū)動(dòng)程序流程圖如圖8所示。</p><p><b> 否</b&
73、gt;</p><p><b> 是</b></p><p><b> 圖8 驅(qū)動(dòng)流程圖</b></p><p><b> 部分程序如下:</b></p><p> #include <reg52.h> //包括一個(gè)52標(biāo)準(zhǔn)內(nèi)核的頭文件</p&
74、gt;<p> #define uchar unsigned char //定義一下方便使用</p><p> uchar i,bz; //變量</p><p> uchar sj[5]={12,0,0,30,80}; // 默認(rèn)數(shù)據(jù) 時(shí) 分 秒 溫度 能見(jiàn)度 </p><p> uchar xsz[32],xs
75、z1[32]; //顯視緩沖數(shù)組xsz是用來(lái)顯視 xsz1是用來(lái)左右移動(dòng)輔助數(shù)組</p><p> sbit K1= P2^4; //左移時(shí)間</p><p> sbit K2= P2^5; //上移時(shí)間</p><p> sbit K3= P2^6; //左移溫度**度,能見(jiàn)度**米</p><p>
76、 sbit K4= P2^7; //上移溫度**度,能見(jiàn)度**米</p><p> sbit xsi=P3^0; //列數(shù)據(jù)輸出位 </p><p> sbit xsck=P3^1; //列掃描時(shí)鐘位</p><p> sbit xrck=P3^2; //列數(shù)據(jù)鎖存位</p><p> sbit ysi =P3^3;
77、//行數(shù)據(jù)輸出位</p><p> sbit ysck =P3^4; //行掃描時(shí)鐘位</p><p> void xs() //顯示函數(shù) 這里顯視 xsz[] 數(shù)組中的數(shù)據(jù)</p><p><b> { </b></p><p> uchar i; //定義變量</p>
78、<p> P3=0XFF; //置位高電平做準(zhǔn)備</p><p> ysi=0; //將行數(shù)據(jù)位清0,準(zhǔn)備移位</p><p> for(i=0;i<16;i++) //循環(huán)輸出16行數(shù)據(jù)</p><p><b> { </b></p><p> ysck=0; /
79、/為行移位做準(zhǔn)備</p><p> xrck=0; //為列鎖存做準(zhǔn)備路中的移位寄存器最后一位對(duì)應(yīng)最后一列,所以要先輸出一行中的第二個(gè)字節(jié)數(shù)據(jù)</p><p> fs(~xsz[i*2+1]);//發(fā)數(shù)據(jù)</p><p> fs(~xsz[i*2]);</p><p> P3|=0X14; //此句可以用以下兩句來(lái)理解,如
80、果不將兩句合為一句,將出現(xiàn)拖影現(xiàn)像</p><p> ysi=1; //行數(shù)據(jù)位只在第一行時(shí)為0,其它時(shí)候都為1,當(dāng)將這個(gè)0移入寄存器后,從第一位開(kāi)始一直移位最后一位, </p><p> ys (4); //適當(dāng)?shù)难訒r(shí)</p><p> jp(); //掃描鍵盤</p><p><b> }</b&g
81、t;</p><p><b> }</b></p><p> 其中說(shuō)明:ysck=1; ysck拉高,行數(shù)據(jù)移位,相應(yīng)行拉低,三極管導(dǎo)通輸出電量到相應(yīng)行點(diǎn)陣管陽(yáng)極(共陽(yáng));</p><p> xrck=1; xrck拉高,將數(shù)據(jù)鎖存輸出到相應(yīng)列的點(diǎn)陣發(fā)光管顯示,顯示一行后將保持到下一行顯示開(kāi)始;</p><p>
82、; 移位的過(guò)程,ysi就必需是1,這是因?yàn)椴荒芡瑫r(shí)有兩個(gè)及兩個(gè)以上0的出現(xiàn),否則顯示出亂。</p><p><b> 4.2主程序</b></p><p> 單片機(jī)電路板上面與按鍵相連接的是P2口,所以在電路程序設(shè)計(jì)上按鍵只能與P2口連接,按鍵一顯示左移時(shí)間,按鍵二上移時(shí)間,按鍵三顯示溫度與可見(jiàn)度,按鍵四上移溫度可見(jiàn)度等字符。</p><p&
83、gt; 主程序流程圖如圖9所示。</p><p><b> 圖9 主函數(shù)流程圖</b></p><p> void main() // 主函數(shù)</p><p><b> { </b></p><p> TMOD=0x01; //設(shè)置為定時(shí)工作方式
84、 </p><p> TH0=(65535-50000)/256; //定時(shí)器裝初值 </p><p> TL0=(65535-50000)%256; //定時(shí)器裝初值 </p><p> EA=1; //打開(kāi)總中斷 </p><p> ET0=1; //打開(kāi)定時(shí)
85、中斷 </p><p> TR0=1; //起用定時(shí)器 </p><p> P2=0XFE; //設(shè)置鍵盤為第一行有效</p><p> co(xsz,0) ; //清空緩存,防止開(kāi)機(jī)亂碼</p><p><b> while (1)</b></p><
86、p><b> {</b></p><p> switch (bz)</p><p><b> {</b></p><p><b> case 0:</b></p><p> sxy(5,1,zbm2[0]); //左移當(dāng)</p><p
87、> sxy(5,1,zbm2[1]); //前</p><p> sxy(5,1,zbm2[2]); //時(shí)</p><p> sxy(5,1,zbm2[3]); // 間</p><p> zzm(sj[0],xsz1); //做字模 時(shí)</p><p> sxy(5,1,xsz1);
88、// *</p><p> sxy(5,1,zbm2[2]); // 時(shí)</p><p> zzm(sj[1],xsz1); //做字模 分</p><p> sxy(5,1,xsz1); // *</p><p> sxy(5,1,zbm2[9]); // 分</p>&
89、lt;p> sxy(5,1,0); // 移出(移入空白)</p><p><b> break;</b></p><p><b> case 1:</b></p><p> sxy(5,0,zbm2[0]); //上移當(dāng)</p><p> sxy(5,0,zbm
90、2[1]); //前</p><p> sxy(5,0,zbm2[2]); //時(shí)</p><p> sxy(5,0,zbm2[3]); // 間</p><p> zzm(sj[0],xsz1); //做字模 時(shí)</p><p> sxy(5,0,xsz1); // *</p>
91、;<p> sxy(5,0,zbm2[2]); // 時(shí)</p><p> zzm(sj[1],xsz1); //做字模 分</p><p> sxy(5,0,xsz1); // *</p><p> sxy(5,0,zbm2[9]); // 分</p><p> sxy(5,0
92、,0); // 移出(移入空白)</p><p><b> break;</b></p><p><b> case 2:</b></p><p> sxy(5,1,zbm2[0]); //左移當(dāng)</p><p> sxy(5,1,zbm2[1]); // 前&
93、lt;/p><p> sxy(5,1,zbm2[4]); // 溫</p><p> sxy(5,1,zbm2[7]); // 度</p><p> zzm(sj[3],xsz1); // 做字模 溫度</p><p> sxy(5,1,xsz1); // *</p><p>
94、 sxy(5,1,zbm2[7]); // 度</p><p> sxy(5,1,0); // 移出(移入空白)</p><p> sxy(5,1,zbm2[5]); // 能</p><p> sxy(5,1,zbm2[6]); // 見(jiàn)</p><p> sxy(5,1,zbm
95、2[7]); // 度</p><p> zzm(sj[4],xsz1); // 做字模 能見(jiàn)度</p><p> sxy(5,1,xsz1); // *</p><p> sxy(5,1,zbm2[8]); // 米</p><p> sxy(5,1,0); // 移出(移入
96、空白)</p><p><b> break;</b></p><p><b> case 3:</b></p><p> sxy(5,0,zbm2[0]); //上移當(dāng)</p><p> sxy(5,0,zbm2[1]); // 前</p><p>
97、 sxy(5,0,zbm2[4]); // 溫</p><p> sxy(5,0,zbm2[7]); // 度</p><p> zzm(sj[3],xsz1); // 做字模 溫度</p><p> sxy(5,0,xsz1); // *</p><p> sxy(5,0,zbm2[7]);
98、 // 度</p><p> sxy(5,0,0); // 移出(移入空白)</p><p> sxy(5,0,zbm2[5]); // 能</p><p> sxy(5,0,zbm2[6]); // 見(jiàn)</p><p> sxy(5,0,zbm2[7]); // 度</
99、p><p> zzm(sj[4],xsz1); // 做字模 能見(jiàn)度</p><p> sxy(5,0,xsz1); // *</p><p> sxy(5,0,zbm2[8]); // 米</p><p> sxy(5,0,0); // 移出(移入空白)</p><p&
100、gt;<b> break; </b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5 調(diào)試結(jié)果</b></p>
101、<p> 在protues軟件中根據(jù)硬件設(shè)計(jì)電路畫圖,在引腳連接時(shí)要特別仔細(xì)。</p><p> 在keil軟件中使用C語(yǔ)言編寫程序,在不斷調(diào)試后,生成.hex文件,加載到protues仿真軟件中。</p><p> 5.1 軟件開(kāi)發(fā)環(huán)境簡(jiǎn)介</p><p> 程序編寫采用Keil 51環(huán)境下調(diào)試, Keil C51是美國(guó)Keil Softwar
102、e公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。</p><p> Protues軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。[8]它是目前最好的仿真單片機(jī)及外圍器件的工具。在PROTUES繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文
103、件:*.HEX,可以在PROTUES的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。</p><p><b> 5.2 軟件調(diào)試</b></p><p> 由于在選擇LED點(diǎn)陣時(shí)沒(méi)有考慮到色差的問(wèn)題,所以在顯示結(jié)果上面要離開(kāi)一定距離才能明顯看清字體,盡管色調(diào)不明顯,但是顯示出來(lái)的字體并沒(méi)有錯(cuò)誤,仿真結(jié)果按照預(yù)期設(shè)定穩(wěn)定顯示并能夠用按鍵控制方向。</p>&l
104、t;p> 如圖10~11所示。</p><p> 圖10 左移時(shí)間顯示 圖11 能見(jiàn)度上移</p><p><b> 5.3 硬件調(diào)試</b></p><p> 硬件接線如下,主要線路為單片機(jī)P3口接芯片74HC595和74HC164。</p><p> 兩個(gè)
105、I/O口分配給74HC164,一個(gè)作為串行數(shù)據(jù)的輸出口,另一個(gè)作為74HC164的時(shí)鐘信號(hào)輸出口,還有三個(gè)I/O口分配給74HC595,一個(gè)作為串行數(shù)據(jù)輸出口,另外兩個(gè)是作為時(shí)鐘脈沖的控制端口。</p><p> 硬件電路連接如圖12所示。</p><p><b> 圖12 硬件電路</b></p><p> 運(yùn)用STC-ISP 是一款單
106、片機(jī)下載編程燒錄軟件,是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052等系列的STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。[6]運(yùn)用界面如圖13。</p><p> 圖13 單片機(jī)燒錄界面</p><p> (1) 打開(kāi)STC-ISP,如上圖界面,在MCU Type欄目下選中單片機(jī),如STC89C52RC; </p><p> (2) 根據(jù)您的
107、9針數(shù)據(jù)線連接情況選中COM端口,波特率一般保持默認(rèn),如果遇到下載問(wèn)題,可以適當(dāng)下調(diào)一些;</p><p> (3) 先確認(rèn)硬件連接正確,按如圖點(diǎn)擊“打開(kāi)文件”并在對(duì)話框內(nèi)找到您要下載的HEX文件;</p><p> (4) 點(diǎn)擊“Download/下載”; </p><p> (5) 手動(dòng)按下電源開(kāi)關(guān)便即可把可執(zhí)行文件HEX寫入到單片機(jī)內(nèi),如圖是正在寫入程序
108、截圖; </p><p> (6) 圖示程序?qū)懭胪戤叄繕?biāo)板開(kāi)始運(yùn)行程序結(jié)果。[6]</p><p> 5.3.1初次調(diào)試結(jié)果</p><p> 將單片機(jī)與電腦連接,按照燒錄步驟將軟件程序燒錄到單片機(jī)中,單片機(jī)為點(diǎn)陣系統(tǒng)提供5V電源。燒錄成功后查看LED點(diǎn)陣顯示結(jié)果。</p><p> 硬件結(jié)果如圖14所示。</p>&
109、lt;p> 圖14 初次顯示結(jié)果</p><p> 仿真結(jié)果的正確使后面的實(shí)物調(diào)試更具信心,但是沒(méi)有考慮仿真軟件是一個(gè)理想的仿真環(huán)境,而實(shí)際連接的電路板會(huì)由于譬如連接不當(dāng),相鄰器件間的干擾等等的問(wèn)題導(dǎo)致在仿真軟件中能良好運(yùn)行的程序。[10]出現(xiàn)顯示問(wèn)題,經(jīng)過(guò)排查和合理的器件擺放焊接,問(wèn)題解決。由于點(diǎn)陣連接方式差異和取模的不同使結(jié)果產(chǎn)生偏差,如下圖所示,點(diǎn)陣列反向,字體是反的,取模也產(chǎn)生反向的問(wèn)題,需要將
110、字?!?”“1”逐位取反。</p><p> 5.3.2 最終結(jié)果</p><p> 將字模逐個(gè)取反,列取反。再次在keil中調(diào)試,改正顯示的錯(cuò)誤,生成新的.hex文件。重新加載到單片機(jī)中。LED點(diǎn)陣模塊接通電源之后正確顯示字符,按鍵按下之后在一組數(shù)據(jù)顯示結(jié)束后根據(jù)按鍵顯示下一組字符。首先右移“當(dāng)前時(shí)間”按鍵一控制右移,按鍵二上移“當(dāng)前時(shí)間”,按鍵三“右移當(dāng)前溫度能見(jiàn)度”等字符,按鍵四
111、上移“當(dāng)前溫度能見(jiàn)度”等字符。LED點(diǎn)陣顯示的字體雖然不是非常完美,但是整體顯示并無(wú)錯(cuò)誤。</p><p> 由于顯示字符較多,在此只列舉幾個(gè)。如圖15~16所示。</p><p> 圖15 能見(jiàn)度“度”</p><p> 圖16 能見(jiàn)度“能”</p><p> 經(jīng)過(guò)測(cè)試,基于單片機(jī)的LED點(diǎn)陣顯示屏系統(tǒng)能夠根據(jù)測(cè)試者的要求顯示的所要
112、顯示的內(nèi)容。測(cè)試過(guò)程中,內(nèi)容顯示穩(wěn)定,無(wú)閃爍而且滾動(dòng)平穩(wěn),按鍵靈活簡(jiǎn)單。測(cè)試完成,設(shè)計(jì)符合要求。</p><p><b> 6 總結(jié)與展望</b></p><p><b> 6.1 總結(jié)</b></p><p> 本文設(shè)計(jì)的一個(gè)用16x16的點(diǎn)陣LED圖文顯示屏,在目測(cè)條件下各點(diǎn)應(yīng)亮度均勻、充足的顯示,并且可顯示圖形
113、和文字,其中顯示圖形和文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_。圖形或文字顯示有右移上移等顯示方式。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。</p><p> 總結(jié)本文的研究工作,主要做了下面幾點(diǎn)較突出的工作:</p><p> 一、通過(guò)查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),
114、明確了研究目標(biāo)。</p><p> 二,本文設(shè)計(jì)的LED顯示屏能夠?qū)崿F(xiàn)在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_。實(shí)現(xiàn)了PC機(jī)通過(guò)串口輸入要顯示的交通信息,在LED點(diǎn)陣中完整顯示出來(lái)。信息顯示有靜止、移入移出等顯示方式。</p><p> 三,文章給出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體C語(yǔ)言程序設(shè)計(jì)與調(diào)試等方面
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的交通信息顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的旋轉(zhuǎn)顯示系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)led滾動(dòng)顯示系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的公交報(bào)站顯示系統(tǒng)
- 基于單片機(jī)gprs通信系統(tǒng)的畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)控制的模擬電梯顯示
- 基于單片機(jī)的定時(shí)顯示設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)
- 基于單片機(jī)的交通控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)--單片機(jī)控制的led點(diǎn)陣顯示
- 基于單片機(jī)的led點(diǎn)陣顯示畢業(yè)設(shè)計(jì)
- 基于單片機(jī)gprs通信系統(tǒng)的計(jì) 畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于51系列的單片機(jī)日歷和時(shí)鐘顯示設(shè)計(jì)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的時(shí)鐘顯示器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的時(shí)鐘顯示器設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)單片機(jī)控制led點(diǎn)陣顯示流動(dòng)信息
評(píng)論
0/150
提交評(píng)論