單片機(jī)控制LED點(diǎn)陣顯示器_第1頁(yè)
單片機(jī)控制LED點(diǎn)陣顯示器_第2頁(yè)
單片機(jī)控制LED點(diǎn)陣顯示器_第3頁(yè)
單片機(jī)控制LED點(diǎn)陣顯示器_第4頁(yè)
單片機(jī)控制LED點(diǎn)陣顯示器_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 1 引言自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過(guò)了近20年的發(fā)展路程??v觀20年來(lái)單片機(jī)發(fā)展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動(dòng),表現(xiàn)出較微處理器更具個(gè)性的發(fā)展趨勢(shì)。單片機(jī)自問(wèn)世以來(lái),性能不斷提高和完善,其資源又能滿足很多應(yīng)用場(chǎng)合的需要,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等特點(diǎn),因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級(jí)計(jì)算器、家用電器等領(lǐng)域的應(yīng)用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的潛力越來(lái)越被人們所重視。特別是當(dāng)前用CMOS工藝制成的各種單片

2、機(jī),由于功耗低,使用的溫度范圍大,抗干擾能力強(qiáng)、能滿足一些特殊要求的應(yīng)用場(chǎng)合,更加擴(kuò)大了單片機(jī)的應(yīng)用范圍,也進(jìn)一步促使單片機(jī)性能的發(fā)展。而現(xiàn)在單片機(jī)在農(nóng)業(yè)上也有了很多的應(yīng)用。綜上所述,我們可以把單片機(jī)的發(fā)展歷史劃分為四階段:第一階段(19761978年):低性能單片機(jī)的探索階段。以Intel公司的MCS-48為代表,采用了單片結(jié)構(gòu),即在一塊芯片內(nèi)含有8位CPU、定時(shí)/計(jì)數(shù)器、并行I/O口、RAM和ROM等。主要用于工業(yè)領(lǐng)域。第二階段(19781982年):高性能單片機(jī)階段,這一類單片機(jī)帶有串行I/O口,8位數(shù)據(jù)線、16位地址線可以尋址的范圍達(dá)到64K字節(jié)、控制總線、較豐富的指令系統(tǒng)等。這類單片

3、機(jī)的應(yīng)用范圍較廣,并在不斷的改進(jìn)和發(fā)展。第三階段(19821990年):16位單片機(jī)階段。16位單片機(jī)除CPU為16位外,片內(nèi)RAM和ROM容量進(jìn)一步增大,實(shí)時(shí)處理能力更強(qiáng),體現(xiàn)了微控制器的特征。例如Intel公司的MCS-96主振頻率為12M,片內(nèi)RAM為232字節(jié),ROM為8K字節(jié),中斷處理能力為8級(jí),片內(nèi)帶有10位A/D轉(zhuǎn)換器和高速輸入/輸出部件等。第四階段(1990年):微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時(shí),向高速、強(qiáng)運(yùn)算能力、尋址范圍大以及小型廉價(jià)方面發(fā)展。LED就是light emitting diode ,發(fā)光二極管的英文縮寫(xiě),簡(jiǎn)稱LED。它是一種通過(guò)控制半導(dǎo)體發(fā)

4、光二極管的顯示方式,其大概的樣子就是由很多個(gè)通常是紅色的發(fā)光二極管組成,靠燈的亮滅來(lái)顯示字符。用來(lái)顯示文字、圖形、圖像、動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕LED電子顯示屏是隨著計(jì)算機(jī)及相關(guān)的微電子、光電子技術(shù)的迅猛發(fā)展而形成的一種新型信息顯示媒體。它利用發(fā)光二極管構(gòu)成的點(diǎn)陣模塊或像素單元組成可變面積的顯示屏幕,以可靠性高、使用壽命長(zhǎng)、環(huán)境適應(yīng)能力強(qiáng)、性能價(jià)格比高、使用成本低等特點(diǎn),在短短的十來(lái)年中,迅速成長(zhǎng)為平板顯示的主流產(chǎn)品,在信息顯示領(lǐng)域得到了廣泛的應(yīng)用。LED顯示屏主要包括發(fā)光二極管構(gòu)成的陣列、驅(qū)動(dòng)電路、控制系統(tǒng)及傳輸接口和相應(yīng)的應(yīng)用軟件等,其中驅(qū)動(dòng)電路設(shè)計(jì)的好壞,對(duì)LED顯

5、示屏的顯示效果、制作成本及系統(tǒng)的運(yùn)行性能起著很重要的作用。所以,設(shè)計(jì)一種既能滿足控制驅(qū)動(dòng)的要求,同時(shí)使用器件少、成本低的控制驅(qū)動(dòng)電路是很有必要的。本文就常規(guī)型驅(qū)動(dòng)電路的設(shè)計(jì)作些分析設(shè)計(jì)出電路圖。LED顯示屏驅(qū)動(dòng)電路的設(shè)計(jì),與所用控制系統(tǒng)相配合通常分為動(dòng)態(tài)掃描型驅(qū)動(dòng)及靜態(tài)鎖存型驅(qū)動(dòng)二大類。以下就動(dòng)態(tài)掃描型驅(qū)動(dòng)電路的設(shè)計(jì)為例為進(jìn)行分析:動(dòng)態(tài)掃描型驅(qū)動(dòng)方式是指顯示屏上的“4行、8行、16行”等發(fā)光二極管共用一組列驅(qū)動(dòng)寄存器。通過(guò)行驅(qū)動(dòng)管的分時(shí)工作,使得每行LED的點(diǎn)亮?xí)r間占總時(shí)間的1x,只要每行的刷新速率大于50 Hs,利用人眼的視覺(jué)暫留效應(yīng)、人們就可以看到一幅完整的文字或畫(huà)面。常規(guī)型驅(qū)動(dòng)電路的設(shè)計(jì)

6、一般是用串入并出的通用集成電路芯片如74HC595或MCNu94等作為列數(shù)據(jù)鎖存,以小功率NPN三極管如8050為列驅(qū)動(dòng),而以PNP三極管如TIP127等作為行掃描管。2 單片機(jī)簡(jiǎn)介2.1單片機(jī)的發(fā)展歷史及其分類電子計(jì)算機(jī)的發(fā)展經(jīng)歷了從電子管、晶體管、集成電路到大規(guī)模集成電路共四個(gè)階段,即通常所說(shuō)的第一代、第二代、第三代和第四代計(jì)算機(jī)?,F(xiàn)在廣泛使用的微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,因此它屬于第四代計(jì)算機(jī),而單片機(jī)則是微型計(jì)算機(jī)的一個(gè)分支。從1971年微型計(jì)算機(jī)問(wèn)世以來(lái),由于實(shí)際應(yīng)用的需要,微型計(jì)算機(jī)向著兩個(gè)不同的方向發(fā)展:一個(gè)是向著高速度、大容量、高性能的高檔微機(jī)方向發(fā)展;而另一個(gè)則

7、是向穩(wěn)定可靠、體積小和價(jià)格廉的單片機(jī)方向發(fā)展。但兩者在原理和技術(shù)上是緊密聯(lián)系的。單片機(jī)因?qū)⑵渲饕M成部分集成在一個(gè)芯片上而得名,具體說(shuō)就是把中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及I/O口電路等主要微型機(jī)部件,集成在一塊芯片上。雖然單片機(jī)只是一塊芯片,但從功能和組成上,它已具有了計(jì)算機(jī)的屬性,為此它稱為單片微型機(jī)。單片機(jī)有很多的特點(diǎn),主要表現(xiàn)在:體積小、功耗低、價(jià)格廉、控制功能強(qiáng)、應(yīng)用現(xiàn)場(chǎng)環(huán)境惡劣等等。MCS-51是一個(gè)單片機(jī)系列產(chǎn)品,具有多種芯片型號(hào)。具體說(shuō),按其內(nèi)部資源配置的不同,MCS-51可分為兩個(gè)子系列和4種類型,如表2-1所示:表2-1 MCS-51系列單片

8、機(jī)分類資源配置子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量定時(shí)器/計(jì)數(shù)器中斷源無(wú)ROMEPROME2PROM51子系列80318051875189514KB128B2×16552子系列80328052875289528KB256B3×166按資源配置數(shù)量,MCS-51系列分為51和52兩個(gè)子系列,其中51子系列是基本型,而52子系列則是增強(qiáng)型,以芯片型號(hào)的最末位數(shù)字的“1”和“2”作標(biāo)志。52作為增強(qiáng)型子系列,由于資源數(shù)量的增加,使其芯片的功能也有所增強(qiáng)。例如片內(nèi)ROM容量從4KB增加到8KB,片內(nèi)RAM單元數(shù)從128字節(jié)增加到256字節(jié),定時(shí)器/計(jì)數(shù)器的數(shù)目從2個(gè)增加

9、到3個(gè),中斷源從5個(gè)增加到6個(gè)等。單片機(jī)內(nèi)部程序存儲(chǔ)器(ROM)的配置共有:不含有內(nèi)部程序存儲(chǔ)器(寫(xiě)為“無(wú)”或“ROM less”)、掩模型只讀存儲(chǔ)器(寫(xiě)為“ROM”或“Mask ROM”)、紫外線擦除可編程只讀存儲(chǔ)器(寫(xiě)為“EPROM”或“Otp ROM”)、電擦除可編程存儲(chǔ)器(寫(xiě)為“E2PROM”或“Flash ROM”)4種類型,所對(duì)應(yīng)的(51子系列)芯片名稱依次為:80631、8051、8751和8951。到目前為止,盡管計(jì)算機(jī)科學(xué)和技術(shù)得到了充分的發(fā)展,但計(jì)算機(jī)的體系結(jié)構(gòu)仍然沒(méi)能突破有計(jì)算機(jī)的開(kāi)拓者、數(shù)字家約翰.馮.諾曼最先提出來(lái)的經(jīng)典體系結(jié)構(gòu)框架,即一臺(tái)計(jì)算機(jī)是由運(yùn)算器、控制器、存

10、儲(chǔ)器、輸入設(shè)備以及輸出設(shè)備共五個(gè)基本部分組成的。微型機(jī)是這樣,單片機(jī)也不例外。圖2-1 MCS-52 單片機(jī)系統(tǒng)結(jié)構(gòu)框圖因此我們要從計(jì)算機(jī)五個(gè)基本組成部分的觀點(diǎn)來(lái)理解單片機(jī)的系統(tǒng)結(jié)構(gòu),所不同的只是單片機(jī)是把那些作為控制應(yīng)用所必需的內(nèi)容,包括運(yùn)算器、控制器、少量的存儲(chǔ)器、最基本的輸入/輸出口電路、串行口電路、中斷和定時(shí)電路等都集成在一個(gè)尺寸有限的芯片上。2.2單片機(jī)的結(jié)構(gòu)特點(diǎn)1.片內(nèi)的RAM采用寄存器結(jié)構(gòu)形式,這樣可以提高存取的速度;2.在存儲(chǔ)器結(jié)構(gòu)上,嚴(yán)格的將程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM在空間上分開(kāi);3.它的引出管腳一般都設(shè)計(jì)成多功能的;4.增加了一個(gè)全雙工的串行接口,以擴(kuò)充I/O口和外

11、接同步輸入和輸出設(shè)備;5.有21個(gè)特殊功能寄存器;6.有豐富的指令系統(tǒng),內(nèi)部設(shè)置了可以位尋址的位地址空間。 2.3 MCS-52單片機(jī)芯片內(nèi)部邏輯結(jié)構(gòu)1.中央處理器(CPU)中央處理器簡(jiǎn)稱CPU,是單片機(jī)的核心,完成運(yùn)算和控制操作。按其功能,中央處理器包括運(yùn)算器和控制器兩部分電路。2.運(yùn)算器電路運(yùn)算電路時(shí)單片機(jī)的運(yùn)算部件,用于實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。運(yùn)算電路以ALU為核心,基本的算術(shù)和邏輯運(yùn)算均在其中進(jìn)行,包括加、減、乘、除、增量、減量、十進(jìn)制調(diào)整、比較等算術(shù)運(yùn)算,與、或、異或等邏輯運(yùn)算,左、右、移位和半字節(jié)交換等操作。運(yùn)算和操作結(jié)果的狀態(tài)由狀態(tài)寄存器(PSW)保存。3.控制器電路控制電路時(shí)單片機(jī)

