基于單片機(jī)的LED點(diǎn)陣廣告牌設(shè)計(jì).doc_第1頁(yè)
基于單片機(jī)的LED點(diǎn)陣廣告牌設(shè)計(jì).doc_第2頁(yè)
基于單片機(jī)的LED點(diǎn)陣廣告牌設(shè)計(jì).doc_第3頁(yè)
基于單片機(jī)的LED點(diǎn)陣廣告牌設(shè)計(jì).doc_第4頁(yè)
基于單片機(jī)的LED點(diǎn)陣廣告牌設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

基于單片機(jī)的 LED 點(diǎn)陣廣告牌設(shè)計(jì) 摘要摘要 本設(shè)計(jì)使用 AT89C51 系列高速單片機(jī)作為主控制模塊 利用簡(jiǎn)單的外圍電 路來(lái)驅(qū)動(dòng) 64 16 的點(diǎn)陣 LED 顯示屏 利用 AT89C51 系列高速單片機(jī)本身強(qiáng)大 的功能 可以很方便的實(shí)現(xiàn)單片機(jī)與 PC 機(jī)間的數(shù)據(jù)傳輸及存儲(chǔ) 并能利用軟 件方便的進(jìn)行顯示內(nèi)容的多樣變化 另一方面點(diǎn)陣顯示屏廣泛的應(yīng)用于醫(yī)院 機(jī)場(chǎng) 銀行等公共場(chǎng)所 所以本設(shè)計(jì)具有很強(qiáng)的現(xiàn)實(shí)應(yīng)用性 本 LED 顯示屏能夠以動(dòng)態(tài)掃描的方式同時(shí)顯示 4 個(gè) 16 16 點(diǎn)陣漢字 并能 通過(guò)上位機(jī)軟件修改顯示內(nèi)容和顯示效果等等 把字符內(nèi)碼存儲(chǔ)在空閑的單片 機(jī)程序存儲(chǔ)器空間 使本 LED 顯示系統(tǒng)能掉電存儲(chǔ) 1024 個(gè)字符 設(shè)計(jì)中采用 了 SPI 接口的 GB2312 標(biāo)準(zhǔn)字庫(kù) 支持所有的國(guó)標(biāo)字符和 ASCII 標(biāo)準(zhǔn)字符的顯 示 因?yàn)椴捎么袀鬏敺绞?使本系統(tǒng)的可擴(kuò)展性得到提升 便于多個(gè)顯示單 元的級(jí)聯(lián) 本文從 LED 的顯示原理入手 詳細(xì)闡述了 LED 動(dòng)態(tài)顯示的過(guò)程 以及硬 件電路的設(shè)計(jì) 計(jì)算和軟件的算法 關(guān)鍵詞 動(dòng)態(tài)顯示 單片機(jī) 點(diǎn)陣字庫(kù) AbstractAbstract This design uses STC12C series MCU as a main controller and depends on a simple external circuit to drive 96 16 the lattice LED display By using its own powerful functions and capacity of internal E2PROM it is easy to accomplish the MCU and PC and E2PROM for internal storage data transmission equipment and it also can be used conveniently to show a variety of content changes The other dot matrix display is widely used in hospitals airports banks and other public places Therefore the design has a strong practical application The LED Display dynamic scan can show the way at the same time six 16 16 dot matrix Chinese characters and PC software can modify the content and effect shows and so on IAP used in the application of programmable technology the characters within the code stored in the SCM free program memory space so that the LED display system can store 1 024 brown out characters SPI used in the design of the interface standard GB2312 character to support all the GB2312 standard ASCII characters and characters of the show Because serial transmission used so that the system can be enhanced scalability for a number of display units of the cascade This article from the start LED display principle elaborated on the LED display dynamic process as well as hardware circuit design computing and software algorithms KeyKey Words Words MCU Serial Data Transfer Llattice Llibrary 目錄目錄 1 LED 概述 6 1 1 LED 電子顯示屏概述 6 1 2 LED 電子顯示屏的分類 6 2 顯示原理及控制方式分析 7 2 1 LED 點(diǎn)陣模塊結(jié)構(gòu) 7 2 2 LED 動(dòng)態(tài)顯示原理 7 2 3 LED 常見(jiàn)的控制方式 8 3 硬件電路設(shè)計(jì) 10 3 1 系統(tǒng)硬件概述 10 3 2 16 16LED 點(diǎn)陣顯示制作 11 3 2 1 16 16LED 點(diǎn)陣的內(nèi)部結(jié)構(gòu)及工作原理 11 3 2 2 用 8 8LED 點(diǎn)陣構(gòu)成 16 16LED 點(diǎn)陣 12 3 3 主控單片機(jī)的接口說(shuō)明 14 3 4 LED 顯示驅(qū)動(dòng)電路 14 4 字模生成 16 4 1 字模簡(jiǎn)介 16 4 1 1 LED 顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù) 16 4 1 2 軟件控制系統(tǒng)字模提取的分析與設(shè)計(jì) 16 4 2 字模存儲(chǔ)技術(shù) 17 4 3 字庫(kù)生成 17 5 軟件設(shè)計(jì) 19 5 1 程序設(shè)計(jì)總體思路和結(jié)構(gòu) 19 5 1 1 程序設(shè)計(jì)總體思路 19 5 1 2 程序流程圖 19 5 2 各模塊程序設(shè)計(jì) 20 5 2 1 系統(tǒng)初始化 20 5 2 2 LED 動(dòng)態(tài)顯示 20 5 2 3 漢字顯示的原理 20 6 系統(tǒng)功能測(cè)試 22 6 1 單元模塊電路測(cè)試 22 6 2 系統(tǒng)整體功能測(cè)試 22 總結(jié) 23 致謝 24 參考文獻(xiàn) 25 附錄 26 引引 言言 LED Light Emitting Diode 發(fā)光二極管 簡(jiǎn)稱 LED 是一種能夠?qū)㈦?能轉(zhuǎn)化為可見(jiàn)光的固態(tài)的半導(dǎo)體器件 它可以直接把電轉(zhuǎn)化為光 LED 的心臟 是一個(gè)半導(dǎo)體的晶片 晶片的一端附在一個(gè)支架上 一端是負(fù)極 另一端連接 電源的正極使整個(gè)晶片被環(huán)氧樹(shù)脂封裝起來(lái) 半導(dǎo)體晶片由兩部分組成 一部 分是 P 型半導(dǎo)體 在它里面空穴占主導(dǎo)地位 另一端是 N 型半導(dǎo)體 在這邊主 要是電子 但這兩種半導(dǎo)體連接起來(lái)的時(shí)候 它們之間就形成一個(gè) P N 結(jié) 當(dāng)電流通過(guò)導(dǎo)線作用于這個(gè)晶片的時(shí)候 電子就會(huì)被推向 P 區(qū) 在 P 區(qū)里電子 跟空穴復(fù)合 然后就會(huì)以光子的形式發(fā)出能量 這就是 LED 發(fā)光的原理 多個(gè) LED 發(fā)光燈組成固定的字符或圖形進(jìn)行顯示 即形成 LED 點(diǎn)陣圖文顯 示屏 其主要特征是只控制 LED 點(diǎn)陣中各發(fā)光器件的通斷 發(fā)光或熄滅 而不 控制 LED 的發(fā)光強(qiáng)弱 LED 點(diǎn)陣的漢字顯示方式是先根據(jù)所需要的漢字提取漢 字點(diǎn)陣 如 16 16 點(diǎn)陣 將點(diǎn)陣文件存入 ROM 形成新的漢字編碼 而在使 用時(shí)則需要先根據(jù)新的漢字編碼組成語(yǔ)句 再由 MCU 根據(jù)新編碼提取相應(yīng)的點(diǎn) 陣進(jìn)行漢字顯示 LED 點(diǎn)陣顯示具有如下特點(diǎn) 1 電壓 LED 使用低壓電源 供電電壓在 6 24V 之間 根據(jù)產(chǎn)品不同 而異 所以它是一種比使用高壓電源更安全的電源 2 效能 消耗能量比同光效的白熾燈減少 80 3 適用性 每個(gè)單元 LED 小片是 3 5mm 的正方形 所以可以制備成各 種形狀的器件 并且適合于易變的環(huán)境 4 穩(wěn)定性 10 萬(wàn)小時(shí) 光衰為初始的 50 5 響應(yīng)時(shí)間 其白熾燈的響應(yīng)時(shí)間為毫秒級(jí) LED 燈的響應(yīng)時(shí)間為納 秒級(jí) 6 對(duì)環(huán)境污染 無(wú)有害金屬汞 7 顏色 改變電流可以變色 發(fā)光二極管方便地通過(guò)化學(xué)修飾方法 調(diào)整材料的能帶結(jié)構(gòu)和帶隙 實(shí)現(xiàn)紅黃綠蘭橙多色發(fā)光 由于 LED 的眾多優(yōu)勢(shì) 在市場(chǎng)中得到了廣泛的應(yīng)用 主要應(yīng)用領(lǐng)域有 1 信號(hào)指示應(yīng)用 信號(hào)照明是 LED 單色光應(yīng)用比較廣泛也是比較早的 一個(gè)領(lǐng)域 約占 LED 應(yīng)用市場(chǎng)的 4 左右 2 顯示應(yīng)用 指示牌 廣告牌 大屏幕顯示等 LED 用于顯示屏幕的 應(yīng)用約占 LED 應(yīng)用的 20 25 顯示屏幕可分為單色和彩色 3 照明應(yīng)用 便攜燈具 汽車用燈 特殊照明 由于 LED 尺寸小 便 于動(dòng)態(tài)的亮度和顏色控制 因此比較適合用于建筑裝飾照明 背光照明 普通 電子設(shè)備功能顯示背光源 筆記本電腦背光源 大尺寸超大尺寸 LCD 顯示器背 光源等 以及投影儀用 RGB 光源 1 1 LEDLED 概述概述 1 11 1 LEDLED 電子顯示屏概述電子顯示屏概述 LED 電子顯示屏 Light Emitting Diode Panel 是由幾百 幾十萬(wàn)個(gè)半 導(dǎo)體發(fā)光二極管構(gòu)成的像素點(diǎn) 按矩陣均勻排列組成 利用不同的半導(dǎo)體材料 可以制造不同色彩的 LED 像素點(diǎn) 目前應(yīng)用最廣的是紅色 綠色 黃色 而藍(lán) 色和純綠色 LED 的開(kāi)發(fā)已經(jīng)達(dá)到了實(shí)用階段 LED 顯示屏是一種通過(guò)控制半導(dǎo) 體發(fā)光二極管的亮度的方式 來(lái)顯示文字 圖形 圖像 動(dòng)畫(huà) 行情 視頻 錄像信號(hào)等各種信息的顯示屏幕 LED 顯示屏分為圖文顯示屏和條幅顯示屏 均由 LED 矩陣塊組成 圖文顯 示屏可與計(jì)算機(jī)同步顯示漢字 英文文本和圖形 而條幅顯示屏則適用于小容 量的字符信息顯示 LED 顯示屏因?yàn)槠湎袼貑卧侵鲃?dòng)發(fā)光的 具有亮度高 視角廣 工作電壓低 功耗小 壽命長(zhǎng) 耐沖擊和性能穩(wěn)定等優(yōu)點(diǎn) 因而被廣 泛應(yīng)用于車站 碼頭 機(jī)場(chǎng) 商場(chǎng) 醫(yī)院 賓館 銀行 證券市場(chǎng) 建筑市場(chǎng) 拍賣行 工業(yè)企業(yè)管理和其它公共場(chǎng)所 LED 顯示屏的發(fā)展前景極為廣闊 目前正朝著更高亮度 更高氣候耐受性 更高的發(fā)光密度 更高的發(fā)光均勻性 可靠性 全色化方向發(fā)展 1 21 2 LEDLED 電子顯示屏的分類電子顯示屏的分類 按顏色分類 單基色顯示屏 單一顏色 紅色或綠色 雙基色顯示屏 紅和綠雙基色 256 級(jí)灰度 可以顯示 65536 種顏色 全彩色顯示屏 紅 綠 藍(lán)三基色 256 級(jí)灰度的全彩色顯示屏可以顯示一千 六百多萬(wàn)種顏色 按顯示器件分類 LED 數(shù)碼顯示屏 顯示器件為 7 段碼數(shù)碼管 適于制作時(shí)鐘屏 利率屏等 顯 示數(shù)字的電子顯示屏 LED 點(diǎn)陣圖文顯示屏 顯示器件是由許多均勻排列的發(fā)光二極管組成的點(diǎn)陣顯 示模塊 適于播放文字 圖像信息 按使用場(chǎng)合分類 室內(nèi)顯示屏 發(fā)光點(diǎn)較小 一般 3mm 8mm 顯示面積一般零點(diǎn)幾至十幾平 方米 室外顯示屏 面積一般幾十平方米至幾百平方米 亮度高 可在陽(yáng)光下工作 具有防風(fēng) 防雨 防水功能 按發(fā)光點(diǎn)直徑分類 室內(nèi)屏 3mm 3 75mm 5mm 室外屏 10mm 12mm 16mm 19mm 21mm 26mm 室外屏發(fā)光的基本單元為發(fā)光筒 發(fā)光筒的原理是將一組紅 綠 藍(lán)發(fā)光二極 管封在一個(gè)塑料筒內(nèi)共同發(fā)光增強(qiáng)亮度 2 2 顯示原理及控制方式分析顯示原理及控制方式分析 2 12 1 LEDLED 點(diǎn)陣模塊結(jié)構(gòu)點(diǎn)陣模塊結(jié)構(gòu) 八十年代以來(lái)出現(xiàn)了組合型 LED 點(diǎn)陣顯示器模塊 以發(fā)光二極管為像素 它用高亮度發(fā)光二極管芯陣列組合后 環(huán)氧樹(shù)脂和塑模封裝而成 這種一體化 封裝的點(diǎn)陣 LED 模塊 具有高亮度 引腳少 視角大 壽命長(zhǎng) 耐濕 耐冷熱 耐腐蝕等特點(diǎn) LED 點(diǎn)陣規(guī)模常見(jiàn)的有 4 4 4 8 5 7 5 8 8 8 16 16 等等 根據(jù)像素顏色的數(shù)目可分為單色 雙基色 三基色等 像素顏色不同 所 顯示的文字 圖象等內(nèi)容的顏色也不同 單色點(diǎn)陣只能顯示固定色彩如紅 綠 黃等單色 雙基色和三基色點(diǎn)陣顯示內(nèi)容的顏色由像素內(nèi)不同顏色發(fā)光二極管 點(diǎn)亮組合方式?jīng)Q定 如紅綠都亮?xí)r可顯示黃色 如果按照脈沖方式控制二極管 的點(diǎn)亮?xí)r間 則可實(shí)現(xiàn) 256 或更高級(jí)灰度顯示 即可實(shí)現(xiàn)真彩色顯示 圖 2 1 示出最常見(jiàn)的 8 8 單色 LED 點(diǎn)陣顯示器的內(nèi)部電路結(jié)構(gòu)和外型規(guī)格 其它型號(hào)點(diǎn)陣的結(jié)構(gòu)與引腳可試驗(yàn)獲得 圖 2 1 8 8 單色 LED 模塊內(nèi)部電路 LED 點(diǎn)陣顯示器單塊使用時(shí) 既可代替數(shù)碼管顯示數(shù)字 也可顯示各種中 西文字及符號(hào) 如 5x7 點(diǎn)陣顯示器用于顯示西文字母 5 8 點(diǎn)陣顯示器用于顯 示中西文 8x8 點(diǎn)陣可以用于顯示簡(jiǎn)單的中文文字 也可用于簡(jiǎn)單圖形顯示 用多塊點(diǎn)陣顯示器組合則可構(gòu)成大屏幕顯示器 但這類實(shí)用裝置常通過(guò) PC 機(jī)或 單片機(jī)控制驅(qū)動(dòng) 2 22 2 LEDLED 動(dòng)態(tài)顯示原理動(dòng)態(tài)顯示原理 LED 點(diǎn)陣顯示系統(tǒng)中各模塊的顯示方式 有靜態(tài)和動(dòng)態(tài)顯示兩種 靜態(tài)顯 示原理簡(jiǎn)單 控制方便 但硬件接線復(fù)雜 在實(shí)際應(yīng)用中一般采用動(dòng)態(tài)顯示方 式 動(dòng)態(tài)顯示采用掃描的方式工作 由峰值較大的窄脈沖電壓驅(qū)動(dòng) 從上到下 逐次不斷地對(duì)顯示屏的各行進(jìn)行選通 同時(shí)又向各列送出表示圖形或文字信息 的列數(shù)據(jù)信號(hào) 反復(fù)循環(huán)以上操作 就可顯示各種圖形或文字信息 點(diǎn)陣式 LED 漢字廣告屏絕大部分是采用動(dòng)態(tài)掃描顯示方式 這種顯示方式 巧妙地利用了人眼的視覺(jué)暫留特性 將連續(xù)的幾幀畫(huà)面高速的循環(huán)顯示 只要 幀速率高于 24 幀 秒 人眼看起來(lái)就是一個(gè)完整的 相對(duì)靜止的畫(huà)面 最典型 的例子就是電影放映機(jī) 在電子領(lǐng)域中 因?yàn)檫@種動(dòng)態(tài)掃描顯示方式極大的縮 減了發(fā)光單元的信號(hào)線數(shù)量 因此在 LED 顯示技術(shù)中被廣泛使用 以 8 8 點(diǎn)陣模塊為例 說(shuō)明一下其使用方法及控制過(guò)程 圖 2 1 中 紅色 水平線 Y0 Y1 Y7 叫做行線 接內(nèi)部發(fā)光二極管的陽(yáng)極 每一行 8 個(gè) LED 的 陽(yáng)極都接在本行的行線上 相鄰兩行線間絕緣 同樣 藍(lán)色豎直線 X0 X1 X7 叫做列線 接內(nèi)部每列 8 個(gè) LED 的陰極 相鄰兩列線間絕緣 在這種形式的 LED 點(diǎn)陣模塊中 若在某行線上施加高電平 用 1 表示 在某列線上施加低電平 用 0 表示 則行線和列線的交叉點(diǎn)處的 LED 就會(huì) 有電流流過(guò)而發(fā)光 比如 Y7 為 1 X0 為 0 則右下角的 LED 點(diǎn)亮 再如 Y0 為 1 X0 到 X7 均為 0 則最上面一行 8 個(gè) LED 全點(diǎn)亮 現(xiàn)描述一下用動(dòng)態(tài)掃描顯示的方式 顯示字符 B 的過(guò)程 其過(guò)程如圖 2 2 圖 2 2 用動(dòng)態(tài)掃描顯示字符 B 的過(guò)程 2 32 3 LEDLED 常見(jiàn)的控制方式常見(jiàn)的控制方式 目前常見(jiàn)的是并行傳輸方式 見(jiàn)附錄 1 1 通過(guò) 8 位鎖存器將 8 位總線上 的列數(shù)據(jù)進(jìn)行鎖存顯示 各 8 位鎖存器的片選信號(hào)由譯碼器提供 此種方式的 優(yōu)點(diǎn)是傳輸速度快 對(duì)微控制器 MCU 的通信速度要求較低 但是這種方案最 大的缺點(diǎn)是不便于隨意擴(kuò)展顯示單元的數(shù)目 每增加一個(gè) 16 16 點(diǎn)陣的全角漢 字顯示單元 就需要在之前的電路上多增加兩根地址線 這就要求在 PCB 布線 的時(shí)候要留有充足的地址線冗余量 再一個(gè)缺點(diǎn)是 每個(gè)單元的 PCB 隨著安放 位置的不同 布線結(jié)構(gòu)也不相同 不利于廠家批量生產(chǎn) 并行傳輸需要的芯片 較多 因此市場(chǎng)上已經(jīng)出現(xiàn)用 FPGA CPLD 等高密度可編程邏輯器件 PLD 來(lái)取 代傳統(tǒng)鎖存器 IC 的方案 成本有所下降 但可擴(kuò)展性仍舊較差 因此 并行傳 輸方式適用于顯示單元數(shù)目確定的條屏 隨著廣告屏顯示內(nèi)容的多媒體化 對(duì)控制器傳輸速度 運(yùn)算能力的要求越 來(lái)越高 因此控制器的種類也在不斷發(fā)展以適應(yīng)要求 從最初的 8051 單片機(jī) 到 PIC 單片機(jī) 又到 FPGA 直到現(xiàn)在的 ARM 處理器 不同功能檔次的廣告屏對(duì) 應(yīng)著不同的處理器 一 以傳統(tǒng) 8051 單片機(jī)為控制器的 LED 顯示屏 因受到單片機(jī)運(yùn)算速度及 通信速率的限制 LED 動(dòng)態(tài)顯示的刷新率不可能做得太高 對(duì)顯示效果和移動(dòng) 算法的處理也比較吃力 在實(shí)際顯示效果上有比較明顯的閃爍感 除此之外 傳統(tǒng) 8051 單片機(jī)的內(nèi)部資源貧乏 僅 128 字節(jié)的數(shù)據(jù)存儲(chǔ)器 幾 K 字節(jié)的程序 存儲(chǔ)器 無(wú) E2PROM SPI 這就需要對(duì)單片機(jī)擴(kuò)展外設(shè) 無(wú)疑增加了硬件成本 因此 8051 控制的條屏只能用于顯示內(nèi)容及其簡(jiǎn)單 不需要經(jīng)常更改顯示內(nèi)容 的場(chǎng)合 二 以 PIC 單片機(jī)為控制器的 LED 顯示屏 因 PIC 單片機(jī)是 RISC 架構(gòu)的工 業(yè)專用單片機(jī) 處理指令的速度有所增加 抗干擾能力優(yōu)秀 型號(hào)種類繁多 作為條屏的控制器 可以明顯的改善顯示效果 同時(shí) PIC 單片機(jī)內(nèi)部的資源較 豐富 可節(jié)省外部電路設(shè)計(jì)難度 同時(shí)降低了硬件成本 因此 以 PIC 單片機(jī) 為控制器的條屏目前仍是單色條屏市場(chǎng)的主流 三 以 FPGA 復(fù)雜可編程邏輯門(mén)陣列 為控制器的 LED 顯示屏 FPGA 以高 速 并行著稱 是近年來(lái)新興的可編程邏輯器件 用他作為 LED 顯示屏的控制 器 能夠高速的處理色階 PWM 信號(hào) 高速的完成動(dòng)態(tài)掃描邏輯 高速的完成字 符移動(dòng)算法 因此被運(yùn)用于雙基色 三基色的顯示系統(tǒng) 但是其成本較高 開(kāi) 發(fā)難度較大 四 以 ARM 32 位 RISC 架構(gòu)高性能微處理器 為控制器的 LED 顯示屏 ARM 有著極高的指令效率 極高的時(shí)鐘頻率 因此其運(yùn)算能力非常強(qiáng)大 內(nèi)部 資源也十分豐富 極大的簡(jiǎn)化了硬件設(shè)計(jì)的難度 縮短了開(kāi)發(fā)周期 在條屏的 運(yùn)用中 能用 ARM 來(lái)實(shí)現(xiàn)花樣繁多的顯示方式 以及高色階 多像素的全彩屏 驅(qū)動(dòng) ARM 與 FPGA 的組合更是功能強(qiáng)大 除了海量存儲(chǔ)技術(shù) 無(wú)線更新技術(shù)外 還能實(shí)時(shí)地顯示視頻信號(hào) 因此 以 ARM 為控制器的顯示屏常為視頻全彩屏 3 3 硬件電路設(shè)計(jì)硬件電路設(shè)計(jì) 3 13 1 系統(tǒng)硬件概述系統(tǒng)硬件概述 整個(gè)電路由單片機(jī) 89C51 8 個(gè) 74LS373 1 個(gè) 74HC154 1 個(gè) 74LS138 4 個(gè) 16 16 的 LED 該電路所設(shè)計(jì)的電子屏可顯示多個(gè)漢字 需要 4 個(gè) 16 16 LED 點(diǎn)陣模塊 可組成 16 64 的條形點(diǎn)陣 AT89C51 是一種帶 4KB 可編程可擦除 只讀存儲(chǔ)器 的低電壓 高性能微處 理器 俗稱單 片機(jī) 單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100 次 該 器件采用 ATMEL 高密度非易失存儲(chǔ)器制造技術(shù)制造 與工業(yè)標(biāo)準(zhǔn)的MCS 51 指令集和輸出管腳相兼容 由于將多功能8 位 CPU 和閃爍存儲(chǔ)器組合在單 個(gè)芯片中 ATMEL 的 AT89C51 是一種高效微控制器 AT89C2051 是它的一種 精簡(jiǎn)版本 AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià) 廉的方案 AT89C51 引腳即外觀如圖 3 1 所示 圖 3 1 AT89C51 的管腳圖 譯碼器是組合邏輯電路的一個(gè)重要的器件 74LS138 的輸出是低電平有 效 故實(shí)現(xiàn)邏輯功能時(shí) 輸出端不可接或門(mén)及或非門(mén) 74LS138 與前面不 同 其有使能端 故使能端必須加以處理 否則無(wú)法實(shí)現(xiàn)需要的邏輯功能 發(fā)光二極管點(diǎn)亮只須使其正向?qū)纯?根據(jù)LED 的公共極是陽(yáng)極還是陰 極分為兩類譯碼器 即針對(duì)共陽(yáng)極的低電平有效的譯碼器 針對(duì)共陰極 LED 的高電平輸出有效的譯碼器 74LS373 是低功耗肖特基 TTL8D 鎖存器 內(nèi)有 8 個(gè)相同的 D 型 三態(tài)同相 鎖存器 由兩個(gè)控制端 11 腳 G 或 EN 1 腳 OUT CONT OE 控制 當(dāng) OE 接地時(shí) 若 G 為高電平 74LS373 接收由 PPU 輸出的地址信號(hào) 如果 G 為低電平 則將 地址信號(hào)鎖存 工作原理 74LS373 的輸出端 O0 O7 可直接與總線相連 當(dāng)三 態(tài)允許控制端 OE 為低電平時(shí) O0 O7 為正常邏輯狀態(tài) 可用來(lái)驅(qū)動(dòng)負(fù)載或總 線 當(dāng) OE 為高電平時(shí) O0 O7 呈高阻態(tài) 即不驅(qū)動(dòng)總線 也不為總線的負(fù)載 但鎖存器內(nèi)部的邏輯操作不受影響 當(dāng)鎖存允許端 LE 為高電平時(shí) O 隨數(shù)據(jù) D 而變 當(dāng) LE 為低電平時(shí) O 被鎖存在已建立的數(shù)據(jù)電平 74LS373 引腳即外 觀如圖 3 2 所示 圖 3 2 74LS373 引腳圖 74HC154 為 4 線 12 線譯碼器 當(dāng)選通端 G1 G2 均為低電平時(shí) 可 將地址端 ABCD 的二進(jìn)制 編碼在一個(gè)對(duì)應(yīng)的輸出端 以低電平譯出 若將 G1 和 G2 中的一個(gè)作為數(shù)據(jù)輸入端 由 ABCD 對(duì)輸出尋址 還可作 1 線 16 線數(shù)據(jù)分配器 工作環(huán)境溫度為 0 70 對(duì)社會(huì)的要求非常適合 LED 50 年前人們已經(jīng)了解半導(dǎo)體材料可產(chǎn)生光 線的基本知識(shí) 第一個(gè)商用二極管產(chǎn)生于1960 年 LED 是英文 light emitting diode 發(fā)光二極管 的縮寫(xiě) 它的基本結(jié)構(gòu)是一塊電致發(fā)光的半 導(dǎo)體材料 置于一個(gè)有引線的架子上 然后四周用環(huán)氧7 樹(shù)脂密封 即固 體封裝 所以能起到保護(hù)內(nèi)部芯線的 作用 所以 LED 的抗震性能好 該電路的顯示采用逐行掃描方式 工作時(shí) 由 單片機(jī)取出第一行需要顯示的內(nèi)容經(jīng)延時(shí)一段時(shí)間后再進(jìn)行下一行點(diǎn)陣數(shù)據(jù)的 顯示 需要注意的是 每次只能選通一行數(shù)據(jù) 即要通過(guò)不斷的逐行掃描來(lái)實(shí) 現(xiàn)漢字或字符的顯示 3 2 16 16LED 點(diǎn)陣顯示制作點(diǎn)陣顯示制作 3 2 1 16 16LED 點(diǎn)陣的內(nèi)部結(jié)構(gòu)及工作原理點(diǎn)陣的內(nèi)部結(jié)構(gòu)及工作原理 以 UCDOS 中文宋體字庫(kù)為例 每一個(gè)字由 16 行 16 列的點(diǎn)陣組成顯示 即 國(guó)家標(biāo)準(zhǔn)漢字庫(kù)中的每一個(gè)字均由 256 點(diǎn)陣來(lái)表示 我們可以把每一個(gè)點(diǎn)理解 為一個(gè)像素 而把每一個(gè)字的字形理解為一幅圖像 事實(shí)上這個(gè)漢字屏不僅可 以顯示漢字 也可以顯示在 256 像素范圍內(nèi)的任何圖形 這里我們以 高 字 說(shuō)明 如圖 3 3 所示 圖 3 3 16 16LED 漢字顯示 用 8 位的 AT89C51 單片機(jī)控制 由于單片機(jī)的總線為 8 位 一個(gè)字需要拆 分為 2 個(gè)部分 一般把它拆分為上部和下部 上部由 8 16 點(diǎn)陣組成 下部也 由 8 16 點(diǎn)陣組成 在本例中單片機(jī)首先顯示的是左上角的第一列的上半部分 即第 0 列的 p00 p07 口 方向?yàn)?p00 到 p07 顯示漢字 高 時(shí) p02 點(diǎn)亮 由 上往下排列 為 p0 0 滅 p0 1 滅 p0 2 滅 p0 3 滅 p0 4 滅 p0 5 亮 p0 6 滅 p0 7 滅 即二進(jìn)制 00000100 轉(zhuǎn)換為 16 進(jìn)制為 04h 上半部第一列完成 后 繼續(xù)掃描下半部的第一列 為了接線的方 便 我們?nèi)栽O(shè)計(jì)成由上往下掃描 即從 p27 向 p20 方向掃 描 從上圖可以看到 這一列全部為不亮 即為 00000000 16 進(jìn)制則為 00h 然后單片機(jī)轉(zhuǎn)向上半部第二列 仍為 p01 點(diǎn)亮 為 00000100 即 16 進(jìn)制 04h 這一列完成后繼續(xù)進(jìn)行下半部分的掃描 p20 點(diǎn)亮 為二進(jìn)制 00000010 即 16 進(jìn)制 02h 依照這個(gè)方法 繼續(xù)進(jìn)行下面的掃描 一共掃描 32 個(gè) 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 由這個(gè)原理可以看出 無(wú)論顯示何種字體或圖像 都可以用這個(gè)方法來(lái)分 析出它的掃描代碼從而顯示在屏幕上 不過(guò)現(xiàn)在有很多現(xiàn)成的漢字字模生成軟 件 就不必自己去畫(huà)表格算代碼了 3 2 23 2 2 用用 8 8LED8 8LED 點(diǎn)陣構(gòu)成點(diǎn)陣構(gòu)成 16 16LED16 16LED 點(diǎn)陣點(diǎn)陣 Proteus 中只有 5 7 和 8 8 等 LED 點(diǎn)陣 并沒(méi)有 16 16LED 點(diǎn)陣 而在 實(shí)際應(yīng)用中 要良好地顯示一個(gè)漢字 則至少需要 16 16 點(diǎn)陣 下面我們就首 先介紹使用 8 8 點(diǎn)陣構(gòu)建 16 16 點(diǎn)陣的方法 并構(gòu)建一塊 16 16LED 點(diǎn)陣 用于本例的顯示任務(wù) 首先 從 Proteus7 1 的元件庫(kù)中找到 MATRIX 8X8 RED 元器件 并將四塊該 元器件放入 Proteus 文檔區(qū)編輯窗口中 此時(shí)需要注意 如果該元器件保持初始 的位置 沒(méi)有轉(zhuǎn)動(dòng)方向 我們要首先將其左轉(zhuǎn) 90 使其水平放置 那么此 時(shí)它的左面 8 個(gè)引腳是其行線 右邊 8 個(gè)引腳是其列線 當(dāng)然 如果你是將右 轉(zhuǎn) 則右邊 8 個(gè)引腳是行線 然后我們將四個(gè)元器件對(duì)應(yīng)的行線和列線分別 進(jìn)行連接 使每一條行線引腳接一行 16 個(gè) LED 列線也相同 并注意要將行線 和列線引出一定長(zhǎng)度的引腳 以便下面我們使用 連接好的 16 16 點(diǎn)陣如圖 3 4 所示 成如上圖的 16 16 點(diǎn)陣只是第一步 這樣分開(kāi)的數(shù)塊并不能達(dá)到好的顯示 效果 下面我們要將其進(jìn)一步組合 組合實(shí)際上很簡(jiǎn)單 首先選中如上圖中右側(cè) 的兩塊 8 8 點(diǎn)陣 然后拖動(dòng)并使其與左側(cè)的兩塊相并攏 如圖 3 5 所示 圖 3 5 可以看到原來(lái)的連線已經(jīng)自動(dòng)隱藏了 至于線上的交點(diǎn) 我們不要去動(dòng) 然后 我們?cè)賮?lái)最后一步 選中下側(cè)的兩塊點(diǎn)陣 并拖動(dòng)使其與上側(cè)的兩塊并 攏 最后的效果如圖 3 6 所示 看到 原來(lái)雜亂的連線現(xiàn)在已經(jīng)幾乎全部隱藏了 一塊 16 16 的 LED 點(diǎn)陣做成了 需要注意 做成的 LED 點(diǎn)陣的行線為左側(cè)的 16 個(gè)引腳 下側(cè)的 16 個(gè)引腳為其列線 而且其行線為高電平有效 列線為低 電平有效 然后 我們將其保存 以便以后使用 圖 3 4 點(diǎn)陣模塊組合 圖 3 6 3 33 3 主控單片機(jī)主控單片機(jī)的接口說(shuō)明的接口說(shuō)明 P0 口 P0 口是一組 8 位漏極開(kāi)路型雙向 I O 口 也即地址 數(shù)據(jù)總線 復(fù)制用口 作為輸入口時(shí) 每位能吸收電流的方式驅(qū)動(dòng)8 個(gè) TTL 邏輯門(mén)電 路 對(duì)端口寫(xiě)入 1 可作為高阻抗輸入端用 在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序 存儲(chǔ)器時(shí) 這組口線分時(shí)轉(zhuǎn)換地址 低8 位 和數(shù)據(jù)總線復(fù)用 在訪問(wèn)期 激活內(nèi)部上拉電阻 在 Flash 編程時(shí) PO 口接收指令節(jié) 而在程序校檢時(shí) 輸出指令字節(jié) 校檢時(shí) 要求外接上拉電阻 P1 口 P1 口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I O 口 P1 的輸出 緩沖級(jí)可驅(qū)動(dòng) 吸收或輸出電流 4 個(gè) TTL 邏輯門(mén)電路 對(duì)端口寫(xiě) 1 通過(guò)內(nèi)部的上拉電阻把端口拉到高電平 此時(shí)可作輸入口 作輸入口時(shí) 因 為內(nèi)部存在上拉電阻 某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流 I Flash 編程和程序校檢期間 P1 接收低 8 位地址 P2 口 P2 口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I O 口 P1 的輸出緩沖 級(jí)可驅(qū)動(dòng) 吸收或輸出電流 4 個(gè) TTL 邏輯門(mén)電路 對(duì)端口寫(xiě) 1 通過(guò) 內(nèi)部的上拉電阻把端口拉到高電平 此時(shí)可作輸入口 作輸入口時(shí) 因?yàn)閮?nèi) 部存在上拉電阻 某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I 在訪問(wèn) 外部數(shù)據(jù)存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ) 例如執(zhí)行MOVX DPTR 指令 時(shí) P2 口送出高 8 位地址數(shù)據(jù) 在訪問(wèn) 8 位地址的外部數(shù)據(jù)存儲(chǔ)器 如執(zhí) 行 MOVX RI 指令 時(shí) P2 口線上的內(nèi)容 也即特殊功能寄存器 SFR 區(qū) 中 R2 寄存器的內(nèi)容 在整個(gè)訪問(wèn)期間不改變 Flash 編程和校檢時(shí) P2 亦接收高位地址和其他控制信號(hào) P3 口 P3 口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I O 口 P3 口輸出緩 沖級(jí)可驅(qū)動(dòng) 吸收或輸出電流 4 個(gè) TTL 邏輯門(mén)電路 對(duì) P3 口寫(xiě)入 1 時(shí) 它們被內(nèi)部上拉電阻拉高并可作輸入端口 作輸入端時(shí) 被外部拉低的 P3 口將用上拉電阻 輸出電流 I P3 口還接收一些用于 Flash 閃速存儲(chǔ)器編 程和程序校檢的控制信號(hào) RST 復(fù)位輸入 當(dāng)震蕩器工作時(shí) RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平 將使單片機(jī)復(fù)位 ALE PROG 當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí) ALE 地址鎖存允許 輸 出脈沖用于所存地址的低 8 位字節(jié) 即使不訪問(wèn)外部存儲(chǔ)器 ALE 乃以時(shí)鐘振 動(dòng)頻率的 1 6 輸出固定的正脈沖信號(hào) 因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的 要注意的是 每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ALE 脈沖 3 4 LED 顯示驅(qū)動(dòng)電路顯示驅(qū)動(dòng)電路 LED 顯示驅(qū)動(dòng)電路如圖 3 7 所示 圖 3 7 顯示驅(qū)動(dòng)電路圖 4 4 字模生成字模生成 4 14 1 字模簡(jiǎn)介字模簡(jiǎn)介 文字的字模是一組數(shù)字 但它的意義卻與數(shù)字的意義有著根本的變化 它 是用數(shù)字的各位信息來(lái)記載英文或漢字的形狀 1 在電腦硬件中 根本沒(méi)有漢字這個(gè)概念 也沒(méi)有英文的概念 其認(rèn)識(shí)的概 念只有 內(nèi)碼 將 ASCII 表的高 128 個(gè)很少用到的數(shù)值以兩個(gè)為一組來(lái)表示漢 字 即漢字的內(nèi)碼 而剩下的低 128 位則留給英文字符使用 即英文的內(nèi)碼 如果你用啟動(dòng)盤(pán)啟動(dòng)系統(tǒng)后用 DIR 命令可能得到一串串莫名其妙的字符 但那 確確實(shí)實(shí)是漢字 如果你啟動(dòng) UCDOS 或其他的漢字系統(tǒng)后 就會(huì)看到那是一個(gè) 個(gè)熟悉的漢字 在硬件系統(tǒng)內(nèi) 英文的字模信息一般固化在 ROM 里 即使在沒(méi) 有進(jìn)入系統(tǒng)的 CMOS 里 也可以讓你看到英文字符 而在 DOS 下 中文的字模信 息一般記錄在漢字庫(kù)文件里 將制作好的字模放到一個(gè)個(gè)標(biāo)準(zhǔn)的庫(kù)中 這就是點(diǎn) 陣字庫(kù)文件 4 1 14 1 1 LEDLED 顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù)顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù) 在通過(guò)軟件實(shí)現(xiàn)的技術(shù)中 目前有許多字模生成軟件 軟件打開(kāi)后輸入漢 字 點(diǎn) 檢取 十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動(dòng)生成 把我們所需要的豎排 數(shù)據(jù)復(fù)制到我們的程序中即可 在通過(guò)硬件實(shí)現(xiàn)字模提取的技術(shù)中 有在單片 機(jī)系統(tǒng)中增加硬漢字庫(kù)的方法 主控器發(fā)送的漢字是其機(jī)內(nèi)碼 用兩個(gè)字節(jié)來(lái) 表示一個(gè)漢字 根據(jù)機(jī)內(nèi)碼 顯示單元控制模塊從漢字庫(kù)中查取顯示字模 實(shí) 現(xiàn)漢字顯示 由于帶有硬漢字庫(kù) 進(jìn)行動(dòng)態(tài)文字顯示時(shí) 通用智能顯示單元僅 接受漢字的機(jī)內(nèi)碼即可 這樣數(shù)據(jù)通訊量大大減少 因此 動(dòng)態(tài)文字顯示速度 快 4 1 24 1 2 軟件控制系統(tǒng)字模提取的分析與設(shè)計(jì)軟件控制系統(tǒng)字模提取的分析與設(shè)計(jì) 而在 LED 顯示屏控制系統(tǒng)具體應(yīng)用的 Windows 操作系統(tǒng)下如何提取字模信 息是設(shè)計(jì)的核心 軟件控制系統(tǒng)在實(shí)際編輯過(guò)程中 要求各種字體 字號(hào)的文 字都能被編輯 保存 所以系統(tǒng)在設(shè)計(jì)時(shí) 把文本區(qū)理解為由眾多的象素點(diǎn)構(gòu) 成 而把不同字體 字號(hào)的文字理解為一幅圖像 因?yàn)樗_(kāi)啟的文本區(qū)大小與 LED 顯示屏的大小對(duì)應(yīng) 所以采用 16 16 點(diǎn)陣為單位 把文本區(qū)內(nèi)的每個(gè)像素 點(diǎn)都看成一個(gè)二維數(shù)組 由于系統(tǒng)中各種顏色都有對(duì)應(yīng)的值 賦予每個(gè)不同顏 色的像素點(diǎn)不同的對(duì)應(yīng)值 再把每個(gè)點(diǎn)賦予一個(gè) int 型的值 這樣保存下來(lái)的 信息就是二進(jìn)制數(shù)據(jù) 通過(guò)這樣的設(shè)計(jì) 我們不僅可以把任何字型 任何大小 的文字保存下來(lái) 還可以顯示以 256 個(gè)像素點(diǎn)陣為單位的任何圖形 在軟件控 制系統(tǒng)中實(shí)現(xiàn)字模的提取 也就避免了在單片機(jī)中加載硬漢字庫(kù)模塊 從而簡(jiǎn) 化了硬件模塊的設(shè)計(jì) 以下以單色屏為例 介紹系統(tǒng)采用字模保存的算法設(shè)計(jì) 定義 COLORREF zimo color 為像素點(diǎn)的顏色 判斷某個(gè)點(diǎn)的顏色值 如 果值為 Oxffffff 說(shuō)明此點(diǎn)為白色 賦予此點(diǎn)值 0 由于單色屏只有紅色和不 顯色兩種 所以可以簡(jiǎn)單賦值為除白色外其余點(diǎn)賦值為 1 CClientDC dc this CFile myfile unsigned int zimo 192 384 0 unsigned char zimo data 192 48 0 COLORREF zimo color int row col this HideCaret for row 0 row 192 row for col 0 col 384 col zimo color do GetPixel col row if zimo color Oxffffff zimo row col 0 else zimo row col 1 定義 unsigned int zimo 192 384 0 文本區(qū)像素點(diǎn) 以 8 位為一字節(jié) 因?yàn)樵陔S后的串行通訊中 傳輸?shù)臄?shù)據(jù)是 8 位的二進(jìn)制數(shù)據(jù) 定義 unsigned char zimo data 192 48 0 4 24 2 字模存儲(chǔ)技術(shù)字模存儲(chǔ)技術(shù) 目前使用最廣泛的技術(shù)是 通過(guò)上位機(jī)軟件將待顯示的字符串轉(zhuǎn)換為對(duì)應(yīng) 的點(diǎn)陣字模數(shù)據(jù) 通過(guò)燒寫(xiě)的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲(chǔ)在 E2PROM 中 在條屏顯示的過(guò)程中按規(guī)定的方式取出 E2PROM 中的字模數(shù)據(jù)進(jìn)行處 理 對(duì)于一個(gè) 16 16 點(diǎn)陣的漢字字模數(shù)據(jù) 需要連續(xù) 32 字節(jié)的 E2PROM 空間來(lái) 存儲(chǔ) 照此計(jì)算 若有 256 個(gè)需要顯示的字符 則至少需要 32B 256 8192 字 節(jié) 8KB 的 E2PROM 存儲(chǔ)空間 通常的單片機(jī)內(nèi)部沒(méi)有集成這么大容量的 E2PROM 因此這種方案 需要在單片機(jī)外部擴(kuò)展大容量的 E2PROM 增加硬件成 本 上位機(jī)程序設(shè)計(jì)由于涉及到漢字取模 取模算法的難度較大 在多字下載 的時(shí)候傳輸時(shí)間也較長(zhǎng) 諸多弊端使本設(shè)計(jì)放棄了傳統(tǒng)方案 而本設(shè)計(jì)創(chuàng)新使 用了專用的點(diǎn)陣字庫(kù)芯片 成本僅為 8 元 內(nèi)含各種點(diǎn)陣規(guī)格的 GB2312 ASCII 等標(biāo)準(zhǔn)字庫(kù) 專用字庫(kù)芯片采用微型 SO 8 封裝 使用高速同步 串行 SPI 接口進(jìn)行讀寫(xiě)操作 節(jié)省了控制器的 I O 在本設(shè)計(jì)中 單片機(jī)內(nèi)部 的小容量 E2PROM 用于存儲(chǔ)待顯示漢字的 GB2312 標(biāo)準(zhǔn)機(jī)內(nèi)碼 每個(gè)全角字符的 內(nèi)碼占 2 字節(jié) 則在同樣需要顯示 256 個(gè)漢字的情況下 這種方案僅占用 512 字節(jié)的 E2PROM 空間 4 34 3 字庫(kù)生成字庫(kù)生成 因?yàn)楸驹O(shè)計(jì)中為行掃描 列輸入 所以 魏 的自摸代碼為 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 12H 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 5 軟件設(shè)計(jì)軟件設(shè)計(jì) 5 15 1 程序設(shè)計(jì)總體思路和結(jié)構(gòu)程序設(shè)計(jì)總體思路和結(jié)構(gòu) 5 1 15 1 1 程序設(shè)計(jì)總體思路程序設(shè)計(jì)總體思路 用簡(jiǎn)短的匯編程序設(shè)計(jì) 實(shí)現(xiàn) LED 點(diǎn)陣顯示內(nèi)容 并使顯示的內(nèi)容在屏幕 上從左到右的滾動(dòng)顯示 系統(tǒng)采用模塊化結(jié)構(gòu) 包括主程序 延時(shí)程序 顯示 子程序和串行口中斷程序 用 AT89C51 74LS373 74LS138 74HC154 芯片和 4 個(gè) 16 16LED 點(diǎn)陣顯示器構(gòu) 成一個(gè)完整的 16 位點(diǎn)陣 LED 顯示系統(tǒng) 5 1 25 1 2 程序流程圖程序流程圖 程序主要由開(kāi)始 初始化 主程序 字庫(kù)組成 其中主程序和子程序的流 程 圖如圖 5 1 所示 圖 5 1 單片機(jī)漢字顯示程序流程圖 5 25 2 各模塊程序設(shè)計(jì)各模塊程序設(shè)計(jì) 5 2 15 2 1 系統(tǒng)初始化系統(tǒng)初始化 ORG 0000H AJMP START ORG 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 動(dòng)態(tài)顯示動(dòng)態(tài)顯示 顯示要求漢字在顯示屏上按從左到右的順序一個(gè)個(gè)的出現(xiàn) 設(shè)計(jì)時(shí)可采用 如下方法 首先將 LED 顯示屏對(duì)應(yīng)的顯示緩沖區(qū)全部清零 即 LED 顯示空白 然后每間隔一個(gè) 軟定時(shí)器 設(shè)定的動(dòng)態(tài)顯示時(shí)間 顯示緩沖區(qū)依次加入一個(gè) 漢字點(diǎn)陣數(shù)據(jù)并進(jìn)行掃描顯示 這樣就可達(dá)到動(dòng)態(tài)顯示的效果 實(shí)現(xiàn) LED 從左 向右移動(dòng)顯示程序 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 5 2 35 2 3 漢字顯示的原理漢字顯示的原理 我們以中文宋體字庫(kù)為例 每一個(gè)字由 16 行 16 列的點(diǎn)陣組成顯示 即國(guó) 標(biāo)漢字庫(kù)中的每一個(gè)字均由 256 點(diǎn)陣來(lái)表示 我們可以把每一個(gè)點(diǎn)理解為一個(gè) 像素 而把每一個(gè)字的字形理解為一幅圖像 事實(shí)上這個(gè)漢字屏不僅可以顯示 漢字 也可以顯示在 256 像素范圍內(nèi)的任何圖形 LED 點(diǎn)陣漢字顯示程序 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 R2 0 INC R4 CJNE R4 3 MAIN MOV R3 0 MOV R4 0 LJMP MAIN 6 6 系統(tǒng)功能測(cè)試系統(tǒng)功能測(cè)試 6 16 1 單元模塊電路測(cè)試單元模塊電路測(cè)試 在 proteus 仿真軟件中運(yùn)行測(cè)試 AT89C51 74LS373 74LS138 74HC154 等 芯片和 LED 顯示器均能正常運(yùn)行并完整的顯示出了我所要的效果 所以各個(gè)模 塊功能正常 6 26 2 系統(tǒng)整體功能測(cè)試系統(tǒng)整體功能測(cè)試 在仿真軟件 proteus 中運(yùn)行測(cè)試系統(tǒng)整體功能 一切正常 實(shí)現(xiàn)了漢字的 左移滾動(dòng)顯示 完整的顯示出了 陜西理工學(xué)院 浮動(dòng)漢字 圖 6 1 單片機(jī)漢字顯示系統(tǒng)測(cè)試圖 總總結(jié)結(jié) 在本設(shè)計(jì)中我用簡(jiǎn)短的匯編程序在 LED 顯示屏實(shí)現(xiàn)了漢字的左移滾動(dòng)顯示 在設(shè)計(jì)中采用的芯片有 AT89C51 74LS373 74LS138 74HC154 和 4 個(gè) 16 16LED 點(diǎn)陣顯示器 其特點(diǎn) 1 內(nèi)容能從右向左浮動(dòng)顯示 2 硬件結(jié)構(gòu)簡(jiǎn) 單 應(yīng)用廣泛 3 LED 數(shù)碼管動(dòng)態(tài)掃描顯示 工作效率高 價(jià)格低廉等 通過(guò)本次 64 16 位點(diǎn)陣 LED 的設(shè)計(jì) 理論知識(shí)學(xué)習(xí)和實(shí)際設(shè)計(jì)的結(jié)合鍛 煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí)解決實(shí)際工程問(wèn)題的能力 同時(shí)也提高 我查閱文獻(xiàn)資料 設(shè)計(jì)手冊(cè) 設(shè)計(jì)規(guī)范以及電腦制圖等其他專業(yè)能力水平 而 且通過(guò)對(duì)整體的掌控 對(duì)局部的取舍 以及對(duì)細(xì)節(jié)的斟酌處理 都使我的能力 得到了鍛煉 經(jīng)驗(yàn)得到了豐富 為后繼的學(xué)習(xí)和工作奠定的基礎(chǔ) 參考文獻(xiàn)參考文獻(xiàn) 1 李建忠編著 單片機(jī)原理及應(yīng)用 西安 西安電子科技大學(xué)出版社 2002 2 李群芳 肖看編著 單片機(jī)原理 接口及應(yīng)用 北京 清華大學(xué)出版社 2005 3 于海生編著 微型計(jì)算機(jī)控制技術(shù) 北京 清華大學(xué)出版社 2008 4 戴梅萼 史嘉權(quán)編著 微型計(jì)算機(jī)技術(shù)及應(yīng)用 第 3 版 北京 清華大學(xué)出版 社 2008 5 江曉安 董秀峰編著 數(shù)字電子技術(shù) 第二版 西安 西安電子科技大學(xué)出版 社 2005 附錄附錄 附錄 源程序代碼 ORG 0000H 初始化 AJMP START ORG 000BH LJMP TIME0 ORG 0030H 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 單片機(jī)輸出 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 4 MAIN MOV R3 0 MOV R4 0 LJMP MAIN TIME0 INC R5 移動(dòng)顯示 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 延時(shí) DEL MOV R6 250 DJNZ R6 DJNZ R7 DEL RET TAB DB 000H 000H 01FH 0FCH 010H 000H 025H 000H 03BH 004H 000H 048H 00AH 050H 0 09H 060H 陜 DB 07FH 0C0H 010H 0A0H 012H 090H 014H 088H 000H 08CH 000H 004H 000H 004H 0 00H 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 000H 000H 003H 000H 002H 0F8H 022H 010H 022H 050H 03FH 090H 022H 010H 0 22H 010H DB 07FH 090H 044H 090H 044H 090H 004H 00CH 004H 030H 007H 0C0H 000H 000H 0 00H 000H DB 000H 010H 011H 010H 011H 020H 01FH 0E0H 022H 048H 000H 048H 038H 008H 0 27H 048H DB 025H 048H 03FH 0F0H 04AH 090H 042H 090H 07EH 010H 000H 010H 000H 000H 0 00H 000H DB 000H 000H 000H 010H 000H 010H 000H 010H 008H 010H 008H 010H 008H 0

溫馨提示

  • 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)論