點(diǎn)陣式LED顯示器_第1頁(yè)
點(diǎn)陣式LED顯示器_第2頁(yè)
點(diǎn)陣式LED顯示器_第3頁(yè)
點(diǎn)陣式LED顯示器_第4頁(yè)
點(diǎn)陣式LED顯示器_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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è)設(shè)計(jì)生產(chǎn)實(shí)習(xí)(2)報(bào)告點(diǎn)陣式LED顯示器院 系 :信息科學(xué)與工程學(xué)院專 業(yè):測(cè)控技術(shù)與儀器年級(jí)(班級(jí)):1102班姓 名:何鵬舉學(xué) 號(hào):110401215指導(dǎo)教師:劉博完成日期:2015年 01 月 09日 目錄1. 緒論11.1背景及設(shè)計(jì)目的11.2選題目的和意義12設(shè)計(jì)方案簡(jiǎn)述22.1 LED驅(qū)動(dòng)顯示方案22.2 數(shù)據(jù)傳輸和顯示方案32.3 系統(tǒng)模塊框圖43.單片機(jī)系統(tǒng)電路設(shè)計(jì)43.1單片機(jī)系統(tǒng)及外圍電路43.2 74HC595列鎖存電路63.3 8*8點(diǎn)陣84.系統(tǒng)軟件設(shè)計(jì)941顯示驅(qū)動(dòng)程序1042系統(tǒng)主程序105.調(diào)試115.1 硬件調(diào)試115.2軟件調(diào)試125.3 系統(tǒng)總電路13

2、6.總結(jié)14參考文獻(xiàn)15附錄16實(shí)物圖21摘 要文章介紹了基于STC89C52單片機(jī)的8乘8點(diǎn)陣LED電子顯示屏的設(shè)計(jì)。分別闡述設(shè)計(jì)方案的方案論證、51單片機(jī)的最小系統(tǒng)及其外圍電路、顯示屏顯示的基本原理、硬件仿真設(shè)計(jì)、控制方法及其程序的實(shí)現(xiàn)。系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)流程大體按照模塊設(shè)計(jì)、硬件仿真、元件焊接、硬件調(diào)試、軟件代碼設(shè)計(jì)、程序調(diào)試。設(shè)計(jì)的結(jié)果能夠?qū)崿F(xiàn)對(duì)漢字和圖形的靜態(tài)和動(dòng)態(tài)顯示,動(dòng)態(tài)顯示的方式有多種方式。關(guān)鍵詞:?jiǎn)纹瑱C(jī);點(diǎn)陣;硬件調(diào)試;軟件調(diào)試;動(dòng)態(tài)顯示AbstractThis paper introduces the microcontroller based STC89C52 8 by 8

3、 dot matrix LED electronic display design. Elaborate design of the program were demonstrated, 51 the microcontroller system and its peripheral circuits, the display shows the basic principle, the hardware simulation design, control methods and procedures for implementation. System design and impleme

4、ntation process in general accordance with the modular design, hardware simulation, welding components, hardware debugging, software code, design, program debugging. Result of the design of Chinese characters and graphics to achieve static and dynamic display, dynamic display mode in several ways. K

5、eywords:microcontroller; lattice; hardware debugging; software debugging; dynamic display - IV -1 緒論1.1背景及設(shè)計(jì)目的現(xiàn)代社會(huì),信息的更新速度達(dá)到了前所未有的程度。信息的顯示方式傳統(tǒng)上有LED發(fā)光管,LED數(shù)碼管,雖然兩者應(yīng)用很廣泛,但是只能單一地顯示電平狀態(tài)和數(shù)碼。LED點(diǎn)陣集兩者特點(diǎn)于一身,更加由于能顯示漢字字符、圖形、符號(hào)等而廣泛應(yīng)用于人們的日常生活中。它具有發(fā)光效率高、使用壽命長(zhǎng)、組態(tài)靈活、色彩豐富以及對(duì)室內(nèi)外環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn),被廣泛應(yīng)用在公交車站、碼頭、商店、學(xué)校和銀行等公共場(chǎng)合