12、的指揮控制部件,保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。單片機(jī)執(zhí)行指令是在控制電路的控制下進(jìn)行的。首先從程序存儲(chǔ)器中讀出指令,送指令寄存器保存,然后送指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到系統(tǒng)的各個(gè)部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過(guò)程,執(zhí)行程序就是不斷重復(fù)這一過(guò)程。4.內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器包括RAM(256 x8)和RAM地址寄存器等。80C52芯片中共有256個(gè)RAM單元。5.內(nèi)部程序存儲(chǔ)器內(nèi)部程序存儲(chǔ)器包括ROM(8Kx8)和程序地址寄存器等。80C52共有8KB掩膜ROM,用于存放程序和原始數(shù)據(jù)。因此稱之為程序存儲(chǔ)

13、器,簡(jiǎn)稱“內(nèi)部ROM”。6.定時(shí)器/計(jì)數(shù)器出于控制應(yīng)用的需要,80C52共有三個(gè)16位的定時(shí)器/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)單片機(jī)進(jìn)行控制。7.并行I/O口MCS-52共有4個(gè)8位的I/O口(P0、P1、P2、P3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。8.串行口MCS-52單片機(jī)有一個(gè)全雙公的串行口,以實(shí)現(xiàn)單片機(jī)和其它數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),即可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。9.中斷控制系統(tǒng)MCS-52單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用需要。80C52共有6個(gè)中斷源,全部中斷分為高級(jí)和低級(jí)共兩個(gè)優(yōu)先級(jí)別。10.時(shí)鐘電路MCS-52

14、芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接,時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,典型的晶振頻率為12MHZ。11.位處理器單片機(jī)主要用于控制,需要有較強(qiáng)的位處理功能,因此位處理器是它的必要組成部分,在一些書(shū)中常把位處理器稱為布爾處理器。位處理器以狀態(tài)寄存器中的進(jìn)位標(biāo)志位C為累加器,可進(jìn)行置位、復(fù)位、取反、等于“0”轉(zhuǎn)移、等于“1”轉(zhuǎn)移且清“0”以及C可尋址位之間的傳送、邏輯與、邏輯或等位操作。位處理操作也是通過(guò)運(yùn)算器實(shí)現(xiàn)的。必須特別指出,位處理器是單片機(jī)的重要內(nèi)容,因?yàn)樗菃纹瑱C(jī)實(shí)現(xiàn)控制功能的保證。12.總線上述這些部件都是通過(guò)總線連接起來(lái),才能構(gòu)成一個(gè)完整的單片機(jī)系統(tǒng)??偩€結(jié)構(gòu)減少了單片

15、機(jī)的連線和引腳,提高了集成度和可靠性。從上述內(nèi)容可以看出,雖然MCS-52只是一個(gè)芯片,但“麻雀雖小五臟俱全”,作為計(jì)算機(jī)應(yīng)該具有的基本部件在單片機(jī)中幾乎都包括,因此,實(shí)際上它已經(jīng)是一個(gè)簡(jiǎn)單的微型計(jì)算機(jī)系統(tǒng)了,應(yīng)當(dāng)按計(jì)算機(jī)系統(tǒng)的概念來(lái)理解單片機(jī)。 3 硬件系統(tǒng)設(shè)計(jì)3.1將要實(shí)現(xiàn)的功能要求設(shè)計(jì)一個(gè)室內(nèi)用32×16點(diǎn)陣LED圖文顯示屏,要求在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形或文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。3.2方案論證從理論上說(shuō),不論圖形還是文字,只要控制組成這些圖形或文字的各個(gè)點(diǎn)所在位置相對(duì)應(yīng)的LED期間發(fā)光,就可

16、以得到我們想要的顯示結(jié)果,這種同時(shí)控制各個(gè)發(fā)光點(diǎn)亮滅的方法稱為靜態(tài)驅(qū)動(dòng)顯示方式。32×16的點(diǎn)陣共有512個(gè)發(fā)光二極管,顯然單片機(jī)沒(méi)有這么多端口,按8位的鎖存器來(lái)計(jì)算,32×16的點(diǎn)陣需要512/8=64個(gè)鎖存器。這個(gè)數(shù)字很龐大,因?yàn)槲覀儍H僅是32×16的點(diǎn)陣,在實(shí)際應(yīng)用中的顯示屏往往要大得多,在鎖存器上花的成本將是一個(gè)很龐大的數(shù)字。因此在實(shí)際應(yīng)用中的顯示屏幾乎都不采用這種設(shè)計(jì),而采用另一種稱為動(dòng)態(tài)掃描的顯示方法。動(dòng)態(tài)掃描的意思簡(jiǎn)單地說(shuō)就是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行(比如16行)的同名列共用一套列驅(qū)動(dòng)器。具體就32×16點(diǎn)陣來(lái)說(shuō),把所有

17、同1行的發(fā)光二極管的陽(yáng)極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽(yáng)的接法),先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時(shí)間,然后熄滅;.第32行之后,又重新燃亮第行。反復(fù)輪回。當(dāng)這樣的輪回速度足夠快(每秒次以上),由于人眼的視覺(jué)暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形了。采用掃描方式進(jìn)行顯示時(shí),每行有一個(gè)行驅(qū)動(dòng)器,各行的同名列共用一個(gè)列驅(qū)動(dòng)器。顯示數(shù)據(jù)通常存儲(chǔ)在單片機(jī)的存儲(chǔ)器中,按位一個(gè)字節(jié)的形式順序排放。顯示時(shí)要把一行中個(gè)列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動(dòng)器上去,這就存在一個(gè)顯示數(shù)據(jù)傳輸?shù)膯?wèn)題。從控制電路到列驅(qū)動(dòng)器的數(shù)據(jù)傳輸可以采用并行方式或串行方式。顯然,采用并行方

18、式時(shí),從控制電路到列驅(qū)動(dòng)器的線路數(shù)量很大,相應(yīng)的硬件數(shù)目很多。當(dāng)列數(shù)很多時(shí),并行傳輸?shù)姆桨甘呛懿豢扇〉?。采用串行輸出的方法,控制電路可以只用一根信?hào)線,將列數(shù)據(jù)一位一位傳往列驅(qū)動(dòng)器,在硬件方面無(wú)疑是十分經(jīng)濟(jì)的。但是,串行傳輸過(guò)程較長(zhǎng),數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動(dòng)器,只有當(dāng)一行的各列數(shù)據(jù)都已傳輸?shù)轿恢?,這一行的各列才能并行地進(jìn)行顯示。這樣,對(duì)于一行的顯示過(guò)程就可以分解成列數(shù)據(jù)準(zhǔn)備(傳輸)和列數(shù)據(jù)顯示兩個(gè)部分。對(duì)于串行傳輸方式來(lái)說(shuō),列數(shù)據(jù)準(zhǔn)備時(shí)間可能相當(dāng)長(zhǎng),在行掃描周期確定的情況下,留給行顯的時(shí)間就太少了,以致影響到LED的亮度。解決串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時(shí)間矛盾問(wèn)題,可以采用重

19、疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有鎖存功能。經(jīng)過(guò)上述分析,可以歸納出列驅(qū)動(dòng)器電路應(yīng)具備的主要功能,對(duì)于列數(shù)據(jù)準(zhǔn)備來(lái)說(shuō),它應(yīng)能實(shí)現(xiàn)串入并出的移位功能;對(duì)于列數(shù)據(jù)顯示來(lái)說(shuō),應(yīng)具有并行鎖存的功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進(jìn)行顯示時(shí),串并移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會(huì)影響本行的顯示。圖3-1為顯示屏電路實(shí)現(xiàn)的結(jié)構(gòu)框圖。列驅(qū)動(dòng)器單 片 機(jī)電源 LED顯示點(diǎn)陣 行驅(qū)動(dòng)器 圖3-1 顯示屏電路框圖3.3系統(tǒng)硬件電路的設(shè)計(jì)硬件電路大致上可以分成單片機(jī)系統(tǒng)及外圍電路、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路三部分。單片機(jī)采用89S

20、52或其兼容系列的芯片,采用24MHZ或更高頻率的晶振,以獲得較高的刷新頻率,使顯示更穩(wěn)定。單片機(jī)的串口與列驅(qū)動(dòng)器相連,用來(lái)送顯示數(shù)據(jù)。P1口與行驅(qū)動(dòng)器相連,送出行選信號(hào);P3口則用來(lái)發(fā)送控制信號(hào)。P0和P2口空著,在有必要時(shí)可以擴(kuò)展系統(tǒng)的ROM和RAM。32×16點(diǎn)陣顯示屏的硬件原理圖如圖3-2所示:圖3-2 32×16點(diǎn)陣顯示屏的硬件原理圖單片機(jī)P1口輸出的行號(hào)經(jīng)74LS154譯碼后產(chǎn)生32條行選通信號(hào)線,再經(jīng)過(guò)驅(qū)動(dòng)器驅(qū)動(dòng)對(duì)應(yīng)的行線。一條行線上要帶動(dòng)16列的LED進(jìn)行顯示,按每一LED期間20mA電流計(jì)算,16個(gè)LED同時(shí)發(fā)光,需要320mA電流,選用三極管8550作為

21、驅(qū)動(dòng)管可滿足要求。3.4主要芯片介紹3.4.1正向驅(qū)動(dòng)器74LS245及其應(yīng)用74LS245是正向驅(qū)動(dòng)器,他具有8位同步數(shù)據(jù)通信總線,其功能為:1.輸入緩沖及抗噪聲干擾。2.2方式同步數(shù)據(jù)總線通信。3.輸入兩極高速終止效果。4.ESD大于3500V。圖3-3 74LS245它具備兩種工作方式,我們可以通過(guò)控制他DIR 及E管腳的邏輯電平從而控制其工作方式如表3-1所示: 表3-1真值表INPUTOUPUTEDIRLL總線B流向總線ALH總線A流向總線BH×隔離狀態(tài)H:代表高電平L:代表低電平×:代表忽略工作方式一:管腳E為低電平而管腳DIR為高電平時(shí),數(shù)據(jù)輸出方向是由A口流

22、向B口。工作方式二:管腳E和管腳DIR均為高電平時(shí),數(shù)據(jù)輸出方向是由B口流向A口。在本電路中選取了其工作方式一,也就是將數(shù)據(jù)從A口經(jīng)放大在B口輸出。從表3可知74LS245的工作電壓為4.55.5V,正常工作溫度為-55125度。本文選用74LS245來(lái)替代三極管放大作用,在功能相同的情況下一方面節(jié)省了線路版空間,使元件更加整齊。另一方面,使電路的焊接工作帶來(lái)很大便利。表3-2符號(hào)參數(shù)最小典型最大單位VCC支持電壓544.555.5V744.7555.25TA元件運(yùn)行溫度范圍54-5525125度7402570I OH最大輸出電流54.74-3mA54-1274-15I OL最小輸出電流541

23、2mA74243.4.2 416線譯碼器 功能:1.74154進(jìn)行高速緩存和解碼處理的譯碼器。2.將4位編碼轉(zhuǎn)變?yōu)楸舜嘶コ獾?6位編碼。3.通過(guò)不同輸入控制16位編碼數(shù)據(jù)輸出的分配實(shí)現(xiàn)其復(fù)用功能。4.輸入半導(dǎo)體單一化系統(tǒng)設(shè)計(jì)。5.高電壓,低阻抗輸出。6.完全適用于絕大多數(shù)的TTL及MSI電路。圖3-4 74LS154管腳圖通過(guò)對(duì)其管腳圖及真值表進(jìn)行觀察不難看出,G1,G2為74LS154的片選端,也就是說(shuō)當(dāng)G1和G2同為低電平時(shí)74154,可以正常工作。除此之外的另外3種情況74154的16位輸出均為高電平。74154的情況下,當(dāng)A,B,C,D輸入都為低電平時(shí),其16位輸出中0腳的輸出為低電平

24、其他各腳均為高電平,當(dāng)A為低電平,B,C,D分別為高電平時(shí),1管腳輸出為低電平而其他管腳均為高電平按此規(guī)律如圖3-4所示,當(dāng)A,B,C,D輸入都為高電平時(shí),其16位輸出中的15腳輸出為低電平其他各腳均為高電平。利用它的擴(kuò)展功能,能夠解決89C51在本電路中口線不足的難題。74LS154是本電路的重要元器件之一。表3-3 74LS154真值表輸入輸出G1G2DCBA0123456789101112131415LLLLLLLHHHHHHHHHHHHHHHLLLLLHHLHHHHHHHHHHHHHHLLLLHLHHLHHHHHHHHHHHHHLLLLHHHHHLHHHHHHHHHHHHLLLHLLH

25、HHHLHHHHHHHHHHHLLLHLHHHHHHLHHHHHHHHHHLLL HH LHHHHHHLHHHHHHHHHLLLHHHHHHHHHHLHHHHHHHHLLHLLLHHHHHHHHLHHHHHHHLLHLLHHHHHHHHHHLHHHHHHLLHLHLHHHHHHHHHHLHHHHHLLHLHHHHHHHHHHHHHLHHHHLLHHLLHHHHHHHHHHHHLHHHLLHHLHHHHHHHHHHHHHHLHHLLHHHLHHHHHHHHHHHHHHLHLLHHHHHHHHHHHHHHHHHHHLLH××××HHHHHHHHHHHHHHH

26、HHL××××HHHHHHHHHHHHHHHHHH××××HHHHHHHHHHHHHHHH3.4.3 32×16 LED數(shù)碼顯示屏32×16 LED數(shù)碼顯示屏是由8塊8×8LED數(shù)碼管分兩排拼湊而成,數(shù)碼管為共陽(yáng)極,是由64個(gè)發(fā)光二極管組合而成,以4×4的內(nèi)部結(jié)構(gòu)圖為例,如圖3-5所示:圖3-5 4×4的LED內(nèi)部結(jié)構(gòu)圖當(dāng)0.1.2.3四列中其中任何一列選通(為低電平)那么那一列所在的四行A.B.C.D如有高電平輸入,它所對(duì)應(yīng)的二極管就會(huì)導(dǎo)通。所以按照這種原理,就可

27、以用單片機(jī)的P1口經(jīng)過(guò)兩個(gè)74LS154擴(kuò)展出32位低電平選通端,再通過(guò)單片機(jī)的P3口輸出高低電平將發(fā)光二極管導(dǎo)通,通過(guò)逐列掃描法拼湊出想要實(shí)現(xiàn)的字符。一般地,發(fā)紅光的LED每段流過(guò)5MA的平均電流,就可以有較滿意的亮度,7MA電流會(huì)更亮些,10MA以上也不會(huì)再亮多少。但長(zhǎng)期運(yùn)行于10MA以上會(huì)縮短其壽命。最大電流平均值不得超過(guò)30MA。LED顯示器允許的反向最大值為5V,此時(shí)的反向電流一般小于10UA。小尺寸的LED顯示器每段只有一個(gè)發(fā)光二極管,其正向壓降約為1.5V。一般最大不大于2V。大尺寸的LED顯示器每段可能由數(shù)個(gè)發(fā)光二極管串聯(lián),每段壓降也要增大。3.4.4系統(tǒng)核心單片機(jī)部分- AT

28、89S52單片機(jī)AT89S52有內(nèi)部RAM,可以作為各種數(shù)據(jù)區(qū)使用,內(nèi)部閃電存儲(chǔ)器存放LED電子顯示屏的控制程序。 AT89系列單片機(jī)是ATMEL公司生產(chǎn)的。這是當(dāng)前最新的一種電擦寫(xiě)8位單片機(jī),與MCS-51系列完全兼容,有超強(qiáng)的加密功能,可完全替代87C51/52和8751/52。它物美價(jià)廉,深受用戶歡迎。與87C51相比,AT89系列的優(yōu)越性在于,其片內(nèi)閃電存儲(chǔ)器的編程與擦除完全用電實(shí)現(xiàn);數(shù)據(jù)不易揮發(fā),可保存10年;編程/擦除速度快,全4K字節(jié)編程只需時(shí)3s,擦除時(shí)間約用10ms;AT89系列了實(shí)現(xiàn)在線編程;也可借助電話線進(jìn)行遠(yuǎn)距離編程。AT89S52是一種低功耗、高性能內(nèi)含8K字節(jié)閃電存

29、儲(chǔ)器(Flash Memory)的16位CMOS微控制器。這種器件系以ATMEL高密度不揮發(fā)存儲(chǔ)技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和引腳完全兼容。片內(nèi)閃電存儲(chǔ)器的程序代碼或數(shù)據(jù)可在線寫(xiě)入,亦可通過(guò)常規(guī)的編程器編程。例如,MP-100這樣一種經(jīng)濟(jì)型的編程器,它支持通用EPROM等各種存儲(chǔ)器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列52單片機(jī)的編程。ME5103和ME5105仿真器支持AT89系列所有器件的調(diào)試、仿真和編程。AT89S52的結(jié)構(gòu)框圖如圖3-6所示: P0.0 P0.7 P2.0 P2.7 圖3-6 AT89S52結(jié)構(gòu)框圖AT89C52具有下列主

30、要性能:1.8KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1,000次的寫(xiě)入/擦除周期)2.全靜態(tài)工作:0Hz24MHz3.三級(jí)程序存儲(chǔ)器保密4.256 X 8字節(jié)內(nèi)部RAM5.32條可編程I/O線6.3個(gè)16位定時(shí)器/計(jì)數(shù)器7.6個(gè)中斷源8.可編程串行通道片內(nèi)時(shí)鐘振蕩器另外,AT89S52是用靜態(tài)邏輯來(lái)設(shè)計(jì)的,其工作頻率可下降到0 Hz,并提供兩種可用軟件來(lái)選擇的省電方式空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停

