Led點陣廣告牌設(shè)計_第1頁
Led點陣廣告牌設(shè)計_第2頁
Led點陣廣告牌設(shè)計_第3頁
Led點陣廣告牌設(shè)計_第4頁
Led點陣廣告牌設(shè)計_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的 Led 點陣廣告牌設(shè)計 目錄目錄 1 LED 概述.6 1.1 LED 電子顯示屏概述.6 1.2 LED 電子顯示屏的分類.6 2 顯示原理及控制方式分析.7 2.1 LED 點陣模塊結(jié)構(gòu).7 2.2 LED 動態(tài)顯示原理.7 2.3 LED 常見的控制方式.8 3 硬件電路設(shè)計.10 3.1 系統(tǒng)硬件概述.10 3.2 1616LED 點陣顯示制作.11 3.2.1 1616LED 點陣的內(nèi)部結(jié)構(gòu)及工作原理.11 3.2.2 用 88LED 點陣構(gòu)成 1616LED 點陣.12 3.3 主控單片機的接口說明.14 3.4 LED 顯示驅(qū)動電路.14 4 字模生成.16 4.1

2、 字模簡介.16 4.1.1 LED 顯示屏領(lǐng)域字模實現(xiàn)技術(shù).16 4.1.2 軟件控制系統(tǒng)字模提取的分析與設(shè)計.16 4.2 字模存儲技術(shù).17 4.3 字庫生成.17 5 軟件設(shè)計.19 5.1 程序設(shè)計總體思路和結(jié)構(gòu).19 5.1.1 程序設(shè)計總體思路.19 5.1.2 程序流程圖.19 5.2 各模塊程序設(shè)計.20 5.2.1 系統(tǒng)初始化.20 5.2.2 LED 動態(tài)顯示.20 5.2.3 漢字顯示的原理.20 6 系統(tǒng)功能測試.22 6.1 單元模塊電路測試.22 6.2 系統(tǒng)整體功能測試.22 總結(jié).23 致謝.24 參考文獻(xiàn).25 附錄.26 引 言 LED(Light Emi

3、tting Diode) ,發(fā)光二極管,簡稱 LED,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可 見光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED 的心臟是一個半導(dǎo)體的晶片, 晶片的一端附在一個支架上,一端是負(fù)極,另一端連接電源的正極使整個晶片被環(huán)氧樹脂 封裝起來。半導(dǎo)體晶片由兩部分組成,一部分是 P 型半導(dǎo)體,在它里面空穴占主導(dǎo)地位, 另一端是 N 型半導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來的時候,它們之間就 形成一個“P-N 結(jié)” 。當(dāng)電流通過導(dǎo)線作用于這個晶片的時候,電子就會被推向 P 區(qū),在 P 區(qū)里電子跟空穴復(fù)合,然后就會以光子的形式發(fā)出能量,這就是 LED 發(fā)光的原理。 多個 LED

4、發(fā)光燈組成固定的字符或圖形進(jìn)行顯示,即形成 LED 點陣圖文顯示屏。其主 要特征是只控制 LED 點陣中各發(fā)光器件的通斷(發(fā)光或熄滅) ,而不控制 LED 的發(fā)光強弱。 LED 點陣的漢字顯示方式是先根據(jù)所需要的漢字提取漢字點陣(如 1616 點陣) ,將點陣 文件存入 ROM,形成新的漢字編碼;而在使用時則需要先根據(jù)新的漢字編碼組成語句,再 由 MCU 根據(jù)新編碼提取相應(yīng)的點陣進(jìn)行漢字顯示。 LED 點陣顯示具有如下特點: (1) 電壓:LED 使用低壓電源,供電電壓在 6-24V 之間,根據(jù)產(chǎn)品不同而異,所以 它是一種比使用高壓電源更安全的電源。 (2) 效能:消耗能量比同光效的白熾燈減少

5、 80%。 (3) 適用性:每個單元 LED 小片是 3-5mm 的正方形,所以可以制備成各種形狀的器 件,并且適合于易變的環(huán)境。 (4) 穩(wěn)定性:10 萬小時,光衰為初始的 50%。 (5) 響應(yīng)時間:其白熾燈的響應(yīng)時間為毫秒級,LED 燈的響應(yīng)時間為納秒級。 (6) 對環(huán)境污染:無有害金屬汞。 (7) 顏色:改變電流可以變色,發(fā)光二極管方便地通過化學(xué)修飾方法,調(diào)整材料的 能帶結(jié)構(gòu)和帶隙,實現(xiàn)紅黃綠蘭橙多色發(fā)光。 由于 LED 的眾多優(yōu)勢,在市場中得到了廣泛的應(yīng)用,主要應(yīng)用領(lǐng)域有: (1) 、信號指示應(yīng)用:信號照明是 LED 單色光應(yīng)用比較廣泛也是比較早的一個領(lǐng)域, 約占 LED 應(yīng)用市場的

