LED顯示屏控制器的設(shè)計與實現(xiàn)畢業(yè)論文(設(shè)計).doc
本科生畢業(yè)論文本科生畢業(yè)論文(設(shè)計設(shè)計) 題目(中文):題目(中文): LED 顯示屏控制器的設(shè)計與實現(xiàn) (英文):(英文): The Design and Implementation of LED Display Controller 本科畢業(yè)論文(設(shè)計)誠信聲明本科畢業(yè)論文(設(shè)計)誠信聲明 作者鄭重聲明:所呈交的本科生論文(設(shè)計),是在指導(dǎo)老 師的指導(dǎo)下,獨(dú)立進(jìn)行研究所取得的成果,成果不存在知識 產(chǎn)權(quán)爭議。除文中已近注明引用的內(nèi)容外,論文不含任何其 他個人或集體已經(jīng)發(fā)表或撰寫過的成果。對論文的研究做出 重要貢獻(xiàn)的個人和集體均已在文中以明確的方式標(biāo)明。本聲 明的法律結(jié)果由作者承擔(dān)。 本科生論文(設(shè)計)作者簽名: 年 月 日 目 錄 摘 要.I 關(guān)鍵詞I AbstractI Key wordsII 1 前言.1 1.1 LED 電子顯示屏概述1 1.2 LED 電子顯示屏的分類2 1.3 LED 顯示屏市場前景2 2 LED 顯示原理的分析 .3 2.1 LED 點(diǎn)陣模塊結(jié)構(gòu)3 2.2 LED 動態(tài)顯示原理4 3 系統(tǒng)設(shè)計的任務(wù)與方案論證.7 3.1 設(shè)計任務(wù) .7 3.2 設(shè)計方案論證 .7 3.2.1 顯示單元模塊的選擇7 3.2.2 主控制器的選擇8 3.2.3 點(diǎn)陣數(shù)據(jù)存儲方式的選擇9 3.2.4 系統(tǒng)總體結(jié)構(gòu)及原理分析.11 3.2.5 工作原理分析.12 4 硬件電路設(shè)計13 4.1 LED 控制卡電路設(shè)計.13 4.1.1 列驅(qū)動電路設(shè)計.14 4.1.2 行驅(qū)動電路設(shè)計.15 4.2 時鐘模塊電路設(shè)計 16 4.3 溫度驅(qū)動電路設(shè)計 16 4.4 MAX232 串行通信電路設(shè)計17 4.5 系統(tǒng)電源及通信電纜的選擇 18 4.5.1 對于 LED 顯示屏的電源要求.18 4.5.2 開關(guān)電源在 LED 屏應(yīng)用中的優(yōu)勢.19 5 系統(tǒng)軟件設(shè)計19 5.1 上位機(jī)軟件設(shè)計 19 5.2 漢字字模的提取方法 21 5.3 上位機(jī)與單片機(jī)通信協(xié)議 22 5.4 下位機(jī)軟件設(shè)計 23 5.5 中斷數(shù)據(jù)處理 25 6 測試結(jié)果與分析25 6.1 上位機(jī)軟件測試 25 6.2 漢字移動測試 26 6.3結(jié)果分析26 7 總結(jié)26 參考文獻(xiàn).28 致 謝29 附錄 A LED 顯示屏控制卡原理圖30 附錄 B LED 顯示屏控制卡 PCB 電路圖31 附錄 C VB 上位機(jī)界面.32 附錄 D 本設(shè)計顯示效果圖片 .32 附錄 E 程序清單 .33 I LED 顯示屏控制器的設(shè)計與實現(xiàn) 摘 要 本設(shè)計是以 STC12C5A60S2 單片機(jī)作為核心控制器件,外圍存儲芯片實現(xiàn) 漢字編碼的存儲,可以實現(xiàn)中英文字符和動態(tài)顯示,并且可以通過級連的方式來 擴(kuò)展顯示屏的尺寸,增加顯示內(nèi)容。本設(shè)計采用 Visual Basic 6.0 編寫上位機(jī),上 位機(jī)與下位機(jī)采用 RS-232 通信標(biāo)準(zhǔn)來實現(xiàn)。上位機(jī)向下位機(jī)發(fā)送控制命令和需 要存儲的漢字編碼,下位機(jī)接收數(shù)據(jù)并處理上位機(jī)發(fā)送過來的控制命令以及顯 示編碼。由 LED 控制卡驅(qū)動 32*64 點(diǎn)陣屏顯示,利用人眼的滯留現(xiàn)象,達(dá)到能夠 實時修改顯示內(nèi)容的目的。 關(guān)鍵詞 上位機(jī);LED 顯示屏控制卡;32*64 單色點(diǎn)陣屏;時鐘芯片 The Design and Implementation of LED Display Controller Abstract This design is based on STC12C5A60S2 microcomputer as the core control device ,to achieve the storage of the Chinese character coding through external memory chips. The function of the system can be achieved in English characters and dynamic display or can be connected in cascade manner to expand the size and the content of display,. preparation of PC programmed by Visual Basic 6.0, the communication standard between the PC and the microcomputer is RS-232. The preparation of PC send commands and Chinese character coding that needs to be II stored to MCU, the next crew processes commands and the data that was sent from preparation of PC and display coding, 32 * 64 dot matrix display driven by the LED display control card. Achieving the purpose of display contents can be modified in time through human eye phenomenon。 Key words Host computer;LED display control card;32*64 monochrome dot matrix screen;Clock chip 1 1 前言 1.1 LED 電子顯示屏概述 LED 電子顯示屏(Light Emitting Diode Panel)是由幾百至幾十 萬個半導(dǎo)體發(fā)光二極管構(gòu)成的像素點(diǎn),按矩陣均勻排列組成。利用不 同的半導(dǎo)體材料可以制造不同色彩的 LED 像素點(diǎn)1。目前應(yīng)用最廣 的是紅色、綠色、黃色。而藍(lán)色和純綠色 LED 的開發(fā)已經(jīng)達(dá)到了實用 階段。LED 顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的亮度的方式, 來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的 顯示屏幕2。 LED 顯示屏分為圖文顯示屏和條幅顯示屏,均由 LED 矩陣塊組 成。圖文顯示屏可與計算機(jī)同步顯示漢字、英文文本和圖形;而條幅 顯示屏則適用于小容量的字符信息顯示。LED 顯示屏因為其像素單 元是主動發(fā)光的,具有亮度高,視角廣、工作電壓低、功耗小、壽命長、 耐沖擊和性能穩(wěn)定等優(yōu)點(diǎn)3。因而被廣泛應(yīng)用于車站、碼頭、機(jī)場、商 場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和 其它公共場所。LED 顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮 度、更高氣候耐受性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、 全色化方向發(fā)展4。 本文主要研究一種基于 STC12C5A60S2 單片機(jī)的 LED 點(diǎn)陣屏 的控制系統(tǒng),顯示面板為單色 32*64 點(diǎn)陣屏,控制卡上集成了溫度傳 感器和時鐘模塊,可以獨(dú)立顯示時間和溫度。并且有按鍵可以直接在 下位機(jī)上調(diào)整時間與顯示速度,與上位機(jī)采用 RS-232 通信的方式,控 2 制更加簡便。 1.2 LED 電子顯示屏的分類 (1)、按顏色分類:單基色顯示屏:單一顏色(紅色或綠色)。雙基色 顯示屏:紅和綠雙基色,256 級灰度、可以顯示 65536 種顏色。全彩色 顯示屏:紅、綠、藍(lán)三基色,256 級灰度的全彩色顯示屏可以顯示一千 六百多萬種顏色。 (2)、按顯示器件分類:LED 數(shù)碼顯示屏:顯示器件為 7 段碼數(shù)碼 管,適于制作時鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。LED 點(diǎn)陣 圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點(diǎn)陣顯 示模塊,適于播放文字、圖像信息。 (3)、按使用場合分類:室內(nèi)顯示屏:發(fā)光點(diǎn)較小,一般 3mm- 8mm,顯示面積一般零點(diǎn)幾至十幾平方米。室外顯示屏:面積一般幾 十平方米至幾百平方米,亮度高,可在陽光下工作,具有防風(fēng)、防雨、 防水功能。 (4)、按發(fā)光點(diǎn)直徑分類:室內(nèi)屏:3mm、3.75mm、5mm。室外 屏:10mm、12mm、16mm、19mm、21mm、26mm 。室外屏 發(fā)光的基本單元為發(fā)光筒,發(fā)光筒的原理是將一組紅、綠、藍(lán)發(fā)光二 極管封在一個塑料筒內(nèi)共同發(fā)光增強(qiáng)亮度5。 1.3 LED 顯示屏市場前景 LED 全彩顯示屏,是 20 世紀(jì) 90 年代在全球迅速發(fā)展起來的新 型信息顯示媒體。它利用發(fā)光二極管構(gòu)成的點(diǎn)陣模塊或像素單元組成 大面積顯示屏幕,結(jié)合了微電子技術(shù)、光學(xué)技術(shù)、計算機(jī)技術(shù)、信息處 3 理等現(xiàn)代高新技術(shù),以其可靠性高、使用壽命長、環(huán)境適應(yīng)能力強(qiáng)、性 價比合理、使用成本低等特點(diǎn)迅速成為大型平板顯示的主流產(chǎn)品,以 其明顯優(yōu)越于背投、等離子、液晶顯示及電視屏幕的性能而在信息顯 示領(lǐng)域得到了廣泛的應(yīng)用,如體育場館、大型展覽館、市政廣場、演唱 會、車站、機(jī)場等場所6。尤其是以其高亮度,大面積顯示而讓更多人 在戶外也感受到信息時代的來臨。顯示信息無處不在。據(jù)業(yè)內(nèi)專家預(yù) 測,今后幾年全球各類 LED 顯示屏需求每年均達(dá)到幾十億美元,且 還在逐年遞增。國際大都市如紐約、巴黎、倫敦都普遍使用大型 LED 全彩顯示屏作為信息傳播、廣告宣傳的新型載體。在中國,隨著經(jīng)濟(jì) 的飛速發(fā)展,各類場館的興建和市政工程改造項目的興起,國內(nèi)市場 LED 顯示屏需求增長率更是高達(dá) 30以上。按每年 30%的增長速度, LED 顯示屏的市場規(guī)模將會不斷的壯大,由于 LED 產(chǎn)品具有性能穩(wěn) 定、壽命較長、功耗較小以及價格低廉等優(yōu)勢,因此在各種實際應(yīng)用 中具有較強(qiáng)的市場競爭力,市場前景十分廣闊。 2 LED 顯示原理的分析 2.1 LED 點(diǎn)陣模塊結(jié)構(gòu) 八十年代以來出現(xiàn)了組合型 LED 點(diǎn)陣顯示器模塊,以發(fā)光二極 管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封 裝而成7。這種一體化封裝的點(diǎn)陣 LED 模塊,具有高亮度、引腳少、 視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。LED 點(diǎn)陣規(guī)模常見的 有 44、48、57、58、88、1616 等等。 根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色 4 不同,所顯示的文字、圖像等內(nèi)容的顏色也不同。單色點(diǎn)陣只能顯示 固定色彩如紅、綠、黃等單色,雙基色和三基色點(diǎn)陣顯示內(nèi)容的顏色 由像素內(nèi)不同顏色發(fā)光二極管點(diǎn)亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯 示黃色,如果按照脈沖方式控制二極管的點(diǎn)亮?xí)r間,則可實現(xiàn) 256 或 更高級灰度顯示,即可實現(xiàn)真彩色顯示8。 本系統(tǒng)所使用的 88 單色 LED 點(diǎn)陣顯示器的內(nèi)部電路結(jié)構(gòu)和外 形規(guī)格如圖 2.1 所示,其它型號點(diǎn)陣的結(jié)構(gòu)與引腳可試驗獲得。 圖 2.1 88 單色 LED 模塊內(nèi)部電路 LED 點(diǎn)陣顯示器單塊使用時,既可代替數(shù)碼管顯示數(shù)字,也可 顯示各種中西文字及符號。如 5x7 點(diǎn)陣顯示器用于顯示西文字母, 58 點(diǎn)陣顯示器用于顯示中西文,8x8 點(diǎn)陣可以用于顯示簡單的中文 文字,也可用于簡單圖形顯示。用多塊點(diǎn)陣顯示器組合則可構(gòu)成大屏 幕顯示器,但這類大屏幕顯示方法常通過 PC 機(jī)或單片機(jī)控制驅(qū)動。 2.2 LED 動態(tài)顯示原理 LED 點(diǎn)陣顯示系統(tǒng)中各模塊的顯示方式:有靜態(tài)和動態(tài)顯示兩 種。靜態(tài)顯示原理簡單、控制方便,但硬件接線復(fù)雜,在實際應(yīng)用中一 般采用動態(tài)顯示方式,動態(tài)顯示采用掃描的方式工作,由峰值較大的 窄脈沖電壓驅(qū)動,從上到下逐次不斷地對顯示屏的各行進(jìn)行選通,同 5 時又向各列送出表示圖形或文字信息的列數(shù)據(jù)信號,反復(fù)循環(huán)以上操 作,就可以顯示各種圖形或文字信息。 點(diǎn)陣式 LED 漢字廣告屏絕大部分是采用動態(tài)掃描顯示方式,這 種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高 速的循環(huán)顯示,只要幀速率高于 24 幀/秒,人眼看起來就是一個完整 的,相對靜止的畫面9。最典型的例子就是電影放映機(jī)。在電子領(lǐng)域 中,因為這種動態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號線數(shù)量, 便于 PBC 的布局難度促進(jìn)工廠批量生產(chǎn),因此在 LED 顯示技術(shù)中被 廣泛使用。 以 88 點(diǎn)陣模塊為例,說明一下其使用方法及控制過程。紅色水 平線 Y0、Y1Y7 叫做行線,接內(nèi)部發(fā)光二極管的陽極,每一行 8 個 LED 的陽極都接在本行的行線上。相鄰兩行線間絕緣。同樣,紅色 豎直線 X0、X1X7 叫做列線,接內(nèi)部每列 8 個 LED 的陰極,相鄰 兩列線間絕緣。 在這種形式的 LED 點(diǎn)陣模塊中,若在某行線上施加高電平(用 “1”表示),在某列線上施加低電平(用“0”表示)。則行線和列線的交叉 點(diǎn)處的 LED 就會有電流流過而發(fā)光。比如,Y7 為 1,X0 為 0,則右下 角的 LED 點(diǎn)亮。再如 Y0 為 1,X0 到 X7 均為 0,則最上面一行 8 個 LED 全點(diǎn)亮。 現(xiàn)描述一下用動態(tài)掃描顯示的方式,顯示字符“9”的過程。其過 程如圖 2.2 所示。 6 圖 2.2 用動態(tài)掃描顯示字符 9 的過程 假設(shè) X,Y 為兩個 8 位寬的字節(jié)型數(shù)據(jù),X 的每位對應(yīng) LED 模塊 的 8 根列線 X7-X0,同樣 Y 的每位對應(yīng) LED 模塊的 8 根行線 Y7- Y0。在這個示例中,Y 叫行掃描線,行掃描線在每個時刻只有一根線 為“1”即有效行選通電平,X 叫列數(shù)據(jù)線,其內(nèi)容就是點(diǎn)陣化的字模 數(shù)據(jù)的體現(xiàn)。下面用偽代碼描述動態(tài)顯示的過程。 (1)Y=0 x01,X=0 xFF,如圖 2.2 第一行; (2)Y=0 x1C,X=0 x02,如圖 2.2 第二行; (3)Y=0 x22,X=0 x04,如圖 2.2 第三行; (4)Y=0 x22,X=0 x08,如圖 2.2 第四行; (5)Y=0 x1E,X=0 x10,如圖 2.2 第五行; (6)Y=0 x01,X=0 x20,如圖 2.2 第六行; (7)Y=0 x04,X=0 x04,如圖 2.2 第七行; (8)Y=0 x38,X=0 x80,如圖 2.2 第八行; (9)跳到第(1)步循環(huán)。 如果高速地進(jìn)行(1)到(9)的循環(huán),且兩個步驟間的間隔時間小 于 1/24 秒,由于視覺暫留。LED 顯示屏上將呈現(xiàn)出一個完整的“9”字 符。這就是動態(tài)掃描的原理。只不過實際運(yùn)用的時候,列線和行線通 7 常不止 8 位,還要根據(jù)列線和行線的數(shù)量來決定是用行線或列線來做 掃描線。例如 0601 條屏(每行 6 個漢字,共 1 行),行線有 16 根,列線 有 96 根10。如果用列線來做掃描線,則每列 LED 在每 96 次循環(huán)掃 描中只可能亮一次,則其發(fā)光視覺平均亮度為直流亮度的 1/96。如果 用行線來做掃描線,則每 16 次循環(huán),每行 LED 就能亮一次,其發(fā)光 視覺平均亮度為直流情況下的 1/16。可見,用行線做掃描線,因為其 發(fā)光周期的占空比較大,其視覺亮度是用列線做掃描線的 6 倍。因而 發(fā)光效率比前者高。 在實際運(yùn)用的時候,還要在每兩幀之間加上合適的延時,以使人 眼能清晰的看見發(fā)光。在幀切換的時候還要加入余輝消除處理。比如 先將掃描線全部設(shè)置為無效電平,送下一行的列數(shù)據(jù)后再選通掃描線, 避免出現(xiàn)尾影。 3 系統(tǒng)設(shè)計的任務(wù)與方案論證 3.1 設(shè)計任務(wù) 本設(shè)計的任務(wù)要求完成可以控制兼容 T12 和 T08 顯示屏單元板 并可擴(kuò)展顯示單元數(shù)目的單色動態(tài)調(diào)幅屏 (1)、顯示區(qū)域:單色顯示 6432 點(diǎn); (2)、通過上位機(jī)修改顯示內(nèi)容,按鍵可改變顯示內(nèi)容; (3)、能存儲 1616 點(diǎn)陣漢字不少于 64 個。 3.2 設(shè)計方案論證 3.2.1 顯示單元模塊的選擇 LED 顯示屏顯示一個簡單的漢字,至少需要一個 16*16 點(diǎn)陣單 8 元來構(gòu)成,根據(jù)發(fā)光點(diǎn)直徑的大小分為 3.75mm 和 5mm 的 LED 點(diǎn)陣 模塊。 方案一:3.75mm 的小型發(fā)光二極管組成的 8*8 的點(diǎn)陣模塊,發(fā) 光亮度不足,電流過大時易燒壞,遠(yuǎn)距離觀看視覺效果模糊一般把 3.75mm 的屏作為室內(nèi)屏使用。 方案二:5mm 直徑組成的 8*8 點(diǎn)陣模塊,在同樣的距離內(nèi) 5mm 直徑的發(fā)光二極管組成的 8*8 的點(diǎn)陣模塊所發(fā)出的亮度值大約是 3.75mm 單元模塊的一倍,清晰程度也高于 3.75mm 的單元模塊。 因此為了在較遠(yuǎn)距離處獲得清晰的視覺效果,本設(shè)計選擇方案 二,采用 32 個 88 點(diǎn)陣單元,像素直徑 5mm 的 LED 模塊拼接成 32*64 的 LED 顯示屏。這樣每個 88 漢字能夠獲得 1616cm 的顯示 尺寸,因此在 50 米處仍能清晰閱讀。而本設(shè)計使用是一塊完整的 32*64 的點(diǎn)陣屏,能同時顯示 8 個漢字。 3.2.2 主控制器的選擇 隨著廣告屏顯示內(nèi)容的多媒體化,對控制器傳輸速度,運(yùn)算能力 的要求越來越高。從單片機(jī),到 FPGA,直到現(xiàn)在的 ARM 處理器???制器的種類也在不斷發(fā)展以適應(yīng)市場需求,不同功能檔次的廣告屏對 應(yīng)著不同的處理器。 方案一:以單片機(jī)(STC12C5A60S2 高速單片機(jī))為控制器的 LED 顯示屏。STC12C560S2 單片機(jī)是傳統(tǒng)的 8051 單片機(jī)的升級版, 外部時鐘頻率可達(dá)到 80MHZ、60K 的 FLASH 存儲器、1280 字節(jié)的 ROM 和 10 位 A/D 轉(zhuǎn)換,擁有 P4 口適合需要多個 I/O 的設(shè)計系統(tǒng)。 9 其內(nèi)部資源對于點(diǎn)陣單元模塊確定的條屏 LED 顯示屏,無論從存儲 容量還是單片機(jī)的執(zhí)行速度都能很好的適用單元點(diǎn)陣模塊確定的 LED 顯示屏 方案二:以 FPGA(復(fù)雜可編程邏輯門陣列)為控制器的 LED 顯 示屏。FPGA 以高速、并行著稱。是近年來新興的可編程邏輯器件。用 他作為 LED 顯示屏的控制器,能夠高速的處理色階 PWM 信號、高速 的完成動態(tài)掃描邏輯、高速的完成字符移動算法。因此被運(yùn)用于雙基 色、三基色的顯示系統(tǒng)。但是其成本較高,開發(fā)難度較大。 方案三:以 ARM(32 位 RISC 架構(gòu)高性能微處理器)為控制器的 LED 顯示屏。ARM 有著極高的指令效率,極高的時鐘頻率。因此其 運(yùn)算能力非常強(qiáng)大,內(nèi)部資源也十分豐富,極大的簡化了硬件設(shè)計的 難度,縮短了開發(fā)周期。在條屏的運(yùn)用中,能用 ARM 來實現(xiàn)花樣繁 多的顯示方式,以及高色階,多像素的全彩屏驅(qū)動。ARM 與 FPGA 的 組合更是功能強(qiáng)大,除了海量存儲技術(shù),無線更新技術(shù)外,還能實時 地顯示視頻信號。因此,以 ARM 為控制器的顯示屏常為視頻全彩屏。 經(jīng)過上面方案的比較最終確定選擇方案一,選用 STC12C5A60S2 單片機(jī)作為本次設(shè)計的核心控制器,其內(nèi)部資源豐 富、成本比較低廉各項功能均能滿足本設(shè)計的要求。 3.2.3 點(diǎn)陣數(shù)據(jù)存儲方式的選擇 目前使用最廣泛的技術(shù)是,通過上位機(jī)軟件將待顯示的字符串轉(zhuǎn) 換為對應(yīng)的點(diǎn)陣字模數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的 10 順序編址后存儲在 E2PROM 中。在條屏顯示的過程中按規(guī)定的方式 取出 E2PROM 中的字模數(shù)據(jù)進(jìn)行處理。對于一個 16*16 點(diǎn)陣的漢字 字模數(shù)據(jù),需要連續(xù) 32 字節(jié)的 E2PROM 空間來存儲。照此計算,若 有 256 個需要顯示的字符,則至少需要 32B256=8192 字節(jié)(8KB)的 E2PROM 存儲空間。通常的單片機(jī)內(nèi)部沒有集成這么大容量的 E2PROM。因此需要在單片機(jī)外部擴(kuò)展大容量的 E2PROM。 方案一:選用 FLASH 存儲器來存儲上位機(jī)發(fā)送過來的漢字編碼, FLASH 存儲器種類多樣,其中最為常用的為 NOR 型和 NAND 型 FLASH。通常 NOR 型比較適合存儲程序代碼,其隨機(jī)讀寫速度快, 容量一般較小,且價格較高,一般只能整塊讀寫數(shù)據(jù),隨機(jī)存取能力 差。它們對數(shù)據(jù)的存取不是使用線性地址映射,而是通過寄存器的操 作串行存取數(shù)據(jù)。FLASH 存儲器的擦除過程相對費(fèi)時,且擦除流程 相對復(fù)雜。 方案二:選用 AT24C64 存儲器來存儲漢字編碼,AT24C64 采用的 是 I2C 總線接口方式,I2C 總線是一種用于 IC 器件之間連接的二線制 總線。連接總線的器件的輸出必須是集電極或漏極開路,以具有線 “與”功能。I2C 總線的數(shù)據(jù)傳送速率在標(biāo)準(zhǔn)工作方式下為 100kbit/s, 在快速方式下,最高傳送速率可達(dá) 400kbit/s。它通過 SDA(串行數(shù)據(jù) 線)及 SCL(串行時鐘線)兩根線和連在總線上的上位機(jī)進(jìn)行通信,并 根據(jù)地址識別每個器件。采用 I2C 總線標(biāo)準(zhǔn)的單片機(jī)或 IC 器件,其內(nèi) 部不僅有 I2C 接口電路,而且將內(nèi)部各單元電路按功能劃分為若干相 對獨(dú)立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接。 11 CPU 不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對 該單元的工作狀況進(jìn)行檢測,從而實現(xiàn)對硬件系統(tǒng)既簡單又靈活的擴(kuò) 展與控制。 由于本設(shè)計的任務(wù)是需要存儲漢字不少于 64 個,采用 FLASH 芯片來存儲漢字編碼,其操作復(fù)雜、成本太高,不適合在本次設(shè)計中 采用 FLASH 芯片,因此本設(shè)計采用方案二來存儲上位機(jī)發(fā)送過來的 漢字編碼并用尋址讀取數(shù)據(jù)。 3.2.4 系統(tǒng)總體結(jié)構(gòu)及原理分析 通過對各種方案的比較與分析,初步構(gòu)建硬件系統(tǒng)框圖如圖 3.1 所示。 低8位行掃描線 高8位行掃描線 行掃描驅(qū)動電路 Y0 Y15 X0 X1Xn 16位移位寄存器16位移位寄存器 16位移位寄存器 電源 STC12C5A60S2 單片機(jī) EEPORM64 上位機(jī) RS-232 電平轉(zhuǎn)換 RS-232屏蔽線 I/O口 I/O口 通用IO口 圖 3.1 LED 顯示屏系統(tǒng)框圖 在圖 3.1 中,X0、X1Xn 為顯示單元。整個顯示單元由一個 32*64 點(diǎn)陣的 LED 模塊和一個 32 位寬的移位鎖存器(串行并行轉(zhuǎn) 換器)構(gòu)成。所有顯示單元的 16 根行線均連接到公共的行掃描驅(qū)動電 路。而每個顯示單元的列數(shù)據(jù)則由 16 位移位鎖存器并行輸出口提供。 12 中央微處理器 MCU 負(fù)責(zé)與所有外圍設(shè)備的協(xié)調(diào)通信,以及各種算法 的處理。MCU 通用 I/O 口來驅(qū)動行掃描驅(qū)動電路。通用 I/O 口模擬同 步串行接口以實現(xiàn)和列數(shù)據(jù)鎖存器(移位鎖存器)之間的單向通信。 3.2.5 工作原理分析 單片機(jī)上電復(fù)位后,先從外部存儲器 E2PROM 讀取上次存儲在 內(nèi)部的顯示模式,在 32*64 單色屏中上半屏存儲時間、溫度等數(shù)據(jù)。 下半屏存儲的是上位機(jī)要傳輸過來的數(shù)據(jù)。進(jìn)入下載模式后從上位機(jī) 傳送來的數(shù)據(jù)經(jīng)過 MAX232 串口存放到單片機(jī)內(nèi)部的擴(kuò)展數(shù)據(jù)存儲 區(qū),在 AT24C64 存儲區(qū)中開辟 192 字節(jié)(1536 位)動態(tài)顯示緩沖區(qū) Display_Buffer 和 32 字節(jié)的字模數(shù)據(jù)緩存區(qū) Temp_Buffer,兩個緩存 區(qū)編址連續(xù)。Display_Buffer 中的一位與 LED 的一個點(diǎn)陣一一對應(yīng)。 遵循結(jié)構(gòu)化的程序設(shè)計思路,把單片機(jī)在顯示模式時所有工作量分為 以下三個任務(wù): (1)、掃描顯示任務(wù):掃描顯示任務(wù)負(fù)責(zé)把 Display_Buffer 中的數(shù) 據(jù)依次發(fā)送到列驅(qū)動器 74HC595,并按嚴(yán)格的時序高電平選通十六 根行掃描線(Y0Y15),使每一列數(shù)據(jù)對應(yīng)著一個行線狀態(tài)。 (2)、移動處理任務(wù):移動處理任務(wù)負(fù)責(zé)完成顯示字符逐點(diǎn)陣向左 移動的算法處理,這是最基本的顯示效果。其它大部分顯示效果如: 左移六字暫停,全屏定格顯示等都是以逐位左移為基礎(chǔ)。對顯示字符 的移動,實質(zhì)上是對顯示緩沖區(qū) Display_Buffer 內(nèi)數(shù)據(jù)的移動。 該算法是將 Display_Buffer 和 Temp_Buffer 中的數(shù)據(jù)首尾相接地左移 一位,并不斷把 Temp_Buffer 移入 Display_Buffe。 13 (3)、字符更新任務(wù):在單片機(jī)的 xdata 區(qū)開辟了 32 字節(jié)的字模數(shù) 據(jù)緩存區(qū) Temp_Buffer。該緩存區(qū)與 Display_Buffer 編址連續(xù)。當(dāng)調(diào) 用字符更新任務(wù)時,程序從 E2PROM 內(nèi)碼區(qū)指定位置讀取相鄰兩字 節(jié)的漢字內(nèi)碼數(shù)據(jù)。并通過一定的算法,把上位機(jī)發(fā)送的漢字編碼轉(zhuǎn) 換成標(biāo)準(zhǔn)的 GB2312 漢字編碼。單片機(jī)通過 I2C 接口,向 E2PROM 發(fā) 送讀命令和地址,單片機(jī)連續(xù)讀取 32 字節(jié)的全角漢字字模數(shù)據(jù)或 16 字節(jié)的 ASCII 半角字模數(shù)據(jù)。這些字模數(shù)據(jù)就存儲在 32 字節(jié)的字模 數(shù)據(jù)緩存區(qū)中。字模數(shù)據(jù)緩存區(qū) Temp_Buffer 中的數(shù)據(jù)可通過調(diào)用移 動處理任務(wù)而逐位轉(zhuǎn)移至動態(tài)顯示緩沖區(qū) Display_Buffer 中,這樣在 LED 顯示屏上就顯示我們所需要的內(nèi)容。 4 硬件電路設(shè)計 4.1 LED 控制卡電路設(shè)計 LED 點(diǎn)陣屏控制卡是整個 LED 顯示屏的核心控制器件,它集 成了 STC12C5A60S2 主控芯片、時鐘芯片、溫度傳感器、存儲芯片、 串口轉(zhuǎn)換電路為一體的控制器,它是控制點(diǎn)陣屏的核心部分,各項功 能的實現(xiàn)必須經(jīng)過控制卡的控制。通過 LED 控制卡來驅(qū)動 32*64 顯 示屏上面的行,列選通芯片,把十六進(jìn)制漢字編碼送 74HC595 顯示。 本系統(tǒng)設(shè)計的控制卡接有標(biāo)準(zhǔn)的 T08 接口和 T12 接口,也適合其它 型號的點(diǎn)陣屏使用本控制卡,因此控制卡的設(shè)計非常重要。圖 4.1 為 核心控制器件與標(biāo)準(zhǔn)的接口,其他各個部分控制電路(見附錄 A) 14 P4.2/INT3 1 P1.0/T2 2 P1.1/T2EX 3 P1.2 4 P1.3 5 P1.4 6 P1.5 7 P1.6 8 P1.7 9 RST 10 RXD/P3.0 11 INT2P4.3 12 TXD/P3.1 13 INT0/P3.2 14 INT1/P3.3 15 T0/P3.4 16 T1/P3.5 17 WR/P3.6 18 RD/P3.7 19 XTAL2 20 XTAL1 21 GND 22 P4.0 23 P2.0 24 P2.1 25 P2.2 26 P2.3 27 P2.4 28 P2.5 29 P2.6 30 P2.7 31 P4.4 32 ALE/P4.5 33 P4.1 34 P4.6 35 P0.7 36 P0.6 37 P0.5 38 P0.4 39 VCC 44 P0.0 43 P0.1 42 P0.2 41 P0.3 40 STC12C5A60S2 PLCC-44 *1 89C52-44 30P C6 30P C7 GND 10F CJ1 1k R2 10k R4 S5 GND VCC RST RST X1 X2 X1 X2 18B20 SCL SDA P2.5 P2.3 P2.4 P3.3 1 2 3 4 5 6 7 8 P2 CON1x8 1 2 3 4 5 6 7 8 P1 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 P4 CON1x8 1 2 3 4 5 6 7 8 P3 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 9 10 P5 1 2 3 4 5 6 7 8 9 10 P6 GND STB CLK R1 EN D C B A R2 G1 1 2 PJ1 P3.0 P3.1 GND VCC R1 R2 G1 G2 EN STB CLK A B C D P3.4 P3.5 P3.6 P3.7 12 Y1 11.0592kHZ T20單 單 T08單 單 T08單 單 單 單 單 單 單 單 單 圖 4.1 控制卡原理圖 4.1.1 列驅(qū)動電路設(shè)計 本設(shè)計中 32*64 點(diǎn)陣屏的列驅(qū)動電路由 16 片串聯(lián)的 8 位移位鎖 存器 74HC595 構(gòu)成,如下圖 4.2 所示,通過第一片串行數(shù)據(jù)輸出腳 (SQ)接入第二片的數(shù)據(jù)輸入端,再從第二片的數(shù)據(jù)輸出腳接入第三 片 595 的 14(SI)腳數(shù)據(jù)輸入端,這樣通過多片級聯(lián)就可以控制多個 點(diǎn)陣屏模塊的列選,再加上時鐘線(CLK),輸出鎖存數(shù)據(jù)線(RST), 多塊 595 級聯(lián)時也只要控制這三個控制端口我們就可以控制 32*64 點(diǎn)陣屏的列選號的輸出。 74HC595 在 5V 供電的時候能夠達(dá)到 30MHz 的時鐘速度,每個 并行輸出端口均能承受 20mA 的灌電流和拉電流。這個特點(diǎn)保證了不 用增加額外的擴(kuò)流電路即可輕松的驅(qū)動 LED。它輸入端允許 500nS 的上升(下降)時間,對嚴(yán)重畸形的時鐘脈沖仍能檢測。這樣就可以容 納較大的傳輸線對地電容,使本設(shè)計的抗干擾能力增強(qiáng)。 由于 LED 顯示屏的工作電流時刻在變化,造成了系統(tǒng)電壓的波 動。這種電壓波動有高頻成分,也有低頻成分。輕則對周圍無線電環(huán) 15 境造成電磁污染,重則使系統(tǒng)時鐘紊亂,邏輯錯誤。為避免此問題,在 每個 74HC595 的電源 VCC 和 GND 旁邊都并聯(lián)了兩個電容,用于濾 波和退耦。穩(wěn)定系統(tǒng)電壓,旁路掉電源中的高頻脈動成份。消除自激, 減小對外雜散電磁輻射,提高 EMI 電磁兼容性。 Q1 1 Q2 2 Q3 3 Q4 4 Q5 5 Q6 6 Q7 7 GND 8 Q7 9 MR 10 SHcp 11 STcp 12 OE 13 DS 14 Q0 15 VCC 16 1 74HC595 Q1 1 Q2 2 Q3 3 Q4 4 Q5 5 Q6 6 Q7 7 GND 8 Q7 9 MR 10 SHcp 11 STcp 12 OE 13 DS 14 Q0 15 VCC 16 2 74HC595 GNDGND GB64 GB65 GB66 GB67 GB68 GB69 GB70 GB71 GB72 GB73 GB74 GB75 GB76 GB77 GB78 GB79 VCC GND VCC GND VCC VCC R1 RST CLK SD 圖 4.2 兩片 74HC595 級聯(lián)圖 4.1.2 行驅(qū)動電路設(shè)計 32*64 點(diǎn)陣屏共用 16 片 138 級聯(lián),通過總線驅(qū)動芯片 74HC245 驅(qū)動行/列信號,從總線上的低 4 位輸出的行號經(jīng)兩片 138 級聯(lián)后形 成 4/16 線譯碼器后生成 16 條行選信號,具體電路如圖 4.3 所示。再 經(jīng)過驅(qū)動管驅(qū)動對應(yīng)的行線。一條線上要帶動 32 列的 LED 燈同時發(fā) 光時,按每一 LED 器件 15mA 電流計算,32 個 LED 同時發(fā)光時,需 要 480mA 的電流,選用三極管 8550 作為驅(qū)動管可以滿足要求。 74HC138 為 3 線8 線譯碼器,其工作原理為:當(dāng)一個選通端 (G1)為高電平,另外兩個選通端 G2A 和 G2B 為低電平時,可將地址 端(A、B、C)的二進(jìn)制編碼在至對應(yīng)的輸出端以低電平譯出, 當(dāng)數(shù)據(jù)超過位之后,電平拉高后可對數(shù)據(jù)操作。兩片級聯(lián)后的 138 電路如下: 16 A 1 B 2 C 3 G2A 4 G2B 5 G1 6 Y0 7 GND 8 Y1 9 Y2 10 Y3 11 Y4 12 Y5 13 Y6 14 Y7 15 VCC 16 U3 74HC138 A 1 B 2 C 3 G2A 4 G2B 5 G1 6 Y0 7 GND 8 Y1 9 Y2 10 Y3 11 Y4 12 Y5 13 Y6 14 Y7 15 VCC 16 U2 74HC138 VCCVCC GNDGND A0 B0 C0 OE1 D0 D0 C0 B0 A0 OE2 OE2 圖 4.3 兩片 74HC138 級聯(lián)電路圖 4.2 時鐘模塊電路設(shè)計 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計 時,具有閏年補(bǔ)償功能,工作電壓為 2.5V5.5V。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信 號或 RAM 數(shù)據(jù)。DS1302 內(nèi)部有一個 318 的用于臨時性存放數(shù)據(jù) 的 RAM 寄存器。DS1302 是 DS1202 的升級產(chǎn)品,與 DS1202 兼容, 但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進(jìn)行 涓細(xì)電流充電的能力,可以對時間進(jìn)行不掉電保存。圖 4.4 為時鐘模 塊電路: VCC 1 X1 2 X2 3 GND 4 RST 5 I/O 6 SCLK 7 VCC2 8 DS1302 U2 DS1302 10P C8 10p C9 VCC GND 10k R3 12 BT1 CR1220 GND VCC P2.3 P2.4 P2.5 GND 12 Y2 32.768KHZ 圖 4.4 DS1302 時鐘電路圖 4.3 溫度驅(qū)動電路設(shè)計 Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器 DS1820 是世界上第一片 17 支持“一線總線差為 2C ?,F(xiàn)場溫度直”接口的溫度傳感器。一線總 線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系 統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在新一代的“DS1820”體積更小、更經(jīng)濟(jì)、 更靈活。DS18B20 支持“一線總線”接口,測量范圍-55C+125C,在- 10+85C 范圍內(nèi),精度為0.5C。DS1822 的精度較接以“一線總線”的 數(shù)字方式傳輸,見圖 4.5 所示這種方式大大提高了系統(tǒng)的抗干擾性。 適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測 溫類消費(fèi)電子產(chǎn)品等。本設(shè)計通過不斷采集 DS18B20 的 I/O 口輸出 的數(shù)據(jù)送入顯示函數(shù)實時更新采集過來的溫度然后送 LED 顯示屏顯 示。 GND E I/O B VCC C DS1 DS18B20 10k R9 GND VCC 18B20 圖 4.5 溫度采集電路 4.4 MAX232 串行通信電路設(shè)計 要使上位機(jī)能對條屏進(jìn)行參數(shù)設(shè)置,顯示內(nèi)容更新等操作,就離 不開和上位機(jī)的通信。有并行和串行兩種通信方式,為了節(jié)約傳輸線 成本。本設(shè)計采用 RS-232C 串行通信方式。如圖 4.6 所示的 P3.0 與 P3.1 口接入單片機(jī)的數(shù)據(jù)輸入端和數(shù)據(jù)輸出端,通過 LED 燈的閃爍 判斷數(shù)據(jù)是否已傳輸?shù)较挛粰C(jī)。 RS-232C 是由美國電子工業(yè)協(xié)會(EIA)正式公布的,在異步串行 通信中應(yīng)用最廣泛的標(biāo)準(zhǔn)總線。現(xiàn)在,計算機(jī)上的串行通信端口(RS- 232C)是標(biāo)準(zhǔn)配置端口,已經(jīng)得到廣泛應(yīng)用,計算機(jī)上一般都有 12 18 個標(biāo)準(zhǔn) RS-232C 串口,即通道 COM1 和 COM211。 RS-232C 規(guī)定最大的負(fù)載電容為 2500pF,這個電容限制了傳輸 距離和傳輸速率,由于 RS-232C 的發(fā)送器和接收器之間具有公共信 號地(GND),屬于非平衡電壓型傳輸電路,不使用差分信號傳輸,因 此不具備抗共模干擾的能力,共模噪聲會耦合到信號中。在不使用調(diào) 制解調(diào)器(MODEM)時,RS-232C 能夠可靠進(jìn)行數(shù)據(jù)傳輸?shù)淖畲笸ㄐ?距離為 15 米。因此不適合做遠(yuǎn)距離通信,但是對于條屏,通信 15 米 的通信距離已經(jīng)足夠。 C1+ 1 V+ 2 C1- 3 C2+ 4 C2- 5 V- 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U1 MAX232 104 C1 104 C2 104 C4 104 C5 104 C3 GND GND 1 6 2 7 3 8 4 9 5 J1 DB9 GND P3.0 P3.1 D1 LED 1k R1 VCC VCC 圖 4.6 上位機(jī)與單片機(jī)串行通信電路圖 4.5 系統(tǒng)電源及通信電纜的選擇 4.5.1 對于 LED 顯示屏的電源要求 本系統(tǒng)沒有設(shè)置獨(dú)立的 5V 穩(wěn)壓器件,因此要求外部能對其提供 相對穩(wěn)定的電壓。為保證單片機(jī)等集成電路的穩(wěn)定工作,要求電源電 壓的最大波動范圍在 4.8-5.2V 之間。 本系統(tǒng)的工作電流隨著顯示內(nèi)容的不同有很大變化。在 LED 全 滅的狀態(tài)下,耗電電流為 60mA 左右;在 LED 全亮的情況下,工作電 流可以達(dá)到 3A;在滾動顯示漢字的時候,耗電約為 500mA 左右。因 19 此,要求供電電源在負(fù)載電流變化較大的情況下能保持相對穩(wěn)定的電 壓輸出。同時,條屏一般是全天候工作,對電源系統(tǒng)的長時間工作的 穩(wěn)定性要求較高。 考慮到上述因素,本設(shè)計采用功率容量 200W,輸出 5V/40A 的成 品單端反激式開關(guān)電源來為條屏系統(tǒng)供電。10A 的電流容量對于條屏 系統(tǒng) 3A 的滿負(fù)荷電流仍有較大的余量。保證了長時間使用穩(wěn)定性。 4.5.2 開關(guān)電源在 LED 屏應(yīng)用中的優(yōu)勢 使用開關(guān)電源,相對于線性電源來說,有以下幾個明顯的優(yōu)勢。 成本低廉:同等電壓和電流容量的開關(guān)穩(wěn)壓電源的成本,是傳統(tǒng)的工 頻變壓器線性穩(wěn)壓電源的 30%左右。因此,在許多場合,開關(guān)電源已 逐步取代線性電源。高效率:體現(xiàn)在極高的轉(zhuǎn)換效率和極低的調(diào)整損 耗上,開關(guān)電源的換能器是工作在開關(guān)狀態(tài)下,因此轉(zhuǎn)換的效率極高, 長時間滿負(fù)荷工作也不會引起電源過熱。正好滿足條屏的應(yīng)用場合。 功率密度大:開關(guān)電源能夠輕松地提供 10A 以上的電流。在同等輸出 功率下,開關(guān)電源的體積只有線性電源的四分之一,重量為線性電源 的十分之一。功率越大,其優(yōu)勢越明顯。對于通信電纜的選擇,本設(shè)計 是將通信線和電源輸入合并在一個 DB9 連接器上。外部電纜使用多 芯屏蔽電纜。這樣的設(shè)計,緊湊美觀,堅固耐用。 5 系統(tǒng)軟件設(shè)計 5.1 上位機(jī)軟件設(shè)計 因為是采用 VB 語言進(jìn)行設(shè)計,故是采用面向?qū)ο蟮乃枷脒M(jìn)行編 程。沒有像 C 語言一樣的具體流程,只能將各主要控件的主要事件響 20 應(yīng)作簡要流程說明,具體流程圖如 5.1 所示。其關(guān)鍵的 HZK16*16 的 漢字提取程序如下:。 For i = 1 To 32 Step 1 字模校正對話框的字模代碼顯示 If Len(Hex(zw(i) = 1 Then Text2.Text = Text2.Text (2)、器件選擇時要詳細(xì)閱讀器件使用手冊,不但要考慮器件的功 能實現(xiàn)還要考慮器件在整個系統(tǒng)中的兼容性; (3)、硬件系統(tǒng)的建立必須合理和穩(wěn)定,實物建立之前最好進(jìn)行仿 真這樣才能為軟件提供一個可靠的試驗平臺; (4)、軟件的編寫不但要實現(xiàn)功能還要不端的優(yōu)化、簡練、易讀。雖 然設(shè)計結(jié)束了,但學(xué)習(xí)還在繼續(xù)。我相信通過此次設(shè)計所得到的知識、 心得、經(jīng)驗?zāi)酥粮惺芤矔屛以谝院蟮娜兆永锸芤娣藴\。 28 參考文獻(xiàn) 1 關(guān)積珍.LED 顯示屏發(fā)展?fàn)顩r及趨勢J. 世界電子元器件,2000, (02):277-301. 2 關(guān)積珍,陸家和.我國 LED 顯示屏技術(shù)和產(chǎn)業(yè)發(fā)展及展望J. 現(xiàn)代顯示,2004,(02):34-37. 3 袁波,朱保華.LED 顯示屏的應(yīng)用及發(fā)展?fàn)顩rJ.中國電子報,2004,09: 2-8. 4 王爾鎮(zhèn).我國 LED 及顯示屏的技術(shù)和市場概況J. 微電子技術(shù) .1998,(06):1-10. 5 高春艷,李俊民,劉彬彬.Visual Basic 應(yīng)用開發(fā)完全手冊/明日科技編著M.北京:人民郵 電出版社,2006.12: 33-76. 6 李朝青 劉艷玲,沈怡麟.單片機(jī)與 PC 機(jī)網(wǎng)絡(luò)通信技術(shù)M. 北京:北京航空航天大學(xué)出 版社,2007,2: 1-110. 7 譚浩強(qiáng).C 程序設(shè)計(第二版)M. 北京:清華大學(xué)出版社, 1999:12-56. 8 郭天祥.新概念 51 單片機(jī) C 語言教程M. 北京:電子工業(yè)出版社,2009,1:178-184. 9 付軍. VisualBasic 實用編程 100 例M. 北京: 中國鐵道出版社,2003,5: 152-158. 10 李長林.VisualBasic 串口通信技術(shù)與典型實例M. 北京:清華大學(xué)出版社, 2004: 4-89. 11 周子琛,申振寧用 VB 實現(xiàn)計算機(jī)與單片機(jī)的串行通信J半導(dǎo)體術(shù),2002,27(1):42-44. 12 Miscrosoft 公司.Visual Basic6.0 中文版語言參考手冊M. 北京:希望電腦公司希望圖書 創(chuàng)作室, 1999: 1391-1394. 13 李現(xiàn)勇.Visual C+串口通信技術(shù)與工程實踐(第二版)M.北京:人民郵電出本社, 2004.7: 310-314. 29 致 謝 30 附錄 A LED 顯示屏控制卡原理圖 P4.2/INT3 1 P1.0/T2 2 P1.1/T2EX 3 P1.2 4 P1.3 5 P1.4 6 P1.5 7 P1.6 8 P1.7 9 RST 10 RXD/P3.0 11 INT2P4.3 12 TXD/P3.1 13 INT0/P3.2 14 INT1/P3.3 15 T0/P3.4 16 T1/P3.5 17 WR/P3.6 18 RD/P3.7 19 XTAL2 20 XTAL1 21 GND 22 P4.0 23 P2.0 24 P2.1 25 P2.2 26 P2.3 27 P2.4 28 P2.5 29 P2.6 30 P2.7 31 P4.4 32 ALE/P4.5 33 P4.1 34 P4.6 35 P0.7 36 P0.6 37 P0.5 38 P0.4 39 VCC 44 P0.0 43 P0.1 42 P0.2 41 P0.3 40 STC89C52 PLCC-44 *1 89C52-44 30P C8 30P C9 GND 10F CJ1 1k R7 10k R9 S6 GND VCC RST RST X1 X2 X1 X2 GND E I/O B VCC C DS1 DS18B20 10k R8 GND VCC 18B20 18B20 A0 1 A1 2 A2 3 VSS 4 SDA 5 SCL 6 WP 7 VDD 8 U2 24C08 10k R5 10k R4 VCC GND GND SDA SCL SCL SDA VCC 1 X1 2 X2 3 GND 4 RST 5 I/O 6 SCLK 7 VCC2 8 DS1302 *2 DS1302 10P C6 10p C7 VCC GND 10k R3 12 BT1 CR1220 GND VCC P2.3 P2.4 P2.5 P2.5 P2.3 P2.4 S1 S2 S3 S4 GND P3.4 P3.5 P3.6 P3.7 1 2 3 P7 VCC GND 1k R6 VCC P3.3 P3.3 C1+ 1 V+ 2 C1- 3 C2+ 4 C2- 5 V- 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U1 MAX232 104 C1 104 C2 104 C4 104 C5 104 C3 GND GND 1 6 2 7 3 8 4 9 5 J1 DB9 GND P3.0 P3.1 D1 LED 1k R1 VCC VCC 1 2 3 4 5 6 7 8 P4 CON1x8 1 2 3 4 5 6 7 8 P3 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 P6 CON1x8 1 2 3 4 5 6 7 8 P5 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 9 10 P1 1 2 3 4 5 6 7 8 9 10 P2 GND STB CLK R1 EN D C B A R2 G1 - D1 D2 + USB1 GND S5 SW6 1kR2 D2 LED VCC GND 1 2 PJ2 1 2 PJ3 GND VCC 1 2 PJ1 P3.0 P3.1 GND VCC R1 R2 G1 G2 EN STB CLK A B C D P3.4 P3.5 P3.6 P3.7 GND 12 Y1 6MHZ 12 Y2 11.0592kHZ 溫度傳感器 AT24C64存儲器 DS1302時鐘模塊 串口通信模塊 08接口 我的屏接口 主控器芯片 31 附錄 B LED 顯示屏控制卡 PCB 電路圖 (頂層)(頂層) (底層)(底層) 32 附錄 C VB 上位機(jī)界面 附錄 D 本設(shè)計顯示效果圖片 (1)陽碼靜態(tài)顯示效果 (2)低刷新率顯示移動效果 33 (3)中速刷新顯示移動效果 附錄 E 程序清單 #include #include“zimo.h“/字模采用陰碼逐行 顯示 32x32 #define uchar unsigned char #define uint unsigned int #define SPEED 2 /定義速度 4-6 #define LIGHT 10 /定義亮度:取值 范圍 0-10 #define NUMBER 7 /定義要顯示總 32X32 漢字個數(shù),計算方法: NUMBER=漢字個數(shù) uchar word=0,col=0,coll=0,disrow=0;/wor 為 要顯字變量,col 為位移變量,col1 為 字節(jié)偏移量,disrow 為行變量 uchar BUFF_UP17; /上半屏顯示緩 2 沖 上下緩沖字節(jié)數(shù)取值=2*板點(diǎn)陣寬 度/8+1 比較保險,即兩倍板的點(diǎn)陣字 節(jié)數(shù). uchar BUFFDOWN17; /下半屏顯 示緩沖 sbit A=P10; sbit BB=P11; sbit C=P12; sbit D=P13; sbit R1=P15; sbit R2=P35;/綠色數(shù)據(jù) sbit CLK=P17; sbit STB=P16; sbit OE =P01;/74HC138 使能:低有 效 uchar Recive=1; /根據(jù)列指針由雙字節(jié)合并為單字節(jié) 的子程序模塊 uchar Combine_2byte(uchar h1,uchar h2) uchar T_date,tempcol; tempcol=coll; T_date=(h1tempcol)|(h2i) /取出最 4 高位 e2=(TEMP0i) /取出最 高位/ R1=e1; R2=e2; CLK=0; CLK=1; /移位時鐘 void delay(unsigned int i) unsigned int j; for(;i0;i-) for(j=5;j0;j-); void PWM_LIGHT(uchar p) /亮度調(diào)整 OE=0; delay(p); OE=1; delay(10-p); void UART() interrupt 4 EA=1; if (RI) /RI 接受中斷標(biāo)志 RI=0; /清除 RI 接受中斷標(biāo)志 Recive=SBUF;/SUB 緩沖器 EA=1; /主函數(shù)入口 void main(void) uchar i; SCON = 0 x50; /REN=1 允許串 行接受狀態(tài),串口工作模式 1 TMOD|= 0 x20; /定時器工作方式 2 PCON|= 0 x80; TH1 = 0 xE6;/波特率 9600、 數(shù)據(jù)位 8、停止位 1。效驗位無 (12M) TL1 = 0 xE6; TR1 = 1; ES = 1; /開串口中斷 EA = 1; / 開總中斷 TR1=1; /啟動定時器 1 PS=1; /串口中斷優(yōu)先 R1=0; /數(shù)據(jù)初始化 R2=0;