計算機控制課程設(shè)計點陣LED顯示系統(tǒng)_第1頁
計算機控制課程設(shè)計點陣LED顯示系統(tǒng)_第2頁
計算機控制課程設(shè)計點陣LED顯示系統(tǒng)_第3頁
計算機控制課程設(shè)計點陣LED顯示系統(tǒng)_第4頁
計算機控制課程設(shè)計點陣LED顯示系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、計算機控制技術(shù)課程設(shè)計報告設(shè)計題目:點陣led顯示系統(tǒng)班 級: 學(xué) 號: 姓 名: 時 間: 1 系統(tǒng)概述led顯示屏(led panel):又叫電子顯示屏,是由led點陣組成,通過紅色或綠色燈珠的亮滅來顯示文字、圖片、動畫、視頻,內(nèi)容可以隨時更換,各部分組件都是模塊化結(jié)構(gòu)的顯示器件。通常由顯示模塊、控制系統(tǒng)及電源系統(tǒng)組成。顯示模塊由led燈組成的點陣構(gòu)成,負(fù)責(zé)發(fā)光顯示;控制系統(tǒng)通過控制相應(yīng)區(qū)域的亮滅,可以讓屏幕顯示文字、圖片、視頻等內(nèi)容,電源系統(tǒng)負(fù)責(zé)將輸入電壓電流轉(zhuǎn)為顯示屏需要的電壓電流。led顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內(nèi)環(huán)境還可以用于室外環(huán)境,具有投影儀、電視

2、墻、液晶顯示屏無法比擬的優(yōu)點。led具有亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定等特點,因此,led受到廣泛重視而得到迅速發(fā)展。并且,led的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。led顯示屏性能超群: 發(fā)光亮度強 ,在可視距離內(nèi)陽光直射屏幕表面時,顯示內(nèi)容清晰可見. 超級灰度控制 ,具有1024-4096級灰度控制,顯示顏色16.7m以上,色彩清晰逼真,立體感強. 靜態(tài)掃描技術(shù) :采用靜態(tài)鎖存掃描方式,大功率驅(qū)動,充分保證發(fā)光亮度。自動亮度調(diào)節(jié) 具有自動亮度調(diào)節(jié)功能,可在不同亮度環(huán)境下獲得最佳播放效果

3、。全面采用進口大規(guī)模集成電路,可靠性大大提高,便于調(diào)試維護。全天候工作 完全適應(yīng)戶外各種惡劣性環(huán)境,防腐,防水,防潮,防雷,抗震整體性能強、性價比高、顯示性能好,像素筒可采用p10mm、p16mm等多種規(guī)格。先進的數(shù)字化視頻處理,技術(shù)分布式掃描,模塊化設(shè)計/恒流靜態(tài)驅(qū)動,亮度自動調(diào)節(jié),超高亮純色象素 ,影像畫面清晰、無抖動和重影,杜絕失真 ,視頻、動畫、圖表、文字、圖片等各種信息顯示、聯(lián)網(wǎng)顯示、遠(yuǎn)程控制。led的主要應(yīng)用領(lǐng)域有:(1)信號制式應(yīng)用:信號照明是led單色光應(yīng)用比較廣泛也是比較早的一個領(lǐng)域。(2)顯示應(yīng)用:指示牌、廣告牌、大屏幕顯示等,顯示屏幕可分為單色和彩色。(3)照明應(yīng)用:便攜

4、燈具,汽車用燈,特殊照明。由于led尺寸小,便于動態(tài)的亮度和顏色控制,因此比較適合于建筑裝飾照明。背光照明:普通電子設(shè)備功能顯示背景源、筆記本電腦背光源等。1.1 設(shè)計環(huán)境實驗系統(tǒng)本次設(shè)計采用了西安唐都科教儀器公司的td-pid+實驗系統(tǒng)。 1.2 設(shè)計要求設(shè)計點陣led顯示系統(tǒng),要求系統(tǒng)實現(xiàn)以下功能:1. “開幕式”:從中間向兩邊逐次熄滅8個燈; 2. “倒計時”:順序顯示9、8、7、1、0; 3. “閉幕式”:從兩邊向中間逐次點亮8個燈;4 自行設(shè)計兩種顯示效果;5 通過鍵盤選擇,實現(xiàn)多種效果的組合。1.3 總體設(shè)計利用并行接口芯片8255pa口、pb口控制8x8點陣led的行和列,pc口