6、 4%左右。 (2) 、顯示應(yīng)用:指示牌、廣告牌、大屏幕顯示等, LED 用于顯示屏幕的應(yīng)用約占 LED 應(yīng)用的 20%25%,顯示屏幕可分為單色和彩色。 (3) 、照明應(yīng)用:便攜燈具,汽車用燈,特殊照明。由于 LED 尺寸小,便于動態(tài)的亮 度和顏色控制,因此比較適合用于建筑裝飾照明。背光照明:普通電子設(shè)備功能顯示背光 源、筆記本電腦背光源、大尺寸超大尺寸 LCD 顯示器背光源等。以及投影儀用 RGB 光源。 1 LED 概述 1.11.1 LEDLED 電子顯示屏概述電子顯示屏概述 LED 電子顯示屏(Light Emitting Diode Panel)是由幾百-幾十萬個半導(dǎo)體發(fā)光二 極管

7、構(gòu)成的像素點,按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩的 LED 像素點。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色 LED 的開發(fā)已經(jīng)達(dá)到 了實用階段。 LED 顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的亮度的方式,來顯示文字、 圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。 LED 顯示屏分為圖文顯示屏和條幅顯示屏,均由 LED 矩陣塊組成。圖文顯示屏可與計 算機同步顯示漢字、英文文本和圖形;而條幅顯示屏則適用于小容量的字符信息顯示。LED 顯示屏因為其像素單元是主動發(fā)光的,具有亮度高,視角廣、工作電壓低、功耗小、壽命 長、耐沖擊和性能穩(wěn)定等優(yōu)點。因而被廣泛

8、應(yīng)用于車站、碼頭、機場、商場、醫(yī)院、賓館、 銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。 LED 顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā) 光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。 1.21.2 LEDLED 電子顯示屏的分類電子顯示屏的分類 按顏色分類: 單基色顯示屏:單一顏色(紅色或綠色) 。 雙基色顯示屏:紅和綠雙基色,256 級灰度、可以顯示 65536 種顏色。 全彩色顯示屏:紅、綠、藍(lán)三基色,256 級灰度的全彩色顯示屏可以顯示一千六百多萬種 顏色。 按顯示器件分類: LED 數(shù)碼顯示屏:顯示器件為 7 段碼數(shù)碼管,適于制作

9、時鐘屏、利率屏等,顯示數(shù)字的電 子顯示屏。 LED 點陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點陣顯示模塊,適 于播放文字、圖像信息。 按使用場合分類: 室內(nèi)顯示屏:發(fā)光點較小,一般 3mm-8mm,顯示面積一般零點幾至十幾平方米。 室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽光下工作,具有防風(fēng)、 防雨、防水功能。 按發(fā)光點直徑分類: 室內(nèi)屏:3mm、3.75mm、5mm、 室外屏:10mm、12mm、16mm、19mm、21mm、26mm 室外屏發(fā)光的基本單元為發(fā)光筒,發(fā)光筒的原理是將一組紅、綠、藍(lán)發(fā)光二極管封在一個 塑料筒內(nèi)共同發(fā)光增強亮度。 2 顯示原理及控

10、制方式分析 2.12.1 LEDLED 點陣模塊結(jié)構(gòu)點陣模塊結(jié)構(gòu) 八十年代以來出現(xiàn)了組合型 LED 點陣顯示器模塊,以發(fā)光二極管為像素,它用高亮度 發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。這種一體化封裝的點陣 LED 模塊, 具有高亮度、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。LED 點陣規(guī)模常 見的有 44、48、57、58、88、1616 等等。 根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、 圖象等內(nèi)容的顏色也不同。單色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三 基色點陣顯示內(nèi)容的顏色由像素內(nèi)不同顏色發(fā)光二極管點亮組合方式?jīng)Q定,如

11、紅綠都亮?xí)r 可顯示黃色,如果按照脈沖方式控制二極管的點亮?xí)r間,則可實現(xiàn) 256 或更高級灰度顯示, 即可實現(xiàn)真彩色顯示。 圖 2.1 示出最常見的 88 單色 LED 點陣顯示器的內(nèi)部電路結(jié)構(gòu)和外型規(guī)格,其它型號點 陣的結(jié)構(gòu)與引腳可試驗獲得。 圖 2.1 88 單色 LED 模塊內(nèi)部電路 LED 點陣顯示器單塊使用時,既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符 號如 5x7 點陣顯示器用于顯示西文字母58 點陣顯示器用于顯示中西文,8x8 點陣可 以用于顯示簡單的中文文字,也可用于簡單圖形顯示。用多塊點陣顯示器組合則可構(gòu)成大 屏幕顯示器,但這類實用裝置常通過 PC 機或單片機控制驅(qū)動。

12、2.22.2 LEDLED 動態(tài)顯示原理動態(tài)顯示原理 LED 點陣顯示系統(tǒng)中各模塊的顯示方式: 有靜態(tài)和動態(tài)顯示兩種。靜態(tài)顯示原理簡單、 控制方便,但硬件接線復(fù)雜,在實際應(yīng)用中一般采用動態(tài)顯示方式,動態(tài)顯示采用掃描的 方式工作,由峰值較大的窄脈沖電壓驅(qū)動,從上到下逐次不斷地對顯示屏的各行進(jìn)行選通, 同時又向各列送出表示圖形或文字信息的列數(shù)據(jù)信號,反復(fù)循環(huán)以上操作,就可顯示各種 圖形或文字信息。 點陣式 LED 漢字廣告屏絕大部分是采用動態(tài)掃描顯示方式,這種顯示方式巧妙地利用 了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高速的循環(huán)顯示,只要幀速率高于 24 幀/秒, 人眼看起來就是一個完整的,相對靜止

13、的畫面。最典型的例子就是電影放映機。在電子領(lǐng) 域中,因為這種動態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號線數(shù)量,因此在 LED 顯示 技術(shù)中被廣泛使用。 以 88 點陣模塊為例,說明一下其使用方法及控制過程。圖 2.1 中,紅色水平線 Y0、Y1Y7 叫做行線,接內(nèi)部發(fā)光二極管的陽極,每一行 8 個 LED 的陽極都接在本行的 行線上。相鄰兩行線間絕緣。同樣,藍(lán)色豎直線 X0、X1X7 叫做列線,接內(nèi)部每列 8 個 LED 的陰極,相鄰兩列線間絕緣。 在這種形式的 LED 點陣模塊中,若在某行線上施加高電平(用“1”表示) ,在某列線上 施加低電平(用“0”表示) 。則行線和列線的交叉點處的 L

14、ED 就會有電流流過而發(fā)光。比如, Y7 為 1,X0 為 0,則右下角的 LED 點亮。再如 Y0 為 1,X0 到 X7 均為 0,則最上面一行 8 個 LED 全點亮。 現(xiàn)描述一下用動態(tài)掃描顯示的方式,顯示字符“B”的過程。其過程如圖 2.2 圖 2.2 用動態(tài)掃描顯示字符“B”的過程 2.32.3 LEDLED 常見的控制方式常見的控制方式 目前常見的是并行傳輸方式(見附錄 1.1) ,通過 8 位鎖存器將 8 位總線上的列數(shù)據(jù)進(jìn) 行鎖存顯示,各 8 位鎖存器的片選信號由譯碼器提供。此種方式的優(yōu)點是傳輸速度快,對 微控制器(MCU)的通信速度要求較低。但是這種方案最大的缺點是不便于隨意

15、擴展顯示單 元的數(shù)目。每增加一個 1616 點陣的全角漢字顯示單元,就需要在之前的電路上多增加兩 根地址線,這就要求在 PCB 布線的時候要留有充足的地址線冗余量。再一個缺點是,每個 單元的 PCB 隨著安放位置的不同,布線結(jié)構(gòu)也不相同,不利于廠家批量生產(chǎn)。并行傳輸需 要的芯片較多,因此市場上已經(jīng)出現(xiàn)用 FPGA,CPLD 等高密度可編程邏輯器件(PLD)來取代 傳統(tǒng)鎖存器 IC 的方案。成本有所下降,但可擴展性仍舊較差。因此,并行傳輸方式適用于 顯示單元數(shù)目確定的條屏。 隨著廣告屏顯示內(nèi)容的多媒體化,對控制器傳輸速度,運算能力的要求越來越高。因 此控制器的種類也在不斷發(fā)展以適應(yīng)要求,從最初的

16、 8051 單片機,到 PIC 單片機,又到 FPGA,直到現(xiàn)在的 ARM 處理器。不同功能檔次的廣告屏對應(yīng)著不同的處理器。 一以傳統(tǒng) 8051 單片機為控制器的 LED 顯示屏。因受到單片機運算速度及通信速率的 限制,LED 動態(tài)顯示的刷新率不可能做得太高。對顯示效果和移動算法的處理也比較吃力, 在實際顯示效果上有比較明顯的閃爍感。除此之外,傳統(tǒng) 8051 單片機的內(nèi)部資源貧乏,僅 128 字節(jié)的數(shù)據(jù)存儲器,幾 K 字節(jié)的程序存儲器,無 E2PROM,SPI。這就需要對單片機擴展 外設(shè),無疑增加了硬件成本。因此,8051 控制的條屏只能用于顯示內(nèi)容及其簡單,不需要 經(jīng)常更改顯示內(nèi)容的場合。

17、二以 PIC 單片機為控制器的 LED 顯示屏。因 PIC 單片機是 RISC 架構(gòu)的工業(yè)專用單片 機,處理指令的速度有所增加,抗干擾能力優(yōu)秀,型號種類繁多。作為條屏的控制器,可 以明顯的改善顯示效果,同時 PIC 單片機內(nèi)部的資源較豐富,可節(jié)省外部電路設(shè)計難度, 同時降低了硬件成本。因此,以 PIC 單片機為控制器的條屏目前仍是單色條屏市場的主流。 三以 FPGA(復(fù)雜可編程邏輯門陣列)為控制器的 LED 顯示屏。FPGA 以高速、并行著 稱。是近年來新興的可編程邏輯器件。用他作為 LED 顯示屏的控制器,能夠高速的處理色 階 PWM 信號、高速的完成動態(tài)掃描邏輯、高速的完成字符移動算法。因

18、此被運用于雙基色、 三基色的顯示系統(tǒng)。但是其成本較高,開發(fā)難度較大。 四以 ARM(32 位 RISC 架構(gòu)高性能微處理器)為控制器的 LED 顯示屏。ARM 有著極高 的指令效率,極高的時鐘頻率。因此其運算能力非常強大,內(nèi)部資源也十分豐富,極大的 簡化了硬件設(shè)計的難度,縮短了開發(fā)周期。在條屏的運用中,能用 ARM 來實現(xiàn)花樣繁多的 顯示方式,以及高色階,多像素的全彩屏驅(qū)動。ARM 與 FPGA 的組合更是功能強大,除了海 量存儲技術(shù),無線更新技術(shù)外,還能實時地顯示視頻信號。因此,以 ARM 為控制器的顯示 屏常為視頻全彩屏。 3 硬件電路設(shè)計 3.13.1 系統(tǒng)硬件概述系統(tǒng)硬件概述 整個電路

