




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 畢 業 論 文論文題目:基于單片機的 Led 點陣廣告牌設計學 院: 理工學院專 業: 電子信息工程年 級: 08 電信(2)姓 名: 胡 超指導教師: 徐小明職 稱: 講 師(2012 年 5 月)宜春學院教務處制【摘要】本設計使用 AT89C51 系列高速單片機作為主控制模塊,利用簡單的外圍電路來驅動 8016 的點陣 LED 顯示屏。利用 AT89C51 系列高速單片機本身強大的功能,可以很方便的實現單片機與計算機間的數據傳輸及存儲,并能利用軟件方便的實現顯示內容的多樣變化,另一方面點陣顯示屏廣泛的應用于醫院、通訊、銀行等公共場所,所以本設計具有很強的現實應用性。本 LED 顯示屏能夠
2、以動態掃描的方式同時顯示 4 個 1616 點陣漢字,并能通過上位機軟件修改顯示內容和顯示效果等等。把字符內碼存儲在空閑的單片機程序存儲器空間,使本LED 顯示系統能掉電存儲 1024 個字符。設計中采用了 SPI 接口的 GB2312 標準字庫,支持所有的國標字符和 ASCII 標準字符的顯示。因為采用串行傳輸方式,使本系統的可擴展性得到提升,便于多個顯示單元的級聯。本文從 LED 的顯示原理入手,詳細闡述了 LED 動態顯示的過程,以及硬件電路的設計、計算和軟件的算法。【關鍵詞】 動態顯示;單片機;點陣字庫Led dot matrix based on single chip design
3、 billboardsAbstract: This design uses STC12C series MCU as a main controller, and depends on a simple external circuit to drive 9616 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,
4、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, communications ,airports, banks and other public places. Therefore, the design has a strong practical application. The LED Display dynamic
5、 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 dis
6、play 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 displ
7、ay 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.Key Words: MCU;Serial Data Transfer;Llattice Llibrary目錄目錄1 1 前言前言.5 51.1 選題的依據和意義 .51.2 國內外發展狀況 .51.3、本課題研究
8、內容 .62 2 概述概述.6 62.1 LED 點陣顯示屏介紹點陣顯示屏介紹.62.2 LED 電子顯示屏的分類電子顯示屏的分類.62.3 LED 點陣顯示屏的特點:.73 3 顯示原理及控制方式分析顯示原理及控制方式分析.7 73.1 LED 點陣模塊結構點陣模塊結構.73.2LED 動態顯示原理動態顯示原理.83.3 LED 常見的傳輸方式常見的傳輸方式.94 4 硬件電路設計硬件電路設計.9 94.1 系統硬件概述系統硬件概述.94.2 1616LED 點陣顯示制作點陣顯示制作.114.2.1 1616LED點陣的內部點陣的內部結結構及工作原理構及工作原理.114.2.2 用用88LE
9、D點陣構成點陣構成1616LED點陣點陣.124.3 LED 顯示驅動電路顯示驅動電路.135 5 字模生成字模生成.14145.1 字模簡介字模簡介.145.2 LED 顯示屏領域字模實現技術顯示屏領域字模實現技術.145.35.3 字庫生成字庫生成 .166.6.軟件設計軟件設計.18186.1 程序設計總體思路和結構程序設計總體思路和結構.186.1.1 程序設計總體思路程序設計總體思路.186.1.2 程序流程圖程序流程圖.186.2 各模塊程序設計各模塊程序設計.186.2.1 系統初始化系統初始化.186.2.2 LED動態顯示動態顯示.196.2.3 漢字顯示的原理漢字顯示的原理
10、.197 7 系統功能測試系統功能測試 .20207.1 單元模塊電路測試單元模塊電路測試.207.2 系統整體功能測試系統整體功能測試.20總總結結.2222致謝致謝.2323參考文獻參考文獻.2424附附錄錄.25251 前言前言1.1 選題的依據和意義LED 顯示屏是利用發光二極管點陣模塊或像素單元組成的平面式顯示屏幕。它具有發光率高、組態靈活、使用壽命長、色彩豐富以及對室內外環境適應能力強等優點。自 20 世紀八十年代開始,LED 顯示屏的應用領域已經遍布電信、證券、教育、交通、廣告宣傳等各方面。隨著社會經濟的不斷進步,以及 LED 顯示技術的不斷完善,人們對 LED 顯示屏的認識將會
11、越來越深入,其應用領域將會越來越廣。 1.2 國內外發展狀況 LED 顯示屏的發展可分為以下幾個階段:第一階段為 1990 年到 1995 年,主要是單色和16 級雙色圖文屏。用于顯示文字和簡單圖片,主要用在車站、金融證券、銀行、郵局等公共場所,作為公共信息顯示工具。 第二階段是 1995 年到 1999 年,出現了 64 級、256 級灰度的雙基色視頻屏。視頻控制技術、圖像處理技術、光纖通信技術等的應用將 LED 顯示屏提升到了一個新的臺階。LED 顯示屏控制專用大規模集成電路芯片也在此時由國內企業開發出來并得以應用。 第三階段從 1999 年開始,紅、純綠、純藍 LED 管大量涌入中國,同
12、時國內企業進行了深入的研發工作,使用紅、綠、藍三原色 LED 生產的全彩色顯示屏被廣泛應用,大量進入體育場館、會展中心、廣場等公共場所,從而將國內的大屏幕帶入全彩時代。 隨著 LED 原材料市場的迅猛發展,表面貼裝器件從 2001 年面世,主要用在室內全彩屏,并且以其亮度高、色彩艷麗、溫度低的特性,可隨意調整的點間距,被不同價位需求者所接受,在短短兩年多時間內,產品銷售額已超過 3 億元,表面貼裝全彩色 LED 顯示屏應用市場進入新世紀。為了適應 2008 年奧運會的“瘦身”計劃,利亞德開發了表面貼裝雙基色顯示屏,大量用于訓練館和比賽計時計分系統。在奧運場館全彩屏方面,為緊縮投資,全彩屏大部分
13、采用可拆卸方式,奧運期間可作為實況轉播工具,賽事結束后可用于租賃,作為演出、國家政策發布等公共場合應用工具,通過這種方式可盡快收回成本。 就市場而言,中國加入 WTO、北京申奧成功等,成為 LED 顯示屏產業發展的一個契機。國內 LED 顯示屏市場保持持續增長,目前在國內市場上,國產 LED 顯示屏的市場占有率近95%。國際上 LED 顯示屏的市場容量預計以每年 30%的速度在增長。 LED 顯示屏的主要制造廠商集中在日本、北美等地,我國 LED 制造廠商出口的份額在其中微不足道。據不完全統計,世界上目前至少有 150 家廠商生產全彩屏,其中產品齊全,規模較大的公司約有 30 家左右。1.3、
14、本課題研究內容本設計使用 AT89C51 系列高速單片機作為主控制模塊,利用簡單的外圍電路來驅動 1616的點陣 LED 顯示屏。利用 AT89C51 系列高速單片機本身強大的功能和內部 EPROM,可以很方便的實現單片機與計算機間的數據傳輸及存儲,并能利用軟件方便的進行顯示內容的多樣變化,另一方面點陣顯示屏廣泛的應用于醫院、通訊、銀行等公共場所,所以本設計具有很強的現實應用性。本 LED 顯示屏能夠以動態掃描的方式同時顯示 4 個 1616 點陣漢字,并能通過上位機軟件修改顯示內容和顯示效果等等。采用 IAP 在應用可編程技術,把字符內碼存儲在空閑的單片機程序存儲器空間,使本 LED 顯示系
15、統能掉電存儲 1024 個字符。設計中采用了 SPI 接口的GB2312 標準字庫,支持所有的國標字符和 ASCII 標準字符的顯示。因為采用串行傳輸方式,使本系統的可塑性得到提升,便于多個顯示單元的級聯2 概述概述2.1 LED 點陣顯示屏介紹點陣顯示屏介紹LED 點陣顯示屏的構成型式有多種,其中典型的有兩種。一種把所需展示的廣告信息燒寫固化到 EPROM 芯片內,能進行固定內容的多幅漢字顯示,稱為單顯示型;另一種在機內設置了字庫、程序庫,具有程序編制能力,能進行內容可變的多幅漢字顯示,稱可編程序型。目前,國內的 LED 點陣顯示屏大部分是單顯示型,其顯示的內容相對較少,顯示花樣較單一。一般
16、在產品出廠時,顯示內容就已寫入顯示屏控制系統中的 EPROM 芯片內,當需要更換顯示內容時就非常困難,這樣使該類型的顯示屏使用范圍受到了限制。國內的另一種LED 顯示屏可編程序型 LED 顯示屏,雖然增加了顯示屏系統的編程能力,顯示內容和顯示花樣都有所增加,但也存在著更換顯示內容不便的缺點。隨著社會經濟的迅速發展,如今的廣告牌都存在著顯示內容豐富、信息量大、信息更換頻率快等特點。因此傳統的 LED顯示屏控制系統已經越來越不能滿足現代廣告宣傳業的需要。而利用計算機通信技術控制LED 顯示屏,則具有顯示內容豐富,信息更換靈活多變等優點2.2 LED 電子顯示屏的分類電子顯示屏的分類LED 顯示屏的
17、分類,可以從以下幾個標準進行分類:安裝方式LED 顯示屏,可以分為:立柱式 LED 顯示屏(單立柱和雙立柱) ,壁掛式 LED 顯示屏,吊裝式顯示屏,嵌入式顯示屏等。顏色LED 顯示屏,分為全彩顯示屏,單色(單基色)顯示屏(單紅,單白,單黃)和雙色(雙基色)顯示屏(紅綠色,藍綠色)形狀LED 顯示屏,又可以分為常規屏和異型屏。用途LED 顯示屏分為:信息發布屏,交通誘導屏,廣告發布屏,車載屏,球場屏,舞臺租賃屏和樓梯屏等使用環境LED 顯示屏,又可以分為:室內 LED 顯示屏,半戶外 LED 顯示屏和戶外 LED 顯示屏。 單基色顯示屏室內顯示屏:發光點較小,一般 3mm-8mm,顯示面積一般
18、幾至十幾平方米。半戶外顯示屏:像素點大小之于室內和戶外顯示屏之間;常見于銀行,商場或醫院等門楣上。室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽光下工作,具有防風、防雨、防水功能單一顏色(紅色,綠色,黃色,白色,藍色等) 。雙基色顯示屏:紅和綠雙基色,256 級灰度或者 512 級灰度、可以顯示 65536 種顏色。全彩色顯示屏:紅、綠、藍三基色,256 級灰度的全彩色顯示屏可以顯 示一千六百多萬種色。2.3 LED 點陣顯示屏的特點:組合型 LED 示器自八十年代開始出現,以發光二極管用高亮度發光二極管芯陣列組合后,環氧樹脂和塑模封裝而成。具有高亮度、功耗低、引腳少、視角大、壽命
19、長、耐濕、耐冷腐蝕等特點。點陣顯示器有單色和雙色兩類,可顯示紅,黃,綠,橙等。LED 點陣有44、48、57、58、 88、1616、2424、4040 等多種;根據像素的數目分為單、雙基色、三基色等,根據像素顏色的不同所顯示的文字、圖象等內容的顏色也不同,單基色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點陣顯示內容的顏色由像素內不同顏色發光二極管點亮組合方式決定,如紅綠都亮時可顯示黃色,如果按照脈沖方式控制二極管的點亮時間,則可實現 256 或更高級灰度顯示,即可實現真彩色顯示。幾種 LED 點陣顯示器的內部電路結構和外型規格,其它型號點陣的結構與引腳可試驗獲得,LED 點陣顯示
20、器單塊使用時,既可代替數碼管顯示數字,也可顯示各種中西文字及符號如 5 x 7 點陣顯示器用于顯示西文字母58 點陣顯示器用于顯示中西文,8 x 8 點陣用于顯示中文文字,也可用于圖形顯示。用多塊點陣顯示器組合則可構成大屏幕顯示器,但這類實用裝置常通過微機或單片機控制驅動。3 顯示原理及控制方式分析顯示原理及控制方式分析3.1 LED 點陣模塊結構點陣模塊結構八十年代以來出現了組合型 LED 點陣顯示器模塊,以發光二極管為像素,它用高亮度發光二極管芯陣列組合后,環氧樹脂和塑模封裝而成。這種一體化封裝的點陣 LED 模塊,具有高亮度、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。LED 點
21、陣規模常見的有 44、48、57、58、88、1616 等等。根據像素顏色的數目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、圖象等內容的顏色也不同。單色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點陣顯示內容的顏色由像素內不同顏色發光二極管點亮組合方式決定,如紅綠都亮時可顯示黃色,如果按照脈沖方式控制二極管的點亮時間,則可實現 256 或更高級灰度顯示,即可實現真彩色顯示。圖 3.1 示出最常見的 88 單色 LED 點陣顯示器的內部電路結構和外型規格,其它型號點陣的結構與引腳可試驗獲得。3.2LED 動態顯示原理動態顯示原理 數碼管的接口有靜態接口和動態接口。 靜態接
22、口為固定顯示方式,無閃爍,其電路可采用一個并行口接一個數碼管。數碼管的公共端按共陰或共陽分別接地或 Vcc。采用這種接法,顯示原理簡單、控制方便,但硬件接線復雜,在實際應用中一般采用動態顯示方式,動態顯示采用掃描的方式工作,采用各數碼管循環顯示的方法。當循環顯示的頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象。這種顯示方式是各個數碼管的段選并接在同一個接口上,該接口成為段選口,輸出字形碼,完成字形選擇控制;各個數碼管的公共端接在另一接口的不同位,完成數位選擇,控制各數碼管輪流點亮。點陣式 LED 漢字廣告屏絕大部分是采用動態掃描顯示方式,這種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續的
23、幾幀畫面高速的循環顯示,只要幀速率高于 24 幀/秒,人眼看起來就是一個完整的,相對靜止的畫面。最典型的例子就是電影放映機。在電子領域中,因為這種動態掃描顯示方式極大的縮減了發光單元的信號線數量,因此在 LED 顯示技術中被廣泛使用圖 3.2 用動態掃描顯示字符“B”的過程3.3 LED 常見的傳輸方式常見的傳輸方式目前常見的是串行傳輸方式,并行傳輸是通過 8 位鎖存器將 8 位總線上的列數據進行鎖存顯示,各 8 位鎖存器的片選信號由譯碼器提供。此種方式的優點是傳輸速度快,對微控制器(MCU)的通信速度要求較低。但是這種方案最大的缺點是不便于隨意擴展顯示單元的數目。再一個缺點是,每個單元的 P
24、CB 隨著安放位置的不同,布線結構也不相同,可塑性較低,不利于廠家批量生產。所以采用串行傳輸。4 硬件電路設計硬件電路設計4.1 系統硬件概述系統硬件概述整個電路由單片機 89C51,1 個 74159,4 個 88 的 LED。該電路所設計的電子屏可顯示多個漢字,需要 20 個 88 LED 點陣模塊,可組成 8016 的條形點陣 AT89C51 是一種帶 4K 字節 FLASH 存儲器( FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單 片機。AT89C2051 是一種帶 2K
25、字節閃存可編程可擦除只讀存儲器的 單片機。單片機 的可擦除只讀存儲器可以反復擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器 制造技術制造,與工業標準的 MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位 CPU 和閃爍存儲器組合在單個芯片中, ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。 AT89C 單片機為很多嵌入式控制系統提供了一種靈活性高且價廉 的方案。AT89C51 引腳即外觀如圖 4.1 所示圖 4.1 AT89C51 的管腳圖P0 口口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流
26、。當 P0 口的管腳第一次寫 1 時,被定義為 高阻輸入。P0 能夠用于外部程序數據存儲器,它可以被定義為數據 /地址的低八位。在 FIASH 編程時,P0 口作為原碼輸入口,當 FIASH 進行校驗時, P0 輸出原碼,此時 P0 外部必須接上拉電阻。 P1 口口:P1 口是一個內部提供上拉電阻的8 位雙向 I/O 口,P1 口緩沖器能接收輸出4TTL 門電流。P1 口管腳寫入 1 后,被內部上拉為高,可用作輸入, P1 口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH 編程和校驗時, P1口作為低八位地址接收。 P2 口口:P2 口為一個內部上拉電阻的 8 位雙向
27、I/O 口,P2 口緩沖器可接收,輸出4 個 TTL 門電流,當 P2 口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或 16 位地址外部數據存儲器進行存取時, P2 口輸出地址的高八位。在給出地址 “1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2 口輸出其特殊功能寄存器的內容。 P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 P3 口口:P3 口管腳是 8 個帶內部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。當 P
28、3 口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故。 P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷 0) P3.3 /INT1(外部中斷 1) P3.4 T0(記時器 0 外部輸入) P3.5 T1(記時器 1 外部輸入) P3.6 /WR(外部數據存儲器寫選通) P3.7 /RD(外部數據存儲器讀選通) P3 口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入,當
29、震蕩器工作時,RST 引腳出現兩個機器周期以上高電平將使單片機復位。ALE/PROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于所存地址的低 8 位字節。即使不訪問外部存儲器,ALE 乃以時鐘振動頻率的 1/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態 ALE 禁止,置位無效。 譯碼器是組合邏輯電路的一個重要
30、的器件, 74LS138 的輸出是低電平有效,故實現邏輯功能時,輸出端不可接或門及或非門,74LS138 與前面不同,其有使能端,故使能端必須加以處理,否則無法實現需要的邏輯功能。發光二極管點亮只須使其正向導通即可,根據 LED 的公共極是陽極還是陰極分為兩類譯碼器,即針對共陽極的低電平有效的譯碼器;針對共陰極 LED 的高電平輸出有效的譯碼器。 LED,50 年前人們已經了解半導體材料可產生光線的基本知識,第一個商用二極管產生于1960 年。LED 是英文 light emitting diode(發光二極管)的縮寫,它的基本結構是一塊電致發光的半導體材料,置于一個有引線的架子上,然后四周用
31、環氧7 樹脂密封,即固體封裝,所以能起到保護內部芯線的作用,所以 LED 的抗震性能好 該電路的顯示采用逐行掃描方式。工作時,由單片機取出第一行需要顯示的內容經延時一段時間后再進行下一行點陣數據的顯示。需要注意的是,每次只能選通一行數據,即要通過不斷的逐行掃描來實現漢字或字符的顯示。4.2 1616LED 點陣顯示制作點陣顯示制作4.2.1 1616LED 點陣的內部結構及工作原理點陣的內部結構及工作原理以 Zimo2.1 為例,每一個字由 16 行 16 列的點陣組成顯示。即國家標準漢字庫中的每一個字均由 256 點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像
32、。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在 256 像素范圍內的任何圖形。這里我們以“宜”字說明,如圖 4.2 所示。圖 4.2 16*16LED漢字顯示用 8 位的 AT89C51 單片機控制,由于單片機的總線為 8 位,一個字需要拆分為 2 個部分。一般把它拆分為上部和下部,上部由 816 點陣組成,下部也由 816 點陣組成。在本例中單片機首先顯示的是左上角的第一列的上半部分,即第 0 列的 p00p07 口。方向為 p00到 p07 ,顯示漢字“高”時,p02 點亮,由上往下排列,為 p0.0 滅,p0.1 滅, p0.2 滅, p0.3 滅, p0.4 滅, p0.5 亮,p0
33、.6 滅,p0.7 滅。即二進制 00000100,轉換為 16 進制為 04h。上半部第一列完成后,繼續掃描下半部的第一列,為了接線的方 便,我們仍設計成由上往下掃描,即從 p27 向 p20 方向掃描,從上圖可以看到,這一列全部為不亮,即為 00000000,16 進制則為 00h。依照這個方法,繼續進行下面的掃描,掃描的代碼是0 x00,0 x10,0 x0C,0 x04,0 xE4,0 x24,0 x24,0 x25,0 x26,0 x24,0 xE4,0 x04,0 x14,0 x0C,0 x04,0 x00,0 x00,0 x40,0 x40,0 x40,0 x7F,0 x49,0
34、 x49,0 x49,0 x49,0 x49,0 x7F,0 x40,0 x40,0 x40,0 x40,0 x00由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出它的掃描代碼從而顯示在屏幕上。不過現在有很多現成的漢字字模生成軟件,就不必自己去畫表格算代碼了。比如說漢字字庫、zimo21 等等都可以自動生成 16 進制的代碼得到想要的代碼值。4.2.2 用用 88LED 點陣構成點陣構成 1616LED 點陣點陣首先,從 Proteus 元件庫中找到“MATRIX-8X8-RED”元器件,并將四塊該元器件放入Proteus 文檔區編輯窗口中。此時需要注意,如果該元器件保持初
35、始的位置(沒有轉動方向),我們要首先將其左轉 90,使其水平放置,那么此時它的左面 8 個引腳是其行線,右邊 8 個引腳是其列線(當然,如果你是將右轉,則右邊 8 個引腳是行線,左面 8 個引腳為其列線)。然后我們將四個元器件對應的行線和列線分別進行連接,使每一條行線引腳接一行 16 個LED,列線也相同。并注意要將行線和列線引出一定長度的引腳,以便下面我們使用。連接好的 1616 點陣如下圖所示:連接成如上圖的 1616 點陣只是第一步,這樣分開的數塊并不能達到好的顯示效果,下面我們要將其進一步組合。組合實際上很簡單,首先選中如上圖中右側的兩塊 88 點陣,然后拖動并使其與左側的兩塊相并攏,
36、如下圖所示:我們可以看到原來的連線已經自動隱藏了,至于線上的交點,我們不要去動。然后,我們再來最后一步,選中下側的兩塊點陣,并拖動使其與上側的兩塊并攏,最后的效果如下圖所示:可以發現,原來紊亂的連線現在已經差不多全部隱藏起來了,一塊 1616 的 LED 點陣做成了。需要注意,做成的 LED 點陣的行線為左側的 16 個引腳,下側的 16 個引腳為其列線,而且其行線為高電平有效,列線為低電平有效。然后,我們將其保存,以便以后使用。4.3 LED 顯示驅動電路顯示驅動電路5 字模生成字模生成5.1 字模簡介字模簡介文字的字模是一組數字,但它的意義卻與數字的意義有著根本的不同,它是用數字的各位信息
37、來記載英文或漢字的形狀。在電腦硬件中,根本沒有漢字這個概念,也沒有英文的概念,其認識的概念只有內碼(將 ASCII 表的高 128 個很少用到的數值以兩個為一組來表示漢字,即漢字的內碼。而剩下的低 128 位則留給英文字符使用,即英文的內碼)。如果你用啟動盤啟動系統后用 DIR 命令可能得到一串串莫名其妙的字符,但那確確實實是漢字,如果你啟動 UCDOS 或其他的漢字系統后,就會看到那是一個個熟悉的漢字。在硬件系統內,英文的字模信息一般固化在ROM 里,即使在沒有進入系統的 CMOS 里,也可以讓你看到英文字符。而在 DOS 下,中文的字模信息一般記錄在漢字庫文件里(將制作好的字模放到一個個標
38、準的庫中,這就是點陣字庫文件)。5.2 LED 顯示屏領域字模實現技術顯示屏領域字模實現技術在通過軟件實現的技術中,目前有許多字模生成軟件。比如說漢字字庫、zimo21 等軟件,軟件打開后輸入漢字,點“檢取”,十六進制數據的漢字代碼即可自動生成,把我們所需要的豎排數據復制到我們的程序中即可。在通過硬件實現字模提取的技術中,有在單片機系統中增加硬漢字庫的方法,主控器發送的漢字是其機內碼,用兩個字節來表示一個漢字。根據機內碼,顯示單元控制模塊從漢字庫中查取顯示字模,實現漢字顯示。由于帶有硬漢字庫,進行動態文字顯示時,通用智能顯示單元僅接受漢字的機內碼即可,這樣數據通訊量大大減少。因此, “動態文字
39、顯示速度快”。在單片機系統中對字模的存儲,根據單片機的程序存儲容量和其尋址空間情況,可采取 3 種方式。(1)將提取的漢字字模數據作為常量數組存放在程序存儲區內,這種方法經常使用,針對程序比較小或單片機沒有外部擴展數據存儲區功能的情況。如下面程序所示,將提取的要顯示漢字的字模數據定義成常量數組,如要顯示合肥”兩字。再編制漢字顯示子函數 Write Hz。其中要調用另外兩個子函數 Lcd_wait 和Disp_address。Lcd_wait 為讀取液晶控制器是否忙函數,而 Disp_address 為液晶控制器顯示緩沖區地址設置函數,可根據液晶控制器資料。函數 Write Hz 的參數 x 和
40、 y 對應液晶屏幕的顯示位置,其與液晶控制器顯示緩沖區中的地址通過行*可計算出,該行中的 Wide 為事先定義好的液晶屏每行字節數,對于 DG12864液晶而言,Wide 為 16。函數 Write Hz 根據 1616 點陣漢字液晶控制器顯示緩沖區的存放形式,依次改變顯示地址,先將左半部 1-16 個字節寫入顯示緩沖區,再寫入右半部 17-32 個字節。若要液晶顯示“合肥”兩字,只要在程序中帶顯示地區參數調用該函數即可。如:write Hz(0,4,0);/合write Hz(0,10,0 x20);/肥(2)將提取的漢字字模數據存放在 EPROM 或 E2PROM 內,作為擴展的數據存儲器
41、供單片機調用。采用哈佛結構的單片機,如 8051 單片機及其派生產品,程序存儲器(ROM)和數據存儲器(RAM)可分別尋址,51 單片機 ROM 和 RAM 最大的尋址空間均為 64K,通常來說,對于中型的嵌入式系統,尤其是帶液晶的單片機系統,64k 的程序空間并不足夠使用,而將漢字字模作為常量數組會大大占用 ROM 的空間,而相對來說,數據存儲器只需幾 k 就夠用了,剩下很多空間可用于功能芯片的擴展。將提取的漢字字模數據存放在 EPROM 或 E2PROM 內,并設定該芯片的片選地址,則只要知道某個漢字字模數據在該芯片的存儲位置,通過程序計算出偏移地址,就可以實現顯示功能,例如:設存放漢字字
42、模數據的 E2PROM 的片選地址為 0 x9000,則通過程序定義:#define Hz Dot 0 x9000#define VBYTE (unsigned char volatile xdata*)若要編制漢字顯示子函數 Write Hz,只要將上面 Write Hz 函數中*行換成 Lcd_Data=*(VBYTE(Hz_Dot+p+i);*行換成 Lcd_Data=*(VBYTE(Hz_Dot+p+16+i);(3)將整個漢字字庫存放在 EPROM 或 E2PROM 內,程序根據需要顯示漢字的機內碼來調用漢字字模。某些高端單片機,如 Motorola 的 M68300 系列 32 位
43、單片機,尋址范圍可達 8M,液晶顯示常用的 1616 漢字庫二進制數據文件為兩百多 k,將漢字字庫存入大容量的 E2PROM,通過地址線可以尋址到漢字庫中的每一個漢字。在計算機中對漢字的識別是通過機內碼來實現的,漢字標準機內碼為兩字節代碼。漢字在漢字庫中是按照區位來排列的,每一區中有 94 個漢字,每個漢字都對應唯一的區號和在本區的位號,漢字輸入法中就有區位碼方法,實際上,漢字機內碼和區位碼有標準的對應關系,某個漢字在字庫中的區號加上 0 xa0 等于其機內碼的高字節,位號加上 0 xa0 等于其機內碼的低字節,因此很容易通過程序計算出要顯示的漢字在漢字庫中的區位號,即得到了其在漢字庫中的偏移
44、地址。由于 E2PROM 中存儲了整個漢字庫,只須在硬件上設定存放漢字庫的存儲器片選地址,直接將漢字作為字符數組付給漢字顯示函數,通過機內碼計算出區號和位號,即可方便地對漢字字模進行調用了。與前兩種方法相比,無須事先提取字模和設定其地址用于程序調用,因此在進行程序升級,涉及到漢字顯示時,不用更改漢字字模數據。5.3 字庫生成字庫生成轉換成匯編的代碼為:0 x40,0 x40,0 x44,0 x54,0 x54,0 xD4,0 x74,0 x5F,0 x54,0 x54,0 xD4,0 x54,0 x54,0 x44,0 x40,0 x00,0 x04,0 x04,0 x02,0 x02,0 x
45、7F,0 x4A,0 x4A,0 x4A,0 x4A,0 x4A,0 x7E,0 x01,0 x03,0 x06,0 x02,0 x00轉換為匯編的代碼:0 x40,0 x30,0 x10,0 x12,0 x5C,0 x54,0 x50,0 x51,0 x5E,0 xD4,0 x50,0 x18,0 x57,0 x32,0 x10,0 x00,0 x00,0 x02,0 x02,0 x02,0 x02,0 x02,0 x42,0 x82,0 x7F,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x00轉換成匯編的代碼:0 xFE,0 x02,0 x32,0 x4A
46、,0 x86,0 x0C,0 x24,0 x24,0 x25,0 x26,0 x24,0 x24,0 x24,0 x0C,0 x04,0 x00,0 xFF,0 x00,0 x02,0 x04,0 x83,0 x41,0 x31,0 x0F,0 x01,0 x01,0 x7F,0 x81,0 x81,0 x81,0 xF1,0 x006.6.軟件設計軟件設計6.1 程序設計總體思路和結構程序設計總體思路和結構6.1.1 程序設計總體思路程序設計總體思路用簡短的匯編程序設計,實現 LED 點陣顯示內容,并使顯示的內容在屏幕上從左到右的滾動顯示。系統采用模塊化結構,包括主程序、延時程序、顯示子程序
47、和串行口中斷程序。6.1.2 程序流程圖程序流程圖6.2 各模塊程序設計各模塊程序設計6.2.1 系統初始化系統初始化unsigned char i; for(i=0; i50*k; i+);/*void delay1() unsigned int i=0,flag=1;TR1=1;while(flag)while(TF1!=1) ;i+;if(i=8) flag=0;TH1=0 x00;TL1=0 x00;TF1=0;TR1=1;*/void main() unsigned char j,t; unsigned char g=0,h=0; P1=0; P0=0; TMOD=0X10; TH1
48、=0 x00;TL1=0 x00;6.2.2 LED 動態顯示動態顯示我們把行列總線接在單片機的 I0 口,然后把上面分析到的掃描代碼送入總線, 就可以得到顯示的漢字了。 在這個例子里,由于一共用到 16 行,16 列, 如果將其全部接入89c51單片機, 一共使用 32 條 IO 口,這樣造成了 IO 資源的耗盡,系統也再無擴充的余地。 實際應用中我們使用 74159 來完成列方向的顯示。 而行方向 16 條線則接在 p0 口和 p2 口。6.2.3 漢字顯示的原理漢字顯示的原理在單片機系統中,連續取 32 個字節送到 LCD 的相應位置,就能正確顯示漢字后的圖形符號。從 HS-12232-
49、1 使用的 SED1520 的控制原理得知,字模送顯示前要旋轉 90,例如“逢”的區位碼是 3778,在 HZK16 中的位置為第 32*(371)*94+(781)=110752D 以后的32 個字節:04 44 FF FE 05 40 41 F8 33 10 14 E0 01 18 F6 46 1B F8 10 40 13 F8 10 40 17 FC 10 40 28 46 47 FC , 旋轉 90后上 16 個字節:82 8A 92 B2 02 A7 92 5E 2A AF 2A 5A 4A 83 82 00,下 16 個字節;00 80 40 3F 04 90 95 95 95 F
50、F 95 95 95 D0 40 00在明白了以上所講的以后,我們可以寫出一個顯示一個任意大小的點陣字模的函數,這個函數的功能是輸出一個寬度為 w,高度為 h 的字模到屏幕的 (x,y) 坐標出,文字的顏色為 color,文字的點陣數據為 pdata 所指:/*輸出字模的函數*/void _draw_model(char *pdata, int w, int h, int x, int y, int color) int i; /* 控制行 */ int j; /* 控制一行中的 8 個點 */ int k; /* 一行中的第 N 個“8 個點”了 */ int nc; /* 到點陣數據第 N
51、 個字節了 */ int cols; /* 控制列 */ BYTE static mask8=128, 64, 32, 16, 8, 4, 2, 1; /* 位屏蔽字 */ w = (w + 7) / 8 * 8; /* 重新計算 w */ nc = 0; for (i=0; ih; i+) cols = 0; for (k=0; kw/8; k+) for (j=0; j8; j+) if (pdatanc&maskj) putpixel(x+cols, y+i, color); cols+; nc+; 7 系統功能測試系統功能測試7.1 單元模塊電路測試單元模塊電路測試在 proteus
52、仿真軟件中運行調試 AT89C51、74159 等芯片和 LED 顯示器均能正常運行并整的的顯示想要的結果所以各個模塊都正常運行7.2 系統整體功能測試系統整體功能測試在仿真軟件 proteus 中運行測試系統整體功能,一切正常。實現了漢字的右移滾動顯示,完整的顯示出了“宜春學院”浮動漢字。總總結結在本設計中采用程序在 LED 顯示屏實現漢字的右移滾動顯示。在設計中采用的芯片有AT89C51、74LS138、74159 和 88 的 LED 點陣顯示屏。其特點是:1.內容能從左向右浮動顯示。2.硬件結構簡單,應用廣泛。3.LED 數碼管動態掃描顯示,工作效率高,價格低廉等。4 容易上手,接觸學習速度快。通過本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Brand KPIs for online betting:Betfair in Brazil-英文培訓課件2025.5
- 2025年(完整版)小升初數學公式
- AI大模型賦能區域醫療數字化醫聯體建設方案
- 華為公司干部管理與培養(一)7P
- 山東省德州市武城縣五校聯考2024-2025學年八年級下學期第二次月考數學試卷(答案不完整)
- 先進先出試題及答案
- 武漢理化試題及答案詳解
- 廣東省東莞市光正實驗學校2024-2025學年高一下學期期中考試英語試卷(解析版)
- 2025年廣西中考數學第一次模擬試卷(無答案)
- 湖北省恩施土家族苗族自治州2024-2025學年高一下學期期末考試語文試卷(含答案)
- 2025年導游資格證考試筆試模擬試卷:旅游法規與政策解讀與應用案例試題
- 中小學學校德育工作管理制度匯編
- 路由與交換基礎知識試題及答案
- 混凝土澆筑清包合同范本
- 部編版2024-2025學年四年級下冊語文期末測試卷(含答案)
- 2025-2030中國軍用無人機行業市場現狀供需分析及投資評估規劃分析研究報告
- 生子前簽協議書
- 2025年中國工裝治具市場調查研究報告
- 收購爛尾樓可行性研究報告
- 加裝電梯補償協議書
- 人教版小學語文五年級下冊復習材料
評論
0/150
提交評論