找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 11821|回復(fù): 4
收起左側(cè)

單片機(jī)+74HC595驅(qū)動(dòng)的16*16LED點(diǎn)陣點(diǎn)子顯示屏幕設(shè)計(jì)論文

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

1    
1.1  課題的研究背景

在現(xiàn)如今科技飛速發(fā)展的時(shí)代,信息傳播速度極快。LED點(diǎn)陣顯示屏已然占據(jù)了有利市場(chǎng),因?yàn)長(zhǎng)ED顯示屏具備工作電壓低、亮度高且均勻、體積小、功率低、穩(wěn)定性強(qiáng)[1]。正因?yàn)槠鋸V闊的發(fā)展前景,所以研究它更有顯示意義,世界各國(guó)都大力研發(fā)。正向著更加強(qiáng)大的功能靠近,以便占據(jù)市場(chǎng)。由于材料技術(shù)和工藝技術(shù)的提高,LED顯示屏的材料正朝著從金屬材質(zhì)向有機(jī)物材質(zhì)的方向發(fā)展,OLED顯示屏勢(shì)必會(huì)取代LED顯示屏,雖然OLED制作價(jià)格昂貴,但是不用多久就能解決這一問(wèn)題,走進(jìn)萬(wàn)千百姓家。目前LED顯示屏常用于商場(chǎng)宣傳廣告,廣場(chǎng)大屏幕顯示,港口、車站、地鐵站旅客引導(dǎo)指示動(dòng)態(tài)信息,指揮中心顯示信息[2]。

1.1.1 LED電子顯示屏概述

LED(發(fā)光二極管)電子顯示屏幕面板是數(shù)以百計(jì)的,甚至成千上萬(wàn)的像素構(gòu)成的半導(dǎo)體發(fā)光二極管(LED),根據(jù)均勻排列的矩陣方法。使用不同的半導(dǎo)體材料可以產(chǎn)生不同顏色的LED像素[3]。

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

LED顯示屏的發(fā)展很好,是向更高的亮度和適應(yīng)氣候性強(qiáng),更多的光密度,發(fā)光均勻,可靠穩(wěn)定,三色的方向發(fā)展和進(jìn)步。

選題意義

這個(gè)話題可以使我們理解和掌握的基本顯示LED顯示屏產(chǎn)業(yè)的原理和設(shè)計(jì)方法有一個(gè)初步的認(rèn)識(shí)和理解。并且能夠?qū)W習(xí)一些理論在大學(xué)必須實(shí)踐,學(xué)會(huì)做一個(gè)進(jìn)一步的理解和對(duì)理論知識(shí)的理解。并通過(guò)設(shè)計(jì)任務(wù)進(jìn)一步掌握51單片機(jī)的使用硬件和軟件開(kāi)發(fā)工具。

1.1.2 LED電子顯示屏的分類

按使用環(huán)境分為戶內(nèi)、戶外、和半戶外。

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

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

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

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

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

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

按照顯示器件分LED數(shù)碼顯示管,LED點(diǎn)陣顯示屏,LED視屏顯示屏。

按照發(fā)展的方向可以分為廣告?zhèn)髅胶凸I(yè)指示類[4]。

1.1.4  設(shè)計(jì)任務(wù)

本設(shè)計(jì)的任務(wù)要求是完成一個(gè)16 * 16的點(diǎn)陣設(shè)計(jì),并能滾動(dòng)顯示“2016屆電子畢業(yè)設(shè)計(jì)”內(nèi)容。

任務(wù)要求:

(1)              能同時(shí)流動(dòng)顯示漢字,

(2)              能實(shí)現(xiàn)顯示漢字無(wú)閃爍,

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

(4) 顯示文字穩(wěn)定、清晰無(wú)串?dāng)_。

1.2  MCS-51系統(tǒng)單片機(jī)簡(jiǎn)介

應(yīng)用:

  • 在智能儀器表面上的應(yīng)用,
  • 在工業(yè)控制中的應(yīng)用
  • 在家電電器中的應(yīng)用,
  • 在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用
  • 在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用,
  • 在各種大型電器中的模塊化應(yīng)用,
  • 在汽車設(shè)備領(lǐng)域中的應(yīng)用[5]。
1.3  論文主要內(nèi)容

根據(jù)本論文設(shè)計(jì)的的要求特點(diǎn),我將對(duì)論文的內(nèi)容和結(jié)構(gòu)將做如下安排:

  • 初步方案的論證和選擇

    查找該論題的相關(guān)資料,并參考眼下通用的設(shè)計(jì)思路和設(shè)計(jì)方法選取幾套設(shè)計(jì)方案然后進(jìn)行比較分析。最終選取了以單片機(jī)為核心微處理器,再加上譯碼電路和驅(qū)動(dòng)電路的設(shè)計(jì)方案來(lái)完成設(shè)計(jì)。

