16×16點(diǎn)陣LED顯示器字符滾動(dòng)顯示課程設(shè)計(jì)報(bào)告
-基于并行端口驅(qū)動(dòng)
目錄 1 選題背景 2 方案論證 2.1 課題要求 2.2 設(shè)計(jì)方案 3 16×16點(diǎn)陣LED顯示器字符滾動(dòng)顯示過程設(shè)計(jì)論述 3.1 系統(tǒng)硬件框圖設(shè)計(jì) 3.2 單片機(jī)AT89C51分析 3.3 系統(tǒng)原理圖設(shè)計(jì) 3.3.1 外界晶振電路原理圖設(shè)計(jì) 3.3.2 復(fù)位電路 3.3.3 系統(tǒng)原理總圖 3.4 系統(tǒng)軟件設(shè)計(jì) 3.4.1 程序流程圖 3.4.2 軟件代碼 4 結(jié)果分析 4.1 程序調(diào)試與仿真 4.2 仿真結(jié)果 5 總結(jié) 參考文獻(xiàn) 附錄
4 還是先給大家看看我的實(shí)驗(yàn)結(jié)果分析吧 4.1 程序調(diào)試與仿真 通過keil uvison4編寫程序,編譯后沒有警告和錯(cuò)誤,然后將其程序文件錄入PROTUES軟件中仿真圖AT89C51單片機(jī)中進(jìn)行仿真,在顯示過程中通過程序調(diào)節(jié)滾動(dòng)速度,直至出現(xiàn)預(yù)料中的顯示為止。 4.2 仿真結(jié)果 本設(shè)計(jì)最終在Keil C51與Proteus的聯(lián)機(jī)調(diào)試下完成的16×16點(diǎn)陣LED顯示器字符滾動(dòng)顯示的仿真結(jié)果如圖4-1所示。顯示效果不錯(cuò),因此可以得出該設(shè)計(jì)方案的準(zhǔn)確性和合理性,更進(jìn)一步驗(yàn)證了硬件電路的元器件規(guī)格選擇完全符合設(shè)計(jì)要求。同樣在顯示過程中,0-9數(shù)字的滾動(dòng)沒有出現(xiàn)顯示錯(cuò)誤的地方,不存在有缺或者多的地方,達(dá)到自己預(yù)期中的效果,成功實(shí)現(xiàn)了所需要的顯示內(nèi)容,足以驗(yàn)證該程序的準(zhǔn)確性和硬件電路的契合。進(jìn)而證明這次設(shè)計(jì)以AT89C51單片機(jī)為核心所設(shè)計(jì)的硬件電路及其軟件程序的編寫的準(zhǔn)確性,以及在器件的規(guī)格參數(shù)選擇中沒有失誤,完美的使電路和程序契合在一起,使其顯示成功。 
圖4-1 仿真結(jié)果圖5 總結(jié) 本次設(shè)計(jì)最終仿真結(jié)果顯示成功主要在于設(shè)計(jì)的正確性,其硬件部分器件的規(guī)格參數(shù)課本已有說明,軟件設(shè)計(jì)部分書上已經(jīng)給了參考源程序,但是書上給的是4個(gè)16×16 的點(diǎn)陣LED圖文顯示屏的源程序,我的課程設(shè)計(jì)是1個(gè)16×16的點(diǎn)陣LED字符顯示,因此我們需要在課本上給的源程序上進(jìn)行改動(dòng),這樣我們就需要看懂書上的源程序。程序編程時(shí)一個(gè)最重要的就是字模提取,在字模提取過程中,由于前期沒接觸過這個(gè)軟件,在學(xué)習(xí)過程中耗時(shí)很長,延長了一段時(shí)間做完方針,在這期間我們需要經(jīng)歷查閱資料、相互交流來使知識(shí)為自己所用才是自己最大的收獲,此次課設(shè)雖以完成,但在此過程中提高了我的學(xué)習(xí)能力。
1 選題背景 當(dāng)前的LED顯示屏行業(yè),已經(jīng)發(fā)展到了一個(gè)異于以往的新高度,呈現(xiàn)出直插屏、表貼屏、COB等多種技術(shù)形式的LED顯示市場(chǎng),甚至是隸屬于LED顯示領(lǐng)域的Microled顯示屏也“呼之欲出”,整個(gè)LED顯示行業(yè)表現(xiàn)出極大的生機(jī)與潛力。不斷發(fā)展與壯大的行業(yè)規(guī)模,以及巨大的發(fā)展空間,為這個(gè)行業(yè)里的每個(gè)從業(yè)者展示了機(jī)遇與挑戰(zhàn),小間距的強(qiáng)勢(shì)應(yīng)用滲透,創(chuàng)意顯示的如雨后春筍,智能顯示來勢(shì)兇猛,LED顯示屏已經(jīng)迎來了高清以及多元化發(fā)展應(yīng)用的新常態(tài),高品質(zhì)的LED顯示屏即是市場(chǎng)提出新的要求,也是行業(yè)適應(yīng)社會(huì)技術(shù)發(fā)展的重點(diǎn)話題。從主流的應(yīng)用層面上來講,當(dāng)前的LED顯示屏正朝著“精細(xì)”化的方向發(fā)展,以小間距LED顯示屏為代表的主流市場(chǎng),已經(jīng)為我們呈現(xiàn)了LED顯示屏在高清顯示領(lǐng)域的一種可能,并不斷向各個(gè)應(yīng)用市場(chǎng)滲透,且走向戶外,傳統(tǒng)的LED直插屏的一部分市場(chǎng)不斷被擠壓,一部分表貼LED顯示屏憑借自身優(yōu)異的工藝與色彩特點(diǎn),不斷在戶外顯示領(lǐng)域擴(kuò)張,并被市場(chǎng)不斷看好[1]。 2 方案論證 2.1 課題要求 本次設(shè)計(jì)采用16×16點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,并編寫程序?qū)崿F(xiàn)在16×16點(diǎn)陣LED顯示器上的字符滾動(dòng)顯示。16×16點(diǎn)陣LED顯示器由4塊8×8點(diǎn)陣LED顯示器構(gòu)成。采用單片機(jī)并行端口方式實(shí)現(xiàn)對(duì)16×16點(diǎn)陣LED顯示器的驅(qū)動(dòng),實(shí)現(xiàn)數(shù)字(0—9)或英文字符的滾動(dòng)顯示。 電路方面主要包括以下部分: (a)設(shè)計(jì)單片機(jī)的最小系統(tǒng)(包括復(fù)位電路和外接的晶振電路),并確定相關(guān)元器件參數(shù)。 (b)采用動(dòng)態(tài)驅(qū)動(dòng)的方式,設(shè)計(jì)單片機(jī)并行端口與16×16點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,主要包括控制點(diǎn)陣LED行和列的連線。 (c)設(shè)計(jì)單片機(jī)與元器件之間的控制連線。
2.2 設(shè)計(jì)方案 采用AT89C51單片機(jī)采用動(dòng)態(tài)掃描的顯示方法輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套驅(qū)動(dòng)器。把所有同行的發(fā)光管的陽極連在一起,把所有同列的發(fā)光管的陰極連在一起,先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù),然后選通第1行使其燃亮一定次數(shù),然后熄滅;再送出第二行的數(shù)據(jù),然后選通第2行使其燃亮相同次數(shù),然后熄滅;以此類推,第16行之后,又重新燃亮第1行,掃描數(shù)據(jù)依次類推。當(dāng)次數(shù)足夠多時(shí),由于人眼的視覺暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的數(shù)字。硬件電路由單片機(jī)復(fù)位電路、電源電路、外界晶振電路和16×16點(diǎn)陣LED顯示電路組成,其中復(fù)位電路、電源電路、外界晶振電路是讓單片機(jī)工作的正常需求。由于本次設(shè)計(jì)是16×16點(diǎn)陣LED顯示器并行端口驅(qū)動(dòng),接線過多因而仿真部分采用網(wǎng)絡(luò)端口進(jìn)行連接。 3 16×16點(diǎn)陣LED顯示器字符滾動(dòng)顯示過程設(shè)計(jì)論述 3.1 系統(tǒng)硬件框圖設(shè)計(jì) 根據(jù)設(shè)計(jì)要求與設(shè)計(jì)方案,硬件電路的設(shè)計(jì)框圖如圖3-1所示。硬件電路結(jié)構(gòu)由五部分組成:復(fù)位電路、電源電路、外界晶振電路、單片機(jī)和16×16點(diǎn)陣LED顯示器。
3.2 單片機(jī)AT89C51分析 單片機(jī)AT89C51內(nèi)部結(jié)構(gòu)如圖3-2所示,共有P0~P3四個(gè)這樣的并行口,特殊功能寄存器是P0~P3,它們實(shí)際上是4個(gè)八位鎖存器(每個(gè)I/O口一個(gè)),每個(gè)鎖存器附加有相應(yīng)的輸出驅(qū)動(dòng)器和輸入緩沖器就構(gòu)成了一個(gè)并行口。這P0~P3四個(gè)并行口,可提供32根I/O線直接驅(qū)動(dòng)16×16點(diǎn)陣LED顯示器。
3.3 系統(tǒng)原理圖設(shè)計(jì)
3.3.1 外界晶振電路原理圖設(shè)計(jì) 外界晶振電路是單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏,其典型值為12MHZ。XTAL1、XTAL2引腳外界晶振和電容組成振蕩器。振蕩器產(chǎn)生的時(shí)鐘頻率主要由晶振頻率決定,C1和C2的作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率ƒ起微調(diào)作用(C1、C2變大,ƒ變小),其典型值為30pF,振蕩器在加電以后月10ms開始起振,XTAL2輸出3V左右的正弦波,振蕩器產(chǎn)生的時(shí)鐘送入單片機(jī)內(nèi)部[2],如圖3-3所示。 
圖3-3 外界晶振電路原理圖 3.3.2 復(fù)位電路 本次設(shè)計(jì)采用上電復(fù)位電路,對(duì)于AT89C51的上電復(fù)位電路,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長的時(shí)間。在圖3-4的復(fù)位電路中,隨著Vcc電壓由0V增加到5V,電容C3的上極板電位隨之增加,電容的內(nèi)電場(chǎng)增強(qiáng),使C3能吸引更多的電子通過R1到達(dá)下極板,從外面看就電流通過C3和R1入地。按電壓在隨著電流方向逐慚降低的原則,電流的出現(xiàn)會(huì)在R1端形成一大于0的電位。由于電容的充電逐漸飽和,所以電流會(huì)逐漸減小,電位也會(huì)逐漸減小。該電位的大小和持續(xù)的時(shí)間將直接影響到我們的系統(tǒng)能否上電復(fù)位。 
圖3-4 復(fù)位電路 3.3.3 系統(tǒng)原理總圖 根據(jù)設(shè)計(jì)要求和硬件框圖設(shè)計(jì)系統(tǒng)原理圖,如圖3-5所示。 
圖3-5 系統(tǒng)原理圖 AT89C51采用P0、P1端口縱向驅(qū)動(dòng)16×16點(diǎn)陣LED顯示器,P2、P3端口橫向驅(qū)動(dòng)16×16點(diǎn)陣LED顯示器,其中P0端口內(nèi)部沒有上拉電阻,不能輸出高電平,所以要接上拉電阻。由于本次設(shè)計(jì)為16×16點(diǎn)陣LED顯示器在這里采用4個(gè)8×8點(diǎn)陣LED顯示器。硬件系統(tǒng)元器件清單如下表3-1所示。 表3-1 硬件系統(tǒng)元器件清單 3.4 系統(tǒng)軟件設(shè)計(jì) 3.4.1 程序流程圖 本次設(shè)計(jì)利用循環(huán)語句,外循環(huán)每次確定掃描時(shí)數(shù)組中該顯示的第一個(gè)數(shù)據(jù)且每次移動(dòng)一位,內(nèi)循環(huán)是在此基礎(chǔ)上的后16位,前8位在P2口輸出,后8位在P3口輸出,隨著每次循環(huán)次數(shù)增加,從而實(shí)現(xiàn)了數(shù)字的滾動(dòng)。程序流程圖如圖3-6所示。 圖3-6 程序流程圖(見附件) 3.4.2 軟件代碼 全部程序見附錄 參 考 文 獻(xiàn) [1]陳龍.LED顯示行業(yè)品質(zhì)管控才是發(fā)展主流 [2]何宏.單片機(jī)原理及其應(yīng)用.清華大學(xué)出版社.2012:7-8.
附錄 16×16點(diǎn)陣LED顯示器字符滾動(dòng)顯示完整程序
單片機(jī)源程序如下:- #include <reg51.h>
- #define u8 unsigned char
- #define u16 unsigned int
- #define NUM 100
- u8 code table1[]={
- /*-- 文字: --*/
- /*-- 楷體_GB231212; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- …………
- …………限于本文篇幅 字庫代碼請(qǐng)從51黑下載附件…………
- /*-- 文字: --*/
- /*-- 楷體_GB231212; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- };
- u8 i=0,j=0,m=0,n=0;
- u16 z;
- void main()
- {
- P0=0x00;
- P3=0x00;
- P1=0x00;
- P2=0x00;
- while(1)
- {
- for(i=0;i<152;i++)
- {
- for(z=NUM;z>0;z--)
- {
- for(j=0;j<16;j++)
- {
- m=i+j;
- n=j-8;
- if(j>7)
- {
- P2=0;
- P3=(0X01<<n);
- }
- else
- {
- P3=0;
- P2=(0x01<<j);
- }
-
-
- P0=table1[m];
- P1=table2[m];
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.jpg (42.63 KB, 下載次數(shù): 32)
下載附件
2018-1-21 23:57 上傳
所有資料51hei提供下載:
http://www.zg4o1577.cn/bbs/dpj-105744-1.html
|