欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12244|回復: 4
收起左側

單片機+74HC595驅動的16*16LED點陣點子顯示屏幕設計論文

[復制鏈接]
ID:364537 發表于 2018-7-5 15:15 | 顯示全部樓層 |閱讀模式
摘要
  該論文介紹了一款以STC89C52為微處理器的LED點陣點子顯示屏幕顯示的設計。為了使顯示屏上顯示的字更加清晰,該設計采用論4塊8 * 8點陣模塊來構成一個16* 16的LED點陣顯示屏,可以用來實現漢字和數字的顯示及其動態顯示效果。以STC89C52芯片作該核心控制器件,三極管和驅動繼電器作為驅動電路器件,串并轉換器和鎖存器作為譯碼電路的器件,通過級連的方式來擴大顯示屏幕的尺寸來增加顯示的內容。STC89C52單片機處理控制命令和顯示代碼,通過IO口串行輸出將顯示內容和控制完成字符串并將并行輸出譯碼電路,最后由顯示器驅動電路模塊,LED點陣顯示屏掃描顯示。概括來說本設計選取AT89S52作為微處理器件,74HC595和74HC154構成譯碼電路,三極管9012和電阻做行和列驅動。

1    
1.1  課題的研究背景

在現如今科技飛速發展的時代,信息傳播速度極快。LED點陣顯示屏已然占據了有利市場,因為LED顯示屏具備工作電壓低、亮度高且均勻、體積小、功率低、穩定性強[1]。正因為其廣闊的發展前景,所以研究它更有顯示意義,世界各國都大力研發。正向著更加強大的功能靠近,以便占據市場。由于材料技術和工藝技術的提高,LED顯示屏的材料正朝著從金屬材質向有機物材質的方向發展,OLED顯示屏勢必會取代LED顯示屏,雖然OLED制作價格昂貴,但是不用多久就能解決這一問題,走進萬千百姓家。目前LED顯示屏常用于商場宣傳廣告,廣場大屏幕顯示,港口、車站、地鐵站旅客引導指示動態信息,指揮中心顯示信息[2]。

1.1.1 LED電子顯示屏概述

LED(發光二極管)電子顯示屏幕面板是數以百計的,甚至成千上萬的像素構成的半導體發光二極管(LED),根據均勻排列的矩陣方法。使用不同的半導體材料可以產生不同顏色的LED像素[3]。

LED顯示屏分類多樣化。有單色、雙色、三色顯示屏;按不同的像素密度和像素直徑劃分的顯示屏;戶外顯示屏一半都比室內的像素密度和直徑更高;還有分為LED數碼顯示屏、LED點陣圖文顯示屏、LED視頻顯示屏;常規性LED顯示屏和租賃型LED顯示屏;廣告媒體類顯示屏和工業指示類顯示屏。LED數碼顯示屏七段數碼管的顯示設備,適合時鐘屏幕,讓圖形顯示是由許多均勻排列的LED點陣顯示模塊,可以用來顯示文字和圖像。

LED顯示屏的發展很好,是向更高的亮度和適應氣候性強,更多的光密度,發光均勻,可靠穩定,三色的方向發展和進步。

選題意義

這個話題可以使我們理解和掌握的基本顯示LED顯示屏產業的原理和設計方法有一個初步的認識和理解。并且能夠學習一些理論在大學必須實踐,學會做一個進一步的理解和對理論知識的理解。并通過設計任務進一步掌握51單片機的使用硬件和軟件開發工具。

1.1.2 LED電子顯示屏的分類

按使用環境分為戶內、戶外、和半戶外。

戶內屏的面積一平半在1米到10幾平米之間,屏幕亮度適中、重量較小,密度高,適合近距離觀看。

戶外屏面積在幾十平米深圳大到幾百平米,發光亮度高,密度較低,具有非常高的抗雷擊能力。

按顏色可分為單色、雙顏色,三種顏色,黑白是指發光材料只顯示一種顏色,雙色LED顯示屏是由紅色和綠色LED全彩LED顯示屏是由紅色、綠色和藍色發光二極管。

              按照像素密度或者像素直徑劃分為各種型號大小的顯示屏。

              按照控制方式分為同步和異步顯示屏。

按性能分為視頻顯示,文本顯示,圖文顯示,行情顯示。