2)方案實(shí)現(xiàn)

實(shí)現(xiàn)要求功能時(shí)要根據(jù)器件特性來(lái)進(jìn)行選擇和論證。經(jīng)過(guò)對(duì)比選擇選定以STC89C52單片機(jī)控制整個(gè)電路,7HC595控制行,74HC154和三極管9012控制列。

3軟件編寫(xiě)

根據(jù)硬件特點(diǎn)和設(shè)計(jì)要求,選用C語(yǔ)言編寫(xiě)軟件程序。程序按功能分為多個(gè)模塊,模塊之間相對(duì)獨(dú)立。然后按照所劃分的模塊逐個(gè)編寫(xiě)和調(diào)試,最后將獨(dú)立的模塊整合起來(lái)。

4結(jié)論

硬件測(cè)試和軟件測(cè)試都要進(jìn)行,確保無(wú)任何錯(cuò)誤后再進(jìn)行焊接電路板的工作。進(jìn)行總結(jié)在設(shè)計(jì)做完之后對(duì)設(shè)計(jì)中遇到的問(wèn)題、經(jīng)驗(yàn)和想法,遇到問(wèn)題時(shí)要查找書(shū)籍,力爭(zhēng)做到最好。


2  總體設(shè)計(jì)2.1  系統(tǒng)概述

一個(gè)完整有效的系統(tǒng)必須要全面考慮到多種問(wèn)題和功能的實(shí)現(xiàn),點(diǎn)陣的設(shè)計(jì)也應(yīng)該如此,下面我詳細(xì)說(shuō)明地我的設(shè)計(jì)過(guò)程。

2.1.1  顯示單元的選擇

首先要在顯示上顯示一個(gè)簡(jiǎn)體的漢字,為將采用16*16點(diǎn)陣來(lái)描述顯示。為了能夠在距離較遠(yuǎn)的地方看的更清晰,本設(shè)計(jì)選區(qū)來(lái)4個(gè)8*8的點(diǎn)陣,像素直徑為5mm的紅色LED模塊拼成16*16點(diǎn)陣的LED點(diǎn)陣陣列模塊。這樣使每個(gè)16*16點(diǎn)陣的漢字能夠得得12*12的顯示尺寸,因此在距離較遠(yuǎn)的地方仍然能看得清晰。本論文設(shè)計(jì)要求整個(gè)屏幕能顯示“2016屆電子畢業(yè)設(shè)計(jì)”一串?dāng)?shù)字和漢字,則應(yīng)該需要使用16*16紅色點(diǎn)陣來(lái)回循環(huán)滾動(dòng)顯示。

2.1.2  滾屏方式選擇

字符串的位置在屏幕上實(shí)現(xiàn)不斷地移動(dòng),即為“滾屏”可以設(shè)置不同的滾動(dòng)方向,本輪文設(shè)計(jì)以從右到左的方向?yàn)槔。要?shí)現(xiàn)該功能,可以用硬件來(lái)進(jìn)行操作,但是增加了額外的硬件成本以及設(shè)計(jì)的難度。所以本論文設(shè)計(jì)選取軟件的方法來(lái)實(shí)現(xiàn)從右向左滾屏顯示的常見(jiàn)的滾屏方式。之所以選擇軟件來(lái)完成滾屏顯示,其最大的優(yōu)點(diǎn)就是成本低廉,而且可維護(hù)、可擴(kuò)展性強(qiáng)。

2.1. 3   單片機(jī)控制器的考慮

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

2.1. 4  關(guān)于點(diǎn)陣數(shù)據(jù)的存儲(chǔ)方式

目前使用最廣的技術(shù)之一是通過(guò)單片機(jī)軟件將轉(zhuǎn)換為相應(yīng)的字符串顯示位圖字體數(shù)據(jù),然后將這些字體數(shù)據(jù)后按照一定的順序存儲(chǔ)在E2PROM芯片[6]。因?yàn)樵O(shè)計(jì)需要顯示內(nèi)容,所以直接存儲(chǔ)在STC89C52就夠了,所以沒(méi)有使用外部設(shè)備。

3 硬件電路設(shè)計(jì)3.1 整體設(shè)計(jì)框圖

              通過(guò)對(duì)該論文設(shè)計(jì)的分析,為了能夠很好的實(shí)現(xiàn)論文要求,利用單片機(jī)STC89C52作為該系統(tǒng)的主控模塊。數(shù)據(jù)通過(guò)單片機(jī)模塊處理后傳輸給LED電子顯示屏模塊,并且實(shí)現(xiàn)滾動(dòng)顯示。整體設(shè)計(jì)框圖如圖1所示:


1  硬件整體設(shè)計(jì)

3.2 主控電路

              該方案通過(guò)STC89C52微處理器來(lái)控制完成LED電子點(diǎn)陣顯示屏的字符串的滾動(dòng)顯示。

3.2.1 STC89C52 單片機(jī)簡(jiǎn)介

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

1STC89C52 外部結(jié)構(gòu)及特性

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

2 STC89C52引腳排列             3外部總線

STC89C52的功能及引腳說(shuō)明:

Vcc:電源電壓

GND:地

P0口:P0口是8位雙向I / O端口。地址/數(shù)據(jù)總線復(fù)用。當(dāng)用作輸出,每個(gè)吸收電流驅(qū)動(dòng)TTL邏輯電平。P0口讀“1”時(shí)高阻狀態(tài)。 [8]

P1:P1口是一個(gè)內(nèi)部上拉電阻8位雙向I / O端口,P1輸出緩沖區(qū)可以驅(qū)動(dòng)四個(gè)TTL邏輯門(mén)[9。

P2:P2口是一個(gè)內(nèi)部上拉電阻與8位雙向I / O端口,P2可以驅(qū)動(dòng)4 TTL邏輯電路輸出緩沖階段。P2端口寫(xiě)“1”,內(nèi)部上拉電阻置于高電平,可用于輸入端口。作為輸入,因?yàn)閮?nèi)部上拉電阻,確定由外部信號(hào)輸入電流。

P3:P3口與內(nèi)部上拉電阻8位雙向I / O端口,P2可以驅(qū)動(dòng)4 TTL邏輯電路輸出緩沖階段。P3寫(xiě)“1”,內(nèi)部上拉電阻置于高電平,這個(gè)時(shí)候可以作為一個(gè)輸入端口。使用左邊的輸入使用時(shí),由于內(nèi)部阻力,確定由外部信號(hào)輸入電流。P3口也被用作一個(gè)特定的使用,如下所示:

  P3.0  RXD(串行輸入口)

  P3.1  TXD(串行輸出口)

  P3.2  INTO(外部中斷0 輸入口)

  P3.3  INT1(外部中斷 1 輸入口)

  P3.4  TO(定時(shí)器 0 外部輸入)

  P3.5  TI(定時(shí)器 1 外部輸入)

  P3.6  WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào))

  P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào))

2)功耗特性

              (1)掉電模式:

                            典型功耗 <0.1uA,通過(guò)外部中斷來(lái)喚醒,中斷返回后,繼續(xù)執(zhí)行原來(lái)的程序

              (2)空閑模式:

                            典型功耗 2mA

              (3)正常工作模式:

                            典型功耗 4mA-7mA

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

3STC單片機(jī)的命名規(guī)則:









4STC89C52的內(nèi)部組成

STC89C52單片機(jī)內(nèi)包含的具體部分如下:

  一個(gè)8 位 CPU。

  一個(gè)片內(nèi)振蕩器及時(shí)鐘電路。

  8KB Flash 程序存儲(chǔ)器。

  256 B RAM 數(shù)據(jù)存儲(chǔ)器。

  三個(gè)16 位定時(shí)器/計(jì)數(shù)器。

  64KB 的外部程序存儲(chǔ)器空間和外部數(shù)據(jù)存儲(chǔ)器的電路。32 條可編程的 I/O線。

  一個(gè)可編程全雙工串口通信。

  8 個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)。

STC89C52單片機(jī)的框圖如下圖所示,其間的功能部件通過(guò)內(nèi)部總線接在一起。

                           4STC89C52單片機(jī)框圖

3.3 LED點(diǎn)陣顯示電路

本論文設(shè)計(jì)采用的是4塊8 * 8單色點(diǎn)陣屏設(shè)計(jì)構(gòu)成16 * 16點(diǎn)陣屏,采用單色顯示,進(jìn)行顯示所要顯示的字符串,通過(guò)74HC154譯碼器來(lái)控制點(diǎn)陣的列方向的顯示,而列方向的16條線則由74HC595的八位并行輸出端控制[10]。

3.3.1 74HC154的總體特點(diǎn)和內(nèi)部結(jié)構(gòu)

1)總體特點(diǎn)

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

   5  74HC154引腳圖

              地址輸入對(duì)應(yīng)輸出表1:

                                                                                                  1  74HC154輸出表