19、由單片機 89C51,8 個 74LS373,1 個 74HC154,1 個 74LS138,4 個 1616 的 LED。該電路所設(shè)計的電子屏可顯示多個漢字,需要 4 個 1616 LED 點陣模塊,可組成 1664 的條形點陣。 AT89C51 是一種帶 4KB 可編程可擦除 只讀存儲器 的低電壓,高性能微處理器,俗 稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100 次。該器件采用 ATMEL 高 密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51 指令集和輸出管腳相兼容。 由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中, ATMEL 的 AT89C51 是一種高 效微

20、控制器, AT89C2051 是它的一種精簡版本。 AT89C51 單片機為很多嵌入式控制系 統(tǒng)提供了一種靈活性高且價廉的方案。 AT89C51 引腳即外觀如圖 3.1 所示。 圖 3.1 AT89C51 的管腳圖 譯碼器是組合邏輯電路的一個重要的器件, 74LS138 的輸出是低電平有效,故實 現(xiàn)邏輯功能時,輸出端不可接或門及或非門 ,74LS138 與前面不同,其有使能端,故 使能端必須加以處理,否則無法實現(xiàn)需要的邏輯功能。發(fā)光二極管點亮只須使其正向?qū)?通即可,根據(jù) LED 的公共極是陽極還是陰極分為兩類譯碼器,即針對共陽極的低電平 有效的譯碼器 ;針對共陰極 LED 的高電平輸出有效的譯

21、碼器 。 74LS373 是低功耗肖特基 TTL8D 鎖存器,內(nèi)有 8 個相同的 D 型(三態(tài)同相)鎖存器,由 兩個控制端(11 腳 G 或 EN;1 腳 OUT、CONT、OE)控制。當(dāng) OE 接地時,若 G 為高電平, 74LS373 接收由 PPU 輸出的地址信號;如果 G 為低電平,則將地址信號鎖存。工作原理: 74LS373 的輸出端 O0O7 可直接與總線相連。當(dāng)三態(tài)允許控制端 OE 為低電平時,O0O7 為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng) OE 為高電平時,O0O7 呈高阻態(tài),即不驅(qū) 動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。 當(dāng)鎖存允許端 LE 為高 電平

22、時,O 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時,O 被鎖存在已建立的數(shù)據(jù)電平。74LS373 引 腳即外觀如圖 3.2 所示 圖 3.2 74LS373 引腳圖 74HC154 為 4 線12 線譯碼器,當(dāng)選通端(G1、G2)均為低電平時,可將地址端 (ABCD)的二進(jìn)制 編碼在一個對應(yīng)的輸出端,以低電平譯出。若將 G1 和 G2 中的一個作 為數(shù)據(jù)輸入端,由 ABCD 對輸出尋址, 還可作 1 線16 線數(shù)據(jù)分配器。工作環(huán)境溫度 為 070,對社會的要求非常適合。 LED,50 年前人們已經(jīng)了解半導(dǎo)體材料可產(chǎn)生光 線的基本知識,第一個商用二極管產(chǎn)生于1960 年。LED 是英文 light

23、emitting diode(發(fā)光二極管)的縮寫,它的基本結(jié)構(gòu)是一塊電致發(fā)光的半導(dǎo)體材料,置于一個 有引線的架子上,然后四周用環(huán)氧7 樹脂密封,即固體封裝,所以能起到保護內(nèi)部芯 線的 作用,所以 LED 的抗震性能好 該電路的顯示采用逐行掃描方式。工作時,由單片機取出 第一行需要顯示的內(nèi)容經(jīng)延時一段時間后再進(jìn)行下一行點陣數(shù)據(jù)的顯示。需要注意的是, 每次只能選通一行數(shù)據(jù),即要通過不斷的逐行掃描來實現(xiàn)漢字或字符的顯示。 3.23.2 161616LED16LED 點陣顯示制作點陣顯示制作 3.2.13.2.1 161616LED16LED 點陣的內(nèi)部結(jié)構(gòu)及工作原理點陣的內(nèi)部結(jié)構(gòu)及工作原理 以 UC

24、DOS 中文宋體字庫為例,每一個字由 16 行 16 列的點陣組成顯示。即國家標(biāo)準(zhǔn)漢 字庫中的每一個字均由 256 點陣來表示。我們可以把每一個點理解為一個像素,而把每一 個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在 256 像 素范圍內(nèi)的任何圖形。這里我們以“高”字說明,如圖 3.3 所示。 圖 3.3 16*16LED 漢字顯示 用 8 位的 AT89C51 單片機控制,由于單片機的總線為 8 位,一個字需要拆分為 2 個部 分。一般把它拆分為上部和下部,上部由 816 點陣組成,下部也由 816 點陣組成。在 本例中單片機首先顯示的是左上角的第一列的上半部分,