5、的低四位、高四位分別控制4x4鍵盤行和列。按1鍵開始“開幕式”表演:從中間向兩邊逐次熄滅8個燈;按下2鍵開始“閉幕式”表演:從兩邊向中間逐次點亮8個燈;按下3鍵開始“風(fēng)車”表演:風(fēng)車轉(zhuǎn)動;按下4鍵開始“煙花”表演:煙花開放按下5鍵啟動“倒計時”功能:順序顯示9、8、7、1、0;按下6鍵:結(jié)束。同時實現(xiàn)按鍵轉(zhuǎn)跳功能,也就是在表演過程中,按下其它鍵,立即轉(zhuǎn)跳顯示其它表演。程序中需要預(yù)先填入要輸出數(shù)字90、煙花、風(fēng)車圖的字模,由于需要改變方向輸出,不同輸出所需的字模也不一樣,故需要多種字模。led點陣顯示圖形的原理是:每次只輸出一列,8列都輸出之后才將自摸移動一列,重新按列輸出:每次變化的時間非常短

6、,肉眼無法識別出來,因而以為顯示的是整個圖形??刂骑@示速度的變化實際上就是控制每列輸出后延遲的時間。2 硬件設(shè)計2.1 硬件構(gòu)成本次設(shè)計點陣led顯示需要的硬件模塊有8x8點陣led、4x4鍵盤,可編程并行接口芯片8255等,下面簡要介紹相關(guān)芯片:8x8點陣led單元該單元提供一個8x8的點陣led顯示模塊,點陣led的行列控制已經(jīng)連接好。行控制為r1r8,列控制為l1l8。其線路連接如圖1所示。 圖1 點陣led顯示單元8255單元該單元提供一片開放的并口控制器8255,用于學(xué)習(xí)并行接口8255的編程方法。其線路連接如圖2所示 圖2 8255單元4x4鍵盤單元該單元提供4x4的小鍵盤陣列及4

7、位七段數(shù)碼管,電路連接為掃描電路形式。其線路連接如圖3所示。圖3 鍵盤及數(shù)碼管顯示單元2.2 硬件連線圖td-pid+實驗板上連接圖如圖4所示: l1 l8 點陣led單元 r1 r7 x1 x4 鍵盤及數(shù)碼 y1 顯示單元 y4 d0 pa0 d7 pa7 pb0 8255 單元 pb7 a1 a0 wr pc0 rd cs pc3 pc4 pc7 xd0 xd7 系 統(tǒng) 總 線 xa3 xa2 xiow xior ioy0 圖4 td-pid+實驗板上連線圖 將系統(tǒng)總線和8255的數(shù)據(jù)總線相連,利用并行接口芯片8255pa口、pb口作為輸出口,分別于點陣led的列控制l1l8、行控制r1r

8、8相連,控制 led的行和列,pc口的低四位、高四位分別控制4x4鍵盤行x1x4和列y1y4。 其它8255的片選端cs、a0、a1分別接系統(tǒng)總線的ioy0、xa2、xa3。3 系統(tǒng)軟件設(shè)計3.1 系統(tǒng)軟件總述本次設(shè)計采用的語言為匯編語言,大量使用了模塊化程序,所有功能都能通過調(diào)子程序?qū)崿F(xiàn)。點陣led顯示系統(tǒng)設(shè)計的軟件部分由主程序、煙火表演1子程序、煙火表演2子程序、開幕式子程序、閉幕式子程序、數(shù)字倒計時程序子程序、顯示子程序、以及延時子程序1和2組成。在平時編程中,用c語言編寫程序有利于實現(xiàn)較復(fù)雜的算法,但是匯編語言程序則具有較高的效率且容易精細(xì)計算程序運行的時間。不論是什么語言,始終是要被

9、電腦轉(zhuǎn)換成c語言進行執(zhí)行的。所以,在此次設(shè)計中,編程采用的是匯編語言,整個程序?qū)哟斡行?,結(jié)構(gòu)清晰,易于維護,完整程序見程序代碼。3.2 i/o口分配8255i/o口分配如表1所示表1i/o口ioy0my8255_amy8255_bmy8255_cmy8255_mode分配9800hioy0+00h*4ioy0+01h*4ioy0+02h*4ioy0+03h*4 3.3 軟件流程圖系統(tǒng)流程圖如圖5所示:圖5 系統(tǒng)流程圖3.4 程序代碼ioy0equ9800hmy8255_aequ ioy0+00h*4my8255_bequ ioy0+01h*4my8255_cequ ioy0+02h*4my82