引腳說(shuō)明

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ū)動(dòng)電流

+/-5.2mA

傳輸延遲

11ns@5V

邏輯電平

CMOS

功耗考量

低功耗或電池供電應(yīng)用

封裝與引腳

SO24,SSOP24,DIP24,TSSOP24


②邏輯圖:74LS154的內(nèi)部邏輯由與門(mén)和非門(mén)電路組成。

其邏輯圖如圖6所示:

                              6  74HC154邏輯圖

3.3.2 74HC595的總體特點(diǎn)和程序說(shuō)明

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

7  74HC595引腳圖

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

3  74HC595引腳圖

符號(hào)

引腳

描述

Q0-Q7

第15腳,第1-7腳

8位并行數(shù)據(jù)輸出

GND

第8腳

Q7’

第9腳

串行數(shù)據(jù)輸出

MR

第10腳

主復(fù)位(低電平)

SHCP

第11腳

數(shù)據(jù)輸入時(shí)鐘線

STCP

第12腳

輸出存儲(chǔ)器鎖存時(shí)鐘線

OE

第13腳

輸出有效(低電平)

DS

第14腳

串行數(shù)據(jù)輸入

VCC

第16腳

電源


2程序說(shuō)明:

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

3.4整體電路圖如圖

8 整體電路圖


圖9為單片機(jī)系統(tǒng)部分,其中包含晶振電路和復(fù)位電路。

9  單片機(jī)部分

圖10和圖11分別是74HC154和74LS595芯片,負(fù)責(zé)本設(shè)計(jì)的譯碼電路部分。

     

10  74HC154                      11  74LS595


3.5實(shí)物圖

              圖12和圖13分別是我制作的16*16點(diǎn)陣實(shí)物圖的。

             

12  16*16正面點(diǎn)陣圖                                                                      13  16*16背面點(diǎn)陣圖

圖14和圖15分別是焊接電路版實(shí)物進(jìn)行檢測(cè)時(shí)的圖片。

      

14  實(shí)物圖                           15  實(shí)物圖

測(cè)試方法:本設(shè)計(jì)采用的是直接接入電源的方法進(jìn)行測(cè)試。當(dāng)電源端口接入5V電源后,按下電路板上的開(kāi)關(guān)鍵,就會(huì)直接顯示“2016屆電子畢業(yè)設(shè)計(jì)”字樣,并且從左往右進(jìn)行滾動(dòng)顯示,因?yàn)楸驹O(shè)計(jì)中沒(méi)有加入暫停程序,所以一經(jīng)開(kāi)啟電源,無(wú)法暫停屏幕顯示的字符,只能直接關(guān)閉,再開(kāi)啟電源時(shí),又重新從左往右顯示字符。



4 軟件實(shí)現(xiàn)4.1 概述

整個(gè)設(shè)計(jì)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件已經(jīng)基本定型后,軟件的功能也就基本定下來(lái)了。包括主程序和子程序。子程序是用來(lái)實(shí)現(xiàn)各種實(shí)質(zhì)性的功能。每一個(gè)執(zhí)行軟件也即是一個(gè)小的功能模塊。將多個(gè)模塊獨(dú)立實(shí)現(xiàn)構(gòu)成一個(gè)整體模塊。根據(jù)實(shí)質(zhì)性功能的要求,合理地調(diào)用主程序和各子程序執(zhí)行模塊 [13]。

4.2系統(tǒng)程序方案設(shè)計(jì)

系統(tǒng)程序主要包括了:主程序、點(diǎn)陣顯示驅(qū)動(dòng)程序。

主程序:主要控制整個(gè)顯示部分的初始化,使系統(tǒng)在LED顯示屏上顯示出各點(diǎn)亮度均勻、充足,可以顯示穩(wěn)定、無(wú)顯影的數(shù)字和文字,文字顯示可以移入移出。本設(shè)計(jì)的顯示內(nèi)容為“2016屆電子畢業(yè)設(shè)計(jì)”實(shí)現(xiàn)從左向右移動(dòng)顯示。

下面是主程序部分:

程序中首先對(duì)各個(gè)變量進(jìn)行初始化,并對(duì)74HC595進(jìn)行初始化,當(dāng)初始化過(guò)程結(jié)束后,開(kāi)始顯示處理。

//主函數(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個(gè)位數(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)用和字符串的移動(dòng)處理,所以能夠看見(jiàn)可以移動(dòng)字體顯示。

點(diǎn)陣顯示驅(qū)動(dòng)程序