31、,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。主電源引腳1.Vcc 電源端2.GND 接地端外接晶體引腳XTAL1和XTAL21.XTAL1 接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號(hào),既把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。2.XTAL2 接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。3.控制或與其它電源復(fù)用引腳RST、ALE/PROG、/PSEN和/EA/Vpp(1)RES 復(fù)位輸入端。 當(dāng)振蕩器運(yùn)行時(shí),在該引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使

32、單片機(jī)復(fù)位。(2) ALE/PROG 當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。在對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(/PROG)。如果需要的話,通過(guò)對(duì)專用寄存器(SFR)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會(huì)被激活。另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定

33、禁止ALE位無(wú)效。(3) /PSEN 程序存儲(chǔ)允許(/PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)AT89C51/LV51由外部程序存儲(chǔ)器取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次/PSEN有效(既輸出2個(gè)脈沖)。但在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。(4) /EA/Vpp 外部訪問(wèn)允許端。要使CPU只訪問(wèn)外部程序存儲(chǔ)器(地址為0000H FFFFH),則/EA端必須保持低電平(接到GND端)。然而要注意的是,如果保密位LB1被編程,復(fù)位時(shí)在內(nèi)部會(huì)鎖存/EA端的狀態(tài)。當(dāng)/EA端保持高電平(接Vcc端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序。在Flash存儲(chǔ)器編

34、程期間,該引腳也用于施加12V的編程允許電源Vpp(如果選用12V編程)。輸入/輸出引腳 P0.0P0.7、P10.P1.7、P2.0P2.7 和P3.0P3.71.P0端口(P0.0P0.7) P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL輸入,對(duì)端口寫(xiě)1時(shí),又可作高阻抗輸入端用。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期間激活了內(nèi)部的上拉電阻。在Flash編程時(shí),P0端口接收指令字節(jié);而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。2.P1端口(P1.0P1.7) P1是一個(gè)帶有內(nèi)部上拉電阻的8

35、位雙向I/O端口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。作輸入口時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在對(duì)Flash編程和程序驗(yàn)證時(shí),P1接收低8位地址。3.P2端口 (P2.0P2.7) P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的

36、外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX DPIR指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI指令)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。在對(duì)Flash編程和程序驗(yàn)證期間,P2也接收高位地址和一些控制信號(hào)。4.P3端口(P3.0P3.7) P3 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在AT89S5

37、2中,P3端口還用于一些專門(mén)功能,這些兼用功能見(jiàn)表3-4Flash存儲(chǔ)器的編程和程序校驗(yàn):AT89S52單片機(jī)內(nèi)部有一個(gè)8K字節(jié)的Flash PEROM。這個(gè)Flash存儲(chǔ)陣列通常是處于已擦除狀態(tài)(既存儲(chǔ)單元的內(nèi)容為FFH),隨時(shí)可對(duì)它進(jìn)行編程。編程接口可接收高電壓(12V)或低電壓(Vcc)的允許編程信號(hào)。低電壓編程方式可很方便地對(duì)AT89S52內(nèi)的用戶系統(tǒng)進(jìn)行編程;而高電壓編程方式則可與通用的EPROM編程器兼容。表 3-4 端口引腳 兼 用 功 能 P3.0RXD (串行輸入口) P3.1TXD (串行輸出口) P3.2/INT0 (外部中斷0) P3.3/INT1 (外部中斷1) P3

38、.4T0 ( 定時(shí)器0的外部輸入) P3.5T1 (定時(shí)器1的外部輸入) P3.6/WR (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7/RD (外部數(shù)據(jù)存儲(chǔ)器讀選通) 在對(duì)Flash編程和程序驗(yàn)證時(shí),P3還接收一些控制信號(hào)。圖3-7AT89S52的程序存儲(chǔ)器陣列是采用字節(jié)寫(xiě)入方式編程的,既每次寫(xiě)入一個(gè)字節(jié)。要對(duì)片內(nèi)的PEROM程序存儲(chǔ)器寫(xiě)入任何一個(gè)非空字節(jié),都必須用片擦除方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。對(duì)Flash存儲(chǔ)器編程編程前,必須按照表5和圖7建立好地址、數(shù)據(jù)和相應(yīng)的控制信號(hào)。編程單元的地址加在P1端口和P2端口的P2.0P2.3(11位地址為0000H0FFFH),數(shù)據(jù)從P0端口輸入。引腳P2.6、

39、P2.7和P3.6、P3.7的電平選擇見(jiàn)表2。/PSEN應(yīng)保持低電平,而RST應(yīng)保持高電平。/EA/VPP是編程電源的輸入端,按要求加入編程電壓。ALE/PROG端輸入編程脈沖(應(yīng)為負(fù)脈沖信號(hào))。編程時(shí),采用420 MHz的振蕩器。對(duì)AT89S52編程的步驟如下:1.在地址線上輸入要編程單元的地址。2.在數(shù)據(jù)線上輸入要寫(xiě)入的數(shù)據(jù)字節(jié)。3.激活相應(yīng)的控制信號(hào)。4.在采用高電壓編程方式時(shí),將/EA/VPP端的電壓加到12V。每對(duì)Flash存儲(chǔ)陣列寫(xiě)入一個(gè)字節(jié)或每寫(xiě)入一個(gè)程序加密位,加一個(gè)ALE/PROG編程脈沖。改變編程單元的地址和要寫(xiě)入的數(shù)據(jù),重復(fù)步驟ae,直到全部文件編程完畢。每個(gè)字節(jié)寫(xiě)入周期

40、是自動(dòng)定時(shí)的,通常不大于1.5ms。數(shù)據(jù)查詢方式圖 3-8 Flash編程方式AT89S52單片機(jī)用數(shù)據(jù)查詢方式來(lái)檢測(cè)一個(gè)寫(xiě)周期是否結(jié)束。在一個(gè)寫(xiě)周期期間,如果想讀出最后寫(xiě)入的哪個(gè)字,則讀出數(shù)據(jù)的最高位(P0.7)是原來(lái)寫(xiě)入字節(jié)最高位的反碼。寫(xiě)周期一旦完成后,有效的數(shù)據(jù)就會(huì)出現(xiàn)在所有輸出端上,這時(shí)可開(kāi)始下一個(gè)寫(xiě)周期。一個(gè)寫(xiě)周期開(kāi)始后,可在任何時(shí)間開(kāi)始進(jìn)行數(shù)據(jù)查詢。 圖3-9 Flash編程 圖 3-10 程序的校驗(yàn)圖3-11 Flash編程和校驗(yàn)的波形(高電平編程方式)4 軟件設(shè)計(jì)顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號(hào),使屏幕按設(shè)計(jì)的要求顯示。根據(jù)軟件分層次設(shè)計(jì)的原理,可

41、把顯示屏的軟件系統(tǒng)分為兩大層:第一層是底層的顯示驅(qū)動(dòng)程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動(dòng)程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號(hào)和其他控制信號(hào),配合完成LED顯示屏的掃描顯示工作。顯示驅(qū)動(dòng)程序由定時(shí)器T0中斷程序?qū)崿F(xiàn)。系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化)、顯示效果處理等工作,由主程序來(lái)實(shí)現(xiàn)。從有利于實(shí)現(xiàn)較復(fù)雜的算法(顯示效果處理)和有利于程序結(jié)構(gòu)化考慮,顯示屏程序適宜采用C語(yǔ)言編寫(xiě)。4.1刷新頻率的計(jì)算及驅(qū)動(dòng)程序流程圖進(jìn)入中斷 定時(shí)器賦初值讀取行號(hào)并增1送新行顯示數(shù)據(jù) 消隱 切換顯示數(shù)據(jù)送新的行號(hào)、打開(kāi)顯示 退出中斷圖4-1 顯示驅(qū)動(dòng)程序流程圖顯示驅(qū)動(dòng)程序在進(jìn)入中斷后首先要對(duì)定時(shí)