按照顯示器件分LED數碼顯示管,LED點陣顯示屏,LED視屏顯示屏。

按照發展的方向可以分為廣告傳媒和工業指示類[4]。

1.1.4  設計任務

本設計的任務要求是完成一個16 * 16的點陣設計,并能滾動顯示“2016屆電子畢業設計”內容。

任務要求:

(1)              能同時流動顯示漢字,

(2)              能實現顯示漢字無閃爍,

(3)              能實屏幕亮度較高,

(4) 顯示文字穩定、清晰無串擾。

1.2  MCS-51系統單片機簡介

應用:

  • 在智能儀器表面上的應用
  • 在工業控制中的應用
  • 在家電電器中的應用
  • 在計算機網絡和通信領域中的應用
  • 在醫用設備領域中的應用
  • 在各種大型電器中的模塊化應用
  • 在汽車設備領域中的應用[5]
1.3  論文主要內容

根據本論文設計的的要求特點,我將對論文的內容和結構將做如下安排:

  • 初步方案的論證和選擇

    查找該論題的相關資料,并參考眼下通用的設計思路和設計方法選取幾套設計方案然后進行比較分析。最終選取了以單片機為核心微處理器,再加上譯碼電路和驅動電路的設計方案來完成設計。

2)方案實現

實現要求功能時要根據器件特性來進行選擇和論證。經過對比選擇選定以STC89C52單片機控制整個電路,7HC595控制行,74HC154和三極管9012控制列。

3軟件編寫

根據硬件特點和設計要求,選用C語言編寫軟件程序。程序按功能分為多個模塊,模塊之間相對獨立。然后按照所劃分的模塊逐個編寫和調試,最后將獨立的模塊整合起來。

4結論

硬件測試和軟件測試都要進行,確保無任何錯誤后再進行焊接電路板的工作。進行總結在設計做完之后對設計中遇到的問題、經驗和想法,遇到問題時要查找書籍,力爭做到最好。


2  總體設計2.1  系統概述

一個完整有效的系統必須要全面考慮到多種問題和功能的實現,點陣的設計也應該如此,下面我詳細說明地我的設計過程。

2.1.1  顯示單元的選擇

首先要在顯示上顯示一個簡體的漢字,為將采用16*16點陣來描述顯示。為了能夠在距離較遠的地方看的更清晰,本設計選區來4個8*8的點陣,像素直徑為5mm的紅色LED模塊拼成16*16點陣的LED點陣陣列模塊。這樣使每個16*16點陣的漢字能夠得得12*12的顯示尺寸,因此在距離較遠的地方仍然能看得清晰。本論文設計要求整個屏幕能顯示“2016屆電子畢業設計”一串數字和漢字,則應該需要使用16*16紅色點陣來回循環滾動顯示。

2.1.2  滾屏方式選擇

字符串的位置在屏幕上實現不斷地移動,即為“滾屏”可以設置不同的滾動方向,本輪文設計以從右到左的方向為例。要實現該功能,可以用硬件來進行操作,但是增加了額外的硬件成本以及設計的難度。所以本論文設計選取軟件的方法來實現從右向左滾屏顯示的常見的滾屏方式。之所以選擇軟件來完成滾屏顯示,其最大的優點就是成本低廉,而且可維護、可擴展性強。

2.1. 3   單片機控制器的考慮

因為本文設計為使用軟件實現滾動顯示,和傳輸方式是連續的。所以微處理器的處理速度單位需求較高,ARM7和高速8位微控制器的選擇。ARM的處理速度非常快,但應用程序的屏幕,里面的ARM嚴重浪費資源,成本很高。所以選擇高速8位單片機作為處理器。AVR系列單片機,51系列單片機,STC單片機等這幾個單片機處理速度可以達到1 MIPS / MHz(在時鐘頻率是1 MHz的處理能力是每秒100萬條指令),但AVR系列單片機的時鐘頻率的限制16兆赫,只可以使用AT89C51單片機或STC89C52單片機系列,最大40 MHz時鐘,并擁有豐富的接口和內存資源,價格相對便宜,大大降低了產品的成本。

2.1. 4  關于點陣數據的存儲方式

目前使用最廣的技術之一是通過單片機軟件將轉換為相應的字符串顯示位圖字體數據,然后將這些字體數據后按照一定的順序存儲在E2PROM芯片[6]。因為設計需要顯示內容,所以直接存儲在STC89C52就夠了,所以沒有使用外部設備。

3 硬件電路設計3.1 整體設計框圖

              通過對該論文設計的分析,為了能夠很好的實現論文要求,利用單片機STC89C52作為該系統的主控模塊。數據通過單片機模塊處理后傳輸給LED電子顯示屏模塊,并且實現滾動顯示。整體設計框圖如圖1所示:


1  硬件整體設計

3.2 主控電路

              該方案通過STC89C52微處理器來控制完成LED電子點陣顯示屏的字符串的滾動顯示。

3.2.1 STC89C52 單片機簡介

STC89C52抗干擾,加密性強,可任意編程,運行速度快,功耗低的CMOS 8位單片機。具有 8kb 系統可編程的Flash存儲器和512b的隨機數據存儲器(RAM),32位I/O口線[7]。器件選用MCS-51作為內核,與MCS-51指令集合輸出管腳相兼容,其中片內具用8位中央處理器和Flash存儲單元, STC89C52單片機適用于很多比較復雜的控制場所,其功能非常強大。

1STC89C52 外部結構及特性

其外部封裝有兩種形式:雙列直插式40腳封裝(DIP)和方形44腳封裝 (PLCC),直插式40 腳封裝(DIP)和外部總線結構如圖2和圖3所示:

2 STC89C52引腳排列             3外部總線

STC89C52的功能及引腳說明:

Vcc:電源電壓

GND:地

P0口:P0口是8位雙向I / O端口。地址/數據總線復用。當用作輸出,每個吸收電流驅動TTL邏輯電平。P0口讀“1”時高阻狀態。 [8]

P1:P1口是一個內部上拉電阻8位雙向I / O端口,P1輸出緩沖區可以驅動四個TTL邏輯門[9。

P2:P2口是一個內部上拉電阻與8位雙向I / O端口,P2可以驅動4 TTL邏輯電路輸出緩沖階段。P2端口寫“1”,內部上拉電阻置于高電平,可用于輸入端口。作為輸入,因為內部上拉電阻,確定由外部信號輸入電流。

P3:P3口與內部上拉電阻8位雙向I / O端口,P2可以驅動4 TTL邏輯電路輸出緩沖階段。P3寫“1”,內部上拉電阻置于高電平,這個時候可以作為一個輸入端口。使用左邊的輸入使用時,由于內部阻力,確定由外部信號輸入電流。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(外部數據存儲器寫選通信號)

  P3.7(外部數據存儲器讀選通信號)

2)功耗特性

              (1)掉電模式:

                            典型功耗 <0.1uA,通過外部中斷來喚醒,中斷返回后,繼續執行原來的程序

              (2)空閑模式:

                            典型功耗 2mA

              (3)正常工作模式:

                            典型功耗 4mA-7mA

              (4)掉電模式可由外部中斷喚醒,適用于水表,氣表等電池供電系統及便攜設備

3STC單片機的命名規則:









4STC89C52的內部組成

STC89C52單片機內包含的具體部分如下:

  一個8 位 CPU。

  一個片內振蕩器及時鐘電路。

  8KB Flash 程序存儲器。

  256 B RAM 數據存儲器。

  三個16 位定時器/計數器。

  64KB 的外部程序存儲器空間和外部數據存儲器的電路。32 條可編程的 I/O線。

  一個可編程全雙工串口通信。

  8 個中斷源、兩個優先級嵌套中斷結構。

STC89C52單片機的框圖如下圖所示,其間的功能部件通過內部總線接在一起。

                           4STC89C52單片機框圖

3.3 LED點陣顯示電路

本論文設計采用的是4塊8 * 8單色點陣屏設計構成16 * 16點陣屏,采用單色顯示,進行顯示所要顯示的字符串,通過74HC154譯碼器來控制點陣的列方向的顯示,而列方向的16條線則由74HC595的八位并行輸出端控制[10]。

3.3.1 74HC154的總體特點和內部結構

1)總體特點

74HC154是一款高速CMOS器件,是4線-16線譯碼器,可接受4位高有效二進制地址輸入,其DIP封裝引腳圖如圖5所示:

   5  74HC154引腳圖

              地址輸入對應輸出表1:

                                                                                                  1  74HC154輸出表