主要實(shí)現(xiàn)對(duì)74HC595和74HC154的驅(qū)動(dòng)編寫(xiě),已實(shí)現(xiàn)畫(huà)面的動(dòng)態(tài)刷新。


//74HC595初始化

void Init595()

{

              SI=1;

              SCK=0;

              RCK=0;

}

//向595中寫(xiě)一個(gè)字節(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)生一個(gè)上升沿

                                          SCK=0;

                                          SCK=1;

                                          SCK=0;

                                          data_>>=1;

              }

              RCK=0;//顯示數(shù)據(jù)

              RCK=1;

              RCK=0;

}

//595寫(xiě)入一行的字節(jié)

void WriteS(uchar data1,uchar data2)

{

              Write_byte595(data2);

                            Write_byte595(data1);





4.2.1主程序設(shè)計(jì)

              通過(guò)主程序?qū)?4hc595的初始化和對(duì)子程序的調(diào)用來(lái)實(shí)現(xiàn)單片屏幕的動(dòng)態(tài)刷新完成到點(diǎn)陣顯示屏的動(dòng)態(tài)顯示。

4.2.2子程序設(shè)計(jì)

              把每個(gè)功能程序以子程序的形式編寫(xiě)好, 當(dāng)寫(xiě)主程序的時(shí)候, 只需要調(diào)用子程序,然后在寄存器的分配上作一下調(diào)整,消除寄存器沖突和 I/O 沖突就可以。程序應(yīng)該盡可能多使用調(diào)用指令替代跳轉(zhuǎn)指令。因?yàn)樘D(zhuǎn)指令容易使程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。[14] 而調(diào)用指令則不同,調(diào)用指令能夠使程序結(jié)構(gòu)清晰,在修改或者是維護(hù)時(shí)都比較方便。將功能程序?qū)懗勺映绦虻男问,除了方便調(diào)用之外,還有一個(gè)好處就是以后寫(xiě)程序的時(shí)候如果要用到,就可以直接調(diào)用這個(gè)單元功能模塊。

4.2.3 漢字顯示

              在取模軟件中編寫(xiě)一個(gè)要輸入端漢字,如編寫(xiě)一個(gè)“電”字,如下所示:



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è)計(jì)的顯示方式,按照上圖取模軟件顯示的漢字“電”按每一行掃描顯示,從右到左讀數(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ù)

              因?yàn)轱@示原理是視覺(jué)暫留原理需要有延時(shí)控制顯示。延時(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行選控制

              通過(guò)單片機(jī)IO口控制74HC154,可以實(shí)現(xiàn)5線控制16線的過(guò)程,如程序所示:


5 測(cè)試結(jié)果
硬件測(cè)試結(jié)果:在軟件proteus中模擬仿真顯示,本設(shè)計(jì)16*16LED顯示屏能夠很好地從右往左滾動(dòng)顯示若干漢字及數(shù)字。在proteus中畫(huà)完圖后運(yùn)行仿真測(cè)試,LED顯示屏能夠往左顯示如圖13所示。
13  LED點(diǎn)陣顯示屏

實(shí)物測(cè)試結(jié)果如圖14所示:



14  實(shí)物測(cè)試圖


總    結(jié)

              在本設(shè)計(jì)中STC89C52芯片負(fù)責(zé)控制整個(gè)電路,74HC595作為電路的行驅(qū)動(dòng),驅(qū)動(dòng)點(diǎn)陣的行;以三極管和電阻作為列驅(qū)動(dòng),三極管主要取到開(kāi)關(guān)的作用。74HC154作為列驅(qū)動(dòng),控制列掃描電路。實(shí)驗(yàn)中使用了高速單片機(jī),使得顯示屏穩(wěn)定顯示,達(dá)到題目的要求。

在本次畢業(yè)設(shè)計(jì)實(shí)驗(yàn)中,學(xué)習(xí)能力得到進(jìn)一步提高,在完成硬件和軟件設(shè)計(jì)的過(guò)程中遇到的苦難,通過(guò)查書(shū)籍和網(wǎng)上查找,并通過(guò)向同學(xué)請(qǐng)教穩(wěn)固了知識(shí)。通過(guò)這次的畢業(yè)設(shè)計(jì),不僅對(duì)理論的基本知識(shí)得到更深一步的鞏固,還提高了自學(xué)能力和解決問(wèn)題的能力,增強(qiáng)克服困難的決心。

              總之,我從這次論文設(shè)計(jì)中學(xué)到了很多。要善于借鑒,借鑒別人好的成果,轉(zhuǎn)化為自己成功的動(dòng)力。



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

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



回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表