6、用于信息的發(fā)布和廣告宣傳。目前,國(guó)內(nèi)的LED點(diǎn)陣顯示屏大部分是單顯示型,其顯示的內(nèi)容相對(duì)較少,顯示的花樣較單一。一般在產(chǎn)品出廠時(shí),顯示的內(nèi)容就已寫(xiě)入顯示屏的控制系統(tǒng)中的EPROM芯片內(nèi),當(dāng)需要更換顯示內(nèi)容時(shí)就非常困難,這樣使該類型的顯示屏使用范圍受到了限制。國(guó)內(nèi)的另一種LED顯示屏可編程序型LED顯示屏,雖然增加了顯示屏系統(tǒng)的編程能力,現(xiàn)實(shí)的內(nèi)容和顯示的花樣都有所增加,但也存在著顯示內(nèi)容不便的缺點(diǎn)。隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展,如今的廣告牌都存在著顯示內(nèi)容豐富。信息量大。信息更換速度快等特點(diǎn)。一次傳統(tǒng)的LED顯示屏控制系統(tǒng)已經(jīng)越來(lái)越不能滿足現(xiàn)代廣告宣傳業(yè)的需求,而利用PC機(jī)通信技術(shù)控制LED顯示屏,

7、則具有顯示豐富,信息更換靈活等優(yōu)點(diǎn)。國(guó)內(nèi)從事LED顯示屏生產(chǎn)的企業(yè)眾多,同時(shí),受到外資企業(yè)LED顯示屏價(jià)格過(guò)高的影響,在中國(guó)LED顯示屏市場(chǎng)上多以本土企業(yè)為主。目前,本土LED顯示屏生產(chǎn)企業(yè)除供應(yīng)國(guó)內(nèi)需求外,還不斷把產(chǎn)品出口到國(guó)外市場(chǎng)。隨著國(guó)際LED顯示屏生產(chǎn)大廠不斷把生產(chǎn)基地轉(zhuǎn)移至國(guó)內(nèi), 加之國(guó)內(nèi)眾多的LED顯示屏本土企業(yè),中國(guó)正在成為全球LED顯示屏的主要生產(chǎn)基地。因此研究LED漢字滾動(dòng)顯示屏的設(shè)計(jì)方法具有重要的理論和現(xiàn)實(shí)意義。1.2選題目的和意義通過(guò)這次畢業(yè)設(shè)計(jì),掌握51單片機(jī)的接口電路、點(diǎn)陣顯示原理、自動(dòng)控制等原理。了解簡(jiǎn)單的16乘16點(diǎn)陣顯示圖像、漢字、符號(hào)的原理,提高動(dòng)手實(shí)踐和軟編

8、程件調(diào)試的能力。同時(shí)通過(guò)本課題研究、設(shè)計(jì)、裝配、調(diào)試、提高自己的獨(dú)立開(kāi)發(fā)項(xiàng)目和動(dòng)手能力,鞏固已學(xué)的單片機(jī)及自動(dòng)控制原理的知識(shí)。了解并分析系統(tǒng)各電路模塊之間的組成與相互關(guān)系和影響。本次畢業(yè)設(shè)計(jì)的完成也為以后學(xué)習(xí)16位,甚至32位單片機(jī)和嵌入式系統(tǒng)等在自動(dòng)控制方面的應(yīng)用奠定一定的理論與實(shí)際基礎(chǔ),也為以后獨(dú)立開(kāi)發(fā)單片機(jī)系統(tǒng)、嵌入式系統(tǒng)等工業(yè)控制打下堅(jiān)實(shí)的基礎(chǔ)。2 設(shè)計(jì)方案簡(jiǎn)述2.1 LED驅(qū)動(dòng)顯示方案按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示,按譯碼方式可分為硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再管,知道下一次顯示數(shù)據(jù)需要更新時(shí)再傳送一次

9、新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間。但每個(gè)顯示單元都要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多;動(dòng)態(tài)顯示需要CPU時(shí)刻對(duì)顯示器進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時(shí)間多,但使用硬件少,能節(jié)省線路和單片機(jī)I/O空間。若使用靜態(tài)顯示方式,8乘8點(diǎn)陣共有64個(gè)發(fā)光二極管,單片機(jī)沒(méi)有這么多的端口,如果用鎖存器來(lái)擴(kuò)展端口,按8位鎖存器來(lái)計(jì)算,也需要8個(gè)鎖存器。因此,在實(shí)際應(yīng)用中顯示屏幾乎都不采用靜態(tài)顯示,而是采用動(dòng)態(tài)掃描的顯示方法??紤]到成本的減少,以及顯示的完整性,此次設(shè)計(jì)使用4塊8乘8共陽(yáng)型點(diǎn)陣拼成16乘16點(diǎn)陣,采用行掃描法,先送出對(duì)應(yīng)點(diǎn)陣第一行發(fā)光二極管亮滅的數(shù)據(jù)并鎖存,然后選通第一行

10、使其亮的時(shí)間,然后熄滅;再送第二行的數(shù)據(jù),依次下去,直到第十六行、整個(gè)來(lái)回的時(shí)間只要達(dá)到每秒24次以上,利用人的視覺(jué)暫留,就可以看到顯示屏上顯示出的穩(wěn)定的圖像了。具體的點(diǎn)陣屏的電路如圖2-1所示。圖2-1 16乘16點(diǎn)陣2.2數(shù)據(jù)傳輸和顯示方案采用掃描方式顯示時(shí),顯示數(shù)據(jù)通常存儲(chǔ)在單片機(jī)的存儲(chǔ)器中,以字節(jié)形式順序排放。顯示時(shí)要把一行中各列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動(dòng)器上,這就存在著一個(gè)顯示數(shù)據(jù)傳輸?shù)膯?wèn)題。數(shù)據(jù)傳輸可以采用并行方式或串行方式。并行數(shù)據(jù)傳輸方式具有操作簡(jiǎn)單,外圍電路少等優(yōu)點(diǎn),同時(shí)存在占用資源大、控制時(shí)間長(zhǎng)、擴(kuò)展性差等缺點(diǎn);串行方式具有占用資源少,控制簡(jiǎn)便易行,良好的擴(kuò)展性等諸多方面的

11、有點(diǎn),考慮到點(diǎn)陣屏的擴(kuò)展及其電路走線等問(wèn)題,本次設(shè)計(jì)的十六乘十六點(diǎn)陣屏系統(tǒng)的數(shù)據(jù)傳輸方式采用串行傳輸?shù)姆椒?。采用此方法,控制電路可以只用一根信?hào)線,將列數(shù)據(jù)一位一位傳送到列驅(qū)動(dòng)器,但是,串行傳輸過(guò)程較長(zhǎng)導(dǎo)致列數(shù)據(jù)傳輸和顯示的時(shí)間矛盾,針對(duì)此問(wèn)題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一行的數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存的功能。經(jīng)過(guò)上述分析,歸納出列驅(qū)動(dòng)器電路應(yīng)具備串入并出的移位功能和并行鎖存功能。2.3.系統(tǒng)模塊框圖STC89C52單片機(jī)系統(tǒng)74HC595行驅(qū)動(dòng)74HC595列驅(qū)動(dòng)16乘16點(diǎn)陣圖2-2 系統(tǒng)模塊圖3.詳細(xì)系統(tǒng)電路設(shè)計(jì)3.1 單片機(jī)

12、系統(tǒng)及外圍電路單片機(jī)采用了STC89C52,選用了12M晶振,用P1口低四位作為行選通線,高四位作為列控制線,兩個(gè)串行口分別用作列數(shù)據(jù)輸入和移位時(shí)鐘。設(shè)計(jì)的界面可以顯示一個(gè)漢字,需要4個(gè)8*8點(diǎn)陣模塊,組成16*16點(diǎn)陣。STC89C52是51系列單片機(jī)的一個(gè)型號(hào), 是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,STC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用宏晶公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元

13、,功能強(qiáng)大的STC89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)RW口線,STC89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。 圖3-2:STC89C52引腳圖合適尺寸 實(shí)際尺寸 主要引腳功能1 電源和晶振 Vcc 運(yùn)行和程序校驗(yàn)時(shí)加+5V Vss 電源地 XTAL1 輸入到振蕩器的反相放大器XTAL2 反相放大器的輸出,輸入到內(nèi)部時(shí)

14、鐘發(fā)生器如果使用外部振蕩器時(shí),外接12MHZ晶振,同時(shí)加上兩個(gè)30pF的電容來(lái)輔助穩(wěn)定外部振蕩器的頻率,減少頻率偏差。2 I/O口P0-P3 為可編程通用I/O 腳,其功能用途由軟件定義P0口為開(kāi)漏輸出結(jié)構(gòu),在輸出的時(shí)候通常加以上拉電阻配合使用,提高IO口攜帶負(fù)載的能力。3 控制線 RST 復(fù)位輸入信號(hào),高電平有效,兩個(gè)機(jī)器周期以上的高電平即可。 EA/Vpp 片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效。 ALE/PROG 地址鎖存允許信號(hào),輸出。PSEN 片外程序存儲(chǔ)器選通信號(hào),低電平有效。圖3-1 單片機(jī)系統(tǒng)電路3.2 74HC595列鎖存電路3.2.1 74HC59574HC595是一款漏極

15、開(kāi)路輸出的CMOS移位寄存器,輸出端口為可控的輸出端,亦能串行輸出控制下一級(jí)聯(lián)芯片。74595的引腳分布:QA-QH: 八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段。QH': 級(jí)聯(lián)輸出端。我將它接下一個(gè)595的SI端。SI: 串行數(shù)據(jù)輸入端。/SCLR(10腳): 低點(diǎn)平時(shí)將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。SCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA->QB->QC->.->QH;下降沿移位寄存器數(shù)據(jù)不變。RCK(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。通常我將RCK置為低點(diǎn)平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)

16、生一個(gè)正脈沖,更新顯示數(shù)據(jù)。/G(13腳): 高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過(guò)數(shù)據(jù)端移位控制要省時(shí)省力。表3-1-1 74HC595管腳定義管腳編號(hào)管腳名說(shuō)明15、1、2、34、5、6、7QA-QH三態(tài)并行輸出管腳8GND電源地9SQH串行輸出級(jí)聯(lián)端10SCLR移位寄存器清零端11SCK移位時(shí)鐘線12RCK輸出鎖存線13OE輸出使能14SI串行數(shù)據(jù)輸入端15VCC電源正3.2.2. 595列輸出電路圖3-2 74HC595列鎖存電路點(diǎn)陣的十六列由兩片74HC595并行輸出提供。引腳SI為串行數(shù)據(jù)輸入端,與單片機(jī)串口RXD

17、(P3.0)相連,用來(lái)傳送數(shù)據(jù);引腳SCK為移位寄存器的移位時(shí)鐘脈沖線,與單片機(jī)串口TXD(P3.1)相連;引腳SCLR信號(hào)是移位寄存器的清零輸入端,低電平有效,接單片機(jī)P1.5口;RCK是輸出寄存器的輸出鎖存信號(hào),與單片機(jī)P1.6口連接。 3.3 8乘8點(diǎn)陣點(diǎn)陣內(nèi)部結(jié)構(gòu)如下,8X8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一行置1電平,某一列置0電平,則相應(yīng)的二極管就亮;如要將第一個(gè)點(diǎn)點(diǎn)亮,則9腳接高電平13腳接低電平,則第一個(gè)點(diǎn)就亮了;如果要將第一行點(diǎn)亮,則第9腳要接高電平,而(13、3、4、10、6、11、15、16)這些引腳接低電平,那么第一

18、行就會(huì)點(diǎn)亮;如要將第一列點(diǎn)亮,則第13腳接低電平,而(9、14、8、12、1、7、2、5)接高電平,那么第一列就會(huì)點(diǎn)亮。因此,要在點(diǎn)陣屏幕上顯示出設(shè)計(jì)好的漢字、圖像、字符等就必需采用掃描亮點(diǎn)的方式,利用人的視覺(jué)暫留,顯示出清晰、穩(wěn)定的畫(huà)面。圖3-4 8乘8點(diǎn)陣內(nèi)部組成4系統(tǒng)軟件設(shè)計(jì)顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號(hào),使屏幕按設(shè)計(jì)的要求顯示。可把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動(dòng)程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動(dòng)程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生掃描信號(hào)和其他控制信號(hào),配合LED顯示屏的掃描顯示工作。顯示驅(qū)動(dòng)程序由定時(shí)器T0中斷程序?qū)崿F(xiàn),系統(tǒng)的