25、即第 0 列的 p00p07 口。方向為 p00 到 p07 ,顯示漢字“高”時,p02 點亮,由上往下排列,為 p0.0 滅,p0.1 滅, p0.2 滅, p0.3 滅, p0.4 滅, p0.5 亮,p0.6 滅,p0.7 滅。即二進(jìn)制,轉(zhuǎn)換為 16 進(jìn)制為 04h。上半 部第一列完成后,繼續(xù)掃描下半部的第一列,為了接線的方 便,我們?nèi)栽O(shè)計成由上往下掃描,即從 p27 向 p20 方向掃 描,從上圖可以看到,這一列全部為不亮,即為,16 進(jìn)制則為 00h。 然后單片機轉(zhuǎn)向上半 部第二列,仍為 p01 點亮,為,即 16 進(jìn)制 04h.這一列完成后繼續(xù)進(jìn)行下半部分的掃描, p20 點亮,為

26、二進(jìn)制,即 16 進(jìn)制 02h.依照這個方法,繼續(xù)進(jìn)行下面的掃描,一共掃描 32 個 8 位,可以得出漢字“高”的掃描代碼為:02h,00h,01h, 04h,0FFh,0FEh, 00h, 00h,1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h,00h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h,48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。 由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出它的掃 描代碼從而顯示在屏幕上。不過現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件,就不必自己去畫表 格算代碼

27、了。 3.2.23.2.2 用用 8 88LED8LED 點陣構(gòu)成點陣構(gòu)成 161616LED16LED 點陣點陣 Proteus 中只有 57 和 88 等 LED 點陣,并沒有 1616LED 點陣,而在實際應(yīng)用中, 要良好地顯示一個漢字,則至少需要 1616 點陣。下面我們就首先介紹使用 88 點陣構(gòu) 建 1616 點陣的方法,并構(gòu)建一塊 1616LED 點陣,用于本例的顯示任務(wù)。 首先,從 Proteus7.1 的元件庫中找到“MATRIX-8X8-RED”元器件,并將四塊該元器件放入 Proteus 文檔區(qū)編輯窗口中。此時需要注意,如果該元器件保持初始的位置(沒有轉(zhuǎn)動方向) ,我們要

28、首先將其左轉(zhuǎn) 90,使其水平放置,那么此時它的左面 8 個引腳是其行線,右邊 8 個引腳是其列線(當(dāng)然,如果你是將右轉(zhuǎn),則右邊 8 個引腳是行線)。然后我們將四個 元器件對應(yīng)的行線和列線分別進(jìn)行連接,使每一條行線引腳接一行 16 個 LED,列線也相同。 并注意要將行線和列線引出一定長度的引腳,以便下面我們使用。連接好的 1616 點陣如 圖 3.4 所示。 成如上圖的 1616 點陣只是第一步,這樣分開的數(shù)塊并不能達(dá)到好的顯示效果,下面 我們要將其進(jìn)一步組合。組合實際上很簡單,首先選中如上圖中右側(cè)的兩塊 88 點陣,然 后拖動并使其與左側(cè)的兩塊相并攏,如圖 3.5 所示。 圖 3.5 可以看

29、到原來的連線已經(jīng)自動隱藏了,至于線上的交點,我們不要去動。然后,我們 再來最后一步,選中下側(cè)的兩塊點陣,并拖動 使其與上側(cè)的兩塊并攏,最后的效果如圖 3.6 所 圖 3.4 點陣模塊組合 示??吹?原來雜亂的連線現(xiàn)在已經(jīng)幾乎全部隱藏了,一塊 1616 的 LED 點陣做成了。需 要注意,做成的 LED 點陣的行線為左側(cè)的 16 個引腳,下側(cè)的 16 個引腳為其列線,而且其 行線為高電平有效,列線為低電平有效。然后,我們將其保存,以便以后使用。 圖 3.6 3.33.3 主控單片機主控單片機的接口說明的接口說明 P0 口:P0 口是一組 8 位漏極開路型雙向 I/O 口,也即地址 /數(shù)據(jù)總線復(fù)制

