資源描述:
《Led點(diǎn)陣大屏設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、Led點(diǎn)陣大屏一.課程設(shè)計(jì)目的1、實(shí)現(xiàn)LED點(diǎn)陣屏核心功能即字母的多樣化顯示。2、通過本次課程設(shè)計(jì)加深對(duì)單片機(jī)課程的全面認(rèn)識(shí)和掌握,對(duì)單片機(jī)課程的應(yīng)用進(jìn)一步的了解。3、掌握SPI串口進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)用,并學(xué)會(huì)使用外部芯片輔助項(xiàng)目設(shè)計(jì)。4、鍛煉通過自學(xué)與自己探索的方式解決問題的能力。5、通過此次課程設(shè)計(jì)將單片機(jī)軟硬件結(jié)合起來(lái)對(duì)程序進(jìn)行編輯,校驗(yàn),鍛煉實(shí)踐能力和理論聯(lián)系實(shí)際的能力。6、鍛煉團(tuán)隊(duì)分工合作與協(xié)調(diào)能力。二.用途與功能目前我國(guó)大部分的廣場(chǎng)電視、高速公路、車站等的信息發(fā)布平臺(tái)等公共信息發(fā)布系統(tǒng)均采用點(diǎn)陣顯示的方式設(shè)計(jì)。LED因其體積小,耗電量低,高亮度
2、及環(huán)保等優(yōu)點(diǎn)而被廣泛應(yīng)用于公共場(chǎng)所的大屏顯示上,LED點(diǎn)陣大屏可應(yīng)用于戶外廣告,交通導(dǎo)航,大廳公告,比賽的多媒體實(shí)時(shí)顯示等領(lǐng)域。本課程設(shè)計(jì)作品的用途正是在于實(shí)現(xiàn)大屏顯示的核心功能,即字母的多樣化顯示,可實(shí)際應(yīng)用于簡(jiǎn)單的顯示系統(tǒng)中。1準(zhǔn)確的顯示英文字母2通過鍵盤可控制顯示方式3可控的逐個(gè)顯示字母4可控制顯不字母的兄度5可控的滾動(dòng)顯示字母6滾動(dòng)方向可控7滾動(dòng)速度可控三硬件設(shè)計(jì)思想及電路圖:通過鍵盤輸入控制信號(hào),由單片機(jī)進(jìn)行處理,并將行列信號(hào)分別通過顯示驅(qū)動(dòng)輸入點(diǎn)陣大屏,控制點(diǎn)陣的顯示。電路圖如下:8iiiiin100?…A/EV:C—PCG—PC.—PC
3、:—PC3一Pl:4—1忙、——PC5—PL—PDO—PDI一PD2JPD3b—P3一PD5?—PDA一I'D/?AC————Z—一——FEO—?LI——皿一卜切—仔—?L5—卜“一FB7—■'I-1.單片機(jī):采用AtmegalG單片機(jī)芯片作為中控,處理鍵盤信號(hào)并控制LED點(diǎn)陣顯示。2.控制信號(hào)輸入:采用AVR開發(fā)板上自帶的4*4矩陣鍵盤。3?顯示:考慮到顯示的對(duì)象為英文字母,并不需要太大的顯示屏,因此決定采用8x8LED點(diǎn)陣屏顯示字母。4.顯示驅(qū)動(dòng):考慮到設(shè)計(jì)所需端口較多的問題,為減少資源占用,使用74HC164作為行驅(qū)動(dòng)芯片,同吋為保護(hù)芯片,我們又采
4、用100歐電阻來(lái)進(jìn)行限流。在調(diào)試過程屮發(fā)現(xiàn)我們自己制作的電路板可靠性不高而我們的設(shè)計(jì)可通過適當(dāng)?shù)淖兺ㄍ耆蕾囬_發(fā)板,因此我們僅采用開發(fā)板作為我們的碩件電路。四軟件設(shè)計(jì)思想及軟件流程設(shè)計(jì)思想:通過timer2的溢出屮斷程序?qū)崿F(xiàn)基本的顯示字母功能,使用全局變量控制將要顯示的字母、字母的顯示亮度、是否滾動(dòng)顯示、滾動(dòng)顯示的方向及速度,通過使用外部觸發(fā)中斷的鍵盤掃描刷新全局變量的值。軟件流程:開始啟動(dòng)傳送數(shù)擔(dān)使用中斷觸發(fā)的饒盤掃描函數(shù)Led屛詳細(xì)介紹:1.全局變量的功能:本程序使用了5個(gè)全局變量,名稱及功能如下:wordselect:選擇要顯示的字母light:選
5、擇顯示字母的亮度direction:設(shè)置滾動(dòng)的方向speed:設(shè)置是否滾動(dòng)及滾動(dòng)的速度move:恢復(fù)字母的初相位2.鍵盤掃描部分:采用INT2作為觸發(fā)中斷的行列翻轉(zhuǎn)鍵盤掃描方式鍵值及功能如下:case0x00caseOxEEcaseOxEDcaseOxEBcase0xE7caseOxDEcaseOxDDcaseOxDBcase0xD7caseOxBEcaseOxBDcaseOxBBcase0xB7case0x7Ecase0x7Dcase0x7Bcase0x773.顯示函數(shù):break;worcl_select二0word_select二1word_sel
6、ect二2word_select=3light二0;light=2;light=4;light二6;direction二0;dircction=l;speed二0;speed二1;speed二2;speed二3;spccd=4;move二0;選擇字母1選擇字母2選擇字母3選擇字母4字母亮度檔1字母亮度檔2字母亮度檔3字母亮度檔4滾動(dòng)方向1滾動(dòng)方向2停止?jié)L動(dòng)檔滾動(dòng)速度檔1滾動(dòng)速度檔2滾動(dòng)速度檔3滾動(dòng)速度檔4恢復(fù)字母的初相位采用timer2的溢出中斷服務(wù)程序來(lái)實(shí)現(xiàn)字母的顯示。每次timer2溢出時(shí),觸發(fā)屮斷,在屮斷服務(wù)程序屮刷新點(diǎn)陣屏幕的驅(qū)動(dòng)端口數(shù)值,達(dá)到顯
7、示字母的目的。具體程序如下://ICC-AVRapplicationbuilder:2008-05-3115:39:17//Target:Ml6//Crystal:8.OOOOMhz#includettincludeflashcharword[4][8]={{0x00,0x7c,0x04,0x04,0x7c,0x04,0x04,0x00},{0x00,0x7c,0x04,0x04,0x7c,0x04,0x04,0x7c},{0x00,0x3e,0x42,0x42,0x42,0x42,0x3e,0x00},{0x00
8、,0x3c,0x02,0x02,0x02,0x02,0x3c,0x00}};vo