19、顯示效果處理等工作,由主程序來(lái)實(shí)現(xiàn)。4.1 顯示驅(qū)動(dòng)程序進(jìn)入中斷掃描程序后,對(duì)單片機(jī)重新賦初值,讀取當(dāng)前所在行號(hào),并使其加一,通過(guò)串口取出緩沖區(qū)的列數(shù)據(jù)到移位寄存器。為消除在切換下一行時(shí)發(fā)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)掉顯示屏,等顯示數(shù)據(jù)經(jīng)過(guò)移位寄存器輸出并鎖存,再輸出新的行號(hào),再打開(kāi)顯示屏。圖4-1中斷程序流程圖4.2系統(tǒng)主程序進(jìn)入主程序后,首先對(duì)系統(tǒng)進(jìn)行初始化,包括設(shè)置定時(shí)器工作方式,串口,中斷,以及顯示效果,包括左移,上移等。通過(guò)一維數(shù)組dispram32來(lái)實(shí)現(xiàn)列驅(qū)動(dòng)數(shù)據(jù)的存儲(chǔ),二維數(shù)組Bmp存儲(chǔ)所有要顯示漢字圖形的列代碼。系統(tǒng)上電后,漢字以上移的形式顯示,當(dāng)顯示到第五個(gè)漢字時(shí),停頓三秒,漢

20、字再以左移的形式顯示,到最后一個(gè)字時(shí)停止。從上至下顯示漢字開(kāi)始從左至右顯示漢字是否顯示到第五個(gè)漢字結(jié)束YN圖4-2 主程序流程圖5.調(diào)試5.1 硬件調(diào)試由于點(diǎn)陣需要16行和16列來(lái)驅(qū)動(dòng),所以點(diǎn)陣模塊線路比較復(fù)雜,當(dāng)元件都焊接好以后,應(yīng)先從較簡(jiǎn)單的模塊進(jìn)行檢查調(diào)試:?jiǎn)纹瑱C(jī)最小系統(tǒng),74LS154譯碼電路,74HC595列驅(qū)動(dòng)電路,最后才是點(diǎn)陣的連接。具體檢測(cè)單片機(jī)晶振能否正常起振,30腳是否有1Mhz的方波輸出,74LS154的各行輸出的電平是否逐位變化,74HC595的SI端是否有數(shù)據(jù)輸入,其他控制引腳的脈沖和時(shí)序是否正常,都沒(méi)有問(wèn)題后細(xì)心檢查點(diǎn)陣的各行各列的連接??偟膩?lái)說(shuō),硬件的調(diào)試是比較麻

21、煩的。對(duì)點(diǎn)陣顯示屏系統(tǒng)進(jìn)行測(cè)試,所用測(cè)試儀表儀器如表5-1所示。表5-1 測(cè)試儀表測(cè)試儀表名稱 型號(hào) 模擬示波器 LS3102B 20MHz 信號(hào)發(fā)生器 AFG3102 萬(wàn)用表 UNFTNT56根據(jù)本系統(tǒng)設(shè)計(jì)電路圖進(jìn)行組裝電路,電路組裝好以后,首先要檢查一遍接線情況,在確定安裝接線無(wú)誤的情況下,就可進(jìn)行電路通電調(diào)試。首先測(cè)量電源供電情況是否達(dá)到要求;其次是本次設(shè)計(jì)的點(diǎn)陣屏顯示模塊的檢測(cè)是否正確,顯示的漢字、字符、圖像是否清晰無(wú)閃爍;再者是利用軟件方式,只測(cè)試顯示固定不動(dòng)的畫(huà)面是否能正常工作;最后測(cè)試的行掃描和列掃描模塊電路,將行掃描和列掃描的掃描信號(hào)線接到信號(hào)源上,用信號(hào)源輸出波形代替單片機(jī)控