30、用口, 作為輸入口時,每位能吸收電流的方式驅(qū)動8 個 TTL 邏輯門電路,對端口寫入 “1 可 作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址 (低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期激活內(nèi)部上拉電阻。在Flash 編程時,PO 口 接收指令節(jié),而在程序校檢時,輸出指令字節(jié),校檢時,要求外接上拉電阻。 P1 口:P1 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口,P1 的輸出緩沖級可驅(qū) 動(吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫 “1” ,通過內(nèi)部的上拉電阻把 端口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被 外部信號

31、拉低時會輸出一個電流I。Flash 編程和程序校檢期間, P1 接收低 8 位地址。 P2 口:P2 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口,P1 的輸出緩沖級可驅(qū)動 (吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫 “1” ,通過內(nèi)部的上拉電阻把端 口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外 部信號拉低時會輸出一個電流I。在訪問外部數(shù)據(jù)存儲器或 16 位地址的外部數(shù)據(jù)存 儲(例如執(zhí)行 MOVXDPTR 指令)時, P2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的 外部數(shù)據(jù)存儲器(如執(zhí)行 MOVXRI 指令)時, P2 口線上的內(nèi)容(也即

32、特殊功能寄存器 (SFR)區(qū)中 R2 寄存器的內(nèi)容),在整個訪問期間不改變。 Flash 編程和校檢時, P2 亦接收高位地址和其他控制信號。 P3 口:P3 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口。P3 口輸出緩沖級可驅(qū)動 (吸收或輸出電流) 4 個 TTL 邏輯門電路。對 P3 口寫入“1”時,它們被內(nèi)部上拉電 阻拉高并可作輸入端口,作輸入端時,被外部拉低的P3 口將用上拉電阻,輸出電流 I。P3 口還接收一些用于 Flash 閃速存儲器編程和程序校檢的控制信號。 RST:復(fù)位輸入,當(dāng)震蕩器工作時,RST 引腳出現(xiàn)兩個機器周期以上高電平將使單片機 復(fù)位。 ALE/PROG:當(dāng)訪問

33、外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于 所存地址的低 8 位字節(jié)。即使不訪問外部存儲器,ALE 乃以時鐘振動頻率的 1/6 輸出固定 的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存 儲器時將跳過一個 ALE 脈沖。 3.43.4 LEDLED 顯示驅(qū)動電路顯示驅(qū)動電路 LED 顯示驅(qū)動電路如圖 3.7 所示。 圖 3.7 顯示驅(qū)動電路圖 4 字模生成 4.14.1 字模簡介字模簡介 文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的 各位信息來記載英文或漢字的形狀1。 在電腦硬件中,根本沒有漢字這個概念,也沒有

34、英文的概念,其認(rèn)識的概念只有 內(nèi)碼(將 ASCII 表的高 128 個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而 剩下的低 128 位則留給英文字符使用,即英文的內(nèi)碼)。如果你用啟動盤啟動系統(tǒng)后用 DIR 命令可能得到一串串莫名其妙的字符,但那確確實實是漢字,如果你啟動 UCDOS 或其他的 漢字系統(tǒng)后,就會看到那是一個個熟悉的漢字。在硬件系統(tǒng)內(nèi),英文的字模信息一般固化 在 ROM 里,即使在沒有進(jìn)入系統(tǒng)的 CMOS 里,也可以讓你看到英文字符。而在 DOS 下,中文 的字模信息一般記錄在漢字庫文件里(將制作好的字模放到一個個標(biāo)準(zhǔn)的庫中,這就是點陣 字庫文件)。 4.1.14.1.

35、1 LEDLED 顯示屏領(lǐng)域字模實現(xiàn)技術(shù)顯示屏領(lǐng)域字模實現(xiàn)技術(shù) 在通過軟件實現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件打開后輸入漢字,點“檢 取” ,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序 中即可。在通過硬件實現(xiàn)字模提取的技術(shù)中,有在單片機系統(tǒng)中增加硬漢字庫的方法,主 控器發(fā)送的漢字是其機內(nèi)碼,用兩個字節(jié)來表示一個漢字。根據(jù)機內(nèi)碼,顯示單元控制模 塊從漢字庫中查取顯示字模,實現(xiàn)漢字顯示。由于帶有硬漢字庫,進(jìn)行動態(tài)文字顯示時, 通用智能顯示單元僅接受漢字的機內(nèi)碼即可,這樣數(shù)據(jù)通訊量大大減少。因此, “動態(tài)文字 顯示速度快” 。 4.1.24.1.2 軟件控制系統(tǒng)

36、字模提取的分析與設(shè)計軟件控制系統(tǒng)字模提取的分析與設(shè)計 而在 LED 顯示屏控制系統(tǒng)具體應(yīng)用的 Windows 操作系統(tǒng)下如何提取字模信息是設(shè)計的 核心。軟件控制系統(tǒng)在實際編輯過程中,要求各種字體、字號的文字都能被編輯、保存。 所以系統(tǒng)在設(shè)計時,把文本區(qū)理解為由眾多的象素點構(gòu)成,而把不同字體、字號的文字理 解為一幅圖像。因為所開啟的文本區(qū)大小與 LED 顯示屏的大小對應(yīng),所以采用 1616 點陣 為單位,把文本區(qū)內(nèi)的每個像素點都看成一個二維數(shù)組,由于系統(tǒng)中各種顏色都有對應(yīng)的 值,賦予每個不同顏色的像素點不同的對應(yīng)值,再把每個點賦予一個 int 型的值,這樣保 存下來的信息就是二進(jìn)制數(shù)據(jù)。通過這樣

37、的設(shè)計,我們不僅可以把任何字型,任何大小的 文字保存下來,還可以顯示以 256 個像素點陣為單位的任何圖形。在軟件控制系統(tǒng)中實現(xiàn) 字模的提取,也就避免了在單片機中加載硬漢字庫模塊,從而簡化了硬件模塊的設(shè)計。 以下以單色屏為例,介紹系統(tǒng)采用字模保存的算法設(shè)計: 定義 COLORREF zimo_ color 為像素點的顏色,判斷某個點的顏色值。如果值為 Oxffffff,說明此點為白色,賦予此點值 0。由于單色屏只有紅色和不顯色兩種,所以可 以簡單賦值為除白色外其余點賦值為 1 CClientDC dc(this); CFile myfile; unsigned int zimo192 384=

38、0; unsigned char zimo_data19248=0; COLORREF zimo_color; int row, col ; this -HideCaret(); for (row=0;row192;row+) for (col=0;col384;col+) zimo_color=do.GetPixel (col, row); if (zimo color = =Oxffffff) zimo row col=0;else zimo row col=1; 定義 unsigned int zimo192384=0;/文本區(qū)像素點 以 8 位為一字節(jié)(因為在隨后的串行通訊中,傳輸?shù)臄?shù)

39、據(jù)是 8 位的二進(jìn)制數(shù)據(jù)) 定義 unsigned char zimo_data19248=0 4.24.2 字模存儲技術(shù)字模存儲技術(shù) 目前使用最廣泛的技術(shù)是,通過上位機軟件將待顯示的字符串轉(zhuǎn)換為對應(yīng)的點陣字模 數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲在 E2PROM 中。在條屏顯示 的過程中按規(guī)定的方式取出 E2PROM 中的字模數(shù)據(jù)進(jìn)行處理。對于一個 1616 點陣的漢字 字模數(shù)據(jù),需要連續(xù) 32 字節(jié)的 E2PROM 空間來存儲。照此計算,若有 256 個需要顯示的字 符,則至少需要 32B256=8192 字節(jié)(8KB)的 E2PROM 存儲空間。通常的單片機內(nèi)部沒有

40、集成這么大容量的 E2PROM。因此這種方案,需要在單片機外部擴展大容量的 E2PROM,增加 硬件成本。上位機程序設(shè)計由于涉及到漢字取模,取模算法的難度較大。在多字下載的時 候傳輸時間也較長。諸多弊端使本設(shè)計放棄了傳統(tǒng)方案。而本設(shè)計創(chuàng)新使用了專用的點陣 字庫芯片,成本僅為 8 元,內(nèi)含各種點陣規(guī)格的 GB2312、ASCII 等標(biāo)準(zhǔn)字庫。專用字庫芯 片采用微型 SO-8 封裝,使用高速同步串行 SPI 接口進(jìn)行讀寫操作,節(jié)省了控制器的 I/O。 在本設(shè)計中,單片機內(nèi)部的小容量 E2PROM,用于存儲待顯示漢字的 GB2312 標(biāo)準(zhǔn)機內(nèi)碼, 每個全角字符的內(nèi)碼占 2 字節(jié),則在同樣需要顯示 2

41、56 個漢字的情況下,這種方案僅占用 512 字節(jié)的 E2PROM 空間 4.34.3 字庫生成字庫生成 因為本設(shè)計中為行掃描,列輸入,所以“魏”的自摸代碼為: DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84H DB64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00 “佳”字代碼為: DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22H DB 12

42、H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H “鋒”字代碼為: DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28H DB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H 5 軟件設(shè)計 5.15.1 程序設(shè)計總體思路和結(jié)構(gòu)程序設(shè)計總體思路和結(jié)構(gòu) 5.1.15.1.1 程序設(shè)計總體思路程序設(shè)計總體思路 用簡短的匯編程序設(shè)計,實現(xiàn) LED 點陣

43、顯示內(nèi)容,并使顯示的內(nèi)容在屏幕上從左到右 的滾動顯示。系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、延時程序、顯示子程序和串行口中斷程 序。 用 AT89C51、74LS373、74LS138、74HC154 芯片和 4 個 1616LED 點陣顯示器構(gòu)成一個完整 的 16 位點陣 LED 顯示系統(tǒng)。 5.1.25.1.2 程序流程圖程序流程圖 程序主要由開始、初始化、主程序、字庫組成。其中主程序和子程序的流程圖如圖 5.1 所示。 圖 5.1 單片機漢字顯示程序流程圖 5.25.2 各模塊程序設(shè)計各模塊程序設(shè)計 5.2.15.2.1 系統(tǒng)初始化系統(tǒng)初始化 ORG 0000H AJMP START ORG

44、000BH LJMP TIME0 ORG 0030H START:MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H 5.2.25.2.2 LEDLED 動態(tài)顯示動態(tài)顯示 顯示要求漢字在顯示屏上按從左到右的順序一個個的出現(xiàn)。設(shè)計時可采用如下方法: 首先將 LED 顯示屏對應(yīng)的顯示緩沖區(qū)全部清零,即 LED 顯示空白,然后每間隔一個“軟定 時器”設(shè)定的動態(tài)顯示時間,顯示緩沖區(qū)依次加入一個漢字點陣數(shù)據(jù)并進(jìn)行掃描顯示,這 樣就可達(dá)到動態(tài)顯示的效果。實現(xiàn) LED 從左向右移動顯示程序: TIME0:INC R5 CJNE R5,#3,

45、NEXT MOV R5,#0 INC DPTR INC DPTR INC R1 CJNE R1,#144,NEXT MOV R1,#0 MOV DPTR,#TAB NEXT: MOV TH0,#3CH MOV TL0,#0B0H RETI 5.2.35.2.3 漢字顯示的原理漢字顯示的原理 我們以中文宋體字庫為例,每一個字由 16 行 16 列的點陣組成顯示。即國標(biāo)漢字庫中 的每一個字均由 256 點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的 字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字, 也可以顯示在 256 像素范圍 內(nèi)的任何圖形。LED 點陣漢字顯示程序: MAI

46、N: MOV P1,R2 MOV A,R3 MOVC A,A+DPTR MOV P2,A INC R3 MOV A,R3 MOVC A,A+DPTR MOV P0,A INC R3 MOV P3,R4 LCALL DELAY1MS INC R2 CJNE R2,#16,MAIN MOV R2,#0 INC R4 CJNE R4,#3,MAIN MOV R3,#0 MOV R4,#0 LJMP MAIN 6 系統(tǒng)功能測試 6.16.1 單元模塊電路測試單元模塊電路測試 在 proteus 仿真軟件中運行測試 AT89C51、74LS373、74LS138、74HC154 等芯片和 LED 顯示器

47、均能正常運行并完整的顯示出了我所要的效果。所以各個模塊功能正常。 6.26.2 系統(tǒng)整體功能測試系統(tǒng)整體功能測試 在仿真軟件 proteus 中運行測試系統(tǒng)整體功能,一切正常。實現(xiàn)了漢字的左移滾動顯 示,完整的顯示出了“陜西理工學(xué)院”浮動漢字。 圖 6.1 單片機漢字顯示系統(tǒng)測試圖 總結(jié) 在本設(shè)計中我用簡短的匯編程序在 LED 顯示屏實現(xiàn)了漢字的左移滾動顯示。在設(shè)計中 采用的芯片有 AT89C51、74LS373、74LS138、74HC154 和 4 個 1616LED 點陣顯示器。其特 點:1.內(nèi)容能從右向左浮動顯示。2.硬件結(jié)構(gòu)簡單,應(yīng)用廣泛。3.LED 數(shù)碼管動態(tài)掃描顯 示,工作效率高

48、,價格低廉等。 通過本次(6416 位點陣 LED)的設(shè)計,理論知識學(xué)習(xí)和實際設(shè)計的結(jié)合鍛煉了我的綜 合運用所學(xué)的專業(yè)基礎(chǔ)知識解決實際工程問題的能力,同時也提高我查閱文獻(xiàn)資料、設(shè)計 手冊、設(shè)計規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取 舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了豐富。為后繼的學(xué)習(xí) 和工作奠定的基礎(chǔ)。 致謝 在完成此設(shè)計過程中,我曾多次去找我的指導(dǎo)老師,李建忠老師,每次在遇到實驗中 遇到困難或者程序看不懂的時候,我都去找李老師,不管上班下班時間,李老師每次都不 厭其煩,不辭辛苦的給我細(xì)心講解指導(dǎo),我才能在實驗室完成實驗,在寫論文過程中老

49、師 也給了我很大幫助,在此,我由衷的對李老師對我的指導(dǎo)和教育。 參考文獻(xiàn) 1李建忠編著.單片機原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2002 2李群芳,肖看編著.單片機原理、接口及應(yīng)用.北京:清華大學(xué)出版社,2005 3于海生編著.微型計算機控制技術(shù).北京:清華大學(xué)出版社,2008 4戴梅萼,史嘉權(quán)編著.微型計算機技術(shù)及應(yīng)用(第 3 版).北京:清華大學(xué)出版社,2008 5江曉安,董秀峰編著.數(shù)字電子技術(shù)(第二版).西安:西安電子科技大學(xué)出版社,2005 附錄 附錄:源程序代碼 ORG 0000H ;初始化 AJMP START ORG 000BH LJMP TIME0 ORG 0030H

50、 START:MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOV DPTR,#TAB ;= MAIN: MOV P1,R2 ;單片機輸出 MOV A,R3 MOVC A,A+DPTR MOV P2,A INC R3 MOV A,R3 MOVC A,A+DPTR MOV P0,A INC R3 MOV P3,R4 LCALL DELAY1MS INC R2 CJNE R2,#16,MAIN MOV

51、R2,#0 INC R4 CJNE R4,#4,MAIN MOV R3,#0 MOV R4,#0 LJMP MAIN ;= TIME0:INC R5 ;移動顯示 CJNE R5,#3,NEXT MOV R5,#0 INC DPTR INC DPTR INC R1 CJNE R1,#144,NEXT MOV R1,#0 MOV DPTR,#TAB NEXT: MOV TH0,#3CH MOV TL0,#0B0H RETI ;= DELAY1MS:MOV R7,#2 ;延時 DEL: MOV R6,#250 DJNZ R6,$ DJNZ R7,DEL RET ;= TAB:;DB 000H,000

52、H,01FH,0FCH,010H,000H,025H,000H,03BH,004H,000H,048H,00AH,050H,009H,060H;陜 ;DB 07FH,0C0H,010H,0A0H,012H,090H,014H,088H,000H,08CH,000H,004H,000H,004H,000H,000H DB 00H,00H,7FH,0FFH,44H,20H,5AH,10H,61H,0E1H,10H,82H,14H,84H,12H,88H DB 10H,0B0H,0FFH,0C0H,10H,0B0H,12H,88H,34H,86H,11H,83H,00H,82H,00H,00H DB

53、 000H,000H,003H,000H,002H,0F8H,022H,010H,022H,050H,03FH,090H,022H,010H,022H,010H DB 07FH,090H,044H,090H,044H,090H,004H,00CH,004H,030H,007H,0C0H,000H,000H,000H,000H DB 000H,010H,011H,010H,011H,020H,01FH,0E0H,022H,048H,000H,048H,038H,008H,027H,048H DB 025H,048H,03FH,0F0H,04AH,090H,042H,090H,07EH,010H,000H,010H,000H,000H,000H,000H DB 000H,000H,000H,010H,000H,010H,000H,010H,008H,010H,008H,010H,008H,010H,00FH,0E0H DB 010H,020H,010H,020H,010H,020H,000H,020H,000H,020H,000H,020H,000H,000H,000H,000H DB 000H,000H,003H,020H,00EH,020H,044H,020H,024H,020H,005

溫馨提示

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

評論

0/150

提交評論