




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章緒論1.1課題研究背景和意義1.1.1研究背景隨著現(xiàn)代社會的高速發(fā)展,各個(gè)行業(yè)都發(fā)展得越來越快,廣告業(yè)也不另外。現(xiàn)代社會奢侈品越累越多,生產(chǎn)數(shù)量也越來越多,銷售就變得極為重要,所以便需要東西能夠代替人來宣傳產(chǎn)品,所以便生產(chǎn)出來霓虹燈燈箱廣告。在這期間,大街小巷到處都有著燈箱廣告,如圖1所示,不管是品牌店鋪、商場、車站、學(xué)校等地方,都不會缺少燈箱廣告這類東西。但是由于社會發(fā)展快速,人們的消費(fèi)觀念也因此隨著不斷變化,燈箱廣告也慢慢地跟不上社會的發(fā)展,人們也慢慢意識到,這種燈箱廣告也要想辦法讓之得以提高,同時(shí)廣告業(yè)對于宣傳等方面的要求,燈箱廣告也已經(jīng)是遠(yuǎn)遠(yuǎn)跟不上腳步,如果再不尋求技術(shù)上的發(fā)展和進(jìn)步,廣告業(yè)將會一直停滯不前。1.1.2研究意義隨著LED顯示屏的橫空出世,人們的這些憂慮也隨著得到解決。LED全稱是lightemittingdiode,其實(shí)就是發(fā)光二極管,而當(dāng)如今計(jì)算機(jī)和光電子技術(shù)得到快速發(fā)展的情況下,顯示屏顯示技術(shù)無疑是當(dāng)下進(jìn)軍廣告行業(yè)的最佳之選,所以LED顯示屏顯示技術(shù)就成為了當(dāng)下最為先進(jìn)且新型的顯示技術(shù),如下圖2所示。LED顯示屏點(diǎn)陣的大小也有很多種,有4×4、8×8、16×16、24×24、40×40等,與這些稍微不同的又有4×8、5×7、5×8的。對比起燈箱廣告,LED顯示屏的優(yōu)點(diǎn)更是可以無限放大,從色彩方面去說,燈箱廣告色彩單調(diào),而LED顯示屏色彩豐富,同時(shí)具備紅黃藍(lán)綠等多種顏色,根據(jù)圖素的數(shù)目區(qū)分的話,又可以分為雙原色、三原色等,然而顯示屏中顯示內(nèi)容的顏色也會跟著圖素顏色改變而改變,單原色就只能顯示一種顏色、雙原色和三原色則可以顯示不同顏色發(fā)光二極管的組合,雖然到現(xiàn)在為止顯示的顏色已然很豐富,但是這對于現(xiàn)在這種高速發(fā)展的時(shí)代卻遠(yuǎn)遠(yuǎn)不夠,目前更是在持續(xù)開發(fā)新的顏色當(dāng)中,經(jīng)過不斷的研發(fā)之后,勢必會實(shí)現(xiàn)更多種顏色的組合;從可顯示的內(nèi)容上來說,燈箱廣告顯示內(nèi)容單一,僅僅只有文字,但是LED顯示屏卻可以做到圖像、文字、視頻等各種信息的顯示,而且在現(xiàn)實(shí)過程中,不僅顯示色彩各式各樣,顯示的方式也是各式各樣,會移動的、會閃爍的、會旋轉(zhuǎn)的等,各種各樣的顯示方式;同時(shí)燈箱廣告在顯示效果和耗電量方面也遠(yuǎn)遠(yuǎn)比不上LED顯示屏,由于LED顯示屏是發(fā)光二極管或者是很多的發(fā)光二極管組合而成,所以它的顯示效果好、耗電量低和清晰度非常高,同時(shí)在壽命方面也遠(yuǎn)不是燈箱廣告可比,燈箱廣告在質(zhì)量方面的問題導(dǎo)致其壽命并不高,在極端惡劣的天氣情況下,燈箱廣告很容易受損,甚至在一些人不小心拿著尖銳的東西刮蹭的情況下都會出現(xiàn)或大或小的損傷。當(dāng)下,LED顯示屏的應(yīng)用區(qū)域越來越廣泛,不管是在商業(yè)、娛樂業(yè)、餐飲業(yè)亦或者是學(xué)校等方面都得到了很大的重視,它能給人類帶來巨大的效益??紤]到LED顯示屏廣告牌的實(shí)用性、經(jīng)濟(jì)性和發(fā)展快速性,我覺得這是一個(gè)較好的研究課題。1.2國內(nèi)外研究現(xiàn)狀1.2.1國內(nèi)現(xiàn)狀我國的LED顯示屏發(fā)展時(shí)間到現(xiàn)在十幾年,產(chǎn)業(yè)越來越多,當(dāng)然比較龐大的一些企業(yè)也是成為了我國如今LED顯示屏產(chǎn)業(yè)中的支柱型企業(yè),為我國LED顯示屏產(chǎn)業(yè)的迅速發(fā)展做出了很大的貢獻(xiàn)?,F(xiàn)如今我國的LED顯示屏技術(shù)已經(jīng)達(dá)到國際領(lǐng)先水平,具有很大一部分市場。說到LED顯示屏,我國在這項(xiàng)技術(shù)方面能走到現(xiàn)在也是很困難的,在二十世紀(jì)九十年年代的時(shí)候,LED顯示屏開始進(jìn)入人們的視線,但是由于新中國成立到那時(shí)候僅僅只有四十年不到的時(shí)間,所以在這個(gè)技術(shù)方面我國涉及不多,能見到的可以說是少之又少,而且成本高這個(gè)問題讓我們對于這項(xiàng)技術(shù)的發(fā)展更是落后于國際水平。二十世紀(jì)九十年代末的那段時(shí)間,在全球信息化的帶動下,人們能夠見識到的LED顯示屏越來越多,對于LED顯示屏的需求也是不斷增加,以至于我國的LED顯示屏技術(shù)得到快速的發(fā)展,在顯示屏的灰度等級方面一度得到新的突破,從最初的16級灰度等級到64級灰度等級,產(chǎn)業(yè)鏈也隨之變得越來越龐大。至今為止,我國的LED顯示屏技術(shù)可以說是達(dá)到了國際領(lǐng)先水平,目前已經(jīng)達(dá)到了256灰度等級。但是隨著技術(shù)不斷地發(fā)展,由于越來越多相關(guān)企業(yè)的誕生也加劇了國內(nèi)的競爭,出現(xiàn)的問題也隨之越來越多,各種質(zhì)量、產(chǎn)品不規(guī)范問題也是層出不窮,甚至有很多非法分子用LED顯示屏刊登虛假廣告實(shí)施詐騙等,導(dǎo)致我國也是需要不斷地加強(qiáng)完善監(jiān)管和規(guī)范制度,同時(shí),其他方面也同樣面臨著一些問題,在面臨極端惡劣天氣的時(shí)候,目前的技術(shù)下LED廣告牌仍然無法完好無損的堅(jiān)持下來,仍然有可能會造成各方面的損壞,比如在電路、顯示屏等方面,一些比較龐大的LED廣告牌會被懸掛在較高的地方,風(fēng)大的情況下有可能會承受不住壓力而倒下造成人員的受傷,這些問題仍然在困擾著我們,要解決這些問題,我們?nèi)匀恍枰粩嗟嘏?,不斷地進(jìn)步。1.2.2國外現(xiàn)狀由于工業(yè)革命的影響,國際上很多國家的高新技術(shù)產(chǎn)業(yè)是遠(yuǎn)遠(yuǎn)領(lǐng)先于我國的,在二十世紀(jì)啊九十年代前,是LED顯示屏的成長時(shí)期,但是在國外,有一些國家的LED顯示屏已經(jīng)得到了大范圍多領(lǐng)域產(chǎn)品的應(yīng)用。全球信息化那段時(shí)間,在我國LED顯示屏技術(shù)產(chǎn)業(yè)得到快速發(fā)展的同時(shí),國外也同樣在不斷地進(jìn)步發(fā)展。到目前為止,國外的發(fā)展趨勢跟國內(nèi)基本持平,但是在技術(shù)方面還是要略領(lǐng)先于我國,因?yàn)閾?jù)統(tǒng)計(jì),國際上的與LED顯示屏相關(guān)的大企業(yè)基本是在北美和日本等國家,制造商也基本集中于這些地方。同樣的,在快速發(fā)展的同時(shí),各個(gè)國家面臨的問題都是越來越多,但是想要在LED顯示屏技術(shù)取得不斷地進(jìn)步,就必須面臨問題解決問題,不然永遠(yuǎn)不會進(jìn)步。LED顯示屏現(xiàn)如今使用基本都是在戶外,所以時(shí)常會有因?yàn)樘鞖鈵毫佣霈F(xiàn)問題的時(shí)候,比如刮風(fēng)下雨、天氣炎熱都是對LED顯示屏質(zhì)量的一種考驗(yàn),徹底解決了這些問題之后又是一種領(lǐng)先的技術(shù)?,F(xiàn)如今,隨著社會的不斷發(fā)展,室外LED顯示屏已是基本能夠做到防雨防風(fēng)等的效果,原本因?yàn)轶w型過大受天氣原因困擾的問題基本得到解決,但是在面臨極端惡劣的天氣時(shí),如冰雹、臺風(fēng)等,會不會受到較大的影響還有待考察。室內(nèi)顯示屏也有很多,不過面積一般都比較小,發(fā)光點(diǎn)也是比較小,但是卻非常的實(shí)用??偠灾琇ED顯示屏在全球很多國家發(fā)展都是很好的,即便可能面臨著一些問題,但是在不斷地考研更新下,一定會變得越來越好,越來越先進(jìn)。1.3論文主要研究內(nèi)容這次畢業(yè)設(shè)計(jì)主要是設(shè)計(jì)能夠顯示自己要求內(nèi)容的LED點(diǎn)陣顯示屏,主要是使用電腦通過STC下載器將程序下載錄入到STC89C52RC單片機(jī)內(nèi),然后單片機(jī)將數(shù)據(jù)送出到74HC595移位寄存器中,移位寄存器將數(shù)據(jù)送出到LED顯示屏中,行驅(qū)動器和列驅(qū)動器驅(qū)動顯示屏顯示內(nèi)容,并且能夠通過按鍵模塊來進(jìn)行控制。四個(gè)按鍵除復(fù)位以外分三類,分別是暫停顯示內(nèi)容的按鍵、切換移動方向的按鍵(主要是左移跟右移)、切換顯示內(nèi)容的按鍵(本設(shè)計(jì)總共有三段內(nèi)容間的相互切換)。設(shè)計(jì)課題的主要工作是有兩個(gè)主要部分,一個(gè)是硬件的設(shè)計(jì),主要有單片機(jī)最小系統(tǒng)控制模塊控制單元的設(shè)計(jì)、驅(qū)動模塊的設(shè)計(jì)、LED顯示屏的設(shè)計(jì)等,另一個(gè)是軟件的設(shè)計(jì),主要是包括功能模塊流程圖還有主程序和子程序的編寫。除了這兩部分還有方案選擇以及最后的系統(tǒng)調(diào)試與仿真。
第二章系統(tǒng)的總體設(shè)計(jì)方案2.1主控制模板選擇方案一:選用51單片機(jī)中的STC89C52RC當(dāng)作主控制器,STC89C52RC是一種帶有只讀存儲器的微處理器,它不但僅用低電壓就可以控制使用,而且性能高,對于做畢業(yè)設(shè)計(jì)來說,價(jià)格也是非常低廉的。方案二:還可以采用一種PLC系列的單片機(jī),這種單片機(jī)的是運(yùn)算速度非???,一般都是用于在需要有很多數(shù)字高難度數(shù)字運(yùn)算的場合,而且更適用于那些檔次比較好的電子設(shè)備,價(jià)格也是比起STC89C52RC昂貴許多。所以此設(shè)計(jì)就采用方案一,主控制器選用51單片機(jī)中的STC89C52RC,利用單片機(jī)來控制移位寄存器和譯碼器,通過這兩個(gè)來送出列數(shù)據(jù)和行數(shù)據(jù),從而達(dá)成LED顯示屏的顯示。2.2驅(qū)動器件的選擇方案一:使用74HC573作為驅(qū)動器件,雖說74HC573擁有三線輸出八線鎖存的優(yōu)良功能,但是它在連接的時(shí)候?qū)τ贗/O口的使用會過多,所以并不適用于本設(shè)計(jì)。方案二:使用74HC138譯碼器作為列驅(qū)動器件,雖然說74HC138只是一種3-8線譯碼器,無法滿足于本次設(shè)計(jì)的要求,但是如果將兩片74HC138譯碼器組合成4-16線譯碼器的話則是剛好可以滿足設(shè)計(jì)的要求,并且占用的I/O口相對較少,在能夠降低成本的同時(shí)效果也很好。使用74HC595作為行驅(qū)動,同時(shí)能夠用于數(shù)據(jù)的寄存和數(shù)據(jù)的輸出,使用兩片74HC595串聯(lián)剛好有16個(gè)輸出引腳,可以用于LED顯示屏的驅(qū)動,故采用此方案。
第三章系統(tǒng)硬件的設(shè)計(jì)3.1總體設(shè)計(jì)此設(shè)計(jì)主要硬件包括主控制單片機(jī)模塊、驅(qū)動模塊(包括行驅(qū)動和列驅(qū)動)、LED顯示屏模塊、按鍵模塊,設(shè)計(jì)完成之后的主要流程是通過pc端編寫程序之后通過STC下載器下載錄入單片機(jī)內(nèi),然后單片機(jī)通過處理相應(yīng)的代碼指令將LED顯示屏要顯示的內(nèi)容通過I/O口輸出。然后通過譯碼電路進(jìn)行擴(kuò)展,最后達(dá)到驅(qū)動的要求驅(qū)動LED顯示屏顯示內(nèi)容。主要設(shè)計(jì)框圖如下圖3所示:圖3-1總設(shè)計(jì)框圖為了防止設(shè)計(jì)內(nèi)容過于簡單,此次LED顯示屏的顯示內(nèi)容要求能夠?qū)崿F(xiàn)以下功能:(1)循環(huán)不斷地顯示(2)能夠進(jìn)行按鈕操控進(jìn)行左移或者右移動(3)能夠通過切換按鈕來實(shí)現(xiàn)幾段顯示內(nèi)容的切換(4)能夠通過暫停按鈕隨時(shí)進(jìn)行暫停3.2各種芯片硬件的介紹3.2.1STC89C52RC單片機(jī)的基本介紹STC89C52RC是耗能很低而且性能又比較高的一種單片機(jī),它包含有8k的程序存儲器和256b的數(shù)據(jù)存儲器,工作電壓通常是5v,具有EPROM和看門狗功能,算是一種增強(qiáng)性的51單片機(jī)。它總共有40個(gè)引腳,而且可以把這40個(gè)引腳分組為四個(gè)大部分,分別是:(1)電源部分類引腳(2)時(shí)鐘部分類引腳(3)控制線部分類引腳(4)I/O口類引腳STC89C52RC單片機(jī)引腳圖如圖3-2所示:圖3-2STC89C52RC引腳圖電源部分類引腳如表1:表3-1電源部分類引腳名稱引腳功能VCC電源引腳,主要接5v電壓GND接地引腳時(shí)鐘部分類引腳如表3-2:表3-2時(shí)鐘部分類引腳名稱引腳功能XTAL1晶振電路的反相輸入端XTAL2晶振電路的反相輸出端此次設(shè)計(jì)過程中,晶振電路是必不可少的,晶振需要與兩個(gè)電容串聯(lián),然后兩端各自連上XTAL1和XTAL2形成晶振電路。晶振電路如圖3-3所示:圖3-3晶振電路圖控制線部分類引腳如表3-3:表3-3控制線部分引腳名稱引腳功能RST復(fù)位信號的輸入端,主要是為了讓單片機(jī)在工作工程中進(jìn)行復(fù)位初始化操作。EA/VPP這里的引腳有兩種功能,EA引腳的主要功能是可以對內(nèi)外ROM進(jìn)行選擇,而VPP引腳的功能是如果片內(nèi)有EPROM的芯片,則vpp則會在EPROM編程期間充當(dāng)編程電源。PSEN外ROM的讀選通信號ALE/PROG這個(gè)引腳也有兩種功能,ALE引腳主要是為了地址的鎖存,它可以鎖存P0口送出的低8位輸出脈沖,而PROG引腳主要是為了在Flash編程期間,用來輸入編程脈沖。這次設(shè)計(jì)當(dāng)中,需要用到一個(gè)復(fù)位按鍵,以便于在LED顯示屏顯示中或者在文字切換中進(jìn)行復(fù)位初始化,復(fù)位電路如下圖3-4所示:圖3-4復(fù)位電路圖I/O口類引腳:這部分一共有四個(gè)8位的并行I/O端口,分別是P0、P1、P2、P3這四個(gè),每一個(gè)都有8個(gè)引腳,總共就有32個(gè)。各類引腳的名稱及其功能介紹P0(包括P0.0~P0.7引腳)包含8位漏極開路的雙向I/O口,每個(gè)引腳都可以吸收到8TTL的門電流,當(dāng)它的管腳首次輸入1時(shí),就會被定義為高阻輸入。同時(shí),P0口也能用作外部程序數(shù)據(jù)存儲器,能夠作為數(shù)據(jù)總線提供地址的低八位數(shù)據(jù),在EPROM編程時(shí),P0口通常是作為輸入口輸入原碼,而且在校驗(yàn)的時(shí)候,P0就成了原碼輸出口,同時(shí)在校驗(yàn)的時(shí)候必須要外接上拉電阻,拉高輸出口的電位[4]。P1(包括P1.0~P1.7引腳)包含8位自身內(nèi)部就可以提供上拉電阻的雙向I/O口,它的輸出緩沖器能夠驅(qū)動接收輸出4個(gè)TTL的門電流,當(dāng)它的管腳輸入1時(shí),會有內(nèi)部上拉電阻將它拉到成高電位,以此就能用作為輸入口,而同時(shí),當(dāng)它被外部下拉成為低電平的時(shí)候,就會變成輸出電流。在EPROM編程校驗(yàn)的時(shí)候,它能夠作為低8位地址的接收口。除此之位,STC89C52RC這里P1.0和P1.1的功能比STC89C51RC之中的要多一些,STC89C52RC中的P1.0引腳可以作為時(shí)鐘輸出,就是定時(shí)器或者計(jì)數(shù)器2的外部技術(shù)輸出,P1.1則是可以作為定時(shí)器或者計(jì)數(shù)器2的輸入P2(包括P2.0~P2.7引腳)這個(gè)端口的功能跟P1口并沒有太大的差距,都是包含8位自身內(nèi)部就可以提供上拉電阻的雙向I/O口,而且它的輸出緩沖器也能夠驅(qū)動接收4個(gè)TTL的門電流,當(dāng)它的管腳輸入1時(shí),會有內(nèi)部上拉電阻將它拉到高電平,此時(shí)便可以用作為輸入口,但同時(shí)管腳會被外部拉低,以此輸出電流。而在當(dāng)端口用于外部ROM和和16位地址的外部RAM存取時(shí),它就會送出地址的高8位。當(dāng)它在讀寫外部8位地址的RAM時(shí),就會輸出它在特殊寄存器SFR里面寄存的內(nèi)容,在EPROM編程校驗(yàn)時(shí),它能夠接收高位的一些地址和控制的信號。P3(包括P3.0~P3.7引腳)P3端口跟P1、P2端口功能都是相同點(diǎn)很多,包含8位自身內(nèi)部就可以提供上拉電阻的雙向I/O口,它的輸出緩沖器能夠驅(qū)動接收4個(gè)TTL門電流,當(dāng)它的管腳輸入1時(shí),電位會被內(nèi)部上拉電阻拉高,用作于輸入口,但又會被外部拉低,輸出電流。當(dāng)在EPROM編程校驗(yàn)時(shí),與P2口不同的是它只能接收控制信號。與其他端口都不同的是,P3口每一個(gè)引腳都有它們的第二功能:(1)、P3.0(RXD又叫串行輸入口)(2)、P3.1(TXD又叫串行輸出口)(3)、P3.2(INT0,外部中斷0)(4)、P3.3(INT1,外部中斷1)(5)、P3.4(T0,是計(jì)時(shí)器0的外部輸入)(6)、P3.5(T1,是計(jì)時(shí)器1的外部輸入)(7)、P3.6(WR,外部RAM寫選通)(8)、P3.7(RD,外部RAM讀選通)以上便是P3口每一個(gè)引腳的第二功能。其中P3口的P3.1、P3.2、P3.3在此次設(shè)計(jì)中的主要功能是用于除了復(fù)位按鍵之外的其他三個(gè)按鍵作用的輸出,P3.3主要是用于連接內(nèi)容切換按鍵模塊、P3.1主要是用于連接暫停按鍵、P3.2主要是用于連接循環(huán)左移時(shí)方向取反的按鍵。主要連接電路如圖3-5所示:圖3-5按鍵電路圖以上便是此次設(shè)計(jì)單片機(jī)硬件中STC89C52RC單片機(jī)需要用到的功能介紹。3.2.274HC138譯碼器的基本介紹74HC138譯碼器是有三個(gè)通道輸入加上八個(gè)通道輸出的一種譯碼器,主要是采用CMOS工藝制作,而且它的功耗非常低。圖3-674HC138引腳圖74HC138譯碼器中主要工作步驟是有三個(gè)地址輸入位,然后有三個(gè)使能輸入位,之后便是共有八個(gè)輸出位,其中GND引腳是邏輯接地端、VDD引腳是邏輯電源端、A0-A2便是三個(gè)數(shù)據(jù)地址的輸入端、E1和E2跟E3則是數(shù)據(jù)地址輸入之后的使能控制端、Y0--Y7則是八個(gè)數(shù)據(jù)輸出端。在此次設(shè)計(jì)中,我們使用兩片3-8線的74HC138譯碼器連接構(gòu)成一個(gè)4-16線的譯碼器,因?yàn)槊科?4HC138譯碼器都有相對應(yīng)的接口,這樣使用兩片構(gòu)成一個(gè)4線譯碼器,不僅能夠節(jié)約成本,因?yàn)橐粋€(gè)4線譯碼器的價(jià)格遠(yuǎn)遠(yuǎn)比兩個(gè)74HC138譯碼器的價(jià)格要昂貴,而且這樣對接構(gòu)成的4線譯碼器同樣擁有提高單片機(jī)驅(qū)動能力的作用,在這里,我們將兩片74HC138組合成的4-16線譯碼器作為行驅(qū)動器。它們連接起來的4-16線譯碼器的電路圖如圖3-7所示:圖3-7譯碼器電路圖圖3-6中的電路圖為74HC138譯碼器的邏輯圖,但是在我們連接引腳的時(shí)候,要邏輯圖和引腳圖綜合起來去接線,因?yàn)槲覀兪褂玫?4HC138譯碼器是兩邊都有八位引腳的,如圖中所示Y0--Y6是在同一邊的,而Y7則在另外一邊,但是Y7也是74HC138的輸出位,所以我們接線的時(shí)候一定要非常小心,如果只看著邏輯圖去接線的話,很容易就接錯。3.2.374HC595移位寄存器的基本介紹74HC595移位寄存器同樣是采用COMS工藝制作,是一種漏極開路具有8位串行輸入和8位串行并且也可以并行輸出的芯片,具有三種可控的狀態(tài)輸出端,分別為高阻、關(guān)和斷狀態(tài)。同時(shí),74HC595移位寄存器可以控制下一級級聯(lián)芯片,所以可以使用兩片移位寄存器進(jìn)行級聯(lián),這樣便剛好夠16×16LED點(diǎn)陣顯示屏數(shù)據(jù)的輸出。其中74HC595也有一些特點(diǎn),如下表3-4所示:表3-474HC595移位寄存器特點(diǎn)序號特點(diǎn)1COMS串行輸出,可用于多個(gè)設(shè)備的級聯(lián)2低功耗3標(biāo)準(zhǔn)串行接口4高速移位時(shí)鐘頻率Fmax>25MHz圖3-874HC595引腳圖在此次設(shè)計(jì)中,兩片移位寄存器級聯(lián)剛好有16個(gè)輸出口,移位寄存器中存在有數(shù)據(jù)鎖存器,可以鎖存從單片機(jī)中送出來的數(shù)據(jù),并且將其送出到LED顯示屏中,同時(shí)它能夠作為驅(qū)動器件使用,在本設(shè)計(jì)中74HC595移位寄存器同樣擔(dān)任著作為顯示屏行驅(qū)動的角色。74HC595中的移位寄存器跟鎖存器的控制是互不干擾的,所以在顯示一行數(shù)據(jù)的時(shí)候,可以傳送另一行數(shù)據(jù),做到充分的準(zhǔn)備。74HC595的各引腳功能如下表3-5所示,兩片74HC595級聯(lián)輸出的電路圖如圖3-9所示:表3-574HC595引腳功能表引腳名引腳功能QA-QH三態(tài)的輸出引腳GND電源接地端SQHQH的延伸端,因?yàn)镼H端收到鎖存器的輸入控制,便引出SQH作為串行數(shù)據(jù)的輸出引腳SCLR移位寄存器的清零端SCK數(shù)據(jù)輸入的時(shí)鐘線RCK輸出存儲器鎖存時(shí)鐘線OE輸出使能SI數(shù)據(jù)線VCC電源端圖3-974HC595電路圖3.3LED顯示屏的基本介紹3.3.1LED顯示屏點(diǎn)陣介紹此次設(shè)計(jì)用的是8×8單色點(diǎn)陣,一共有64個(gè)發(fā)光二極管組合而成。8×8LED點(diǎn)陣外觀和引腳圖如下圖3-10所示:圖3-10LED8×8點(diǎn)陣引腳圖8×8LED點(diǎn)陣顯示器中的接法一共有兩種,分別是共陽型和共陰型接法。此次設(shè)計(jì)中使用的LED顯示屏型號為1088BS,使用的是兩者中的共陽型接法。如下圖13所示,每一個(gè)發(fā)光二極管都是在行線與列線的相交點(diǎn)上,共陽型接法簡單來說就是把每一列的發(fā)光二極管的陰極接在一起,每一行的發(fā)光二極管接在一起,在給陽極端加高電平給陰極端接低電平的情況下,就能夠點(diǎn)亮發(fā)光二極管[15]。圖3-118×8點(diǎn)陣原理圖如圖所示,如上述所說在給陽極端加高電平給陰極端加低電平的時(shí)候,二極管便會發(fā)亮,如果你要讓1行線和h列線相交的二極管發(fā)亮,那么在1接高電平,h接低電平,那么這個(gè)發(fā)光二極管便會發(fā)亮。同理可得,如果你要第8行一整行的二極管都點(diǎn)亮,那么就需要在8接高電平,在a、b、c、d、e、f、g、h上都接低電平,那么便可以點(diǎn)亮一整行的二極管,如果要點(diǎn)亮第一列一整列的二極管,就需要在1、2、3、4、5、6、7、8上都接高電平,在a上接低電平,便可以點(diǎn)亮第1列的二極管。3.3.2LED顯示屏的顯示方法此次設(shè)計(jì)是為了要顯示出漢字,并且實(shí)現(xiàn)特殊效果的顯示,所以只是8×8LED顯示屏的話無法滿足顯示整個(gè)漢字,所以我們選擇將四塊8×8LED顯示屏模板組合成一個(gè)16×16的LED點(diǎn)陣顯示屏,這樣做一是因?yàn)?6×16LED顯示屏剛好能夠顯示一個(gè)完整的漢字,簡單的或者復(fù)雜的都可以,二是因?yàn)橛盟膲K8×8的點(diǎn)陣顯示屏?xí)档统杀?,比較便宜。同樣的,在Proteus仿真中也僅僅只有5×7或者8×8之類的LED點(diǎn)陣顯示屏,也是沒有16×16的,所以同樣需要用四塊8×8的組合而成。組合的方法就是將左1和右1的行線連接起來,將左2和右2的行線連接起來,將左1和左2的列線連接起來,將右1和右2的列線連接起來。如圖3-12所示: 圖3-1216×16LED顯示屏解決了漢字顯示的問題之后,便是要解決如何讓LED顯示屏顯示出漢字。因?yàn)長ED顯示屏掌握的技術(shù)當(dāng)中就包含有動態(tài)掃描的技術(shù),所以此次設(shè)計(jì)便是采用LED顯示屏的動態(tài)掃描技術(shù)的方式。對于LED顯示屏的動態(tài)掃描通常由分為兩種,一種逐行掃描一種是逐列掃描。逐行掃描方式就是將每一行的列數(shù)據(jù)送出進(jìn)行鎖存,然后逐位點(diǎn)亮熄滅,一直掃描完16行之后,又重新掃描第一行。逐列掃描的方式就是先送出16×16顯示屏16列中第一列的發(fā)光二極管數(shù)據(jù)將之鎖存,而后選通之后依次點(diǎn)亮一位之后熄滅在點(diǎn)亮另一位,之后在進(jìn)行第二列數(shù)據(jù)的送出。雖然每一位的二極管不會同時(shí)點(diǎn)亮,每次只能顯示一位,但是每一位點(diǎn)亮又熄滅之后都會有余暉,而且掃描完16列的時(shí)間是極其短的,而且在一秒中之內(nèi)能掃描很多次,所以在人的視覺中,看到的仍然是一個(gè)完整的字體,本設(shè)計(jì)使用的是逐列掃描的方式。傳輸數(shù)據(jù)的方法是LED顯示屏技術(shù)當(dāng)中的串行傳輸?shù)姆绞剑瑢?shù)據(jù)每一位每一位的送往驅(qū)動器中,引線的數(shù)量用得比較少,這樣就降低了成本,耗能也隨著減少了。3.3.3LED顯示屏點(diǎn)陣的移動讓LED顯示屏中字符移動的方法其實(shí)并不少,因?yàn)榇舜卧O(shè)計(jì)使用的是列掃描的方法,所以在這里介紹兩種列掃面的字符移動的方法。方法一:這個(gè)方法主要是在用單片機(jī)匯編語言的情況下使用的,這種方法是通過數(shù)組的延長來實(shí)現(xiàn)的。在開始第一次掃描的時(shí)候,從第一列開始每行送出行數(shù)據(jù),一直到第十六列,當(dāng)?shù)谝淮螔呙柰曛蟊汩_始第二次掃描,但是第二次掃面的時(shí)候,便是從第二列開始每行送出行數(shù)據(jù),一直掃描到第十七列,這里的第十七列其實(shí)就是第一列的數(shù)據(jù),以此類推,第三次掃描就從第三列開始掃描起,以此便會在人的視覺中是正在左移的效果。假如一個(gè)字的字形編碼是00H、01H、02H、03H、04H、05H、04H、08H、09H,那么掃描完第一次之后,第二次掃描出來的字形編碼便是01H02H、03H、04H、05H、06H、07H、08H、09H、00H,這樣便可以實(shí)現(xiàn)字符的做移動效果。方法二:第二種方法則是適合用c語言來編寫實(shí)現(xiàn)。這種方法通常是能夠?qū)崿F(xiàn)字符的循環(huán)移動,這里拿左移動來進(jìn)行闡述,就是使用c語言程序編寫一個(gè)數(shù)組中數(shù)據(jù)的循環(huán)左移動子程序,在第一次調(diào)用這個(gè)子程序的時(shí)候字符便會循環(huán)左移一次,調(diào)用的方式是通過主程序來實(shí)現(xiàn)調(diào)用。還有一種方式是通過控制變量來實(shí)現(xiàn)字符的移動,因?yàn)楸驹O(shè)計(jì)使用的方法是編寫子程序的方法,所以不多加闡述。此次設(shè)計(jì)使用的方法是方法二,通過c語言程序來編寫循環(huán)移動的子程序,在通過主程序來進(jìn)行調(diào)用,兩種方法都是使用左移動來說的,但是其他移動方式的方法大同小異,都是在這兩種方法的基礎(chǔ)上完成的。3.4字模的提取在字模的提取中,因?yàn)閱纹瑱C(jī)的每部分端口或者總線是只有8位的,但是我們的LED顯示屏是16×16的點(diǎn)陣顯示屏,不能直接一列一列直接將字模代碼顯示出來,所以便是需要將之拆分開來,將16×16的LED顯示屏拆分成兩部分,上面一塊8×16的LED顯示屏,下面同樣也有一部分8×16的LED顯示屏。字模代碼提取的方式就是從第一列開始,上半部分從上至下8位分別是P0—P7,從圖中的貴字看去,上半部分的第一列8位都沒有亮,便可以看作為二進(jìn)制中的00000000,轉(zhuǎn)換成字模代碼就是0x00,上半部分掃描完成便可掃描下半部分,下半部分的從上至下8位分別是P2.7—P2.0,這時(shí)候我們看圖中的貴字,可以看出P2.7那個(gè)位是亮的,其他位都沒有亮,則可以看成二進(jìn)制中的10000000,轉(zhuǎn)換成字模代碼就是0x80,以此類推我們便可以很快的算出第二列上半部分的字模代碼是0x01,下半部分的字模代碼就是0x00,所以按照此方法,我們最后得出貴愷的貴字的字模代碼就是:0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x0F,0xF0,0x08,0x20,0x08,0x20,0x08,0x20,0xFF,0xFF,0x08,0x20,0x08,0x20,0x08,0x20,0x0F,0xF0,0x00,0x00,0x00,0x00,/*"貴",0*/在輸入我們需要的顯示內(nèi)容的時(shí)候,一般都會輸入兩個(gè)空字節(jié)進(jìn)去,為了在顯示屏顯示出內(nèi)容的時(shí)候進(jìn)行一定時(shí)間的緩沖,一個(gè)原因是因?yàn)闆]有緩沖的時(shí)間的話可能會造成LED點(diǎn)陣顯示屏的損壞,另一個(gè)原因是沒有緩沖時(shí)間可能會因?yàn)橐怀霈F(xiàn)內(nèi)容就直接向左移動或者向右移動,從而造成視覺上的不舒適??兆止?jié)代碼如下所示:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,圖3-13字模軟件設(shè)置圖這種方法很簡單,利用這種方法原理,我們不管是文字或者圖像或者要LED顯示屏顯示得其他東西,都可以很輕松的得出字模代碼,但是如果字?jǐn)?shù)量很大的話靠人為的運(yùn)算難免會浪費(fèi)大量的時(shí)間,所以在網(wǎng)上有很多現(xiàn)成得字模軟件,我使用的字模軟件名字叫做PCtoLCD2002,但是在取模過程中,我們也要設(shè)置一些東西,比如我們此次設(shè)計(jì)用到的掃面方式是列掃描的方式,所以在設(shè)置字模選項(xiàng)的時(shí)候要選取逐列式,并且輸出數(shù)制是十六進(jìn)制數(shù),在選取的格式中,因?yàn)槲覀冊O(shè)計(jì)使用的是c語言的程序設(shè)計(jì),所以我們要選擇c51的格式,并且刪除行前綴。
第四章系統(tǒng)軟件的設(shè)計(jì)4.1主程序框圖的設(shè)計(jì)此次設(shè)計(jì)的程序流程主要是:首先設(shè)計(jì)清屏程序?qū)崿F(xiàn)清屏效果,然后是循環(huán)左移的顯示第一段字模代碼內(nèi)容,然后便是有著四個(gè)按鍵功能模塊的設(shè)計(jì)。四個(gè)按鍵模塊的第一個(gè)是暫停鍵,按下這個(gè)按鍵就會實(shí)現(xiàn)LED顯示屏上內(nèi)容顯示過程中任意位置突然停止不動的效果,第二個(gè)按鍵是方向切換鍵,按下這個(gè)按鍵將會實(shí)現(xiàn)原本循環(huán)左移動的顯示效果變成循環(huán)右移動,第三個(gè)按鍵是顯示內(nèi)容的切換鍵,這個(gè)按鍵按下之后會實(shí)現(xiàn)LED顯示屏上顯示內(nèi)容的切換,本設(shè)計(jì)一共設(shè)計(jì)了三段字模內(nèi)容,所以會實(shí)現(xiàn)三段內(nèi)容間的相互切換,最后一個(gè)按鍵時(shí)復(fù)位按鍵,在任意顯示效果的時(shí)候復(fù)位都會恢復(fù)到循環(huán)左移動顯示第一段內(nèi)容的狀態(tài)。主要流程如下流程框圖4-1所示: 圖4-1主程序流程框圖4.2各部分程序的設(shè)計(jì)4.2.1延時(shí)程序的設(shè)計(jì)本設(shè)計(jì)的全部程序都是通過keiluVision4軟件進(jìn)行編寫。延時(shí)程序的運(yùn)用在單片機(jī)中是相當(dāng)廣泛的,基本上的電子設(shè)備程序中都會有相應(yīng)的延時(shí)子程序,同如其名,延時(shí)子程序的主要功能便是延時(shí),在本次設(shè)計(jì)中的主要功能是使LED顯示屏中的文字在顯示移動的時(shí)候都有一小段的時(shí)間間隔,用了延時(shí)子程序之后的移動速度會讓人看起來比較舒服,速度剛剛好。延時(shí)子程序的代碼主要有下所示:voiddelay(unsignedintz)//延時(shí)子函數(shù){unsignedcharx;for(;z>0;z--)for(x=110;x>0;x--);}4.2.2按鍵模塊程序的設(shè)計(jì)在這次設(shè)計(jì)過程中,除了復(fù)位電路以外,我總共采用了三個(gè)按鍵來幫助控制LED顯示屏的顯示,第一個(gè)是暫停按鍵,這個(gè)按鍵可以實(shí)現(xiàn)LED顯示屏在顯示的時(shí)候?qū)崿F(xiàn)隨時(shí)暫停,不管是顯示完整的一個(gè)漢字或者不是一個(gè)完整的漢字都可以;第二個(gè)取反按鍵,這個(gè)按鍵可以實(shí)現(xiàn)LED顯示屏中的內(nèi)容在循環(huán)左移的情況變成循環(huán)右移,當(dāng)然同樣可以將循環(huán)右移動的情況下變成循環(huán)左移;第三個(gè)內(nèi)容切換按鍵,這個(gè)按鍵主要實(shí)現(xiàn)的是將LED顯示屏顯示的內(nèi)容隨時(shí)地進(jìn)行切換,本設(shè)計(jì)一共可以實(shí)現(xiàn)三段內(nèi)容的相互切換。按鍵模塊功能實(shí)現(xiàn)的流程圖如下圖4-2所示:圖4-2按鍵模塊流程圖以下這段子程序的作用是提取出三段內(nèi)容的字模代碼:for(i=0;i<16;i++)//循環(huán)移位{//兩片138組成的4-16線譯碼器P2=i;//列數(shù)據(jù)驅(qū)動,138的驅(qū)動端口if(fx==0)//正向移動{if(duan==0)writedata(tab[net+aa],tab[net+aa+1]);//寫入第一段正向移動顯示的數(shù)據(jù)if(duan==1)writedata(tab2[net+aa],tab2[net+aa+1]);//寫入第二段正向移動顯示的數(shù)據(jù)if(duan==2)writedata(tab4[net+aa],tab4[net+aa+1]);//寫入第三段正向移動顯示的數(shù)據(jù)}if(fx==1)//反向移動{if(duan==0)writedata(tab1[net+aa],tab1[net+aa+1]);//寫入第一段反向移動顯示的數(shù)據(jù)if(duan==1)writedata(tab3[net+aa],tab3[net+aa+1]);//寫入第二段反向移動顯示的數(shù)據(jù)if(duan==2)writedata(tab5[net+aa],tab5[net+aa+1]);//寫入第三段反向移動顯示的數(shù)據(jù)}delay(3);//延時(shí)writedata(0,0);//清屏aa+=2;//數(shù)據(jù)加實(shí)現(xiàn)掃描if(aa>30)aa=0;//循環(huán)16次清零}}}以上字模代碼中,當(dāng)tab等于0的時(shí)候提取出第一段左移動字模內(nèi)容,等于2的時(shí)候提取第二段左移動字模內(nèi)容,等于4的時(shí)候提取第三段左移動字模內(nèi)容,同理可得,當(dāng)tab等一1、3、5的時(shí)候,便會提取第一到第三段的右移動字模內(nèi)容,這段子程序主要會受到按鍵模塊主程序地調(diào)用。4.2.3特效顯示程序設(shè)計(jì)本次設(shè)計(jì)要實(shí)現(xiàn)的特效顯示是從單片機(jī)一啟動開始,當(dāng)主程序判斷是左移動的方式之后,LED顯示屏的顯示內(nèi)容便開始無限循環(huán)左移,顯式初始化之后,程序進(jìn)入判斷階段,判斷是否中斷并且判斷是否進(jìn)行某種按鍵的功能,如上面所說的,如果判斷是否取反按鍵的結(jié)果是YES的話,則回到顯式初始化階段,并且方向取反,變成循環(huán)右移動。那么顯示模塊是怎么樣接收到數(shù)據(jù)進(jìn)行顯示的呢,本次設(shè)計(jì)數(shù)據(jù)的送出主要是通過單片機(jī)送出數(shù)據(jù)到74HC595移位寄存器中,接收到數(shù)據(jù)的移位寄存器會將數(shù)據(jù)進(jìn)行鎖存,上電打開自鎖開關(guān)之后,移位寄存器會送出行信號跟列信號,每次送出16×16中的一個(gè),這樣循環(huán)16次便能夠完成一個(gè)漢字的輸出,因?yàn)橐涣行盘柣蛘咭恍行盘柕妮敵鰰r(shí)間很短,很快便能夠完成16個(gè)數(shù)據(jù)的輸出,所以在人的視角下,是看不出來有很大的區(qū)別的,左移動和右移動也是如此,單片機(jī)會將移位之后的數(shù)據(jù)送入到移位寄存器內(nèi),然后再由移位寄存器送出。實(shí)現(xiàn)顯示的主要步驟流程圖和設(shè)計(jì)程序如下圖4-3和4-4所示:圖4-3顯示步驟流程圖圖4-4數(shù)據(jù)顯示程序圖以上便是系統(tǒng)軟件設(shè)計(jì)的全部內(nèi)容,主要流程便是如流程框圖所示,整個(gè)設(shè)計(jì)想要實(shí)現(xiàn)的流程是,利用上位機(jī)使用STC下載器將程序代碼下載進(jìn)入到STC89C52RC單片機(jī)內(nèi),然后打開電源之后便是會運(yùn)轉(zhuǎn)主程序調(diào)用子程序使每個(gè)硬件模塊發(fā)揮自己的作用,有了74HC595移位寄存器和兩片74HC138譯碼器提高驅(qū)動能力,LED顯示屏便能夠成功顯示自己編輯的內(nèi)容,并且通過按鍵模塊進(jìn)行實(shí)現(xiàn)暫停、方向取反、內(nèi)容切換的功能。
第五章系統(tǒng)的調(diào)試與仿真5.1系統(tǒng)軟件的調(diào)試軟件的調(diào)試其實(shí)就是各模塊程序的調(diào)試,就是檢測程序有沒有錯誤,能不能實(shí)現(xiàn)你寫代碼想要實(shí)現(xiàn)的功能。因?yàn)楸敬卧O(shè)計(jì)編寫程序使用的是c語言程序,所以我們可以使用Keil軟件來進(jìn)行編寫。使用此軟件之前需先創(chuàng)建一個(gè)工程文件,用來進(jìn)行程序的編寫,創(chuàng)建過程中會出現(xiàn)一個(gè)選擇單片機(jī)型號的過程,因?yàn)槲覀冊O(shè)計(jì)使用的是STC89C52RC單片機(jī),故選擇STC89C52RC型號單片機(jī)[11]。創(chuàng)建好之后便可以開始進(jìn)行程序的編寫,在編寫過程中我們還可以分模塊編寫,每個(gè)模塊都可以用主模塊進(jìn)行調(diào)用,我們每編寫好一段程序便可以用keil進(jìn)行編譯查看是都有出現(xiàn)錯誤,每條程序的后面都可以標(biāo)上注釋以便別人理解,如圖5-1所示。在整段程序都編寫完成后再次編譯,確定無誤后即可保存出后綴名為.HEX的文件。圖5-1keil軟件程序設(shè)計(jì)圖5.2系統(tǒng)實(shí)物和proteus的測試與仿真5.2.1實(shí)物總體概述本次設(shè)計(jì)主要包括單片機(jī)模塊、按鍵模塊、驅(qū)動模塊和顯示模塊,還有各種小器件如開關(guān)、電阻電容、晶振等。其中按鍵模塊有四個(gè)按鍵,驅(qū)動模塊中有兩片74HC595移位寄存器和兩片74HC138譯碼器,顯示模塊是由四塊8×8LED點(diǎn)陣顯示屏組合而成的16×16顯示屏,主要的實(shí)現(xiàn)流程是通過電腦上位機(jī)將程序通過STC下載器錄入到單片機(jī)模塊中,然后單片機(jī)將數(shù)據(jù)送出到74HC595移位寄存器中,兩片移位寄存器剛剛好有16位輸出口,然后移位寄存器將數(shù)據(jù)送入到顯示模塊中,然后通過驅(qū)動模塊驅(qū)動LED顯示屏使其達(dá)到顯示要求完成顯示。準(zhǔn)備好各種元器件之后,通過電路原理圖將其一點(diǎn)點(diǎn)焊接起來,如圖5-2跟圖5-3示:圖5-2實(shí)物成品圖圖5-3實(shí)物背面焊接圖5.2.2實(shí)物功能演示此次設(shè)計(jì)中一共有兩段內(nèi)容可以顯示,內(nèi)容切換按鍵每次按下都會切換一次內(nèi)容,其中第一段內(nèi)容是“機(jī)電工程學(xué)院”,第二段內(nèi)容是“畢業(yè)設(shè)計(jì)答辯”,如下圖所示5-4和5-5所示第一段和第二段內(nèi)容:圖5-4第一段內(nèi)容顯示測試 圖5-5第與段內(nèi)容顯示測試在移動測試中,三段內(nèi)容同樣都可以進(jìn)行右循環(huán)移動。這些便是此次設(shè)計(jì)的大致功能,總體功能流程是顯示模塊顯示設(shè)計(jì)內(nèi)容,按鍵模塊進(jìn)行方向以及顯示內(nèi)容之間的切換,同時(shí)還有暫停和復(fù)位的功能。此次設(shè)計(jì)實(shí)物完成的主要難點(diǎn)在于各元器件和線之間連接以及焊接,很容易造成失誤,所以需要很細(xì)心的去做。5.2.3Proteus軟件的仿真我們仿真可以用到的軟件是Proteus,要成功進(jìn)行仿真我們就要學(xué)會使用,首先我們要根據(jù)自己的元器件在器件庫里面找的相對應(yīng)的元器件,并按照電路原理圖一一接線。接線過程中我們可以挪動各模塊的位置,這樣可以更方便的進(jìn)行界限,完成之后我們雙擊任意一個(gè)元器件,在ProgramFile這個(gè)名稱的地方選擇我們自己編譯的程序文件,確認(rèn)之后便可以開始進(jìn)行仿真,如未能正常顯示出設(shè)計(jì)的內(nèi)容,則檢查一下接線和元器件是否有選擇錯誤。具體接線圖如附錄中所示。主要的仿真圖如圖5-6所示:圖5-6Proteus仿真圖
第六章總結(jié)與展望6.1總結(jié)這次的畢業(yè)設(shè)計(jì)從最初的選題環(huán)節(jié)到現(xiàn)在也過去了很長一段時(shí)間,在本次設(shè)計(jì)中我學(xué)到的東西有很多很多,有一些是我們大學(xué)四年學(xué)過的知識但是又有點(diǎn)遺忘的,有一些是我們沒有接觸過的因?yàn)檫@次畢業(yè)設(shè)計(jì)而新接觸的。此次的設(shè)計(jì)是一個(gè)使用單片機(jī)模塊控制的LED顯示屏,主要想實(shí)現(xiàn)的功能是能夠通過在LED顯示屏上顯示出自己編輯的字模內(nèi)容并且能夠通過按鍵模塊實(shí)現(xiàn)內(nèi)容的切換、暫停、以及循環(huán)的左移動和右移動。通過大量查閱文獻(xiàn)資料這些,我慢慢的了解了LED顯示屏目前的發(fā)展?fàn)顩r和技術(shù)狀況這些,并且通過查閱資料讓我更加清晰了要如何去完成通過單片機(jī)模板控制LED顯示屏。通過此次設(shè)計(jì),讓我對于51單片機(jī)系列的STC89C52RC有了更深的認(rèn)識,并且因?yàn)槌绦虻木帉?,讓我對于c語言程序又重新鞏固了一些,對于各種指令代碼的使用方法又有了更深的記憶。同時(shí),對于編寫程序需要用到的keil軟件也是又重新復(fù)習(xí)了一遍,因?yàn)樵诖笠黄陂g學(xué)過c語言程序的設(shè)計(jì),使用過此軟件。仿真過程中,我初次接觸了Proteus,也學(xué)會了這個(gè)軟件的基本使用方法,了解到這個(gè)軟件的用途很廣泛,對于學(xué)習(xí)電子的人來說會更加有用處。然而在設(shè)計(jì)的過程中同樣會遇到這樣那樣的問題,比如在keil程序編寫過程中,進(jìn)行編譯老是會出現(xiàn)錯誤,這時(shí)候便需要自己查看軟件給出的問題內(nèi)容,到底是程序代碼的使用錯誤還是編程格式書寫,并解決問題。6.2展望此次設(shè)計(jì)中所展現(xiàn)的功能并不全面,仍然還有很多種功能可以實(shí)現(xiàn)。比如可以加個(gè)藍(lán)牙模塊便可以實(shí)時(shí)上傳程序進(jìn)入到單片機(jī)模塊內(nèi),省下了要自己通過電腦STC下載器錄入的繁雜過程;可以加個(gè)紅外遙控模塊,通過遙控器來進(jìn)行功能之間的切換;顯示特效方面同樣有很多種特效可以切換,如上移、閃爍等。只要細(xì)心去研究去做的話,實(shí)現(xiàn)這些功能完全是可以的。
參考文獻(xiàn)[1]魏立明,閆偉,金雅慶等.基于單片機(jī)的廣告牌系統(tǒng)設(shè)計(jì)[J].吉林建筑大學(xué)學(xué)報(bào),2018,35(04):76-79.[2]呂岳敏.LED顯示屏技術(shù)現(xiàn)狀及發(fā)展分析[J].電子元器件與信息技術(shù),2020,4(11):107-108.[3]譚興宇.LED顯示屏在電子信息領(lǐng)域的發(fā)展趨勢研究[D].[1]青島李洲電子科技股份有限公司,2020.[4]韓改寧,基于AT89C52實(shí)現(xiàn)LED點(diǎn)陣漢字顯示[D].咸陽師范學(xué)院學(xué)報(bào),2011.[5]X剛,吳彥正,張靖宇.單片機(jī)LED顯示屏設(shè)計(jì)分析[J].數(shù)字通信世界,2020(3):196,249.[6]李志強(qiáng)等.基于VC++的LED點(diǎn)陣顯示屏控制系統(tǒng)設(shè)計(jì).無線互聯(lián)科技,2012(2):70-71.[7]文哲雄.用單片機(jī)控制LED顯示屏[D].佛山:佛山科學(xué)技術(shù)學(xué)院,1995.[8]戴祿君,劉戰(zhàn)峰.基于單片機(jī)的LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)[D].計(jì)算機(jī)與數(shù)字工程,2014.[9]李全利編.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:高等教育出版社,2004年:55-57.[10]孫萬麟,宋莉莉,韓晨.基于Keil+Proteus的單片機(jī)實(shí)驗(yàn)設(shè)計(jì)及仿真[J].系統(tǒng)仿真技術(shù),2020,16(03):181-184.[11]劉光乾.手把手進(jìn)行KeilC編程調(diào)試和仿真(上)[N].電子報(bào),2020-03-01(009).[12]劉光乾.手把手進(jìn)行KeilC編程調(diào)試和仿真(下)[N].電子報(bào),2020-03-15(009).[13]楊延寧,劉立軍.基于Proteus的單片機(jī)漢字點(diǎn)陣顯示電路的設(shè)計(jì)[A].西北大學(xué),光子學(xué)與光子技術(shù)研究所,2009,24-25[14]吳振磊,劉孝趙.74HC595在單片機(jī)控制多位數(shù)碼管中的應(yīng)用[D].科技廣場,2013.[15]李尚德,高玉平,余慧等夏.單片機(jī)程序控制波動演示儀[D].內(nèi)蒙古師范大學(xué)學(xué)報(bào)(自然科學(xué)漢文版),2004.
附錄附錄A圖1總電路原理圖圖2LED顯示模塊電路圖圖374HC138驅(qū)動模塊電路圖圖4接線圖
表1元器件清單表器件名稱型號數(shù)量器件名稱型號數(shù)量電阻10k1譯碼器74HC1382按鈕輕觸按鈕4移位寄存器74HC5952自鎖開關(guān)自鎖開關(guān)1LED顯示屏8×84DC電源插口DC電源插口1單片機(jī)STC89C52RC1晶振晶振1
附錄B軟件程序總代碼:#include<reg51.h>//頭文件sbitshcp=P1^2;//數(shù)據(jù)輸入時(shí)鐘線595的11腳sbitstcp=P1^1;//輸出存儲器鎖存時(shí)鐘線595的12腳sbitds=P1^0;//數(shù)據(jù)線595的14腳sbits1=P3^1;//按下暫停再暫按繼續(xù)sbits2=P3^2;//按下方向取反sbits3=P3^3;//按下切換下一段bitfx;//方向切換unsignedcharalt;//數(shù)據(jù)移動定時(shí)時(shí)間unsignedintnet;//控制顯示的字符unsignedcharduan=0;//第幾段內(nèi)容unsignedcharzi=8;unsignedintzong;//總字符(所有的字?jǐn)?shù)+1)*32字?jǐn)?shù)指的是漢字,字母、數(shù)字兩個(gè)算一個(gè)數(shù)字unsignedcharcodetab[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*先送兩個(gè)空字節(jié)用于緩沖*///字模區(qū)unsignedcharcodetab2[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//0x08,0x20,0x08,0xC0,0x0B,0x00,0xFF,0xFF,0x09,0x00,0x08,0xC1,0x00,0x06,0x7F,0xF8,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x02,0x00,0x1E,0x00,0x00,/*"機(jī)",0*/0x00,0x00,0x00,0x00,0x1F,0xF8,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0xFF,0xFE,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1F,0xF9,0x00,0x01,0x00,0x0F,0x00,0x00,/*"電",1*/0x00,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x3F,0xFC,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x00,0x04,0x00,0x00,/*"工",2*/0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,0xC4,0x80,0x44,0x60,0x00,0x02,0x7C,0x92,0x44,0x92,0x44,0x92,0x44,0xFE,0x44,0x92,0x44,0x92,0x7C,0x92,0x00,0x82,0x00,0x00,/*"程",3*/0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x20,0x0C,0x20,0x00,0x00,/*"學(xué)",4*/0x00,0x00,0x7F,0xFF,0x44,0x20,0x5A,0x10,0x61,0xE0,0x08,0x01,0x30,0x82,0x24,0x8C,0x24,0xF0,0xA4,0x80,0x64,0x80,0x24,0xFC,0x24,0x82,0x28,0x82,0x30,0x8E,0x00,0x00,/*"院",5*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};unsignedcharcodetab3[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//0x00,0x00,0x7F,0xFF,0x44,0x20,0x5A,0x10,0x61,0xE0,0x08,0x01,0x30,0x82,0x24,0x8C,0x24,0xF0,0xA4,0x80,0x64,0x80,0x24,0xFC,0x24,0x82,0x28,0x82,0x30,0x8E,0x00,0x00,/*"機(jī)",0*/0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x20,0x0C,0x20,0x00,0x00,/*"電",1*/0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,0xC4,0x80,0x44,0x60,0x00,0x02,0x7C,0x92,0x44,0x92,0x44,0x92,0x44,0xFE,0x44,0x92,0x44,0x92,0x7C,0x92,0x00,0x82,0x00,0x00,/*"工",2*/0x00,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x3F,0xFC,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x00,0x04,0x00,0x00,/*"程",3*/0x00,0x00,0x00,0x00,0x1F,0xF8,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0xFF,0xFE,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1F,0xF9,0x00,0x01,0x00,0x0F,0x00,0x00,/*"學(xué)",4*/0x08,0x20,0x08,0xC0,0x0B,0x00,0xFF,0xFF,0x09,0x00,0x08,0xC1,0x00,0x06,0x7F,0xF8,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x02,0x00,0x1E,0x00,0x00,/*"院",5*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};unsignedcharcodetab4[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//0x00,0x20,0x00,0x20,0xFF,0xA0,0x11,0x20,0x11,0x20,0x12,0x20,0x12,0x20,0x00,0xFF,0xFE,0x20,0x11,0x20,0x21,0x20,0x21,0x20,0x41,0x20,0x07,0x20,0x00,0x20,0x00,0x00,/*"畢",0*/0x00,0x02,0x08,0x02,0x06,0x02,0x01,0xC2,0x00,0x02,0xFF,0xFE,0x00,0x02,0x00,0x02,0x00,0x02,0xFF,0xFE,0x00,0x42,0x00,0x82,0x03,0x02,0x0C,0x02,0x00,0x02,0x00,0x00,/*"業(yè)",1*/0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFC,0x00,0x09,0x02,0x11,0x05,0x02,0x79,0xC2,0x41,0x34,0x41,0x08,0x41,0x14,0x79,0x62,0x05,0x82,0x04,0x01,0x04,0x01,0x00,0x00,/*"設(shè)",2*/0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFE,0x00,0x04,0x02,0x08,0x02,0x00,0x02,0x00,0x02,0x00,0xFF,0xFF,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,/*"計(jì)",3*/0x04,0x80,0x08,0x80,0x31,0x00,0xE1,0x3F,0x32,0xA2,0x2A,0xA2,0x24,0xA2,0x28,0xA2,0x14,0xA2,0xE2,0xA2,0x22,0xA2,0x31,0x3F,0x29,0x00,0x20,0x80,0x20,0x80,0x00,0x00,/*"答",4*/0x01,0x00,0x11,0x21,0x95,0x26,0x73,0xF8,0x15,0x20,0x11,0x20,0x44,0x00,0x37,0xFC,0x00,0x08,0x00,0x10,0x11,0x00,0x95,0x20,0x73,0xFF,0x15,0x20,0x11,0x00,0x00,0x00,/*"辯",5*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};unsignedcharcodetab5[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//0x01,0x00,0x11,0x21,0x95,0x26,0x73,0xF8,0x15,0x20,0x11,0x20,0x44,0x00,0x37,0xFC,0x00,0x08,0x00,0x10,0x11,0x00,0x95,0x20,0x73,0xFF,0x15,0x20,0x11,0x00,0x00,0x00,/*"畢",0*/0x04,0x80,0x08,0x80,0x31,0x00,0xE1,0x3F,0x32,0xA2,0x2A,0xA2,0x24,0xA2,0x28,0xA2,0x14,0xA2,0xE2,0xA2,0x22,0xA2,0x31,0x3F,0x29,0x00,0x20,0x80,0x20,0x80,0x00,0x00,/*"業(yè)",1*/0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFE,0x00,0x04,0x02,0x08,0x02,0x00,0x02,0x00,0x02,0x00,0xFF,0xFF,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,/*"設(shè)",2*/0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFC,0x00,0x09,0x02,0x11,0x05,0x02,0x79,0xC2,0x41,0x34,0x41,0x08,0x41,0x14,0x79,0x62,0x05,0x82,0x04,0x01,0x04,0x01,0x00,0x00,/*"計(jì)",3*/0x00,0x02,0x08,0x02,0x06,0x02,0x01,0xC2,0x00,0x02,0xFF,0xFE,0x00,0x02,0
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GSP知識培訓(xùn)課件
- 二零二五年度個(gè)人車輛買賣合同含車輛交易稅費(fèi)減免條款
- 二零二五年度勞動仲裁調(diào)解協(xié)議范本:新興產(chǎn)業(yè)勞動者權(quán)益保護(hù)協(xié)議
- 二零二五年度就業(yè)市場分析與人才招聘服務(wù)協(xié)議
- 二零二五年度能源互聯(lián)網(wǎng)企業(yè)高管聘用及新能源協(xié)議
- 二零二五年度年會交通及住宿安排合同
- 浙江國企招聘2024臺州市建設(shè)咨詢有限公司招聘4人筆試參考題庫附帶答案詳解
- 2025河南神州精工制造股份有限公司招聘16人筆試參考題庫附帶答案詳解
- 教育概論知到智慧樹章節(jié)測試課后答案2024年秋山東女子學(xué)院
- 2025年福建省榕圣建設(shè)發(fā)展有限公司項(xiàng)目招聘12人筆試參考題庫附帶答案詳解
- GB/T 45083-2024再生資源分揀中心建設(shè)和管理規(guī)范
- 相互批評意見500條【5篇】
- 探索2-個(gè)人信息資源的防護(hù)措施-課件-蘇科版(2023)初中信息技術(shù)七年級下冊
- 城市支路施工組織設(shè)計(jì)
- 耐堿玻纖網(wǎng)格布檢測報(bào)告
- 20米往返跑教案 (2)
- 甲醛安全周知卡
- 《書法練習(xí)指導(dǎo)》教案江蘇鳳凰少年兒童出版社四年級下冊
- 三菱變頻器e700使用手冊基礎(chǔ)篇
- 公開課聽課簽到表(共1頁)
- DZ47LE-63 防雷型漏電斷路器說明書
評論
0/150
提交評論