42、器T0重新賦初值,以保證顯示屏刷新頻率的穩(wěn)定,1/16掃描顯示屏的刷新頻率(楨頻)計(jì)算公式如下:刷新率(幀頻)=1/16×T0溢出率 =1/16×f(osc)/12×(65536-t0)其中f(osc)為晶振頻率,t0為定時(shí)器T0處值(工作在16位定時(shí)器模式)。然后顯示驅(qū)動(dòng)程序查詢當(dāng)前燃亮的行號(hào),從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過(guò)串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時(shí)候產(chǎn)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號(hào),重新打開(kāi)顯示。圖9顯示驅(qū)動(dòng)程序(顯示屏掃描函數(shù))流程圖4.2系統(tǒng)主程序流程圖 開(kāi)始

43、系統(tǒng)初始化“卷簾出”系統(tǒng)效果“上滾屏”顯示效果“右跑馬”顯示效果“卷簾入”顯示效果圖4-2 系統(tǒng)主程序流程圖系統(tǒng)主程序開(kāi)始以后,首先是對(duì)系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時(shí)器、中斷和端口;然后以“卷簾出”效果顯示兩個(gè)漢字,停留約1s;接著向上滾動(dòng)顯示“預(yù)祝第八屆挑戰(zhàn)杯圓滿成功 歡迎各位領(lǐng)導(dǎo)蒞臨指導(dǎo)模塊式多功能實(shí)現(xiàn)裝置”32個(gè)漢字,停留約1s;再向右跑馬顯示“預(yù)祝第八屆挑戰(zhàn)杯圓滿成功 歡迎各位領(lǐng)導(dǎo)蒞臨指導(dǎo)模塊式多功能實(shí)現(xiàn)裝置”32個(gè)漢字,然后以“卷簾入”效果隱去漢字。由于單片機(jī)沒(méi)有停機(jī)指令,所以可以設(shè)置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。圖4-2系統(tǒng)主程序的流程圖。5 調(diào)試及性能分析LED顯示屏硬

44、件電路只要期間質(zhì)量可靠,引腳焊接正確,一般無(wú)需調(diào)試即可正常工作。軟件部分需要調(diào)試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示效果刷新率由定時(shí)器T0的溢出率和單片機(jī)的晶振頻率決定,表5-1給出了實(shí)驗(yàn)調(diào)試時(shí)采用的頻率以及對(duì)應(yīng)的定時(shí)器T0初值。表5-1 顯示屏刷新率(幀頻)與T0初值關(guān)系表(24MHz晶振)刷新率/Hz255062.57585100120T0初值0xEC780xF63C0xF8300xF97E0xFA420xFB1E0xFBEE從理論上來(lái)說(shuō),24HZ以上的刷新率就能夠看到連續(xù)穩(wěn)定的顯示,刷新率越高,顯示越穩(wěn)定,同時(shí)刷新率越高,顯示驅(qū)動(dòng)程序占用的CPU時(shí)間越多。實(shí)驗(yàn)表明,在目測(cè)條件下刷

45、新率40HZ以下的畫(huà)面看起來(lái)閃爍較嚴(yán)重,刷新率50HZ以上的基本覺(jué)察不出畫(huà)面閃爍,刷新率程序自行分析。這個(gè)方案設(shè)計(jì)的32×16點(diǎn)陣LED圖文顯示屏,電路簡(jiǎn)單,成本較低,且較容易擴(kuò)展成更大的顯示屏;顯示屏各點(diǎn)亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無(wú)串?dāng)_;可用靜止、移入移出等多種顯示方式顯示圖形和文字。結(jié)論本設(shè)計(jì)報(bào)告主要介紹了用單片機(jī)實(shí)現(xiàn)的漢字顯示屏的軟件設(shè)計(jì)方法。系統(tǒng)介紹了該電路的硬件構(gòu)成和軟件工作過(guò)程,系統(tǒng)以AT89S52為核心,主要采用中斷控制系統(tǒng),結(jié)合所學(xué)的單片機(jī)的知識(shí),實(shí)現(xiàn)系統(tǒng)的功能要求。設(shè)計(jì)中很好的使軟、硬件相結(jié)合,雖然還存一些問(wèn)題但產(chǎn)品基本上達(dá)到了設(shè)計(jì)的要求。在設(shè)計(jì)過(guò)程中