22、制系統(tǒng)模塊發(fā)出的行掃和列掃的信號(hào),在單獨(dú)對(duì)點(diǎn)陣屏顯示電路模塊進(jìn)行調(diào)試,當(dāng)準(zhǔn)確的顯示出要移動(dòng)顯示的漢字、字符、圖像時(shí)即可證明此行掃描電路模塊和列掃描電路模塊工作正常,可以進(jìn)行整個(gè)系統(tǒng)的調(diào)試工作。將所有的模塊電路綜合成一個(gè)整體的系統(tǒng),通電進(jìn)行測(cè)試工作,在軟件上小心的調(diào)試,盡力將參數(shù)調(diào)整到最優(yōu),通過(guò)多次測(cè)量和在不同的光線的環(huán)境中測(cè)量顯示的畫(huà)面的情況,實(shí)現(xiàn)了該系統(tǒng)的穩(wěn)定清晰的顯示漢字、字符、圖像任務(wù),完全達(dá)到了設(shè)計(jì)的預(yù)想,滿足了設(shè)計(jì)系統(tǒng)的要求。此時(shí)證明本系統(tǒng)設(shè)計(jì)成功。5.2 軟件調(diào)試軟件部分的調(diào)試主要是顯示屏刷新屏幕的時(shí)間,進(jìn)入中斷程序后都要對(duì)定時(shí)器進(jìn)行重新賦值,以保證屏幕的刷新的穩(wěn)定,清晰。定時(shí)器T

23、0采用工作方式1,即16位定時(shí)器模式,通過(guò)計(jì)算可得,TH0= 0xfb,TL0=0xee。這樣每經(jīng)過(guò)1ms,單片機(jī)就中斷一次,即每次刷新屏幕的頻率大概65hz(對(duì)于12M晶振),達(dá)到人眼視覺(jué)暫留的效果。5.3 系統(tǒng)總電路圖5-3 系統(tǒng)總仿真圖在仿真圖中,行線直接用反相器輸出驅(qū)動(dòng)點(diǎn)陣的行,由于仿真中不考慮芯片的帶負(fù)載能力,所以可以仿真,但是實(shí)際情況下,每一行的驅(qū)動(dòng)電流遠(yuǎn)遠(yuǎn)大于反相器的驅(qū)動(dòng)電流。因此譯碼器的每行輸出必須接三極管,使得點(diǎn)陣的每一行獲得足夠的驅(qū)動(dòng)電流。6總結(jié)16乘16點(diǎn)陣顯示屏的設(shè)計(jì)從電路的設(shè)計(jì),仿真,硬件連接,調(diào)試和軟件的調(diào)試是一個(gè)完整的電路設(shè)計(jì)過(guò)程。在整個(gè)過(guò)程中,點(diǎn)陣設(shè)計(jì)涉及三個(gè)問(wèn)

24、題,第一:?jiǎn)纹瑱C(jī)I/O口地使用,52單片機(jī)共有32個(gè)I/O口,而點(diǎn)陣有16行,16列,如果都用I/O口驅(qū)動(dòng),那么很浪費(fèi)I/O資源,考慮到點(diǎn)陣的16行是逐行掃描的,那么4線16線譯碼器就可以很好地作為點(diǎn)陣的行驅(qū)動(dòng)器,這樣只要利用單片機(jī)的4個(gè)I/O口。另外,把單片機(jī)的串口當(dāng)并口用,即利用單片機(jī)的串口搭配串入并出的移位寄存器-74HC595,它的并口輸出就可以作為點(diǎn)陣的16個(gè)列驅(qū)動(dòng)線。那么僅用兩條線,串口發(fā)送和接收線,就可以完成點(diǎn)陣16列的驅(qū)動(dòng);第二:行驅(qū)動(dòng)電流問(wèn)題,由于使用的是共陽(yáng)的點(diǎn)陣,所以每一行的電流應(yīng)該能同時(shí)點(diǎn)亮16個(gè)二極管,大概要達(dá)到320mA。那么肯定要用三極管來(lái)放大每一行的電流來(lái)驅(qū)動(dòng)點(diǎn)

