在現(xiàn)如今科技飛速發(fā)展的時代,信息傳播速度極快。LED點陣顯示屏已然占據(jù)了有利市場,因為LED顯示屏具備工作電壓低、亮度高且均勻、體積小、功率低、穩(wěn)定性強(qiáng)[1]。正因為其廣闊的發(fā)展前景,所以研究它更有顯示意義,世界各國都大力研發(fā)。正向著更加強(qiáng)大的功能靠近,以便占據(jù)市場。由于材料技術(shù)和工藝技術(shù)的提高,LED顯示屏的材料正朝著從金屬材質(zhì)向有機(jī)物材質(zhì)的方向發(fā)展,OLED顯示屏勢必會取代LED顯示屏,雖然OLED制作價格昂貴,但是不用多久就能解決這一問題,走進(jìn)萬千百姓家。目前LED顯示屏常用于商場宣傳廣告,廣場大屏幕顯示,港口、車站、地鐵站旅客引導(dǎo)指示動態(tài)信息,指揮中心顯示信息[2]。
1.1.1 LED電子顯示屏概述
LED(發(fā)光二極管)電子顯示屏幕面板是數(shù)以百計的,甚至成千上萬的像素構(gòu)成的半導(dǎo)體發(fā)光二極管(LED),根據(jù)均勻排列的矩陣方法。使用不同的半導(dǎo)體材料可以產(chǎn)生不同顏色的LED像素[3]。
LED顯示屏分類多樣化。有單色、雙色、三色顯示屏;按不同的像素密度和像素直徑劃分的顯示屏;戶外顯示屏一半都比室內(nèi)的像素密度和直徑更高;還有分為LED數(shù)碼顯示屏、LED點陣圖文顯示屏、LED視頻顯示屏;常規(guī)性LED顯示屏和租賃型LED顯示屏;廣告媒體類顯示屏和工業(yè)指示類顯示屏。LED數(shù)碼顯示屏七段數(shù)碼管的顯示設(shè)備,適合時鐘屏幕,讓圖形顯示是由許多均勻排列的LED點陣顯示模塊,可以用來顯示文字和圖像。
LED顯示屏的發(fā)展很好,是向更高的亮度和適應(yīng)氣候性強(qiáng),更多的光密度,發(fā)光均勻,可靠穩(wěn)定,三色的方向發(fā)展和進(jìn)步。
選題意義:
這個話題可以使我們理解和掌握的基本顯示LED顯示屏產(chǎn)業(yè)的原理和設(shè)計方法有一個初步的認(rèn)識和理解。并且能夠?qū)W習(xí)一些理論在大學(xué)必須實踐,學(xué)會做一個進(jìn)一步的理解和對理論知識的理解。并通過設(shè)計任務(wù)進(jìn)一步掌握51單片機(jī)的使用硬件和軟件開發(fā)工具。
1.1.2 LED電子顯示屏的分類
按使用環(huán)境分為戶內(nèi)、戶外、和半戶外。
戶內(nèi)屏的面積一平半在1米到10幾平米之間,屏幕亮度適中、重量較小,密度高,適合近距離觀看。
戶外屏面積在幾十平米深圳大到幾百平米,發(fā)光亮度高,密度較低,具有非常高的抗雷擊能力。
按顏色可分為單色、雙顏色,三種顏色,黑白是指發(fā)光材料只顯示一種顏色,雙色LED顯示屏是由紅色和綠色LED全彩LED顯示屏是由紅色、綠色和藍(lán)色發(fā)光二極管。
按照像素密度或者像素直徑劃分為各種型號大小的顯示屏。
按照控制方式分為同步和異步顯示屏。
按性能分為視頻顯示,文本顯示,圖文顯示,行情顯示。
按照顯示器件分LED數(shù)碼顯示管,LED點陣顯示屏,LED視屏顯示屏。
按照發(fā)展的方向可以分為廣告?zhèn)髅胶凸I(yè)指示類[4]。
1.1.4 設(shè)計任務(wù)
本設(shè)計的任務(wù)要求是完成一個16 * 16的點陣設(shè)計,并能滾動顯示“2016屆電子畢業(yè)設(shè)計”內(nèi)容。
任務(wù)要求:
(1) 能同時流動顯示漢字,
(2) 能實現(xiàn)顯示漢字無閃爍,
(3) 能實屏幕亮度較高,
(4) 顯示文字穩(wěn)定、清晰無串?dāng)_。
1.2 MCS-51系統(tǒng)單片機(jī)簡介應(yīng)用:
根據(jù)本論文設(shè)計的的要求特點,我將對論文的內(nèi)容和結(jié)構(gòu)將做如下安排:
查找該論題的相關(guān)資料,并參考眼下通用的設(shè)計思路和設(shè)計方法選取幾套設(shè)計方案然后進(jìn)行比較分析。最終選取了以單片機(jī)為核心微處理器,再加上譯碼電路和驅(qū)動電路的設(shè)計方案來完成設(shè)計。
(2)方案實現(xiàn)
實現(xiàn)要求功能時要根據(jù)器件特性來進(jìn)行選擇和論證。經(jīng)過對比選擇選定以STC89C52單片機(jī)控制整個電路,7HC595控制行,74HC154和三極管9012控制列。
(3)軟件編寫
根據(jù)硬件特點和設(shè)計要求,選用C語言編寫軟件程序。程序按功能分為多個模塊,模塊之間相對獨立。然后按照所劃分的模塊逐個編寫和調(diào)試,最后將獨立的模塊整合起來。
(4)結(jié)論
硬件測試和軟件測試都要進(jìn)行,確保無任何錯誤后再進(jìn)行焊接電路板的工作。進(jìn)行總結(jié)在設(shè)計做完之后對設(shè)計中遇到的問題、經(jīng)驗和想法,遇到問題時要查找書籍,力爭做到最好。
一個完整有效的系統(tǒng)必須要全面考慮到多種問題和功能的實現(xiàn),點陣的設(shè)計也應(yīng)該如此,下面我詳細(xì)說明地我的設(shè)計過程。
2.1.1 顯示單元的選擇
首先要在顯示上顯示一個簡體的漢字,為將采用16*16點陣來描述顯示。為了能夠在距離較遠(yuǎn)的地方看的更清晰,本設(shè)計選區(qū)來4個8*8的點陣,像素直徑為5mm的紅色LED模塊拼成16*16點陣的LED點陣陣列模塊。這樣使每個16*16點陣的漢字能夠得得12*12的顯示尺寸,因此在距離較遠(yuǎn)的地方仍然能看得清晰。本論文設(shè)計要求整個屏幕能顯示“2016屆電子畢業(yè)設(shè)計”一串?dāng)?shù)字和漢字,則應(yīng)該需要使用16*16紅色點陣來回循環(huán)滾動顯示。
2.1.2 滾屏方式選擇
字符串的位置在屏幕上實現(xiàn)不斷地移動,即為“滾屏”可以設(shè)置不同的滾動方向,本輪文設(shè)計以從右到左的方向為例。要實現(xiàn)該功能,可以用硬件來進(jìn)行操作,但是增加了額外的硬件成本以及設(shè)計的難度。所以本論文設(shè)計選取軟件的方法來實現(xiàn)從右向左滾屏顯示的常見的滾屏方式。之所以選擇軟件來完成滾屏顯示,其最大的優(yōu)點就是成本低廉,而且可維護(hù)、可擴(kuò)展性強(qiáng)。
2.1. 3 單片機(jī)控制器的考慮
因為本文設(shè)計為使用軟件實現(xiàn)滾動顯示,和傳輸方式是連續(xù)的。所以微處理器的處理速度單位需求較高,ARM7和高速8位微控制器的選擇。ARM的處理速度非?,但應(yīng)用程序的屏幕,里面的ARM嚴(yán)重浪費資源,成本很高。所以選擇高速8位單片機(jī)作為處理器。AVR系列單片機(jī),51系列單片機(jī),STC單片機(jī)等這幾個單片機(jī)處理速度可以達(dá)到1 MIPS / MHz(在時鐘頻率是1 MHz的處理能力是每秒100萬條指令),但AVR系列單片機(jī)的時鐘頻率的限制16兆赫,只可以使用AT89C51單片機(jī)或STC89C52單片機(jī)系列,最大40 MHz時鐘,并擁有豐富的接口和內(nèi)存資源,價格相對便宜,大大降低了產(chǎn)品的成本。
2.1. 4 關(guān)于點陣數(shù)據(jù)的存儲方式
目前使用最廣的技術(shù)之一是通過單片機(jī)軟件將轉(zhuǎn)換為相應(yīng)的字符串顯示位圖字體數(shù)據(jù),然后將這些字體數(shù)據(jù)后按照一定的順序存儲在E2PROM芯片[6]。因為設(shè)計需要顯示內(nèi)容,所以直接存儲在STC89C52就夠了,所以沒有使用外部設(shè)備。
第3章 硬件電路設(shè)計3.1 整體設(shè)計框圖 通過對該論文設(shè)計的分析,為了能夠很好的實現(xiàn)論文要求,利用單片機(jī)STC89C52作為該系統(tǒng)的主控模塊。數(shù)據(jù)通過單片機(jī)模塊處理后傳輸給LED電子顯示屏模塊,并且實現(xiàn)滾動顯示。整體設(shè)計框圖如圖1所示:
圖1 硬件整體設(shè)計
3.2 主控電路該方案通過STC89C52微處理器來控制完成LED電子點陣顯示屏的字符串的滾動顯示。
3.2.1 STC89C52 單片機(jī)簡介
STC89C52抗干擾,加密性強(qiáng),可任意編程,運行速度快,功耗低的CMOS 8位單片機(jī)。具有 8kb 系統(tǒng)可編程的Flash存儲器和512b的隨機(jī)數(shù)據(jù)存儲器(RAM),32位I/O口線[7]。器件選用MCS-51作為內(nèi)核,與MCS-51指令集合輸出管腳相兼容,其中片內(nèi)具用8位中央處理器和Flash存儲單元, STC89C52單片機(jī)適用于很多比較復(fù)雜的控制場所,其功能非常強(qiáng)大。
1)STC89C52 外部結(jié)構(gòu)及特性
其外部封裝有兩種形式:雙列直插式40腳封裝(DIP)和方形44腳封裝 (PLCC),直插式40 腳封裝(DIP)和外部總線結(jié)構(gòu)如圖2和圖3所示:
圖2 STC89C52引腳排列 圖3外部總線
STC89C52的功能及引腳說明:
Vcc:電源電壓
GND:地
P0口:P0口是8位雙向I / O端口。地址/數(shù)據(jù)總線復(fù)用。當(dāng)用作輸出,每個吸收電流驅(qū)動TTL邏輯電平。P0口讀“1”時高阻狀態(tài)。 [8]
P1:P1口是一個內(nèi)部上拉電阻8位雙向I / O端口,P1輸出緩沖區(qū)可以驅(qū)動四個TTL邏輯門[9。
P2:P2口是一個內(nèi)部上拉電阻與8位雙向I / O端口,P2可以驅(qū)動4 TTL邏輯電路輸出緩沖階段。P2端口寫“1”,內(nèi)部上拉電阻置于高電平,可用于輸入端口。作為輸入,因為內(nèi)部上拉電阻,確定由外部信號輸入電流。
P3:P3口與內(nèi)部上拉電阻8位雙向I / O端口,P2可以驅(qū)動4 TTL邏輯電路輸出緩沖階段。P3寫“1”,內(nèi)部上拉電阻置于高電平,這個時候可以作為一個輸入端口。使用左邊的輸入使用時,由于內(nèi)部阻力,確定由外部信號輸入電流。P3口也被用作一個特定的使用,如下所示:
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 INTO(外部中斷0 輸入口)
P3.3 INT1(外部中斷 1 輸入口)
P3.4 TO(定時器 0 外部輸入)
P3.5 TI(定時器 1 外部輸入)
P3.6 WR(外部數(shù)據(jù)存儲器寫選通信號)
P3.7(外部數(shù)據(jù)存儲器讀選通信號)
2)功耗特性
(1)掉電模式:
典型功耗 <0.1uA,通過外部中斷來喚醒,中斷返回后,繼續(xù)執(zhí)行原來的程序
(2)空閑模式:
典型功耗 2mA
(3)正常工作模式:
典型功耗 4mA-7mA
(4)掉電模式可由外部中斷喚醒,適用于水表,氣表等電池供電系統(tǒng)及便攜設(shè)備
(3)STC單片機(jī)的命名規(guī)則:
(4)STC89C52的內(nèi)部組成
STC89C52單片機(jī)內(nèi)包含的具體部分如下:
一個8 位 CPU。
一個片內(nèi)振蕩器及時鐘電路。
8KB Flash 程序存儲器。
256 B RAM 數(shù)據(jù)存儲器。
三個16 位定時器/計數(shù)器。
64KB 的外部程序存儲器空間和外部數(shù)據(jù)存儲器的電路。32 條可編程的 I/O線。
一個可編程全雙工串口通信。
8 個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu)。
STC89C52單片機(jī)的框圖如下圖所示,其間的功能部件通過內(nèi)部總線接在一起。
圖4STC89C52單片機(jī)框圖
3.3 LED點陣顯示電路本論文設(shè)計采用的是4塊8 * 8單色點陣屏設(shè)計構(gòu)成16 * 16點陣屏,采用單色顯示,進(jìn)行顯示所要顯示的字符串,通過74HC154譯碼器來控制點陣的列方向的顯示,而列方向的16條線則由74HC595的八位并行輸出端控制[10]。
3.3.1 74HC154的總體特點和內(nèi)部結(jié)構(gòu)
(1)總體特點
74HC154是一款高速CMOS器件,是4線-16線譯碼器,可接受4位高有效二進(jìn)制地址輸入,其DIP封裝引腳圖如圖5所示:
圖5 74HC154引腳圖
地址輸入對應(yīng)輸出表1:
表1 74HC154輸出表
引腳說明:
1-11 ,13-17:輸出端;12:GND ;18-19:使能輸入端,低電平有效;20-23:地址輸入端;24:VCC電源。
(2)內(nèi)部結(jié)構(gòu)
①參數(shù)列表如表2:
表2 74HC154參數(shù)
74LS154 | 基本參數(shù) |
電壓 | 2.0~6.0V |
驅(qū)動電流 | +/-5.2mA |
傳輸延遲 | 11ns@5V |
邏輯電平 | CMOS |
功耗考量 | 低功耗或電池供電應(yīng)用 |
封裝與引腳 | SO24,SSOP24,DIP24,TSSOP24 |
②邏輯圖:74LS154的內(nèi)部邏輯由與門和非門電路組成。
其邏輯圖如圖6所示:
圖6 74HC154邏輯圖
3.3.2 74HC595的總體特點和程序說明
(1)總體特點:74HC95是具有8位移位寄存器,具有相互獨立的時鐘,三態(tài)輸出功能[11]。8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻狀態(tài),三態(tài)。其DIP封裝引腳圖如圖7所示:
圖7 74HC595引腳圖
各引腳及其功能如表3所示:
表3 74HC595引腳圖
符號 | 引腳 | 描述 |
Q0-Q7 | 第15腳,第1-7腳 | 8位并行數(shù)據(jù)輸出 |
GND | 第8腳 | 地 |
Q7’ | 第9腳 | 串行數(shù)據(jù)輸出 |
MR | 第10腳 | 主復(fù)位(低電平) |
SHCP | 第11腳 | 數(shù)據(jù)輸入時鐘線 |
STCP | 第12腳 | 輸出存儲器鎖存時鐘線 |
OE | 第13腳 | 輸出有效(低電平) |
DS | 第14腳 | 串行數(shù)據(jù)輸入 |
VCC | 第16腳 | 電源 |
(2)程序說明:
每當(dāng)上升沿到來時,DS引腳當(dāng)前電平值在移位寄存器中左移一位,在下一個上升沿到來時移位寄存器中的所有位都會向左移一位,同時Q7’也會串行輸出移位寄存器中高位的值,這樣連續(xù)進(jìn)行8次,就可以把數(shù)組中每一個數(shù)(8位的數(shù))送到移位寄存器;然后當(dāng)STcp上升沿到來時,將會被鎖存到鎖存器里,并從Q1~7引腳輸出[12]。
3.4整體電路圖如圖圖8 整體電路圖
圖9為單片機(jī)系統(tǒng)部分,其中包含晶振電路和復(fù)位電路。
圖9 單片機(jī)部分
圖10和圖11分別是74HC154和74LS595芯片,負(fù)責(zé)本設(shè)計的譯碼電路部分。
圖10 74HC154 圖11 74LS595
圖12和圖13分別是我制作的16*16點陣實物圖的。
圖12 16*16正面點陣圖 圖13 16*16背面點陣圖
圖14和圖15分別是焊接電路版實物進(jìn)行檢測時的圖片。
圖14 實物圖 圖15 實物圖
測試方法:本設(shè)計采用的是直接接入電源的方法進(jìn)行測試。當(dāng)電源端口接入5V電源后,按下電路板上的開關(guān)鍵,就會直接顯示“2016屆電子畢業(yè)設(shè)計”字樣,并且從左往右進(jìn)行滾動顯示,因為本設(shè)計中沒有加入暫停程序,所以一經(jīng)開啟電源,無法暫停屏幕顯示的字符,只能直接關(guān)閉,再開啟電源時,又重新從左往右顯示字符。
整個設(shè)計的功能是由硬件電路配合軟件來實現(xiàn)的,當(dāng)硬件已經(jīng)基本定型后,軟件的功能也就基本定下來了。包括主程序和子程序。子程序是用來實現(xiàn)各種實質(zhì)性的功能。每一個執(zhí)行軟件也即是一個小的功能模塊。將多個模塊獨立實現(xiàn)構(gòu)成一個整體模塊。根據(jù)實質(zhì)性功能的要求,合理地調(diào)用主程序和各子程序執(zhí)行模塊 [13]。
4.2系統(tǒng)程序方案設(shè)計系統(tǒng)程序主要包括了:主程序、點陣顯示驅(qū)動程序。
主程序:主要控制整個顯示部分的初始化,使系統(tǒng)在LED顯示屏上顯示出各點亮度均勻、充足,可以顯示穩(wěn)定、無顯影的數(shù)字和文字,文字顯示可以移入移出。本設(shè)計的顯示內(nèi)容為“2016屆電子畢業(yè)設(shè)計”實現(xiàn)從左向右移動顯示。
下面是主程序部分:
程序中首先對各個變量進(jìn)行初始化,并對74HC595進(jìn)行初始化,當(dāng)初始化過程結(jié)束后,開始顯示處理。
//主函數(shù)
void main()
{
uchar i=1,j=0;
uchar X=0; //595c初始化
Init595(); //循環(huán)演示
//字符的處理
while(1)
{
for(j=0;j<10;j++)//循環(huán)顯示10次
{
//送入16個位數(shù)據(jù)
for(i=1;i<17;i++)
{
WriteS(0xff,0xff); //消影
Wei_154(i);
WriteS(HanZi[i*2-2+2*X],HanZi[i*2-1+2*X]); //顯示內(nèi)容
Wei_154(i);
delay(7); //顯示
G2=0; //關(guān)閉
}
}
X++;
if(X==17*16)
X=0;
}
}
在主函數(shù)中完成函數(shù)的調(diào)用和字符串的移動處理,所以能夠看見可以移動字體顯示。
點陣顯示驅(qū)動程序:
主要實現(xiàn)對74HC595和74HC154的驅(qū)動編寫,已實現(xiàn)畫面的動態(tài)刷新。
//74HC595初始化
void Init595()
{
SI=1;
SCK=0;
RCK=0;
}
//向595中寫一個字節(jié)
void Write_byte595(uchar temp)
{
uchar i,data_=temp;
G2=1;
for(i=0;i<8;i++)//傳值8位
{
if(data_&0x01==0x01)//低位為1
{
SI=1;
}
else //低位為0
{
SI=0;
}
//產(chǎn)生一個上升沿
SCK=0;
SCK=1;
SCK=0;
data_>>=1;
}
RCK=0;//顯示數(shù)據(jù)
RCK=1;
RCK=0;
}
//595寫入一行的字節(jié)
void WriteS(uchar data1,uchar data2)
{
Write_byte595(data2);
Write_byte595(data1);
4.2.1主程序設(shè)計
通過主程序?qū)?4hc595的初始化和對子程序的調(diào)用來實現(xiàn)單片屏幕的動態(tài)刷新完成到點陣顯示屏的動態(tài)顯示。
4.2.2子程序設(shè)計
把每個功能程序以子程序的形式編寫好, 當(dāng)寫主程序的時候, 只需要調(diào)用子程序,然后在寄存器的分配上作一下調(diào)整,消除寄存器沖突和 I/O 沖突就可以。程序應(yīng)該盡可能多使用調(diào)用指令替代跳轉(zhuǎn)指令。因為跳轉(zhuǎn)指令容易使程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。[14] 而調(diào)用指令則不同,調(diào)用指令能夠使程序結(jié)構(gòu)清晰,在修改或者是維護(hù)時都比較方便。將功能程序?qū)懗勺映绦虻男问,除了方便調(diào)用之外,還有一個好處就是以后寫程序的時候如果要用到,就可以直接調(diào)用這個單元功能模塊。
4.2.3 漢字顯示:
在取模軟件中編寫一個要輸入端漢字,如編寫一個“電”字,如下所示:
0000 0000 0000 0000 0x00 0x00
0000 0001 0000 0000 0x00 0x80
0000 0001 0000 0000 0x00 0x80
0000 0001 0000 0000 0x00 0x80
0001 1111 1111 0000 0x0f 0xf8
0001 0001 0001 0000 0x08 0x88
0001 0001 0001 0000 0x08 0x88
0001 1111 1111 0000 0x0f 0xf8
0001 0001 0001 0000 0x08 0x88
0001 0001 0001 0000 0x08 0x88
0001 1111 1111 0010 0x4f 0xf8
0000 0001 0000 0010 0x40 0x80
0000 0001 0000 0010 0x40 0x80
0000 0001 1111 1110 0xef 0x80
0000 0000 0000 0000 0x00 0x00
有4種取模方式,分別為:橫向取模,字節(jié)正序;橫向取模,字節(jié)倒序;縱向取模,字節(jié)正序;縱向取模,字節(jié)倒序。正序即為從左到右顯示,倒序則相反。[15]
在這只列取一種顯示方式,也即是該設(shè)計的顯示方式,按照上圖取模軟件顯示的漢字“電”按每一行掃描顯示,從右到左讀數(shù),讀出的“電”字代碼為:0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x08,0x88,0x08,0x88,0x0F,0xF8,
0x08,0x88,0x08,0x88,0x4F,0xF8,0x40,0x80,0x40,0x80,0xEF,0x80,0x00,0x00,0x00,0x00.
4.2.4延時函數(shù)
因為顯示原理是視覺暫留原理需要有延時控制顯示。延時函數(shù)如下:
//等待函數(shù)
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=7;y>0;y--);
}
4.2.4行選控制
通過單片機(jī)IO口控制74HC154,可以實現(xiàn)5線控制16線的過程,如程序所示:
實物測試結(jié)果如圖14所示:
圖14 實物測試圖
在本設(shè)計中STC89C52芯片負(fù)責(zé)控制整個電路,74HC595作為電路的行驅(qū)動,驅(qū)動點陣的行;以三極管和電阻作為列驅(qū)動,三極管主要取到開關(guān)的作用。74HC154作為列驅(qū)動,控制列掃描電路。實驗中使用了高速單片機(jī),使得顯示屏穩(wěn)定顯示,達(dá)到題目的要求。
在本次畢業(yè)設(shè)計實驗中,學(xué)習(xí)能力得到進(jìn)一步提高,在完成硬件和軟件設(shè)計的過程中遇到的苦難,通過查書籍和網(wǎng)上查找,并通過向同學(xué)請教穩(wěn)固了知識。通過這次的畢業(yè)設(shè)計,不僅對理論的基本知識得到更深一步的鞏固,還提高了自學(xué)能力和解決問題的能力,增強(qiáng)克服困難的決心。
總之,我從這次論文設(shè)計中學(xué)到了很多。要善于借鑒,借鑒別人好的成果,轉(zhuǎn)化為自己成功的動力。
完整的Word格式文檔51黑下載地址(內(nèi)含源碼):
課設(shè).docx
(1.55 MB, 下載次數(shù): 118)
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |