![基于單片機(jī)的Led點(diǎn)陣廣告牌設(shè)計(jì)課程設(shè)計(jì)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/d23b3096-55ea-46da-9cdb-bfe4beae6b12/d23b3096-55ea-46da-9cdb-bfe4beae6b121.gif)
![基于單片機(jī)的Led點(diǎn)陣廣告牌設(shè)計(jì)課程設(shè)計(jì)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/d23b3096-55ea-46da-9cdb-bfe4beae6b12/d23b3096-55ea-46da-9cdb-bfe4beae6b122.gif)
![基于單片機(jī)的Led點(diǎn)陣廣告牌設(shè)計(jì)課程設(shè)計(jì)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/d23b3096-55ea-46da-9cdb-bfe4beae6b12/d23b3096-55ea-46da-9cdb-bfe4beae6b123.gif)
![基于單片機(jī)的Led點(diǎn)陣廣告牌設(shè)計(jì)課程設(shè)計(jì)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/d23b3096-55ea-46da-9cdb-bfe4beae6b12/d23b3096-55ea-46da-9cdb-bfe4beae6b124.gif)
![基于單片機(jī)的Led點(diǎn)陣廣告牌設(shè)計(jì)課程設(shè)計(jì)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/d23b3096-55ea-46da-9cdb-bfe4beae6b12/d23b3096-55ea-46da-9cdb-bfe4beae6b125.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 單片機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱: led點(diǎn)陣廣告牌的設(shè)計(jì) 專業(yè)班級(jí): 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 設(shè)計(jì)時(shí)間: 成 績(jī): 信 電 工 程 學(xué) 院 摘要led的特色之處一是節(jié)能(直接功耗,間接耗能),二是基本無電離輻射,三提高空間利用率。而這些特色又恰好解決了上述的三種問題。led點(diǎn)陣顯示屏之所以受到廣泛重視而得到迅速發(fā)展,是與led顯示屏本身所具有的優(yōu)點(diǎn)分不開的。組合型led點(diǎn)陣顯示器以發(fā)光二極體為圖素,它用高亮度led晶粒進(jìn)行陣列組合后,再透過環(huán)氧樹脂和塑模封裝而成。具有高亮度、功耗低、引腳少、視角大、壽命長(zhǎng)、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。led點(diǎn)陣顯示系統(tǒng)中各模組的顯示方式有
2、靜態(tài)和動(dòng)態(tài)顯示兩種。靜態(tài)顯示原理簡(jiǎn)單、控制方便,但硬體接線復(fù)雜,在實(shí)際應(yīng)用中一般採(cǎi)用動(dòng)態(tài)顯示方式,動(dòng)態(tài)顯示採(cǎi)用掃描的方式工作,由峰值較大的窄脈沖驅(qū)動(dòng),從上到下逐次不斷地對(duì)顯示幕的各行進(jìn)行選通,同時(shí)又向各列送出表示圖形或文字資訊的脈沖信號(hào),反復(fù)迴圈以上操作,就可顯示各種圖形或文字資訊。led點(diǎn)陣顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。關(guān)鍵詞 單片機(jī) led 點(diǎn)陣目 錄1緒論.11.1 led點(diǎn)陣顯示屏的設(shè)計(jì)背景及意義.11.2顯示原理及控制方式分析.31.2.1 led點(diǎn)陣模塊結(jié)構(gòu).3 1.2.2 led 動(dòng)態(tài)顯示原理
3、.41.2.3 led常見的控制方式.41.3 設(shè)計(jì)目標(biāo)及采取的方案.51.3.1 本設(shè)計(jì)的目標(biāo).51.3.2 本設(shè)計(jì)采取的方案.52系統(tǒng)硬件設(shè)計(jì).52.1 at89c51芯片的介紹.62.2 74ls154芯片的介紹.62.3 點(diǎn)陣式漢字led顯示屏設(shè)計(jì).72.3.1 16*16點(diǎn)陣led原理及應(yīng)用.72.3.2 led點(diǎn)陣的顯示文字圖形原理.83.字模生成.103.1 字模簡(jiǎn)介.103.2 led顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù).103.3 字模存儲(chǔ)技術(shù)簡(jiǎn)介.114 系統(tǒng)軟件設(shè).114.1 程序設(shè)計(jì).115 調(diào)試與仿真.125.1 仿真效果.125.2 調(diào)試中出現(xiàn)的問題.12結(jié)論.12參考文獻(xiàn).14
4、附錄.14附錄1 16*16的點(diǎn)陣圖文顯示屏的硬件原理圖.14附錄2 完整程序.141 緒論1.1 led點(diǎn)陣顯示屏的設(shè)計(jì)背景及意義led電子顯示屏(light emitting diode panel)是由幾百-幾十萬個(gè)半導(dǎo)體發(fā)光二極管構(gòu)成的像素點(diǎn),按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩的led像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色led的開發(fā)已經(jīng)達(dá)到了實(shí)用階段。 led顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的亮度的方式,來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。 led顯示屏分為圖文顯示屏和條幅顯示屏,均由led矩陣塊組成。圖
5、文顯示屏可與計(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ā)展。led點(diǎn)陣設(shè)計(jì)主要應(yīng)用于led點(diǎn)陣顯示屏,它是利用發(fā)光二極管點(diǎn)陣模塊組成的平面式顯示屏幕。由于它具有發(fā)光效率高、使用壽命長(zhǎng)、節(jié)能、組態(tài)靈活、色彩豐富、顯示方
6、式變化多樣以及無電離輻射等優(yōu)點(diǎn),在國(guó)內(nèi)外得到了極為廣泛的應(yīng)用。led的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。1.2顯示原理及控制方式分析1.2.1 led點(diǎn)陣模塊結(jié)構(gòu)八十年代以來出現(xiàn)了組合型led點(diǎn)陣顯示器模塊,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。這種一體化封裝的點(diǎn)陣led模塊,具有高亮度、引腳少、視角大、壽命長(zhǎng)、耐濕、耐冷熱、耐腐蝕等特點(diǎn)。led點(diǎn)陣規(guī)模常見的有44、48、57、58、88、1616等等。根據(jù)像素顏色的數(shù)目可分為單色、雙基色、三基色等。像素顏色不同,所顯示的文字、
7、圖象等內(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)真彩色顯示。led點(diǎn)陣顯示器單塊使用時(shí),既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號(hào)如5x7點(diǎn)陣顯示器用于顯示西文字母58點(diǎn)陣顯示器用于顯示中西文,8x8點(diǎn)陣可以用于顯示簡(jiǎn)單的中文文字,也可用于簡(jiǎn)單圖形顯示。用多塊點(diǎn)陣顯示器組合則可構(gòu)成大屏幕顯示器,但這類實(shí)用裝置常通過pc機(jī)或單片機(jī)控制驅(qū)動(dòng)。1.2.2 led 動(dòng)態(tài)顯示原理led點(diǎn)陣顯示系統(tǒng)中各
8、模塊的顯示方式: 有靜態(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)掃描顯示方式,這種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高速的循環(huán)顯示,只要幀速率高于24幀/秒,人眼看起來就是一個(gè)完整的,相對(duì)靜止的畫面。在電子領(lǐng)域中,因?yàn)檫@種動(dòng)態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號(hào)線數(shù)量,因此在led顯示技術(shù)
9、中被廣泛使用。以88點(diǎn)陣模塊為例,說明一下其使用方法及控制過程。圖2.1中,紅色水平線y0、y1y7叫做行線,接內(nèi)部發(fā)光二極管的陽極,每一行8個(gè)led的陽極都接在本行的行線上。相鄰兩行線間絕緣。同樣,藍(lán)色豎直線x0、x1x7叫做列線,接內(nèi)部每列8個(gè)led的陰極,相鄰兩列線間絕緣。在這種形式的led點(diǎn)陣模塊中,若在某行線上施加高電平(用“1”表示),在某列線上施加低電平(用“0”表示)。則行線和列線的交叉點(diǎn)處的led就會(huì)有電流流過而發(fā)光。比如,y7為1,x0為0,則右下角的led點(diǎn)亮。再如y0為1,x0到x7均為0,則最上面一行8個(gè)led全點(diǎn)亮。1.2.3 led常見的控制方式目前常見的是并行傳
10、輸方式(見附錄1.1),通過8位鎖存器將8位總線上的列數(shù)據(jù)進(jìn)行鎖存顯示,各8位鎖存器的片選信號(hào)由譯碼器提供。此種方式的優(yōu)點(diǎn)是傳輸速度快,對(duì)微控制器(mcu)的通信速度要求較低。但是這種方案最大的缺點(diǎn)是不便于隨意擴(kuò)展顯示單元的數(shù)目。每增加一個(gè)1616點(diǎn)陣的全角漢字顯示單元,就需要在之前的電路上多增加兩根地址線,這就要求在pcb布線的時(shí)候要留有充足的地址線冗余量。再一個(gè)缺點(diǎn)是,每個(gè)單元的pcb隨著安放位置的不同,布線結(jié)構(gòu)也不相同,不利于廠家批量生產(chǎn)。并行傳輸需要的芯片較多,因此市場(chǎng)上已經(jīng)出現(xiàn)用fpga,cpld等高密度可編程邏輯器件(pld)來取代傳統(tǒng)鎖存器ic的方案。成本有所下降,但可擴(kuò)展性仍舊
11、較差。因此,并行傳輸方式適用于顯示單元數(shù)目確定的條屏。一以傳統(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ǔ)器,無e2prom,spi。這就需要對(duì)單片機(jī)擴(kuò)展外設(shè),無疑增加了硬件成本。因此,8051控制的條屏只能用于顯示內(nèi)容及其簡(jiǎn)單,不需要經(jīng)常更改顯示內(nèi)容的場(chǎng)合。二以pic單片機(jī)為控制器的led顯示屏。因pic單片機(jī)是risc架構(gòu)的工業(yè)專用單片機(jī),處理指令的速度有所增加
12、,抗干擾能力優(yōu)秀,型號(hào)種類繁多。作為條屏的控制器,可以明顯的改善顯示效果,同時(shí)pic單片機(jī)內(nèi)部的資源較豐富,可節(jié)省外部電路設(shè)計(jì)難度,同時(shí)降低了硬件成本。因此,以pic單片機(jī)為控制器的條屏目前仍是單色條屏市場(chǎng)的主流。三以fpga(復(fù)雜可編程邏輯門陣列)為控制器的led顯示屏。fpga以高速、并行著稱。是近年來新興的可編程邏輯器件。用他作為led顯示屏的控制器,能夠高速的處理色階pwm信號(hào)、高速的完成動(dòng)態(tài)掃描邏輯、高速的完成字符移動(dòng)算法。因此被運(yùn)用于雙基色、三基色的顯示系統(tǒng)。但是其成本較高,開發(fā)難度較大。1.3 設(shè)計(jì)目標(biāo)及采取的方案1.3.1 本設(shè)計(jì)的目標(biāo)本設(shè)計(jì)的理論基礎(chǔ)是單片機(jī)原理與應(yīng)用,模電和
13、數(shù)電。比如at89c51芯片的一些工作原理是在mcs51的基礎(chǔ)上通過改進(jìn)完成的。74ls154的工作原理數(shù)電里也學(xué)習(xí)過。本設(shè)計(jì)完成了16*16led點(diǎn)陣動(dòng)態(tài)顯示兩個(gè)以上漢字,并可以利用按鍵控制其左右移動(dòng)。通過本設(shè)計(jì)不僅可以復(fù)習(xí)之前學(xué)過的知識(shí),而且可以通過查閱課外資料學(xué)到書本上沒有的知識(shí),還鍛煉了我們的動(dòng)手能力。通過這次課程設(shè)計(jì)把我們?cè)趯W(xué)校學(xué)習(xí)的理論知識(shí)和實(shí)際應(yīng)用有機(jī)地結(jié)合起來,把理論跟實(shí)踐相結(jié)合,培養(yǎng)了我們的專研精神。 1.3.2 本設(shè)計(jì)采取的方案(1)根據(jù)實(shí)驗(yàn)指導(dǎo)書的要求確定系統(tǒng)應(yīng)該具有的功能(2)按照系統(tǒng)功能將系統(tǒng)分模塊組合起來(3)根據(jù)系統(tǒng)功能與結(jié)構(gòu)編寫實(shí)驗(yàn)程序,并通過keil軟件進(jìn)行編
14、譯并找出程序中的錯(cuò)誤,改正這些錯(cuò)誤(4)確定所需的元器件,然后利用proteus軟件畫出系統(tǒng)電路圖并進(jìn)行仿真(5)仿真成功后根據(jù)仿真圖制作實(shí)際硬件圖(6)最終能在led電路板上顯示實(shí)驗(yàn)指導(dǎo)書上所要求的漢字顯示形式。2 系統(tǒng)硬件設(shè)計(jì)本設(shè)計(jì)采用以at89c51單片機(jī)為核心芯片的電路來實(shí)現(xiàn),主要由at89c52芯片、時(shí)鐘電路、列掃描驅(qū)動(dòng)電路(74ls154)、16*16 led點(diǎn)陣5部分組成。2.1 at89c52芯片的介紹因?yàn)樵诔绦蛑?,所使用的?nèi)部存儲(chǔ)器的空間較大,對(duì)于51系列單片機(jī),高128b被特殊功能寄存器占用,對(duì)于52系列單片機(jī),高128b與特殊功能寄存器有相同的地址,而物理上是分開的,故使
15、用了at891c52芯片。 at89c52是一種帶8kb閃爍可編程可擦除只讀存儲(chǔ)器(falsh programmable and erasable read onlymemory,fperom)的低電壓、高性能cmos型8位微處理器,俗稱單片機(jī)。該器件采用atmel公司高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,能夠進(jìn)行1 000次寫擦循環(huán),數(shù)據(jù)保留時(shí)間為10年。它是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。因此,在智能化電子設(shè)計(jì)與制作過程中經(jīng)常用到at89c52芯片。 at89
16、c52是一個(gè)低功耗高性能的單片機(jī),共有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器和1個(gè)全雙工串行通信口,at89c52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲(chǔ)器可有效地降低開發(fā)成本。2.2 74ls154芯片的介紹(1)54/74154 為 4 線16 線譯碼器,當(dāng)選通端(g1、g2)均為低電平時(shí),可將地址端(abcd)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端,以低電平譯出。 如果將g1和g2中的一個(gè)作為數(shù)據(jù)輸入端,由abcd對(duì)輸出尋址,74ls154還可作1線-1
17、6線數(shù)據(jù)分配器,見圖2-1。圖2-1 74ls154芯片(2) 引腳功能介紹a、b、c、d 譯碼地址輸入端(低電平有效)g1、g2 選通端(低電平有效) 015 輸出端(低電平有效)(3)74ls154真值表,見表2-1表2-1 74ls154真值表inputs輸入outputs輸出g1g2dcba0123456789101112131415lllllllhhhhhhhhhhhhhhhlllllhhlhhhhhhhhhhhhhhllllhlhhlhhhhhhhhhhhhhllllhhhhhlhhhhhhhhhhhhlllhllhhhhlhhhhhhhhhhhlllhlhhhhhhlhhhhhh
18、hhhhlllhhlhhhhhhlhhhhhhhhhlllhhhhhhhhhhlhhhhhhhhllhlllhhhhhhhhlhhhhhhhllhllhhhhhhhhhhlhhhhhhllhlhlhhhhhhhhhhlhhhhhllhlhhhhhhhhhhhhhlhhhhllhhllhhhhhhhhhhhhlhhhllhhlhhhhhhhhhhhhhhlhhllhhhlhhhhhhhhhhhhhhlhllhhhhhhhhhhhhhhhhhhhllhxxxxhhhhhhhhhhhhhhhhhlxxxxhhhhhhhhhhhhhhhhhhxxxxhhhhhhhhhhhhhhhh表中l(wèi)表示低電平;表
19、中h表示高電平。(4) 與單片機(jī)引腳的連接地址輸入端a、b、c、d分別接單片機(jī)的p0.0、p0.1、p0.2、p0.3口來控制選擇第幾列顯示。選通端g1接p1.4口,g2接地。(5) 與點(diǎn)陣引腳的連接 74ls154芯片的1-8腳對(duì)應(yīng)接上面兩個(gè)點(diǎn)陣引腳的列線,9-17腳(12腳接地)對(duì)應(yīng)接下面兩個(gè)點(diǎn)陣引腳的列線。點(diǎn)陣引腳圖見下圖2-1。2.3 點(diǎn)陣式漢字led顯示屏設(shè)計(jì)2.3.1 16*16點(diǎn)陣led原理及應(yīng)用設(shè)計(jì)led點(diǎn)陣顯示屏?xí)r必須掌握點(diǎn)陣工作原理才能進(jìn)行更深層設(shè)計(jì)。16*16led點(diǎn)陣實(shí)質(zhì)上就是4塊8*8點(diǎn)陣led級(jí)聯(lián)而成的,因此特給出 8*8 點(diǎn)陣led的工作原理。圖2-1為8*8點(diǎn)陣
20、led的等效電路圖,只要其對(duì)應(yīng)的x、y軸順向偏壓,即可使led發(fā)亮。例如如果想使左上角led點(diǎn)亮,則y0=1,x0=0即可。應(yīng)用時(shí)限流電阻可以放在x軸或y軸。而16*16就是在8*8原理的基礎(chǔ)上將四塊8*8級(jí)聯(lián)而成,見圖2-2。 圖2-1 8*8點(diǎn)陣led等效電路圖圖2-2 四塊8x8點(diǎn)陣led級(jí)聯(lián)成16x16點(diǎn)陣2.3.2 led點(diǎn)陣的顯示文字圖形原理led驅(qū)動(dòng)顯示采用動(dòng)態(tài)掃描方法,動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動(dòng)器。以1616點(diǎn)陣為例,把所有同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽極連在一起(共陰的接法),先送出對(duì)應(yīng)第1列發(fā)光管
21、亮滅的數(shù)據(jù)并鎖存,然后選通第1列使其燃亮一定的時(shí)間,然后熄滅;再送出第2列的數(shù)據(jù)并鎖存,然后選通第2列使其燃亮相同的時(shí)間,然后熄滅;以此類推,第16列之后,又重新燃亮第1列,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上的漢字的每一筆都是同時(shí)出現(xiàn)的。該方法能驅(qū)動(dòng)較多的led,控制方式較靈活,而且節(jié)省單片機(jī)的資源。顯示數(shù)據(jù)可通過單片機(jī)的p0,p2口傳輸?shù)近c(diǎn)陣行引腳。led點(diǎn)陣顯示模塊進(jìn)行的方法有兩種:(1)水平方向(x方向)掃描,即逐列掃描的方式(簡(jiǎn)稱列掃描方式):此時(shí)用一個(gè)p口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個(gè)p口輸出行碼(列數(shù)據(jù)),決
22、定該列上哪個(gè)led亮(相當(dāng)于段碼)。能亮的列從左到右掃描完16列(相當(dāng)于位碼循環(huán)移動(dòng)16次)即顯示出一個(gè)完整的圖像。(2)豎直方向(y方向)掃描,即逐行掃描方式(簡(jiǎn)稱行掃描方式):此時(shí)用一個(gè)p口輸出決定哪一行能亮(相當(dāng)于位碼),另一個(gè)p口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點(diǎn)陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些led燈亮(相當(dāng)于段碼)。能亮的行從上向下掃描完16行(相當(dāng)于位碼循環(huán)移位16次)即顯示一幀完整的圖像。本設(shè)計(jì)應(yīng)用的是第一種的掃描方法,即水平方向(x方向)掃描。每一個(gè)字由16行16列的點(diǎn)陣形成顯示,即每個(gè)字均由256個(gè)點(diǎn)陣來表示,我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素。一般我們使用的16*16
23、的點(diǎn)陣宋體字庫是每一個(gè)漢字在縱橫各16點(diǎn)的區(qū)域內(nèi)顯示的。漢字庫從該位置起的32字節(jié)信息記錄了該字的字模信息。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。我們以水平方向(x方向)掃描顯示漢字的“楊”為例來說明其掃描原理,每一個(gè)字由16行16列的點(diǎn)陣組成顯示,如下圖,如果用8位的at89s51的單片機(jī)來控制,由于單片機(jī)的總線為8位,一個(gè)字需要拆分成兩個(gè)部分。一般我們把它分解成上部分和下部分,上部分由8*16的點(diǎn)陣組成,下部分也由8*16的點(diǎn)陣組成。在本例中單片機(jī)首先顯示的是左上角的第一列的部分,即第0列的p0.0p0.7口。方向?yàn)閜0.7到p0.0,顯示漢字“楊”的時(shí)
24、候,p0.0到p0.2都是滅的,p0.3亮,因?yàn)樾薪雨帢O,即二進(jìn)制11110111,轉(zhuǎn)換為16進(jìn)制為f7h,如圖所示。上半部分第一列完成之后,繼續(xù)掃描下半部分的第一列,即從p2.7向p2.0方向掃描,從上圖可以看到,這一列p2.2亮,其余全部滅,所以代碼為11111011,16進(jìn)制為fbh,然后單片機(jī)轉(zhuǎn)向上半部的第二列,除了p0.3亮,其他的都不亮,即為11110111,16進(jìn)制為f7h,這一列掃描完成之后繼續(xù)進(jìn)行下半部分的掃描,除了p2.0和p2.1亮,其他的為不亮,為二進(jìn)制11111100,即16進(jìn)制fch。按照這個(gè)方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個(gè)8位,可以得出漢字“楊”的掃描代碼
25、為 :f7h,fbh ,f7h ,fch ,37h ,ffh,00h,00h,b7h,ffh,77h,feh,f5h,f7h,bdh,dbh,9dh ,ech,2dh,f7h,b5h, f9h,39h,beh,bdh,7fh,3fh,80h,ffh,ffh,ffh,ffh。3 字模生成3.1 字模簡(jiǎn)介 文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀1。在電腦硬件中,根本沒有漢字這個(gè)概念,也沒有英文的概念,其認(rèn)識(shí)的概念只有內(nèi)碼(將ascii表的高128個(gè)很少用到的數(shù)值以兩個(gè)為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使
26、用,即英文的內(nèi)碼)。如果你用啟動(dòng)盤啟動(dòng)系統(tǒng)后用dir命令可能得到一串串莫名其妙的字符,但那確確實(shí)實(shí)是漢字,如果你啟動(dòng)ucdos或其他的漢字系統(tǒng)后,就會(huì)看到那是一個(gè)個(gè)熟悉的漢字。在硬件系統(tǒng)內(nèi),英文的字模信息一般固化在rom里,即使在沒有進(jìn)入系統(tǒng)的cmos里,也可以讓你看到英文字符。而在dos下,中文的字模信息一般記錄在漢字庫文件里(將制作好的字模放到一個(gè)個(gè)標(biāo)準(zhǔn)的庫中,這就是點(diǎn)陣字庫文件)。字模生成3.2 led顯示屏領(lǐng)域字模實(shí)現(xiàn)技術(shù)在通過軟件實(shí)現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件打開后輸入漢字,點(diǎn)“檢取”,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動(dòng)生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。在通
27、過硬件實(shí)現(xiàn)字模提取的技術(shù)中,有在單片機(jī)系統(tǒng)中增加硬漢字庫的方法,主控器發(fā)送的漢字是其機(jī)內(nèi)碼,用兩個(gè)字節(jié)來表示一個(gè)漢字。根據(jù)機(jī)內(nèi)碼,顯示單元控制模塊從漢字庫中查取顯示字模,實(shí)現(xiàn)漢字顯示。由于帶有硬漢字庫,進(jìn)行動(dòng)態(tài)文字顯示時(shí),通用智能顯示單元僅接受漢字的機(jī)內(nèi)碼即可,這樣數(shù)據(jù)通訊量大大減少。因此,“動(dòng)態(tài)文字顯示速度快”。3.3 字模存儲(chǔ)技術(shù)目前使用最廣泛的技術(shù)是,通過上位機(jī)軟件將待顯示的字符串轉(zhuǎn)換為對(duì)應(yīng)的點(diǎn)陣字模數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲(chǔ)在e2prom中。在條屏顯示的過程中按規(guī)定的方式取出e2prom中的字模數(shù)據(jù)進(jìn)行處理。對(duì)于一個(gè)1616點(diǎn)陣的漢字字模數(shù)據(jù),需要連續(xù)32
28、字節(jié)的e2prom空間來存儲(chǔ)。照此計(jì)算,若有256個(gè)需要顯示的字符,則至少需要32b256=8192字節(jié)(8kb)的e2prom存儲(chǔ)空間。通常的單片機(jī)內(nèi)部沒有集成這么大容量的e2prom。因此這種方案,需要在單片機(jī)外部擴(kuò)展大容量的e2prom,增加硬件成本。上位機(jī)程序設(shè)計(jì)由于涉及到漢字取模,取模算法的難度較大。在多字下載的時(shí)候傳輸時(shí)間也較長(zhǎng)。諸多弊端使本設(shè)計(jì)放棄了傳統(tǒng)方案。而本設(shè)計(jì)創(chuàng)新使用了專用的點(diǎn)陣字庫芯片,成本僅為8元,內(nèi)含各種點(diǎn)陣規(guī)格的gb2312、ascii等標(biāo)準(zhǔn)字庫。專用字庫芯片采用微型so-8封裝,使用高速同步串行spi接口進(jìn)行讀寫操作,節(jié)省了控制器的i/o。在本設(shè)計(jì)中,單片機(jī)內(nèi)部
29、的小容量e2prom,用于存儲(chǔ)待顯示漢字的gb2312標(biāo)準(zhǔn)機(jī)內(nèi)碼,每個(gè)全角字符的內(nèi)碼占2字節(jié),則在同樣需要顯示256個(gè)漢字的情況下,這種方案僅占用512字節(jié)的e2prom空間。4 系統(tǒng)軟件設(shè)計(jì)4.1 程序設(shè)計(jì)系統(tǒng)軟件采用匯編語言編寫,按照模塊化的設(shè)計(jì)思路設(shè)計(jì)。首先分析程序所要實(shí)現(xiàn)的功能,程序要實(shí)現(xiàn)動(dòng)態(tài)顯示并能左右移動(dòng)的功能。程序分為主程序和中斷程序。4.1.1 程序設(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、74hc15
30、4芯片和4個(gè)1616led點(diǎn)陣顯示器構(gòu)成一個(gè)完整的16位點(diǎn)陣led顯示系統(tǒng)。5.1.2 程序流程圖程序主要由開始、初始化、主程序、字庫組成。其中主程序和子程序的流程圖如圖5.1所示。圖5-15 調(diào)試與仿真proteus仿真時(shí),單片機(jī)需要加載程序,加載程序?yàn)?hex文件。本設(shè)計(jì)利用keil軟件,在新建項(xiàng)目時(shí)選擇at89c52單片機(jī)作為cpu,將相應(yīng)程序?qū)?,在“options for target”對(duì)話窗口中,選中“output”選項(xiàng)中的“create hex file ”,編譯鏈接后就可以生成.hex文件。在proteus isis中,選中at89c52并單擊鼠標(biāo)左鍵,對(duì)at89c52進(jìn)行設(shè)置
31、,設(shè)置單片機(jī)時(shí)鐘頻率為12mhz,按照正確的文件路徑加載.hex文件。對(duì)單片機(jī)設(shè)置完畢后就可以開始仿真了。仿真過程中如有硬件問題可在proteus isis中直接修改,如有軟件問題可在keil中直接修改,通過keil與proteus的聯(lián)合調(diào)試就可以得到預(yù)期的結(jié)果。proteus軟件目前版本中沒有16*16點(diǎn)陣模塊,本設(shè)計(jì)中采用proteus軟件中現(xiàn)有的4個(gè)8*8點(diǎn)陣模塊組合成一個(gè)16*16點(diǎn)陣模塊,利用proteus軟件設(shè)計(jì)點(diǎn)陣式led滾動(dòng)漢字顯示屏硬件電路原理圖如附錄圖。5.1 仿真效果5.2 調(diào)試中出現(xiàn)的問題延時(shí)問題:在顯示子程序中需要調(diào)用延時(shí)子程序,如果延時(shí)過短,雖然能提高顯示屏的亮度,
32、但是將無法達(dá)到預(yù)定的效果,每行還沒有顯示完全就進(jìn)入了下一行的掃描,甚至鎖存器還沒有輸出到顯示屏,便進(jìn)入到下一個(gè)掃描周期,如果時(shí)間過長(zhǎng),不但顯示屏的亮度會(huì)降低,而且掃描的過程變?yōu)殚g斷的,人眼看到的不是完整的漢字,這兩種情況都是不成功的,要想達(dá)到最佳的顯示效果,就得根據(jù)鎖存器的鎖存時(shí)間,得出掃描一行的最短時(shí)間,再結(jié)合實(shí)踐,便能得出延時(shí)的最佳時(shí)間,這樣顯示屏才能顯示穩(wěn)定的漢字。結(jié)論在本設(shè)計(jì)中我用簡(jiǎn)短的匯編程序在led顯示屏實(shí)現(xiàn)了漢字的左移右移滾動(dòng)顯示。在設(shè)計(jì)中采用的芯片有at89c51、74ls373、74ls138、74hc154和4個(gè)88led點(diǎn)陣顯示器。其特點(diǎn):1.內(nèi)容能從右向左,從左向右浮動(dòng)
33、顯示,有不同的動(dòng)態(tài)效果。2.硬件結(jié)構(gòu)簡(jiǎn)單,應(yīng)用廣泛。3.led數(shù)碼管動(dòng)態(tài)掃描顯示,工作效率高,價(jià)格低廉等。通過本次(1616位點(diǎn)陣led)的設(shè)計(jì),理論知識(shí)學(xué)習(xí)和實(shí)際設(shè)計(jì)的結(jié)合鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí)解決實(shí)際工程問題的能力,同時(shí)也提高我查閱文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富。為后繼的學(xué)習(xí)和工作奠定的基礎(chǔ)。參考文獻(xiàn)1 高玉芹.單片機(jī)原理與應(yīng)用及c51編程技術(shù)m.北京:機(jī)械工業(yè)出版社,2011.6 2 嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試m.北京:北京航空航天大學(xué)出版
34、社,2005 3李光飛等.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)m.北京:北京航空航天大學(xué)出版社,2005 4 蘇平.單片機(jī)原理與接口技術(shù)m.北京:電子工業(yè)出版社,2003.85 趙長(zhǎng)德,雷田玉.微型計(jì)算機(jī)原理與接口技術(shù)m.北京:機(jī)械工業(yè)出版社,1999.10附錄附錄1整體電路原理圖附錄2完整程序org 0000hajmp readyorg 000bhajmp int_0;只需更改點(diǎn)陣數(shù)據(jù)和要顯示的總字?jǐn)?shù)ready:mov p0,#0ffh mov p1,#0ffh mov p2,#0ffh mov p3,#0ffh mov sp,#70h mov 36h,#2d ;控制移動(dòng)的速度 mov 37h,#00h
35、mov 3ah,#9d ;設(shè)置要顯示的總字?jǐn)?shù) lcall data_chushi setb ea ;中斷初始化 setb et0 mov tmod,#01h mov th0,#0a6h mov tl0,#00h setb tr0;主程序main:acall disp_ready ;調(diào)用顯示子程序 acall key ;調(diào)用按鍵子程序 ajmp main ;循環(huán)調(diào)用子程序data_chushi:mov 35h,#00h mov 38h,#00h mov 39h,#01h ;初始化時(shí)已顯示第一個(gè)字 mov 3bh,#0a0h ;暫存r0指向地址 mov dptr,#data1 mov r0,#0a
36、0h;點(diǎn)陣數(shù)據(jù)存放地址 mov 30h,#32d;數(shù)據(jù)字節(jié)數(shù) send_data0:mov a,#00h;將表中第一個(gè)數(shù)據(jù)地址存入r0 movc a,a+dptr mov r0,a inc r0 inc dptr djnz 30h,send_data0 ;共32字節(jié) mov r0,#0c0h;點(diǎn)陣數(shù)據(jù)存放地址 mov 30h,#32d;數(shù)據(jù)字節(jié)數(shù)send_data1:mov a,#00h;將左移時(shí)所需存儲(chǔ)的數(shù)據(jù)地址存入r0 movc a,a+dptr mov r0,a inc r0 inc dptr djnz 30h,send_data1 mov dptr,#data1+32 mov r0,#
37、80h;點(diǎn)陣數(shù)據(jù)存放地址 mov 30h,#32d;數(shù)據(jù)字節(jié)數(shù)send_data2:mov a,#00h;將右移時(shí)所需存儲(chǔ)的數(shù)據(jù)地址存入r0 movc a,a+dptr mov r0,a inc r0 inc dptr djnz 30h,send_data2 ret key:mov p3,#0ffh mov a,p3 anl a,#00000001b ;由一個(gè)按鍵控制(對(duì)應(yīng)單片機(jī)p3.0口) cjne a,#00000001b,key_panduan retkey_panduan:mov 34h,a ;判斷是否確實(shí)有鍵按下 acall key_delay mov a,p3 anl a,#000
38、00001b cjne a,34h,key_exit acall key_chulikey_exit: retkey_chuli:jb acc.0,key_chuli_exit ;有鍵按下后做相應(yīng)處理 mov a,37h ;移動(dòng)方式的切換 add a,#40h ;a加除00h以外的任何值都可 mov 37h,a lcall data_chushi retkey_chuli_exit:retkey_delay: ;按鍵延時(shí)dly_lp1: mov r1,#20 mov r6,#50dly_lp2: nop nop nop djnz r6,dly_lp2 djnz r7,dly_lp1end_dl
39、yms:ret ;顯示程序disp_ready:mov r0,3bh mov 30h,#16d mov 31h,#00h disp:mov a,r0 ;行列掃描顯示 mov p0,a inc r0 mov a,r0 mov p2,a mov p1,31h acall disp_delay mov p0,#00h mov p1,#0ffh mov p2,#00h inc 31h inc r0 djnz 30h,dispdisp_exit: ret;顯示延時(shí) disp_delay:mov 32h,#2d1:mov 33h,#150 djnz 33h,$ djnz 32h,d1 ret;中斷處理程序
40、int_0:push acc mov th0,#0a6h ;重裝初值 mov tl0,#00h inc 35h mov a,35h cjne a,36h,int0_exit mov 35h,#00h acall which_wayint0_exit:pop acc retiwhich_way:mov a,37h ;選擇左移還是右移 cjne a,#00h,way2 acall zuoyi retway2: acall youyi retzuoyi: mov 50h,#0a1h ;初始化時(shí)已顯示第一個(gè)字 mov 51h,#0c1h mov 3ch,#16d inc 38h mov a,38h cjne a,#16d,zuoyi_then1 mov 38h,#00h inc 39h mov a,39h cjne a,3ah,zuoyi_then mov 39h,#00h mov dptr,#data1zuoyi_then: mov 3ch,#32d mov r1,#0c0hzuoyi_send_data: mov a,#00h ;左移將字送入r1 movc a,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境的網(wǎng)絡(luò)安全培訓(xùn)
- 未來學(xué)習(xí)模式基于網(wǎng)絡(luò)教育平臺(tái)的思考
- 現(xiàn)代辦公空間中的綠色環(huán)保用品設(shè)計(jì)思考
- 2024年四年級(jí)品德與社會(huì)上冊(cè) 第三單元 生活在這里真好 第11課《我家來了新鄰居》說課稿 粵教版001
- 2024-2025學(xué)年高中物理 第十二章 機(jī)械波 4 波的衍射和干涉說課稿4 新人教版選修3-4001
- Module 1 Unit 1 She's a nice teacher(說課稿)-2023-2024學(xué)年外研版(三起)英語四年級(jí)下冊(cè)
- 2023九年級(jí)化學(xué)上冊(cè) 第一章 大家都來學(xué)化學(xué)1.2 化學(xué)實(shí)驗(yàn)室之旅說課稿(新版)粵教版001
- 2025農(nóng)村養(yǎng)殖場(chǎng)場(chǎng)地租地合同
- 2025國(guó)際專利技術(shù)許可合同模板版
- Unit 5 Nature and Culture(說課稿)2023-2024學(xué)年人教新起點(diǎn)版英語六年級(jí)下冊(cè)
- 電動(dòng)汽車用驅(qū)動(dòng)電機(jī)系統(tǒng)-編制說明
- 江蘇卷2024年高三3月份模擬考試化學(xué)試題含解析
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺(tái)及通道安全技術(shù)要求
- 2024年四川省成都市新都區(qū)中考英語一診試卷(含解析)
- 醫(yī)療器械物價(jià)收費(fèi)申請(qǐng)流程
- 招聘專員轉(zhuǎn)正述職報(bào)告
- “一帶一路”背景下的西安市文化旅游外宣翻譯研究-基于生態(tài)翻譯學(xué)理論
- 2024年江蘇省昆山市六校中考聯(lián)考(一模)化學(xué)試題
- 大學(xué)生文學(xué)常識(shí)知識(shí)競(jìng)賽考試題庫500題(含答案)
- 國(guó)家電網(wǎng)智能化規(guī)劃總報(bào)告
- 邢臺(tái)市橋西區(qū)2024年事業(yè)單位考試《公共基礎(chǔ)知識(shí)》全真模擬試題含解析
評(píng)論
0/150
提交評(píng)論