25、陣的每一行;第三:16乘16點(diǎn)陣的級(jí)聯(lián),采用4塊8乘8點(diǎn)陣拼接而成,那么上面兩個(gè)點(diǎn)陣的每一行都要連接到一起,下面同上,左邊的兩個(gè)點(diǎn)陣的每一列都連接在一起,右邊同上。這樣16乘16點(diǎn)陣的使用和8乘8點(diǎn)陣一樣。16乘16點(diǎn)陣的設(shè)計(jì)就很好地解決了這些問(wèn)題。在硬件調(diào)試中,也遇到了以前從未有的問(wèn)題:點(diǎn)陣顯示模糊的漢字圖形,但是顯示易受外界影響。細(xì)細(xì)考慮之后,知道點(diǎn)陣每一行顯示數(shù)據(jù)時(shí),列數(shù)據(jù)的更新時(shí)間是1ms,那么串行信號(hào)的輸入線(RXD),595移位時(shí)鐘線(TXD),易受到其他信號(hào)線的影響,所以兩條線與74HC595的連接必須用錫絲連接。這樣才能讓點(diǎn)陣穩(wěn)定地顯示?,F(xiàn)在市面的廣告牌都是用基本的16乘16點(diǎn)

26、陣組成,通過(guò)這次16乘16點(diǎn)陣顯示屏的設(shè)計(jì),我清楚地了解并掌握了它的顯示原理和電路實(shí)現(xiàn),相信能為以后學(xué)習(xí)功能更強(qiáng)大的單片機(jī),設(shè)計(jì)大屏幕LED顯示屏奠定良好的基礎(chǔ)。參考文獻(xiàn)1 張齊,朱西寧.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)基于C51的Proteus仿真 M .北京:電子工業(yè)出版社,2009.12 張惠敏.數(shù)字電子技術(shù) M .北京:化學(xué)工業(yè)出版社,2009.3 華強(qiáng).電子世界.基于8051單片機(jī)的數(shù)控電源設(shè)計(jì) EB/OL .4 周雪.模擬電子 技術(shù) M .西安:西安電子科技大學(xué)出版社,2007.5 梅笙,李瑋.基于A T89C52控制的數(shù)控直流電流源的設(shè)計(jì)J .6 童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)(第四版)

27、 北京:清華大學(xué)電子教研室組編.20087 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第四版).北京:清華大學(xué)電子學(xué)教研室組編 2005.12 全書(shū)8 黃賢武,鄭筱霞,曲波等. 傳感器實(shí)際應(yīng)用電路設(shè)計(jì)M. 成都:電子科技大學(xué)出版社.1997.4-10.9 忠梅. 單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M. 北京:北京航空航天大學(xué)出版社,199710 陳光東編著單片微型計(jì)算機(jī)原理及其C語(yǔ)言程序設(shè)計(jì).華中科技大學(xué)出版社 ,2004年4月11 宏晶公司.STC89C52單片機(jī)數(shù)據(jù)手冊(cè)Z12 方佩敏.新編傳感器原理、應(yīng)用、電路詳解. 編著電子工業(yè)出版社,2004.1013 樊昌元,丁義元. 高精度測(cè)距雷達(dá)研究.電子測(cè)量與儀器學(xué)報(bào)

28、,2010.1014 蘇偉,鞏壁建.超聲波測(cè)距誤差分析.傳感器技術(shù),2004.15 恒清,張靖.加強(qiáng)單片機(jī)系統(tǒng)抗干擾能力的方法.通化師范學(xué)院學(xué)報(bào),2004 .1016 胡萍.超聲波測(cè)距儀的研制.計(jì)算機(jī)與現(xiàn)代化,2003.1017 蘇長(zhǎng)贊.紅外線與超聲波遙控.北京:人民郵電出版社,1993.718 張謙琳.超聲波檢測(cè)原理和方法.北京:中國(guó)科技大學(xué)出版社,1993.10附錄:軟件C代碼圓圈縮小#include <REG51.H>#include <intrins.h>#define NOP() _nop_() / 定義空指令 ,這個(gè)函數(shù)在庫(kù) <intrins.h>

29、; 中/SPI IOsbit MOSIO = P34;sbit R_CLK = P35;sbit S_CLK = P36;/變量聲明unsigned long column; /點(diǎn)陣列unsigned long row; /點(diǎn)陣行unsigned long dt;/點(diǎn)陣顯示數(shù)組unsigned char code tab0 = 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x0

30、8, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00; unsigned char code tab1 = 224,7,16,8,8,16,4,32,2,64,1,128,1,128,1,128,1,128,1,128,1,128,2,64,4,32,8,16,16,8,224,7;unsigned char code tab2 = 0,0,224,7,16,8,8,16,4,32,2,64,2,64,2,64,2,64,2,64,2,64,4,32,8,16,16,8,224,7,0,0;unsigned char code tab3

31、 = 0,0,0,0,192,3,32,4,16,8,8,16,4,32,4,32,4,32,4,32,8,16,16,8,32,4,192,3,0,0,0,0;unsigned char code tab4 = 0,0,0,0,0,0,192,3,32,4,16,8,8,16,8,16,8,16,8,16,16,8,32,4,192,3,0,0,0,0,0,0;unsigned char code tab5 = 0,0,0,0,0,0,0,0,128,1,64,2,32,4,16,8,16,8,32,4,64,2,128,1,0,0,0,0,0,0,0,0;unsigned char cod

32、e tab6 = 0,0,0,0,0,0,0,0,0,0,128,1,64,2,32,4,32,4,64,2,128,1,0,0,0,0,0,0,0,0,0,0;unsigned char code tab7 = 0,0,0,0,0,0,0,0,0,0,0,0,128,1,64,2,64,2,128,1,0,0,0,0,0,0,0,0,0,0,0,0;unsigned char code tab8 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0;unsigned char code tab9 = 0,0

33、,0,0,0,0,0,0,0,0,0,0,128,1,64,2,64,2,128,1,0,0,0,0,0,0,0,0,0,0,0,0;unsigned char code tab10 = 0,0,0,0,0,0,0,0,0,0,128,1,64,2,32,4,32,4,64,2,128,1,0,0,0,0,0,0,0,0,0,0;unsigned char code tab11 = 0,0,0,0,0,0,0,0,128,1,64,2,32,4,16,8,16,8,32,4,64,2,128,1,0,0,0,0,0,0,0,0;unsigned char code tab12 = 0,0,0,

34、0,0,0,192,3,32,4,16,8,8,16,8,16,8,16,8,16,16,8,32,4,192,3,0,0,0,0,0,0;unsigned char code tab13 = 0,0,0,0,192,3,32,4,16,8,8,16,4,32,4,32,4,32,4,32,8,16,16,8,32,4,192,3,0,0,0,0;unsigned char code tab14 = 0,0,224,7,16,8,8,16,4,32,2,64,2,64,2,64,2,64,2,64,2,64,4,32,8,16,16,8,224,7,0,0;unsigned char code

35、 tab15 = 224,7,16,8,8,16,4,32,2,64,1,128,1,128,1,128,1,128,1,128,1,128,2,64,4,32,8,16,16,8,224,7;/函數(shù)聲明void HC595SendData( unsigned char BT3, unsigned char BT2,unsigned char BT1,unsigned char BT0); /*主函數(shù)*/void main(void) int k,i,ms; i = 16; /顯示時(shí)間 while(1) for(ms = i; ms > 0; ms-) for(k = 0; k <

36、 16; k+) HC595SendData(tab12*k +1,tab12*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+) HC595SendData(tab22*k +1,tab22*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC59

37、5SendData(tab32*k +1,tab32*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab42*k +1,tab42*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(ta

38、b52*k +1,tab52*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab62*k +1,tab62*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab72*k +1,tab

39、72*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab82*k +1,tab82*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab92*k +1,tab92*k,tab02*k,t

40、ab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/ HC595SendData(tab102*k +1,tab102*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏 for(ms = i; ms > 0; ms-) for(k = 0; k < 16; k+)/HC595SendData(tab112*k +1,tab112*k,tab02*k,tab02*k + 1); HC595SendData(0xff,0xff,0,0); /清屏for(

溫馨提示

  • 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)論