引腳說明

1-11 ,13-17:輸出端;12:GND ;18-19:使能輸入端,低電平有效;20-23:地址輸入端;24:VCC電源。

2)內部結構

①參數列表如表2:



                                                                      2  74HC154參數

74LS154

基本參數

電壓

2.0~6.0V

驅動電流

+/-5.2mA

傳輸延遲

11ns@5V

邏輯電平

CMOS

功耗考量

低功耗或電池供電應用

封裝與引腳

SO24,SSOP24,DIP24,TSSOP24


②邏輯圖:74LS154的內部邏輯由與門和非門電路組成。

其邏輯圖如圖6所示:

                              6  74HC154邏輯圖

3.3.2 74HC595的總體特點和程序說明

(1)總體特點:74HC95是具有8位移位寄存器,具有相互獨立的時鐘,三態輸出功能[11]。8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻狀態,三態。其DIP封裝引腳圖如圖7所示:

7  74HC595引腳圖

各引腳及其功能如表3所示:

3  74HC595引腳圖

符號

引腳

描述

Q0-Q7

第15腳,第1-7腳

8位并行數據輸出

GND

第8腳

Q7’

第9腳

串行數據輸出

MR

第10腳

主復位(低電平)

SHCP

第11腳

數據輸入時鐘線

STCP

第12腳

輸出存儲器鎖存時鐘線

OE

第13腳

輸出有效(低電平)

DS

第14腳

串行數據輸入

VCC

第16腳

電源


2程序說明:

每當上升沿到來時,DS引腳當前電平值在移位寄存器中左移一位,在下一個上升沿到來時移位寄存器中的所有位都會向左移一位,同時Q7’也會串行輸出移位寄存器中高位的值,這樣連續進行8次,就可以把數組中每一個數(8位的數)送到移位寄存器;然后當STcp上升沿到來時,將會被鎖存到鎖存器里,并從Q1~7引腳輸出[12]。

3.4整體電路圖如圖

8 整體電路圖


圖9為單片機系統部分,其中包含晶振電路和復位電路。

9  單片機部分

圖10和圖11分別是74HC154和74LS595芯片,負責本設計的譯碼電路部分。

     

10  74HC154                      11  74LS595


3.5實物圖

              圖12和圖13分別是我制作的16*16點陣實物圖的。

             

12  16*16正面點陣圖                                                                      13  16*16背面點陣圖

圖14和圖15分別是焊接電路版實物進行檢測時的圖片。

      

14  實物圖                           15  實物圖

測試方法:本設計采用的是直接接入電源的方法進行測試。當電源端口接入5V電源后,按下電路板上的開關鍵,就會直接顯示“2016屆電子畢業設計”字樣,并且從左往右進行滾動顯示,因為本設計中沒有加入暫停程序,所以一經開啟電源,無法暫停屏幕顯示的字符,只能直接關閉,再開啟電源時,又重新從左往右顯示字符。



4 軟件實現4.1 概述

整個設計的功能是由硬件電路配合軟件來實現的,當硬件已經基本定型后,軟件的功能也就基本定下來了。包括主程序和子程序。子程序是用來實現各種實質性的功能。每一個執行軟件也即是一個小的功能模塊。將多個模塊獨立實現構成一個整體模塊。根據實質性功能的要求,合理地調用主程序和各子程序執行模塊 [13]。

4.2系統程序方案設計

系統程序主要包括了:主程序、點陣顯示驅動程序。

主程序:主要控制整個顯示部分的初始化,使系統在LED顯示屏上顯示出各點亮度均勻、充足,可以顯示穩定、無顯影的數字和文字,文字顯示可以移入移出。本設計的顯示內容為“2016屆電子畢業設計”實現從左向右移動顯示。

下面是主程序部分:

程序中首先對各個變量進行初始化,并對74HC595進行初始化,當初始化過程結束后,開始顯示處理。

//主函數

void main()

{

              uchar i=1,j=0;

              uchar X=0;                            //595c初始化

              Init595();                            //循環演示

              //字符的處理

              while(1)

              {

                            for(j=0;j<10;j++)//循環顯示10次

                            {

                                          //送入16個位數據

                                          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]);                            //顯示內容

                                                        Wei_154(i);

                                                        delay(7);              //顯示

                                                        G2=0;              //關閉

                                          }

                            }

                            X++;

                            if(X==17*16)

                                          X=0;

              }

}

在主函數中完成函數的調用和字符串的移動處理,所以能夠看見可以移動字體顯示。

點陣顯示驅動程序

主要實現對74HC595和74HC154的驅動編寫,已實現畫面的動態刷新。


//74HC595初始化

void Init595()

{

              SI=1;

              SCK=0;

              RCK=0;

}

//向595中寫一個字節

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;

                                          }

                                          //產生一個上升沿

                                          SCK=0;

                                          SCK=1;

                                          SCK=0;

                                          data_>>=1;

              }

              RCK=0;//顯示數據

              RCK=1;

              RCK=0;

}

//595寫入一行的字節

void WriteS(uchar data1,uchar data2)

{

              Write_byte595(data2);

                            Write_byte595(data1);





4.2.1主程序設計

              通過主程序對74hc595的初始化和對子程序的調用來實現單片屏幕的動態刷新完成到點陣顯示屏的動態顯示。

4.2.2子程序設計

              把每個功能程序以子程序的形式編寫好, 當寫主程序的時候, 只需要調用子程序,然后在寄存器的分配上作一下調整,消除寄存器沖突和 I/O 沖突就可以。程序應該盡可能多使用調用指令替代跳轉指令。因為跳轉指令容易使程序難以看懂各程序段之間的結構關系。[14] 而調用指令則不同,調用指令能夠使程序結構清晰,在修改或者是維護時都比較方便。將功能程序寫成子程序的形式,除了方便調用之外,還有一個好處就是以后寫程序的時候如果要用到,就可以直接調用這個單元功能模塊。

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種取模方式,分別為:橫向取模,字節正序;橫向取模,字節倒序;縱向取模,字節正序;縱向取模,字節倒序。正序即為從左到右顯示,倒序則相反。[15]

在這只列取一種顯示方式,也即是該設計的顯示方式,按照上圖取模軟件顯示的漢字“電”按每一行掃描顯示,從右到左讀數,讀出的“電”字代碼為: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延時函數

              因為顯示原理是視覺暫留原理需要有延時控制顯示。延時函數如下:

//等待函數

void delay(uint z)

{

              uint x,y;

              for(x=z;x>0;x--)

                            for(y=7;y>0;y--);

}

4.2.4行選控制

              通過單片機IO口控制74HC154,可以實現5線控制16線的過程,如程序所示:


5 測試結果
硬件測試結果:在軟件proteus中模擬仿真顯示,本設計16*16LED顯示屏能夠很好地從右往左滾動顯示若干漢字及數字。在proteus中畫完圖后運行仿真測試,LED顯示屏能夠往左顯示如圖13所示。
13  LED點陣顯示屏

實物測試結果如圖14所示:



14  實物測試圖


總    結

              在本設計中STC89C52芯片負責控制整個電路,74HC595作為電路的行驅動,驅動點陣的行;以三極管和電阻作為列驅動,三極管主要取到開關的作用。74HC154作為列驅動,控制列掃描電路。實驗中使用了高速單片機,使得顯示屏穩定顯示,達到題目的要求。

在本次畢業設計實驗中,學習能力得到進一步提高,在完成硬件和軟件設計的過程中遇到的苦難,通過查書籍和網上查找,并通過向同學請教穩固了知識。通過這次的畢業設計,不僅對理論的基本知識得到更深一步的鞏固,還提高了自學能力和解決問題的能力,增強克服困難的決心。

              總之,我從這次論文設計中學到了很多。要善于借鑒,借鑒別人好的成果,轉化為自己成功的動力。



完整的Word格式文檔51黑下載地址(內含源碼):

課設.docx (1.55 MB, 下載次數: 118)



回復

使用道具 舉報

ID:219507 發表于 2019-11-4 16:30 | 顯示全部樓層
感謝樓樓主
回復

使用道具 舉報

ID:676293 發表于 2019-12-30 11:10 | 顯示全部樓層
樓主有仿真的原理圖和代碼不
回復

使用道具 舉報

ID:641607 發表于 2020-6-9 16:55 | 顯示全部樓層
感謝樓主分享
回復

使用道具 舉報

ID:778635 發表于 2020-6-16 12:47 | 顯示全部樓層
感謝樓主分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表