10、55_modeequ ioy0+03h*4stack1segmentstackdw256dup(?)stack1endsdata1segmentinr db 0 ;存放列鍵值單元cs1cdw?ip1cdw?cnt db 0 ;計數(shù)單元num db 0fire1 db 0c1h,63h,36h,1ch,038h,6ch,0c6h,83h;風(fēng)車1 db 10h,18h,18h,07fh,0feh,18h,18h,08h db 0c1h,63h,36h,1ch,038h,6ch,0c6h,83h db 10h,18h,18h,07fh,0feh,18h,18h,08h moveyanhua db 8

11、1h,00h,00h,00h,00h,00h,00h,81h ;煙火2 db 81h,42h,00h,00h,00h,00h,42h,81h db 00h,00h,24h,00h,00h,24h,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,24h,00h,00h,24h,00h,00h db 81h,42h,00h,00h,00h,00h,42h,81h db 81h,00h,00h,00h,00h,00h,00h,81h open1 db 0ffh,0ffh,

12、0ffh,0ffh,0ffh,0ffh,0ffh,0ffh;開幕式字段open2 db 0ffh,0ffh,0ffh,0h,0h,0ffh,0ffh,0ffhopen3 db 0ffh,0ffh,0h,0h,0h,0h,0ffh,0ffhopen4 db 0ffh,0h,0h,0h,0h,0h,0h,0ffhopen5 db 0h,0h,0h,0h,0h,0h,0h,0hclose1 db 0h,0h,0h,0h,0h,0h,0h,0h ;閉幕式字段close2 db 0ffh,0h,0h,0h,0h,0h,0h,0ffhclose3 db 0ffh,0ffh,0h,0h,0h,0h,0ffh

13、,0ffhclose4 db 0ffh,0ffh,0ffh,0h,0h,0ffh,0ffh,0ffhclose5 db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffhnumtable db 00h, 00h, 4fh, 49h, 49h, 49h, 7fh, 00h;9,0 db 00h, 00h, 4fh, 49h, 49h, 49h, 7fh, 00h;9,0 倒計時字段 db 00h, 00h, 7fh, 49h, 49h, 49h, 7fh, 00h;8,1 db 00h, 00h, 01h, 01h, 79h, 05h, 03h, 00h;7,2 db

14、 00h, 00h, 7fh, 49h, 49h, 49h, 79h, 00h;6,3 db 00h, 00h, 4fh, 49h, 49h, 49h, 79h, 00h;5,4 db 00h, 00h, 1fh, 10h, 10h, 10h, 7fh, 00h;4,5 db 00h, 00h, 49h, 49h, 49h, 49h, 7fh, 00h;3,6 db 00h, 00h, 79h, 49h, 49h, 49h, 4fh, 00h;2,7 db 00h, 00h, 00h, 00h, 42h, 7fh, 40h, 00h;1,8 db 00h, 00h, 7fh, 41h, 41h

15、, 41h, 7fh, 00h;0,9data1endscodesegment assumecs:code,ds:data1,ss:stack1start:mov ax,data1 mov ds,ax push ds mov dx,my8255_mode ;初始化8255,設(shè)置a,b和c低四位為輸出,c口高四位為輸入 mov al,88h out dx,al call scan ;掃描有無按鍵按下,有則跳出,無則繼續(xù) ;/風(fēng)車/yanhuo1 proc near mov bx,3h ;風(fēng)車表演循環(huán)次數(shù)s1: mov cnt,0 lea di,fire1 mov cx,4y1:mov si,di

16、 call disp call scan ;掃描有無按鍵按下,有則跳出,無則繼續(xù)inc cntcmp cnt,8hje y2 jmp y1 y2: add di,8 loop y1dec bxmov cx,bxloop s1movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0hretyanhuo1 endp;/煙火/ yanhuo2 proc near mov bx,3h ;循環(huán)次數(shù)s2: mov cnt,0 lea di,moveyanhua mov cx,8m1:mov si,di call disp call scan ;掃描有無按鍵按下,有則跳

17、出,無則繼續(xù)inc cntcmp cnt,8hje m2 jmp m1m2:add di,8 loop m1dec bxmov cx,bxloop s2movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0hretyanhuo2 endp;/開幕式/opening proc near mov cx,6h t1: lea si,open1call disploop t1mov cx,6h t2: lea si,open2call disploop t2mov cx,6h t3: lea si,open3call disploop t3mov cx,6h t