46、,通過(guò)大量的查閱資料,認(rèn)真研究教材,并向指導(dǎo)老師請(qǐng)教很多問(wèn)題,我也深知自己的畢業(yè)設(shè)計(jì)還不是很完美,存在一定的不足,但是整個(gè)過(guò)程使自己對(duì)單片機(jī)有了更為深刻的理解,在做軟件時(shí),仔細(xì)的分析硬件電路,畫(huà)出程序流程圖,培養(yǎng)了我的耐性和刻苦鉆研的精神。參考文獻(xiàn)1 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與接口技術(shù) .北京航空航天大學(xué)出版社,19902 任濤等.閃速存儲(chǔ)器數(shù)據(jù)及應(yīng)用簡(jiǎn)明速查手冊(cè).電子工業(yè)出版社,19973 何立民.單片機(jī)應(yīng)用技術(shù)選編.北京航空航天大學(xué)出版社,20004 張毅剛等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱工業(yè)電子出版社,19965 鄔寬明.單片機(jī)外圍器件實(shí)用手冊(cè).北京航空航天大學(xué)出

47、版社,19986 張凱.LED介紹完全手冊(cè).北京航空航天大學(xué)出版社,20007 張友德等.單片微型機(jī)原理應(yīng)用與實(shí)驗(yàn),復(fù)旦大學(xué)出版社,19968 李廣弟等.單片機(jī)基礎(chǔ),北京航天大學(xué)出版社,20079 何立民,單片機(jī)高級(jí)教程M,北京航天大學(xué)出版社,200010 譚浩強(qiáng),C程序設(shè)計(jì),清華大學(xué)出版社,199911 譚浩強(qiáng),C程序設(shè)計(jì)題解與上機(jī)指導(dǎo),清華大學(xué)出版社,199212 張基溫等,C語(yǔ)言程序設(shè)計(jì)教程,高等教育出版社,199213 張齊,杜群貴.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)基于C語(yǔ)言編程M.北京:電子工業(yè)出版社,200414 15 附錄1:原理圖附錄2:程序源代碼: 以下程序是32×16點(diǎn)陣電

48、子顯示屏的源程序,分別采用C語(yǔ)言及匯編語(yǔ)言編寫(xiě)。C程序在Keil uVision2 V2.30(C51.exeV7.0)環(huán)境下調(diào)試通過(guò)。-*/雙點(diǎn)陣字符顯示 上移動(dòng)、左移動(dòng)、逐子移動(dòng)#include<reg51.h>#include<intrins.h>#define N 32#define DAT P1#define ADDR P3/ P1口接DATA P10接高位-P17接低位/ P3接JP1 P30接U1_/G / P3接JP1 P31接U2_/G/ P3接JP1 P30接A/ P3接JP1 P30接B/ P3接JP1 P30接C/ P3接JP1 P30接D /

49、P3接JP1 P36接U3_/E / P3接JP1 P37接U4_/E code unsigned char aN*32=0x00,0x00,0x23,0x00,0x2B,0x06,0x2F,0xFE,0x3F,0xFC,0x33,0x80,0x23,0x82,0x60,0x03,0x2F,0xF6,0x2C,0x0C,0x3F,0xF8,0x2F,0xC8,0x2C,0x0C,0x2F,0xF6,0x60,0x06,0x00,0x00,/預(yù)0x00,0x00,0x08,0x60,0x08,0xC0,0x69,0xFE,0x2F,0xFE,0x0C,0xC2,0x00,0x46,0x3F,0x

50、0C,0x23,0xF8,0x23,0xE0,0x23,0x00,0x23,0xFE,0x23,0x02,0x3F,0x02,0x00,0x0E,0x00,0x04,/zhu0x00,0x00,0x08,0x02,0x3A,0x22,0x76,0xE6,0x66,0xA4,0x3E,0xAC,0x3E,0xA8,0x26,0xB0,0x0F,0xFF,0x3E,0xA0,0x66,0xA0,0x26,0xA6,0x3F,0xA4,0x2B,0xBC,0x20,0x00,0x00,0x00,/di0x00,0x00,0x00,0x04,0x00,0x1C,0x00,0x78,0x03,0xE0,

51、0x3F,0x80,0x38,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x3F,0xC0,0x01,0xF0,0x00,0x38,0x00,0x1C,0x00,0x0C,0x00,0x00,/ba0x00,0x00,0x00,0x0E,0x7F,0xFC,0x7F,0xE0,0x68,0x00,0x69,0xFE,0x69,0x24,0x69,0x24,0x69,0x24,0x6B,0xFC,0x6B,0xFC,0x69,0x24,0x69,0x24,0x79,0xFE,0x01,0xFE,0x00,0x00,/jie0x00,0x00,0x0C,0x40,0x0

52、C,0xC2,0x7F,0xFE,0x0C,0x80,0x09,0xC2,0x1E,0x66,0x06,0xCC,0x7F,0xF8,0x7F,0xC0,0x00,0x00,0x7F,0xFE,0x04,0xC6,0x1C,0x66,0x10,0x4E,0x00,0x00,/tiao0x00,0x00,0x01,0xFC,0x01,0xFC,0x7F,0x98,0x09,0x98,0x09,0xFC,0x0B,0xFE,0x0A,0x06,0x7E,0x04,0x7F,0xCC,0x06,0xF8,0x24,0x7C,0x35,0xC6,0x15,0x06,0x04,0x0C,0x00,0x00,/zhan0x00,0x20,0x08,0x70,0x09,0xC0,0x7F,0xFE,0xFF,0xFE,0x09,0x80,0x29,0xB0,0x20,0x60,0x21,0xC0,0x27,0x80,0x3F,0xFE,0x38,0x00,0x21,0x80,0x20,0xC0,0x20,0x70,0x00,0x20,/bei0x00,0x00,0x7F,0xFE,0x40,0x02,0x40

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論