2282 1616點陣LED電子顯示屏,點陣,led,電子顯示屏
Ⅰ、畢業(yè)設計(論文)題目基于 MS51單片機的 4個 16x16 點陣 LED電子顯示屏的設計 Ⅱ、畢業(yè)設計(論文)工作內(nèi)容設計一個四位的 16X16的點陣電子顯示屏。利用單片機串口擴展為并口,實現(xiàn)數(shù)據(jù)的列掃描,利用單片機的 P1口譯碼來實現(xiàn)行掃描。加深對單片機和數(shù)字電路的理解,熟悉單片機串口的工作方式以及串口的擴展。學會獨立的查找資料,并給出完整的設計方案。為以后獨立開展與專業(yè)相關的工作打下了基礎。熟練使用 protel,keil,C軟件。學會論文的撰寫及排版工作。 本方案設計一個電子顯示屏,具體要求滿足以下條件: (1)要求采用 51單片機作為微控制器; (2)通過四個 16x16 的點陣 LED進行文字顯示; (3)在目測條件下 LED顯示屏各點亮度均勻、充足、穩(wěn)定、清晰無串擾。 (4)文字顯示具有每排字有滾動和逐排等顯示方式。Ⅲ、進度安排:第 1-2周 收集資料并整理設計思想 第 3-4周 開始硬件部分設計,學習 AT89S52單片機的應用 第 5周 列驅動電路設計 第 6周 行驅動電路設計 第 7周 繪制 PROTELL原理圖 第 8周 軟件設計 第 9周 軟件設計—顯示驅動程序 第 10周 軟件設計—系統(tǒng)主程序 第 11周 調(diào)試并進行性能分析 第 12-14周 整理文檔 Ⅳ、主要參考資料:[1]諸昌鈐 編著 :《LED 顯示屏系統(tǒng)原理及工程技術》 .成都:電子科技大學出版社,2000 [2]張志良 主編 :《單片機原理及控制技術》 (第 2版) .北京:機械工業(yè)出版社,2005[3]李光飛 編著 :《單片機課程設計實例指導》 (第 2版) . 北京:北京航空航天出版社, [4]吳金戍,沈慶陽,郭庭吉編著.8051 單片機實踐與應用.北京:清華大學出版社.[5]吉 雷 主編 :《Protel99 從入門到精通》 . 西安:西安電子科技大學出版社,2004.[6]侯麗玲:基于 AT89S52單片機的 LEDD點陣顯示屏控制系統(tǒng)的設計[J],漳州職業(yè)技術學院學報。系負責人審核意見(從選題是否符合專業(yè)培養(yǎng)目標、是否結合科研或工程實際、綜合訓練程度、內(nèi)容難度及工作量等方面加以審核): 2摘 要LED點陣顯示屏作為一種新興的顯示器件,是由多個獨立的 LED發(fā)光二極管封裝而成. LED點陣顯示屏可以顯示數(shù)字或符號, 通常用來顯示時間、速度、系統(tǒng)狀態(tài)等。本設計是4個16×16點陣 LED電子顯示屏的設計。整機以美國 ATMEL公司生產(chǎn)的40腳單片機 AT89C51為核心,介紹了以它為控制系統(tǒng)的 LED點陣電子顯示屏的動態(tài)設計和開發(fā)過程。通過該芯片控制一個行驅動器74LS154和八個列驅動器74HC595來驅動顯示屏顯示。該電子顯示屏可以顯示各種文字或單色圖像,全屏能顯示4個漢字,采用16塊8 x 8點陣 LED顯示模塊來組成4個16x16點陣顯示模式。顯示采用動態(tài)顯示,使得圖形或文字能夠實現(xiàn)靜止、移入移出等多種顯示方式。文中詳細介紹了 LED點陣顯示的硬件設計思路、硬件電路各個部分的功能及原理、相應軟件的程序設計,以及使用說明等。關鍵詞:AT89C51 單片機 LED 點陣顯示 動態(tài)顯示 3AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This design is 4 16 ×16 lattice LED electron display monitor design.The whole equipment is with the 40-pin AT89C51 MCU (Micro Controller Unit) produced by the American ATMEL company at the core, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. Controls good driver 74LS154 andeight row driver 74HC595 through this chip actuates the display monitor demonstration. The electronic screen can show all kinds of written or monochrome images, one full screen display Chinese characters,sixteen pieces of 8 x 8 dot-matrix LED display modules to form the 16x16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the hardware design of the LED dot matrix display, and the principle function of the various parts of the circuit, the corresponding software program design and the use of some such. Key words:AT89C51 Micro Controller Unit;LED;LatticeDisplay;DynamicDisplay 4目 錄摘 要 ....................................................................2Abstract ..................................................................3第一章 緒論 ...............................................................51.1問題提出 ...........................................................51.2課題背景 ...........................................................6第二章 功能要求及方案論證 .................................................82.1功能要求 ...........................................................82.2顯示模塊方案論證 ...................................................82.3數(shù)據(jù)傳輸方案論證 ...................................................9第三章 系統(tǒng)硬件電路的設計 ................................................113.1單片機系統(tǒng)及外圍電路 ..............................................113.2列驅動電路 ........................................................133.3行驅動器 ..........................................................153.4元件清單 ..........................................................18第四章 系統(tǒng)程序的設計 ....................................................204.1顯示驅動程序 ......................................................204.2系統(tǒng)主程序 ........................................................22第五章 調(diào)試及性能分析 ...................................................275.1開發(fā)環(huán)境介紹 ......................................................275.2 理論性能分析 ......................................................275.3 系統(tǒng)調(diào)試 ..........................................................28第六章 總 結 ............................................................296.1 工作過程介紹 ......................................................296.2 系統(tǒng)功能的拓展方向 ................................................29致謝 .....................................................................32 5第一章 緒論1.1 問題提出LED顯示屏分為數(shù)碼顯示屏、圖文顯示屏和視頻顯示屏,均由 LED矩陣塊組成。LED 數(shù)碼顯示屏的顯示器件為7段碼數(shù)碼管,適于制作時鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形;視頻顯示屏采用微型計算機進行控制,圖文、圖像并茂,以實時、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動畫、錄像、電視、VCD節(jié)目以及現(xiàn)場實況。LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點分不開的。這些優(yōu)點概括起來是:亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定。LED 的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。近年來,單片機已經(jīng)成為科技領域的有力工具,人類社會生活的得力助手。它的廣泛應用,不僅僅體現(xiàn)在工業(yè)控制、機電應用、智能儀表、實時控制、航空航天、尖端武器等行業(yè)和領域的智能化、高精度化,而且在人類日常生活中也隨處可見它的身影。單片機是嵌入式系統(tǒng)的獨立發(fā)展之路,向 MCU階段發(fā)展的重要因素,就是尋求應用系統(tǒng)在芯片上的最大化解決;因此,專用單片機的發(fā)展自然形成了SoC化趨勢。隨著微電子技術、IC 設計、EDA 工具的發(fā)展,基于 SoC的單片機應用系統(tǒng)設計會有較大的發(fā)展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統(tǒng)。目前,單片機正朝著高性能和多種方向發(fā)展,其趨勢將進一步向著 CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展,其功能也將越來越豐富,速度也越來越快,甚至有些方面并不遜于 ARM或DSP。隨著 LED顯示屏在廣告?zhèn)髅筋I域逐漸嶄露頭角,其控制系統(tǒng)也如雨后春筍,層出不窮。由于它的控制系統(tǒng)均是基于嵌入式微處理器開發(fā),所以單片機在其 6中也占有一席之地。但是,由于 LED顯示屏控制較復雜,特別是對于顯示特殊效果,如循環(huán)移動、覆蓋霓虹燈效果,要求處理器運算速度快、執(zhí)行效率高,所以很多控制卡生產(chǎn)廠家采用高端嵌入式系統(tǒng)進行設計。這樣做雖然能在一定程度上提高數(shù)據(jù)處理速度,但是并不能完全滿足所有顯示效果要求,而且開發(fā)和產(chǎn)品成本也會隨之成倍增加,甚至由于其設計不當可能在顯示時出現(xiàn)抖動、閃爍、重影等現(xiàn)象。歸根結底,LED 顯示屏控制卡的設計中硬件是一方面因素,同時還要考慮到顯示數(shù)據(jù)組織方式,通過軟硬件結合的方法才能設計出一款性價比較高的控制卡。本論文提出基于普通51系列單片機實現(xiàn) LED顯示屏控制的原理及方法。1.2 課題背景LED顯示屏的發(fā)展可分為以下幾個階段:第一階段為 1990年到 1995年,主要是單色和 16級雙色圖文屏。用于顯示文字和簡單圖片,主要用在車站、金融證券、銀行、郵局等公共場所,作為公共信息顯示工具。 第二階段是 1995年到 1999年,出現(xiàn)了 64級、256 級灰度的雙基色視頻屏。視頻控制技術、圖像處理技術、光纖通信技術等的應用將 LED顯示屏提升到了一個新的臺階。LED 顯示屏控制專用大規(guī)模集成電路芯片也在此時由國內(nèi)企業(yè)開發(fā)出來并得以應用。 第三階段從 1999年開始,紅、純綠、純藍 LED管大量涌入中國,同時國內(nèi)企業(yè)進行了深入的研發(fā)工作,使用紅、綠、藍三原色 LED生產(chǎn)的全彩色顯示屏被廣泛應用,大量進入體育場館、會展中心、廣場等公共場所,從而將國內(nèi)的大屏幕帶入全彩時代。 隨著 LED原材料市場的迅猛發(fā)展,表面貼裝器件從 2001年面世,主要用在室內(nèi)全彩屏,并且以其亮度高、色彩鮮艷、溫度低的特性,可隨意調(diào)整的點間距,被不同價位需求者所接受,在短短兩年多時間內(nèi),產(chǎn)品銷售額已超過 3億元,表面貼裝全彩色 LED顯示屏應用市場進入新世紀。為了適應 2008年奧運會的“瘦身”計劃,利亞德開發(fā)了表面貼裝雙基色顯示屏,大量用于訓練館和比賽計時計分系統(tǒng)。在奧運場館全彩屏方面,為緊縮投資,全彩屏大部分采用可 7拆卸方式,奧運期間可作為實況轉播工具,賽事結束后可用于租賃,作為演出、國家政策發(fā)布等公共場合應用工具,通過這種方式可盡快收回成本。 單片機誕生于 20世紀 70年代末,經(jīng)歷了 SCM、MCU、SoC 三大階段。1.SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結構。 “創(chuàng)新模式”獲得成功,奠定了SCM與通用計算機完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨立發(fā)展道路上,Intel公司功不可沒。2.MCU即微控制器(Micro Controller Unit)階段,主要的技術發(fā)展方向是:不斷擴展?jié)M足嵌入式應用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領域都與對象系統(tǒng)相關,因此,發(fā)展 MCU的重任不可避免地落在電氣、電子技術廠家。從這一角度來看,Intel逐漸淡出 MCU的發(fā)展也有其客觀因素。在發(fā)展 MCU方面,最著名的廠家當數(shù)Philips公司。Philips 公司以其在嵌入式應用方面的巨大優(yōu)勢,將 MCS-51從單片微型計算機迅速發(fā)展到微控制器。因此,當我們回顧嵌入式系統(tǒng)發(fā)展道路時,不要忘記 Intel和 Philips的歷史功績。3.單片機是嵌入式系統(tǒng)的獨立發(fā)展之路,向 MCU階段發(fā)展的重要因素,就是尋求應用系統(tǒng)在芯片上的最大化解決;因此,專用單片機的發(fā)展自然形成了SoC化趨勢。隨著微電子技術、IC 設計、EDA 工具的發(fā)展,基于 SoC的單片機應用系統(tǒng)設計會有較大的發(fā)展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統(tǒng)。單片機可以從以下幾個方面分類:1.按應用領域可分為:家電類、工控類、通信類和個人信息終端類等。2.按通用性可分為:通用型和專用型。3.按總線結構可分為總線型和非總線型。4.按指令運行的振蕩周期可分為標準型和改進型。 8第二章 功能要求及方案論證2.1 功能要求本方案設計一個電子顯示屏,具體要求滿足以下條件:1.要求采用 51單片機作為微控制器;2.通過四個 16x16 的點陣 LED進行文字顯示;3.在目測條件下 LED顯示屏各點亮度均勻、充足、穩(wěn)定、清晰無串擾。 4.文字顯示具有每排字有滾動和逐排等顯示方式。2.2 顯示模塊方案論證四個8×8的點陣構成一個16×16的點陣。行和列的交叉處有一個 LED,共由256個 LED構成,如果 LED的陽極與行相連,而陰極與列相連,那么只要給該LED對應的行以高電平,列以低電平,那么對應的 LED就發(fā)光。圖2-1畫出了室內(nèi)直插式8×8點陣雙基色 LED模塊實物圖。這種模塊由64個發(fā)光 LED芯片以8×8的形式構成一個正方形模塊,然后用2列8針引腳將內(nèi)部電路接口引出,供驅動電路使用。圖2-1 LED 點陣顯示原理圖 9行對應的給 LED的陽極,先給第一行以高電平,如果送給16列的代碼為EFFF,則第一行的第4個 LED被點亮,再給第二行以高電平,如果送給16列的代碼為 EF07,則第二行的第4、9、10、11、12、13個被點亮,接著給第三行以高電平,同時給列以驅動代碼,這樣不斷地進行行行的掃描,只要速度夠快,由于人的視覺暫留作用,就不會感覺到明顯的閃爍感。點陣上會看到一個清晰的“機”字。LED數(shù)碼管結構簡單,價格便宜。本文所述的是 LED的數(shù)據(jù)顯示方式,這種方式通常使用 8段 LED或者 16段 LED。在實際應用中,點亮 LED數(shù)碼管的方式有靜態(tài)和動態(tài) 2種方法。本文以 8段 LED作為示例來論證方案1.靜態(tài)顯示方式靜態(tài)顯示方式,即 8段 LED數(shù)碼管在顯示某一個數(shù)碼時,加在數(shù)碼管上的段碼保持不變,直至換顯其他數(shù)碼為止。這樣數(shù)碼管的每一段均應由一條輸出線來控制,每顯示以為數(shù)碼需要 8根輸出線,當 N位顯示則需 N×8根輸出控制線。占用較多 I/O資源。2.動態(tài)顯示方式為解決靜態(tài)顯示占用較多 I/O資源的問題,在多位顯示時通常采用動態(tài)顯示方式,動態(tài)顯示是將所有數(shù)碼管的段碼線對應并聯(lián)在一起,由一個 8位的輸出口控制,每位數(shù)碼管的公共端分別出一位 I/O線控制。顯示不同數(shù)碼時,由位線控制各位輪流顯示。位線控制某位選通時,該位應顯示數(shù)碼的段碼同時加在段碼線上,即每一時刻僅僅有一位數(shù)碼管是被點亮的,當輪流顯示的速度較快(每秒 24次以上) ,由于人眼的視覺暫留現(xiàn)象,看起來就像所有位同時顯示一樣,這時,我們就能看到穩(wěn)定的圖像了由于單片機的特性,我們將采用方案 2:動態(tài)顯示方式,采用動態(tài)顯示方式進行顯示時,每一行有一個行驅動器,各行的同名列共用一個驅動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按 8位一個字節(jié)的形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應的列驅動器上去,這就存在一個顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅動器的數(shù)據(jù)傳輸可以采用并列方式或串行方式。 102.3 數(shù)據(jù)傳輸方案論證顯然,采用并行方式時,從控制電路到列驅動器的線路數(shù)量大,相應的硬件數(shù)目多。當列數(shù)很多時,并列傳輸?shù)姆桨甘遣豢扇〉?。采用串行傳輸?shù)姆椒ǎ刂齐娐房梢灾挥靡桓盘柧€,將列數(shù)據(jù)一位一位傳往列驅動器,在硬件方面無疑是十分經(jīng)濟的。但是,串行傳輸過程較長,數(shù)據(jù)按順序一位一位地輸出給列驅動器,只有當一行的各列數(shù)據(jù)都以傳輸?shù)轿恢?,這一行的各列才能并行地進行顯示。這樣,對于一行的顯示過程就可以分解成列數(shù)據(jù)準備(傳輸)和列數(shù)據(jù)顯示兩部分。對于串行傳輸方式來說,列數(shù)據(jù)準備時間可能相當長,在行掃描周期確定的情況下留給行顯示的時間就太少了,以致影響到 LED的亮度。解決串行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一列數(shù)據(jù)。為了達到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存功能。經(jīng)過上述分析,就可以歸納出列驅動器電路應具有的功能。對于列數(shù)據(jù)準備來說,它應能實現(xiàn)串入并處的移位功能;對于列數(shù)據(jù)顯示來說,應具有并行鎖存的功能。這樣,本行已準備好的數(shù)據(jù)打入并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數(shù)據(jù),而不會影響本行的顯示。圖 2-2為顯示屏電路實現(xiàn)的結構框圖。圖 2-2.顯示屏電路框圖 11第三章 系統(tǒng)硬件電路的設計硬件電路大致上可以分成單片機系統(tǒng)及外圍電路、列驅動電路和行驅動電路三部分。16×16 點陣顯示屏的硬件原理圖如圖 3-6。 3.1 單片機系統(tǒng)及外圍電路單片機采用 MSC-51或其兼容系列芯片,采用 24MHZ或更高頻率晶振,以獲得較高的刷新頻率,時期顯示更穩(wěn)定。單片機的串口與列驅動器相連,用來顯示數(shù)據(jù)。P1 口低 4位與行驅動器相連,送出行選信號;P1.5~P1.7 口則用來發(fā)送控制信號。P0 口和 P2口空著,在有必要的時候可以擴展系統(tǒng)的 ROM和 RAM。 圖 3-1 MSC51單片機最小系統(tǒng) 12MSC51單片機管腳說明如下:VCC:供電電壓。 GND:接地。 P0口:P0 口為一個 8位漏級開路雙向 I/O口,每腳可吸收 8TTL門電流。當 P1口的管腳第一次寫 1時,被定義為高阻輸入。 P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH編程時,P0 口作為原碼輸入口,當 FIASH進行校驗時, P0輸出原碼,此時 P0外部必須被拉高。 P1口:P1 口是一個內(nèi)部提供上拉電阻的 8位雙向 I/O口,P1 口緩沖器能接收輸出 4TTL門電流。P1 口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH編程和校驗時,P1 口作為第八位地址接收。 P2口:P2 口為一個內(nèi)部上拉電阻的 8位雙向 I/O口,P2 口緩沖器可接收,輸出 4個 TTL門電流,當 P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當用于外部程序存儲器或 16位地址外部數(shù)據(jù)存儲器進行存取時, P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。 P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3 口管腳是 8個帶內(nèi)部上拉電阻的雙向 I/O口,可接收輸出 4個TTL門電流。當 P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。 RST:復位輸入。當振蕩器復位器件時,要保持 RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 131/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE脈沖。如想禁止ALE的輸出可在 SFR8EH地址上置 0。此時, ALE 只有在執(zhí)行MOVX,MOVC 指令是 ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 /EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1時,/EA 將內(nèi)部鎖定為 RESET;當/EA 端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加 12V編程電源( VPP) 。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。3.2 列驅動電路列驅動電路由集成電路 74HC595構成。它具有一個 8位串入并出的移位寄存器和一個 8位輸出鎖存器的結構,而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現(xiàn)在顯示本行列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù),既達到重疊處理的目的。圖 3-2 74HC595結構圖表 1474HC595的外形及內(nèi)部結構如圖 3-2所示。它的輸入側有 8個串行移位寄存器,每個移位寄存器的輸出都連接一個輸出鎖存器。引腳 SI是串行數(shù)據(jù)的輸入端。引腳 SCK是移位寄存器的移位時鐘脈沖,在其上升沿發(fā)生移位,并將 SI的下一個數(shù)據(jù)打入最低位。74HC595 引腳說明見表 3-1。列驅動電路見圖 3-3。表 3-1 74HC595引腳說明符號 引腳 描述Oo~O7 1~7 并行數(shù)據(jù)輸出GND 8 地Q7’ 9 串行數(shù)據(jù)輸出SRCLR 10 主復位(低電平)SRCLK 11 移位寄存時鐘輸入RCLK 12 存儲寄存時鐘輸入CE 13 輸出有效(低電平)SER 14 串行數(shù)據(jù)輸入VCC 16 電源移位后的各位信號出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK 是輸出鎖存器的打入信號,其上升沿將移位寄存器的輸出打入輸出鎖存器。引腳 G是輸出三態(tài)門的開放信號,只有當其為低時鎖存器的輸出才開放,否則為高組態(tài)。SCLR 信號是移位寄存器清零輸入端,當其為低時移位寄存器的輸出全部為零。由于 SCK和 RCK兩個信號是互相獨立的,所以能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為 QA~QH,最高位 QH可作為多片 74HC595級聯(lián)應用時,向上一級的級聯(lián)輸出。但因為 QH受輸出鎖存器的打入控制,所以還從輸出鎖存器前引出 QH,作為與移位寄存器完全同步的級聯(lián)輸出。 15圖 3-3列驅動電路 將 8片 74HC595進行級連,可共用一個移位時鐘 SCK及數(shù)據(jù)鎖存信號RCK。這樣,當?shù)谝恍行枰@示的數(shù)據(jù)經(jīng)過 8x8=64個 SCK時鐘后便可將其全 部移入 74HC595中,此時還將產(chǎn)生一個數(shù)據(jù)鎖存信號 RCK將數(shù)據(jù)鎖存在 74HC595中,并在使能信號 G的作用下,使串入數(shù)據(jù)并行輸出,從而使與各輸 出位對應的場驅動管處于放大或截止狀態(tài);同時由行掃描控制電路產(chǎn)生信號使第一行掃描管導通,相當于第一行 LED的正端都接高,顯然,第一行 LED管的亮滅 就取決于 74HC595中的鎖存信號;此外,在第一行 LED管點亮的同時,再在74HC595中移入第二行需要顯示的數(shù)據(jù),隨后將其鎖存,同時由行掃描控 制電路將第一行掃描管關閉而接通第二行,使第二行 LED管點亮,以此類推,當?shù)谑袙呙柽^后再回到第一行,這樣,只要掃描速度足夠高,就可形成一幅完整 的文字或圖像。3.3 行驅動器由于 4點陣顯示器有 16行,為充分利用單片機的接口,本電路中加入了一個 4-16線譯碼器 74LS154,其輸入是一個 16進制碼,解碼輸出為低態(tài)掃描信 16號,它的結構如圖 3-4所示。圖 3-4 74LS154結構圖74LS154 引腳說明如表 3-2表3-2 符號 引腳 描述~ , ~0Y1151~11 ,13~17 輸出端GND 12 GND電源地~1G218~19 使能輸出端A、B、C、D 20~23 地址輸出端Vcc 24 VCC電源正 17圖 3-5 行 驅 動 電 路 如圖3-5所示的行驅動電路中,把74LS154的 G1和 G2引腳接地,然后以A、B、C、D 四腳為輸入端。就會形成16種不同的輸入狀態(tài),分別為0000~1111,然后使每種狀態(tài)只控制一路輸出,即會有16路輸出。如果一行64點全部點亮,則通過74LS154的電流將達640 mA,而實際上,74LS154譯碼器提供不了足夠的吸收電流來同時驅動64個 LED同時點亮,因此,應在74LS154每一路輸出端與16x64點陣顯 示器對應的每一行之間用一個三極管來將電流信號放大,本文選用的是三極管8550。這樣,74LS154某一輸出腳為低電平時,對應的三極管發(fā) 射極為高電平從而使點陣顯示器的對應行也為高電平。 183.4 元件清單 在本次設計中,用到的元件清單如下表 3-3表 3-3 元件名稱 數(shù)量(個)8×8LED 顯示屏 16MSC51 單片機 174LS154 線譯碼器 174LS595 集成電路 874HC245 驅動芯片 174HC00 與非門 1 19123456ABCD654321D C B ATitleNumberRevisionSize BDate:31-May-2010Sheet of File:F:\業(yè)業(yè)業(yè)業(yè)\jiangchao\protel\first.ddbDrawn By:P101P12P123P134P145P156P167P178RESET9RXD/P3010TXD/P3111INT0/P3212INT1/P3313T0/P3414T1/P3515WR/P3616RD/P3717X218X119GND20P2021P2122P223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P039VCC40U1 89S52CYJTC2 30PC3 30PR7210KC110US1 SW2VCC RSTRSTO015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U774LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U874LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U974LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U1074LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U1174LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U1274LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U1374LS595O015 O11 O22O33 O44 O55O66 O77Q79 GND 8VCC 16SER 14SRCLK 11SRCLR 10RCLK 12CE 13U1474LS595R1 470R2 470R3 470R4 470R5 470R6 470R7 470R8 470R9 470R10 470R1 470R12 470R13 470R14 470R15 470R16 470R17 470R18 470R19 470R20 470R21 470R2 470R23 470R24 470R25 470R26 470R27 470R28 470R29 470R30 470R31 470R32 470R3 470R34 470R35 470R36 470R37 470R38 470R39 470R40 470R41 470R42 470R43 470R4 470R45 470R46 470R47 470R48 470R49 470R50 470R51 470R52 470R53 470R54 470R5 470R56 470R57 470R58 470R59 470R60 470R61 470R62 470R63 470R64 47012345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LED12345678910111213141516BT?8*8LEDG19DIR1A12B118A23B217A34B316A45B415A56B514A67B613A78B712A89B811U? 74LS245VCCR71KR781KR791KR801KR811KR821KR831KR841KR851KR861KR871KR81KR891KR901KR911KR921KD20C21B22A23G118G219011223344556677889910101111121213131414151516VCC24GND12U2 74LS154VCCQ1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16R93 R94 R95 R96 R97 R98 R99 R10 R101 R102 R103 R104 R105 R106 R107 R108VCC12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516U?8*8LED12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798065666768697071727374757677787980656667686970717273747576777879806566676869707172737475767778798065666768697071727374757677787980656667686970717273747576777879806566676869707172737475767778798065666768697071727374757677787980VCCVCC圖 3-6 4個 16×16點陣顯示屏硬件原理圖圖 3-6為 4個點陣顯示屏硬件原理圖,因為市場上買不到 16×16的點陣顯示屏,所以在現(xiàn)實中,硬件部分采用了 4塊 8×8的點陣顯示屏來構成 1塊16×16 LED顯示屏. 20第四章 系統(tǒng)程序的設計顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設計的要求顯示。根據(jù)軟件分層次設計的原理,可以把顯示屏的軟件系統(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 顯示驅動程序顯示驅動程序在進入中斷后首先要對定時器 T0重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16 掃描顯示屏的刷新率(幀頻)計算公式如下:刷頻率(幀頻)= × 溢出率= × (4-1)160T16)53(20tfosc?其中 f位晶振頻率,t 為定時器 T0初值(工作在 16位定時器模式) 。然后顯示驅動程序查詢當前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產(chǎn)生拖尾現(xiàn)象,驅動程序先要關閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。圖 4-1為顯示驅動程序(顯示屏掃描函數(shù))流程圖。 21圖 4-1.顯示驅動程序流程圖顯示驅動程序:--------------------------------------多個 16*16LED 顯示演示程序MCU AT89C51 XAL 24MHz --------------------------------------//以下程序能實現(xiàn)多個 16*16LED 屏的多個字符顯示,顯示方式有整行上移、簾入簾出、左移、右移//#include "reg52.h"#define BLKN 8 //列鎖存器數(shù)(=LED 顯示字數(shù)*2)#define TOTAL 20 //待顯示字個數(shù),本例共 20 個#define CONIO P1 //顯示控制口sbit G=CONIO^7; //CONIO.7 為 154 譯碼器顯示允許控制信號端口,0 時輸出,1時輸出全為高阻態(tài).sbit CLK=CONIO^6; //CONIO.6 為 595 輸出鎖存器時鐘信號端,1 時輸出數(shù)據(jù),從1 到 0 時鎖存輸出數(shù)據(jù).sbit SCLR=CONIO^5; //CONIO.5 為 595 移位寄存器清零口,平時為 1,為 0 時,輸出全為 0.unsigned char idata dispram[(BLKN/2)*32]={0}; //顯示區(qū)緩存,四字共 4*32 單元///**********顯示屏掃描(定時器 T0 中斷)函數(shù)**********/void leddisplay(void) interrupt 1 using 1 22{register unsigned char m, n=BLKN;TH0 = 0xFc; //設定顯示屏刷新率每秒 62.5 幀(16 毫秒每幀)TL0 = 0x18;m = CONIO; //讀取當前顯示的行號m = ++m & 0x0f; //行號加 1,屏蔽高 4 位do {n--;SBUF = dispram[m*2+(n/2)*30 + n]; //送顯示數(shù)據(jù)while (!TI); TI = 0;}while (n); //完成一行數(shù)據(jù)的發(fā)送G = 1; //消隱(關閉顯示)CONIO &= 0xf0; //行號端口清○CLK=1; //顯示數(shù)據(jù)打入輸出鎖存器CONIO |= m; //寫入行號CLK=0; //鎖存顯示數(shù)據(jù)G = 0; //打開顯示}//4.2 系統(tǒng)主程序本文設計的系統(tǒng)軟件能使系統(tǒng)在目測條件下 LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩(wěn)定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。系統(tǒng)主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設置串口、定時器、中斷和端口;然后以“卷簾出”效果顯示圖形,停留約 3s;接著向上滾動顯示“我愛單片機”這 5個漢字及一個圖形,然后以“卷簾入”效果隱去圖形。由于單片機沒有停機指令,所以可以設置系統(tǒng)程序不斷的循環(huán)執(zhí)行上述顯示效果。單元顯示屏可以接收來自控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數(shù)據(jù)信息和命令信息,并可將這些數(shù)據(jù)信息和命令信息不經(jīng)任何變化地再傳送到下一級顯示模塊單元中,因此顯示板可擴展至更多的顯示單元,用于顯示更多的顯示內(nèi)容。圖 5是系統(tǒng)主程序流程圖。 23圖 5.系統(tǒng)主程序流程圖系統(tǒng)主程序:/*****************主函數(shù) *********************/void main(void){ register unsigned char i,j,k,l,q,w;//初始化SCON = 0x00; //串口工作模式0:移位寄存器方式TMOD = 0x01; //定時器 T0工作方式1:16位方式TR0 = 1; //啟動定時器 T0CONIO = 0x3f; //CONIO 端口初值IE = 0x82; //允許定時器 T0中斷//while (1){delay(2000); //2秒//第一種顯示效果:卷簾出顯示笑臉圖案for (i=0;i>7;if(q==BLKN/2-1) dispram[l*2+1+q*32] = dispram[l*2+1+q*32]>(7-k);else dispram[l*2+1+q*32] = dispram[l*2+1+q*32]>7;}}delay(100);}}delay(3000);//第一種顯示效果:卷簾出黑屏for (i=0;i0; j--)for (k=0; k>1 | dispram[l*2+q*32]>1 | Bmp[i][l*2+j-1]>1 | dispram[l*2+1+(q-1)*32]<<7; 26}}delay(100);}}delay(3000);//第四種顯示效果:卷簾入for (i=0;i<32;i++) {for(q=0;q
收藏