




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 1 引言自單片機出現(xiàn)至今,單片機技術已走過了近20年的發(fā)展路程??v觀20年來單片機發(fā)展歷程可以看出,單片機技術的發(fā)展以微處理器(MPU)技術及超大規(guī)模集成電路技術的發(fā)展為先導,以廣泛的應用領域拉動,表現(xiàn)出較微處理器更具個性的發(fā)展趨勢。單片機自問世以來,性能不斷提高和完善,其資源又能滿足很多應用場合的需要,加之單片機具有集成度高、功能強、速度快、體積小、功耗低、使用方便、價格低廉等特點,因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級計算器、家用電器等領域的應用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機應用系統(tǒng)。單片機的潛力越來越被人們所重視。特別是當前用CMOS工藝制成的各種單片
2、機,由于功耗低,使用的溫度范圍大,抗干擾能力強、能滿足一些特殊要求的應用場合,更加擴大了單片機的應用范圍,也進一步促使單片機性能的發(fā)展。而現(xiàn)在單片機在農(nóng)業(yè)上也有了很多的應用。綜上所述,我們可以把單片機的發(fā)展歷史劃分為四階段:第一階段(19761978年):低性能單片機的探索階段。以Intel公司的MCS-48為代表,采用了單片結構,即在一塊芯片內(nèi)含有8位CPU、定時/計數(shù)器、并行I/O口、RAM和ROM等。主要用于工業(yè)領域。第二階段(19781982年):高性能單片機階段,這一類單片機帶有串行I/O口,8位數(shù)據(jù)線、16位地址線可以尋址的范圍達到64K字節(jié)、控制總線、較豐富的指令系統(tǒng)等。這類單片
3、機的應用范圍較廣,并在不斷的改進和發(fā)展。第三階段(19821990年):16位單片機階段。16位單片機除CPU為16位外,片內(nèi)RAM和ROM容量進一步增大,實時處理能力更強,體現(xiàn)了微控制器的特征。例如Intel公司的MCS-96主振頻率為12M,片內(nèi)RAM為232字節(jié),ROM為8K字節(jié),中斷處理能力為8級,片內(nèi)帶有10位A/D轉換器和高速輸入/輸出部件等。第四階段(1990年):微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時,向高速、強運算能力、尋址范圍大以及小型廉價方面發(fā)展。LED就是light emitting diode ,發(fā)光二極管的英文縮寫,簡稱LED。它是一種通過控制半導體發(fā)
4、光二極管的顯示方式,其大概的樣子就是由很多個通常是紅色的發(fā)光二極管組成,靠燈的亮滅來顯示字符。用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕LED電子顯示屏是隨著計算機及相關的微電子、光電子技術的迅猛發(fā)展而形成的一種新型信息顯示媒體。它利用發(fā)光二極管構成的點陣模塊或像素單元組成可變面積的顯示屏幕,以可靠性高、使用壽命長、環(huán)境適應能力強、性能價格比高、使用成本低等特點,在短短的十來年中,迅速成長為平板顯示的主流產(chǎn)品,在信息顯示領域得到了廣泛的應用。LED顯示屏主要包括發(fā)光二極管構成的陣列、驅動電路、控制系統(tǒng)及傳輸接口和相應的應用軟件等,其中驅動電路設計的好壞,對LED顯
5、示屏的顯示效果、制作成本及系統(tǒng)的運行性能起著很重要的作用。所以,設計一種既能滿足控制驅動的要求,同時使用器件少、成本低的控制驅動電路是很有必要的。本文就常規(guī)型驅動電路的設計作些分析設計出電路圖。LED顯示屏驅動電路的設計,與所用控制系統(tǒng)相配合通常分為動態(tài)掃描型驅動及靜態(tài)鎖存型驅動二大類。以下就動態(tài)掃描型驅動電路的設計為例為進行分析:動態(tài)掃描型驅動方式是指顯示屏上的“4行、8行、16行”等發(fā)光二極管共用一組列驅動寄存器。通過行驅動管的分時工作,使得每行LED的點亮時間占總時間的1x,只要每行的刷新速率大于50 Hs,利用人眼的視覺暫留效應、人們就可以看到一幅完整的文字或畫面。常規(guī)型驅動電路的設計
6、一般是用串入并出的通用集成電路芯片如74HC595或MCNu94等作為列數(shù)據(jù)鎖存,以小功率NPN三極管如8050為列驅動,而以PNP三極管如TIP127等作為行掃描管。2 單片機簡介2.1單片機的發(fā)展歷史及其分類電子計算機的發(fā)展經(jīng)歷了從電子管、晶體管、集成電路到大規(guī)模集成電路共四個階段,即通常所說的第一代、第二代、第三代和第四代計算機?,F(xiàn)在廣泛使用的微型計算機是大規(guī)模集成電路技術發(fā)展的產(chǎn)物,因此它屬于第四代計算機,而單片機則是微型計算機的一個分支。從1971年微型計算機問世以來,由于實際應用的需要,微型計算機向著兩個不同的方向發(fā)展:一個是向著高速度、大容量、高性能的高檔微機方向發(fā)展;而另一個則
7、是向穩(wěn)定可靠、體積小和價格廉的單片機方向發(fā)展。但兩者在原理和技術上是緊密聯(lián)系的。單片機因將其主要組成部分集成在一個芯片上而得名,具體說就是把中央處理器、隨機存儲器、只讀存儲器、中斷系統(tǒng)、定時器/計數(shù)器以及I/O口電路等主要微型機部件,集成在一塊芯片上。雖然單片機只是一塊芯片,但從功能和組成上,它已具有了計算機的屬性,為此它稱為單片微型機。單片機有很多的特點,主要表現(xiàn)在:體積小、功耗低、價格廉、控制功能強、應用現(xiàn)場環(huán)境惡劣等等。MCS-51是一個單片機系列產(chǎn)品,具有多種芯片型號。具體說,按其內(nèi)部資源配置的不同,MCS-51可分為兩個子系列和4種類型,如表2-1所示:表2-1 MCS-51系列單片
8、機分類資源配置子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量定時器/計數(shù)器中斷源無ROMEPROME2PROM51子系列80318051875189514KB128B2×16552子系列80328052875289528KB256B3×166按資源配置數(shù)量,MCS-51系列分為51和52兩個子系列,其中51子系列是基本型,而52子系列則是增強型,以芯片型號的最末位數(shù)字的“1”和“2”作標志。52作為增強型子系列,由于資源數(shù)量的增加,使其芯片的功能也有所增強。例如片內(nèi)ROM容量從4KB增加到8KB,片內(nèi)RAM單元數(shù)從128字節(jié)增加到256字節(jié),定時器/計數(shù)器的數(shù)目從2個增加
9、到3個,中斷源從5個增加到6個等。單片機內(nèi)部程序存儲器(ROM)的配置共有:不含有內(nèi)部程序存儲器(寫為“無”或“ROM less”)、掩模型只讀存儲器(寫為“ROM”或“Mask ROM”)、紫外線擦除可編程只讀存儲器(寫為“EPROM”或“Otp ROM”)、電擦除可編程存儲器(寫為“E2PROM”或“Flash ROM”)4種類型,所對應的(51子系列)芯片名稱依次為:80631、8051、8751和8951。到目前為止,盡管計算機科學和技術得到了充分的發(fā)展,但計算機的體系結構仍然沒能突破有計算機的開拓者、數(shù)字家約翰.馮.諾曼最先提出來的經(jīng)典體系結構框架,即一臺計算機是由運算器、控制器、存
10、儲器、輸入設備以及輸出設備共五個基本部分組成的。微型機是這樣,單片機也不例外。圖2-1 MCS-52 單片機系統(tǒng)結構框圖因此我們要從計算機五個基本組成部分的觀點來理解單片機的系統(tǒng)結構,所不同的只是單片機是把那些作為控制應用所必需的內(nèi)容,包括運算器、控制器、少量的存儲器、最基本的輸入/輸出口電路、串行口電路、中斷和定時電路等都集成在一個尺寸有限的芯片上。2.2單片機的結構特點1.片內(nèi)的RAM采用寄存器結構形式,這樣可以提高存取的速度;2.在存儲器結構上,嚴格的將程序存儲器ROM和數(shù)據(jù)存儲器RAM在空間上分開;3.它的引出管腳一般都設計成多功能的;4.增加了一個全雙工的串行接口,以擴充I/O口和外
11、接同步輸入和輸出設備;5.有21個特殊功能寄存器;6.有豐富的指令系統(tǒng),內(nèi)部設置了可以位尋址的位地址空間。 2.3 MCS-52單片機芯片內(nèi)部邏輯結構1.中央處理器(CPU)中央處理器簡稱CPU,是單片機的核心,完成運算和控制操作。按其功能,中央處理器包括運算器和控制器兩部分電路。2.運算器電路運算電路時單片機的運算部件,用于實現(xiàn)算術和邏輯運算。運算電路以ALU為核心,基本的算術和邏輯運算均在其中進行,包括加、減、乘、除、增量、減量、十進制調(diào)整、比較等算術運算,與、或、異或等邏輯運算,左、右、移位和半字節(jié)交換等操作。運算和操作結果的狀態(tài)由狀態(tài)寄存器(PSW)保存。3.控制器電路控制電路時單片機
12、的指揮控制部件,保證單片機各部分能自動而協(xié)調(diào)地工作。單片機執(zhí)行指令是在控制電路的控制下進行的。首先從程序存儲器中讀出指令,送指令寄存器保存,然后送指令譯碼器進行譯碼,譯碼結果送定時控制邏輯電路,由定時控制邏輯產(chǎn)生各種定時信號和控制信號,再送到系統(tǒng)的各個部件去進行相應的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復這一過程。4.內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器包括RAM(256 x8)和RAM地址寄存器等。80C52芯片中共有256個RAM單元。5.內(nèi)部程序存儲器內(nèi)部程序存儲器包括ROM(8Kx8)和程序地址寄存器等。80C52共有8KB掩膜ROM,用于存放程序和原始數(shù)據(jù)。因此稱之為程序存儲
13、器,簡稱“內(nèi)部ROM”。6.定時器/計數(shù)器出于控制應用的需要,80C52共有三個16位的定時器/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結果對單片機進行控制。7.并行I/O口MCS-52共有4個8位的I/O口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入輸出。8.串行口MCS-52單片機有一個全雙公的串行口,以實現(xiàn)單片機和其它數(shù)據(jù)設備之間的串行數(shù)據(jù)傳送。該串行口功能較強,即可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。9.中斷控制系統(tǒng)MCS-52單片機的中斷功能較強,以滿足控制應用需要。80C52共有6個中斷源,全部中斷分為高級和低級共兩個優(yōu)先級別。10.時鐘電路MCS-52
14、芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接,時鐘電路為單片機產(chǎn)生時鐘脈沖序列,典型的晶振頻率為12MHZ。11.位處理器單片機主要用于控制,需要有較強的位處理功能,因此位處理器是它的必要組成部分,在一些書中常把位處理器稱為布爾處理器。位處理器以狀態(tài)寄存器中的進位標志位C為累加器,可進行置位、復位、取反、等于“0”轉移、等于“1”轉移且清“0”以及C可尋址位之間的傳送、邏輯與、邏輯或等位操作。位處理操作也是通過運算器實現(xiàn)的。必須特別指出,位處理器是單片機的重要內(nèi)容,因為它是單片機實現(xiàn)控制功能的保證。12.總線上述這些部件都是通過總線連接起來,才能構成一個完整的單片機系統(tǒng)。總線結構減少了單片
15、機的連線和引腳,提高了集成度和可靠性。從上述內(nèi)容可以看出,雖然MCS-52只是一個芯片,但“麻雀雖小五臟俱全”,作為計算機應該具有的基本部件在單片機中幾乎都包括,因此,實際上它已經(jīng)是一個簡單的微型計算機系統(tǒng)了,應當按計算機系統(tǒng)的概念來理解單片機。 3 硬件系統(tǒng)設計3.1將要實現(xiàn)的功能要求設計一個室內(nèi)用32×16點陣LED圖文顯示屏,要求在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形或文字應穩(wěn)定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。3.2方案論證從理論上說,不論圖形還是文字,只要控制組成這些圖形或文字的各個點所在位置相對應的LED期間發(fā)光,就可
16、以得到我們想要的顯示結果,這種同時控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅動顯示方式。32×16的點陣共有512個發(fā)光二極管,顯然單片機沒有這么多端口,按8位的鎖存器來計算,32×16的點陣需要512/8=64個鎖存器。這個數(shù)字很龐大,因為我們僅僅是32×16的點陣,在實際應用中的顯示屏往往要大得多,在鎖存器上花的成本將是一個很龐大的數(shù)字。因此在實際應用中的顯示屏幾乎都不采用這種設計,而采用另一種稱為動態(tài)掃描的顯示方法。動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現(xiàn)多行(比如16行)的同名列共用一套列驅動器。具體就32×16點陣來說,把所有
17、同1行的發(fā)光二極管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對應第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;.第32行之后,又重新燃亮第行。反復輪回。當這樣的輪回速度足夠快(每秒次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形了。采用掃描方式進行顯示時,每行有一個行驅動器,各行的同名列共用一個列驅動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按位一個字節(jié)的形式順序排放。顯示時要把一行中個列的數(shù)據(jù)都傳送到相應的列驅動器上去,這就存在一個顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅動器的數(shù)據(jù)傳輸可以采用并行方式或串行方式。顯然,采用并行方
18、式時,從控制電路到列驅動器的線路數(shù)量很大,相應的硬件數(shù)目很多。當列數(shù)很多時,并行傳輸?shù)姆桨甘呛懿豢扇〉摹2捎么休敵龅姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位傳往列驅動器,在硬件方面無疑是十分經(jīng)濟的。但是,串行傳輸過程較長,數(shù)據(jù)按順序一位一位地輸出給列驅動器,只有當一行的各列數(shù)據(jù)都已傳輸?shù)轿恢螅@一行的各列才能并行地進行顯示。這樣,對于一行的顯示過程就可以分解成列數(shù)據(jù)準備(傳輸)和列數(shù)據(jù)顯示兩個部分。對于串行傳輸方式來說,列數(shù)據(jù)準備時間可能相當長,在行掃描周期確定的情況下,留給行顯的時間就太少了,以致影響到LED的亮度。解決串行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間矛盾問題,可以采用重
19、疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù)。為了達到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有鎖存功能。經(jīng)過上述分析,可以歸納出列驅動器電路應具備的主要功能,對于列數(shù)據(jù)準備來說,它應能實現(xiàn)串入并出的移位功能;對于列數(shù)據(jù)顯示來說,應具有并行鎖存的功能。這樣,本行已準備好的數(shù)據(jù)打入并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數(shù)據(jù),而不會影響本行的顯示。圖3-1為顯示屏電路實現(xiàn)的結構框圖。列驅動器單 片 機電源 LED顯示點陣 行驅動器 圖3-1 顯示屏電路框圖3.3系統(tǒng)硬件電路的設計硬件電路大致上可以分成單片機系統(tǒng)及外圍電路、列驅動電路和行驅動電路三部分。單片機采用89S
20、52或其兼容系列的芯片,采用24MHZ或更高頻率的晶振,以獲得較高的刷新頻率,使顯示更穩(wěn)定。單片機的串口與列驅動器相連,用來送顯示數(shù)據(jù)。P1口與行驅動器相連,送出行選信號;P3口則用來發(fā)送控制信號。P0和P2口空著,在有必要時可以擴展系統(tǒng)的ROM和RAM。32×16點陣顯示屏的硬件原理圖如圖3-2所示:圖3-2 32×16點陣顯示屏的硬件原理圖單片機P1口輸出的行號經(jīng)74LS154譯碼后產(chǎn)生32條行選通信號線,再經(jīng)過驅動器驅動對應的行線。一條行線上要帶動16列的LED進行顯示,按每一LED期間20mA電流計算,16個LED同時發(fā)光,需要320mA電流,選用三極管8550作為
21、驅動管可滿足要求。3.4主要芯片介紹3.4.1正向驅動器74LS245及其應用74LS245是正向驅動器,他具有8位同步數(shù)據(jù)通信總線,其功能為:1.輸入緩沖及抗噪聲干擾。2.2方式同步數(shù)據(jù)總線通信。3.輸入兩極高速終止效果。4.ESD大于3500V。圖3-3 74LS245它具備兩種工作方式,我們可以通過控制他DIR 及E管腳的邏輯電平從而控制其工作方式如表3-1所示: 表3-1真值表INPUTOUPUTEDIRLL總線B流向總線ALH總線A流向總線BH×隔離狀態(tài)H:代表高電平L:代表低電平×:代表忽略工作方式一:管腳E為低電平而管腳DIR為高電平時,數(shù)據(jù)輸出方向是由A口流
22、向B口。工作方式二:管腳E和管腳DIR均為高電平時,數(shù)據(jù)輸出方向是由B口流向A口。在本電路中選取了其工作方式一,也就是將數(shù)據(jù)從A口經(jīng)放大在B口輸出。從表3可知74LS245的工作電壓為4.55.5V,正常工作溫度為-55125度。本文選用74LS245來替代三極管放大作用,在功能相同的情況下一方面節(jié)省了線路版空間,使元件更加整齊。另一方面,使電路的焊接工作帶來很大便利。表3-2符號參數(shù)最小典型最大單位VCC支持電壓544.555.5V744.7555.25TA元件運行溫度范圍54-5525125度7402570I OH最大輸出電流54.74-3mA54-1274-15I OL最小輸出電流541
23、2mA74243.4.2 416線譯碼器 功能:1.74154進行高速緩存和解碼處理的譯碼器。2.將4位編碼轉變?yōu)楸舜嘶コ獾?6位編碼。3.通過不同輸入控制16位編碼數(shù)據(jù)輸出的分配實現(xiàn)其復用功能。4.輸入半導體單一化系統(tǒng)設計。5.高電壓,低阻抗輸出。6.完全適用于絕大多數(shù)的TTL及MSI電路。圖3-4 74LS154管腳圖通過對其管腳圖及真值表進行觀察不難看出,G1,G2為74LS154的片選端,也就是說當G1和G2同為低電平時74154,可以正常工作。除此之外的另外3種情況74154的16位輸出均為高電平。74154的情況下,當A,B,C,D輸入都為低電平時,其16位輸出中0腳的輸出為低電平
24、其他各腳均為高電平,當A為低電平,B,C,D分別為高電平時,1管腳輸出為低電平而其他管腳均為高電平按此規(guī)律如圖3-4所示,當A,B,C,D輸入都為高電平時,其16位輸出中的15腳輸出為低電平其他各腳均為高電平。利用它的擴展功能,能夠解決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ù)碼管為共陽極,是由64個發(fā)光二極管組合而成,以4×4的內(nèi)部結構圖為例,如圖3-5所示:圖3-5 4×4的LED內(nèi)部結構圖當0.1.2.3四列中其中任何一列選通(為低電平)那么那一列所在的四行A.B.C.D如有高電平輸入,它所對應的二極管就會導通。所以按照這種原理,就可
27、以用單片機的P1口經(jīng)過兩個74LS154擴展出32位低電平選通端,再通過單片機的P3口輸出高低電平將發(fā)光二極管導通,通過逐列掃描法拼湊出想要實現(xiàn)的字符。一般地,發(fā)紅光的LED每段流過5MA的平均電流,就可以有較滿意的亮度,7MA電流會更亮些,10MA以上也不會再亮多少。但長期運行于10MA以上會縮短其壽命。最大電流平均值不得超過30MA。LED顯示器允許的反向最大值為5V,此時的反向電流一般小于10UA。小尺寸的LED顯示器每段只有一個發(fā)光二極管,其正向壓降約為1.5V。一般最大不大于2V。大尺寸的LED顯示器每段可能由數(shù)個發(fā)光二極管串聯(lián),每段壓降也要增大。3.4.4系統(tǒng)核心單片機部分- AT
28、89S52單片機AT89S52有內(nèi)部RAM,可以作為各種數(shù)據(jù)區(qū)使用,內(nèi)部閃電存儲器存放LED電子顯示屏的控制程序。 AT89系列單片機是ATMEL公司生產(chǎn)的。這是當前最新的一種電擦寫8位單片機,與MCS-51系列完全兼容,有超強的加密功能,可完全替代87C51/52和8751/52。它物美價廉,深受用戶歡迎。與87C51相比,AT89系列的優(yōu)越性在于,其片內(nèi)閃電存儲器的編程與擦除完全用電實現(xiàn);數(shù)據(jù)不易揮發(fā),可保存10年;編程/擦除速度快,全4K字節(jié)編程只需時3s,擦除時間約用10ms;AT89系列了實現(xiàn)在線編程;也可借助電話線進行遠距離編程。AT89S52是一種低功耗、高性能內(nèi)含8K字節(jié)閃電存
29、儲器(Flash Memory)的16位CMOS微控制器。這種器件系以ATMEL高密度不揮發(fā)存儲技術制造,與工業(yè)標準MCS-51指令系統(tǒng)和引腳完全兼容。片內(nèi)閃電存儲器的程序代碼或數(shù)據(jù)可在線寫入,亦可通過常規(guī)的編程器編程。例如,MP-100這樣一種經(jīng)濟型的編程器,它支持通用EPROM等各種存儲器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列52單片機的編程。ME5103和ME5105仿真器支持AT89系列所有器件的調(diào)試、仿真和編程。AT89S52的結構框圖如圖3-6所示: P0.0 P0.7 P2.0 P2.7 圖3-6 AT89S52結構框圖AT89C52具有下列主
30、要性能:1.8KB可改編程序Flash存儲器(可經(jīng)受1,000次的寫入/擦除周期)2.全靜態(tài)工作:0Hz24MHz3.三級程序存儲器保密4.256 X 8字節(jié)內(nèi)部RAM5.32條可編程I/O線6.3個16位定時器/計數(shù)器7.6個中斷源8.可編程串行通道片內(nèi)時鐘振蕩器另外,AT89S52是用靜態(tài)邏輯來設計的,其工作頻率可下降到0 Hz,并提供兩種可用軟件來選擇的省電方式空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結”,使一切功能都暫停
31、,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復位為止。主電源引腳1.Vcc 電源端2.GND 接地端外接晶體引腳XTAL1和XTAL21.XTAL1 接外部晶體的一個引腳。在單片機內(nèi)部,它是構成片內(nèi)振蕩器的反相放大器的輸入端。當采用外部振蕩器時,該引腳接收振蕩器的信號,既把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。2.XTAL2 接外部晶體的另一個引腳。在單片機內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,此引腳應懸浮不連接。3.控制或與其它電源復用引腳RST、ALE/PROG、/PSEN和/EA/Vpp(1)RES 復位輸入端。 當振蕩器運行時,在該引腳上出現(xiàn)兩個機器周期的高電平將使
32、單片機復位。(2) ALE/PROG 當訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是:每當訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。在對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(/PROG)。如果需要的話,通過對專用寄存器(SFR)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會被激活。另外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,該設定
33、禁止ALE位無效。(3) /PSEN 程序存儲允許(/PSEN)輸出是外部程序存儲器的讀選通信號。當AT89C51/LV51由外部程序存儲器取指令(或常數(shù))時,每個機器周期兩次/PSEN有效(既輸出2個脈沖)。但在此期間內(nèi),每當訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。(4) /EA/Vpp 外部訪問允許端。要使CPU只訪問外部程序存儲器(地址為0000H FFFFH),則/EA端必須保持低電平(接到GND端)。然而要注意的是,如果保密位LB1被編程,復位時在內(nèi)部會鎖存/EA端的狀態(tài)。當/EA端保持高電平(接Vcc端)時,CPU則執(zhí)行內(nèi)部程序存儲器中的程序。在Flash存儲器編
34、程期間,該引腳也用于施加12V的編程允許電源Vpp(如果選用12V編程)。輸入/輸出引腳 P0.0P0.7、P10.P1.7、P2.0P2.7 和P3.0P3.71.P0端口(P0.0P0.7) P0是一個8位漏極開路型雙向I/O端口。作為輸出口用時,每位能以吸收電流的方式驅動8個TTL輸入,對端口寫1時,又可作高阻抗輸入端用。在訪問外部程序和數(shù)據(jù)存儲器時,它是分時多路轉換的地址(低8位)/數(shù)據(jù)總線,在訪問期間激活了內(nèi)部的上拉電阻。在Flash編程時,P0端口接收指令字節(jié);而在驗證程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。2.P1端口(P1.0P1.7) P1是一個帶有內(nèi)部上拉電阻的8
35、位雙向I/O端口。P1的輸出緩沖器可驅動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。作輸入口時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在對Flash編程和程序驗證時,P1接收低8位地址。3.P2端口 (P2.0P2.7) P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P2作輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在訪問外部程序存儲器和16位地址的
36、外部數(shù)據(jù)存儲器(如執(zhí)行MOVX DPIR指令)時,P2送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX RI指令)時,P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個訪問期間不會改變。在對Flash編程和程序驗證期間,P2也接收高位地址和一些控制信號。4.P3端口(P3.0P3.7) P3 是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3作輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在AT89S5
37、2中,P3端口還用于一些專門功能,這些兼用功能見表3-4Flash存儲器的編程和程序校驗:AT89S52單片機內(nèi)部有一個8K字節(jié)的Flash PEROM。這個Flash存儲陣列通常是處于已擦除狀態(tài)(既存儲單元的內(nèi)容為FFH),隨時可對它進行編程。編程接口可接收高電壓(12V)或低電壓(Vcc)的允許編程信號。低電壓編程方式可很方便地對AT89S52內(nèi)的用戶系統(tǒng)進行編程;而高電壓編程方式則可與通用的EPROM編程器兼容。表 3-4 端口引腳 兼 用 功 能 P3.0RXD (串行輸入口) P3.1TXD (串行輸出口) P3.2/INT0 (外部中斷0) P3.3/INT1 (外部中斷1) P3
38、.4T0 ( 定時器0的外部輸入) P3.5T1 (定時器1的外部輸入) P3.6/WR (外部數(shù)據(jù)存儲器寫選通) P3.7/RD (外部數(shù)據(jù)存儲器讀選通) 在對Flash編程和程序驗證時,P3還接收一些控制信號。圖3-7AT89S52的程序存儲器陣列是采用字節(jié)寫入方式編程的,既每次寫入一個字節(jié)。要對片內(nèi)的PEROM程序存儲器寫入任何一個非空字節(jié),都必須用片擦除方式將整個存儲器的內(nèi)容清除。對Flash存儲器編程編程前,必須按照表5和圖7建立好地址、數(shù)據(jù)和相應的控制信號。編程單元的地址加在P1端口和P2端口的P2.0P2.3(11位地址為0000H0FFFH),數(shù)據(jù)從P0端口輸入。引腳P2.6、
39、P2.7和P3.6、P3.7的電平選擇見表2。/PSEN應保持低電平,而RST應保持高電平。/EA/VPP是編程電源的輸入端,按要求加入編程電壓。ALE/PROG端輸入編程脈沖(應為負脈沖信號)。編程時,采用420 MHz的振蕩器。對AT89S52編程的步驟如下:1.在地址線上輸入要編程單元的地址。2.在數(shù)據(jù)線上輸入要寫入的數(shù)據(jù)字節(jié)。3.激活相應的控制信號。4.在采用高電壓編程方式時,將/EA/VPP端的電壓加到12V。每對Flash存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加一個ALE/PROG編程脈沖。改變編程單元的地址和要寫入的數(shù)據(jù),重復步驟ae,直到全部文件編程完畢。每個字節(jié)寫入周期
40、是自動定時的,通常不大于1.5ms。數(shù)據(jù)查詢方式圖 3-8 Flash編程方式AT89S52單片機用數(shù)據(jù)查詢方式來檢測一個寫周期是否結束。在一個寫周期期間,如果想讀出最后寫入的哪個字,則讀出數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高位的反碼。寫周期一旦完成后,有效的數(shù)據(jù)就會出現(xiàn)在所有輸出端上,這時可開始下一個寫周期。一個寫周期開始后,可在任何時間開始進行數(shù)據(jù)查詢。 圖3-9 Flash編程 圖 3-10 程序的校驗圖3-11 Flash編程和校驗的波形(高電平編程方式)4 軟件設計顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設計的要求顯示。根據(jù)軟件分層次設計的原理,可
41、把顯示屏的軟件系統(tǒng)分為兩大層:第一層是底層的顯示驅動程序,第二層是上層的系統(tǒng)應用程序。顯示驅動程序負責向屏體送顯示數(shù)據(jù),并負責產(chǎn)生行掃描信號和其他控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅動程序由定時器T0中斷程序實現(xiàn)。系統(tǒng)應用程序完成系統(tǒng)環(huán)境設置(初始化)、顯示效果處理等工作,由主程序來實現(xiàn)。從有利于實現(xiàn)較復雜的算法(顯示效果處理)和有利于程序結構化考慮,顯示屏程序適宜采用C語言編寫。4.1刷新頻率的計算及驅動程序流程圖進入中斷 定時器賦初值讀取行號并增1送新行顯示數(shù)據(jù) 消隱 切換顯示數(shù)據(jù)送新的行號、打開顯示 退出中斷圖4-1 顯示驅動程序流程圖顯示驅動程序在進入中斷后首先要對定時
42、器T0重新賦初值,以保證顯示屏刷新頻率的穩(wěn)定,1/16掃描顯示屏的刷新頻率(楨頻)計算公式如下:刷新率(幀頻)=1/16×T0溢出率 =1/16×f(osc)/12×(65536-t0)其中f(osc)為晶振頻率,t0為定時器T0處值(工作在16位定時器模式)。然后顯示驅動程序查詢當前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產(chǎn)生拖尾現(xiàn)象,驅動程序先要關閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。圖9顯示驅動程序(顯示屏掃描函數(shù))流程圖4.2系統(tǒng)主程序流程圖 開始
43、系統(tǒng)初始化“卷簾出”系統(tǒng)效果“上滾屏”顯示效果“右跑馬”顯示效果“卷簾入”顯示效果圖4-2 系統(tǒng)主程序流程圖系統(tǒng)主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設置串口、定時器、中斷和端口;然后以“卷簾出”效果顯示兩個漢字,停留約1s;接著向上滾動顯示“預祝第八屆挑戰(zhàn)杯圓滿成功 歡迎各位領導蒞臨指導模塊式多功能實現(xiàn)裝置”32個漢字,停留約1s;再向右跑馬顯示“預祝第八屆挑戰(zhàn)杯圓滿成功 歡迎各位領導蒞臨指導模塊式多功能實現(xiàn)裝置”32個漢字,然后以“卷簾入”效果隱去漢字。由于單片機沒有停機指令,所以可以設置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。圖4-2系統(tǒng)主程序的流程圖。5 調(diào)試及性能分析LED顯示屏硬
44、件電路只要期間質量可靠,引腳焊接正確,一般無需調(diào)試即可正常工作。軟件部分需要調(diào)試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示效果刷新率由定時器T0的溢出率和單片機的晶振頻率決定,表5-1給出了實驗調(diào)試時采用的頻率以及對應的定時器T0初值。表5-1 顯示屏刷新率(幀頻)與T0初值關系表(24MHz晶振)刷新率/Hz255062.57585100120T0初值0xEC780xF63C0xF8300xF97E0xFA420xFB1E0xFBEE從理論上來說,24HZ以上的刷新率就能夠看到連續(xù)穩(wěn)定的顯示,刷新率越高,顯示越穩(wěn)定,同時刷新率越高,顯示驅動程序占用的CPU時間越多。實驗表明,在目測條件下刷
45、新率40HZ以下的畫面看起來閃爍較嚴重,刷新率50HZ以上的基本覺察不出畫面閃爍,刷新率程序自行分析。這個方案設計的32×16點陣LED圖文顯示屏,電路簡單,成本較低,且較容易擴展成更大的顯示屏;顯示屏各點亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無串擾;可用靜止、移入移出等多種顯示方式顯示圖形和文字。結論本設計報告主要介紹了用單片機實現(xiàn)的漢字顯示屏的軟件設計方法。系統(tǒng)介紹了該電路的硬件構成和軟件工作過程,系統(tǒng)以AT89S52為核心,主要采用中斷控制系統(tǒng),結合所學的單片機的知識,實現(xiàn)系統(tǒng)的功能要求。設計中很好的使軟、硬件相結合,雖然還存一些問題但產(chǎn)品基本上達到了設計的要求。在設計過程中
46、,通過大量的查閱資料,認真研究教材,并向指導老師請教很多問題,我也深知自己的畢業(yè)設計還不是很完美,存在一定的不足,但是整個過程使自己對單片機有了更為深刻的理解,在做軟件時,仔細的分析硬件電路,畫出程序流程圖,培養(yǎng)了我的耐性和刻苦鉆研的精神。參考文獻1 何立民.MCS-51系列單片機應用系統(tǒng)設計與接口技術 .北京航空航天大學出版社,19902 任濤等.閃速存儲器數(shù)據(jù)及應用簡明速查手冊.電子工業(yè)出版社,19973 何立民.單片機應用技術選編.北京航空航天大學出版社,20004 張毅剛等.MCS-51單片機應用設計.哈爾濱工業(yè)電子出版社,19965 鄔寬明.單片機外圍器件實用手冊.北京航空航天大學出
47、版社,19986 張凱.LED介紹完全手冊.北京航空航天大學出版社,20007 張友德等.單片微型機原理應用與實驗,復旦大學出版社,19968 李廣弟等.單片機基礎,北京航天大學出版社,20079 何立民,單片機高級教程M,北京航天大學出版社,200010 譚浩強,C程序設計,清華大學出版社,199911 譚浩強,C程序設計題解與上機指導,清華大學出版社,199212 張基溫等,C語言程序設計教程,高等教育出版社,199213 張齊,杜群貴.單片機應用系統(tǒng)設計技術基于C語言編程M.北京:電子工業(yè)出版社,200414 15 附錄1:原理圖附錄2:程序源代碼: 以下程序是32×16點陣電
48、子顯示屏的源程序,分別采用C語言及匯編語言編寫。C程序在Keil uVision2 V2.30(C51.exeV7.0)環(huán)境下調(diào)試通過。-*/雙點陣字符顯示 上移動、左移動、逐子移動#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,/預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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 舊車買賣合同協(xié)議書
- 村民集體購房協(xié)議書
- 活動合伙投資協(xié)議書
- 月期股權分紅協(xié)議書
- 期權創(chuàng)業(yè)合伙協(xié)議書
- 服裝外協(xié)加工協(xié)議書
- 正式人員聘用協(xié)議書
- 施工吊籃安裝協(xié)議書
- 涂料人工合同協(xié)議書
- 畢業(yè)頂崗實習協(xié)議書
- 能源轉型與綠色發(fā)展
- 2024年杭州錢塘新區(qū)產(chǎn)業(yè)發(fā)展集團有限公司招聘筆試沖刺題(帶答案解析)
- 數(shù)字經(jīng)濟下平臺化人力資源管理對員工創(chuàng)新績效的影響研究-數(shù)字能力的調(diào)節(jié)效應
- 建筑工程 施工組織設計范本
- Module4Unit11Chinesefestivals單元(教學設計)滬教牛津版(深圳用)英語五年級下冊
- 三亞旅游宣傳含內(nèi)容
- 2024年江蘇省蘇州市高新區(qū)中考二模物理試題
- 2024年浙江省寧波市鄞州區(qū)部分學校九年級6月中考聯(lián)考英語試卷
- 中醫(yī)內(nèi)科學2黃疸
- 人工智能中的因果驅動智慧樹知到期末考試答案章節(jié)答案2024年湘潭大學
- (完整版)三角波發(fā)生器的安裝、調(diào)試與維修
評論
0/150
提交評論