18、4: lea si,open4call disploop t4mov cx,6h t5: lea si,open5call disp call scan ;掃描有無按鍵按下,有則跳出,無則繼續(xù)loop t5movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0retopening endp;/閉幕式/closing proc nearmov cx,6h tt1: lea si,close1call disploop tt1mov cx,6h tt2: lea si,close2call disploop tt2mov cx,6h tt3: lea si,

19、close3call disploop tt3mov cx,6h tt4: lea si,close4call disploop tt4mov cx,6h tt5: lea si,close5call disp call scan ;掃描有無按鍵按下,有則跳出,無則繼續(xù)loop tt5movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0retclosing endp;/數(shù)字倒計時程序/time proc nearmov cnt,0 lea di,numtablemov cx,11w1:mov si,di call disp call scan ;掃描有

20、無按鍵按下,有則跳出,無則繼續(xù)inc cntcmp cnt,8hje w2 jmp w1w2:add di,8loop w1movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0rettime endp;/鍵盤掃描子程序/ scan proc near xor bx,bx ;列鍵值bl=0,行鍵值bh=0 mov al,0h ;c口低四位輸出全為0 mov dx,my8255_c out dx,al mov dx,my8255_c ;讀入c口高四位 in al,dx and al,0f0h cmp al,0f0h je l ;c口高四位輸入全為1,該列無

21、鍵按下轉(zhuǎn)l call delay ;c口高四位輸入非全1,該列有鍵按下調(diào)延時 mov dx,my8255_c in al,dx and al,0f0h cmp al,0f0h je l mov cl,0eh ;該列有鍵按下,從第一行開始查找r1: mov al,cl ;使某列為0 mov dx,my8255_c out dx,al mov dx,my8255_c in al,dx and al,0f0h cmp al,0f0h jne r2 ;該列有鍵按下 mov al,bl ;該列無鍵按下,列鍵值加4 add al,4 daa mov bl,al ;bl列鍵值 shl cl,1 ;準(zhǔn)備查找下

22、一列 cmp cl,0 ;所有列未查找完轉(zhuǎn)k1 jne r1r2: inc bh ;該列有鍵按下,行值加1 shl al,1 ;行鍵移入cf jc r2 ;cf=1,該行無鍵按下轉(zhuǎn)k2 mov al,bl ;cf=0,該行有鍵按下 add al,bh ;鍵值=行鍵值+列鍵值 daa lea di,inr ;存鍵值 mov di,al jmp comp ;轉(zhuǎn)鍵處理程序l: ret ;無鍵按下,跳出查詢comp:mov al,inr cmp al,1jz des1cmp al,2jz des2cmp al,3jz des3cmp al,4jz des4cmp al,5jz des5 cmp al,

23、6 jz des6 jmp l des1:call opening ;開幕式 jmp scandes2:call closing ;閉幕式 jmp scandes3: call yanhuo1 ;風(fēng)車 jmp scan des4: call yanhuo2 ;煙花 jmp scan des5: call time ;數(shù)字倒計時jmp scandes6: movdx,my8255_b ;清8255b口,停止moval,0houtdx,almov ax,4c00h int 21hscan endp;/顯示子程序/disp proc near push ax push bx push cx push

24、 dxmov dx,my8255_bmov al,0hout dx,al mov bl,01hmov cx,8hloop1:mov dx,my8255_bmov al,si out dx,almov al,blnot almov dx,my8255_aout dx,aladd bl,blcall dallyinc siloop loop1pop ax pop bx pop cx pop dx retdisp endp;/延時子程序1供顯示子程序使用/dally proc nearpush axpush cxmov cx,03fhd1:mov ax,2fffhd2:dec ax jnz d2 l

25、oop d1 pop cx pop ax retdally endp;/延時子程序2供去抖用/delay proc near push cx push ax mov ch,20dl1:mov cl,200dl2:dec cl jnz dl2 dec ch jnz dl1 pop ax pop cx retdelay endp;/結(jié)束/code ends end start3.5 程序結(jié)果部分顯示 程序顯示結(jié)果如下圖所示 圖6 開幕式(閉幕式) 圖7 煙花閃爍4 結(jié)束語本報告主要介紹如何實現(xiàn)8x8點陣led顯示,硬件部分使用西安唐都科教儀器公司的td-pid+實驗系統(tǒng),實驗箱中的可編程并行接口芯片8255,8x8點陣led,4x4鍵盤等連接組成點陣led

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論