16×16LED點(diǎn)陣屏原理圖及驅(qū)動(dòng)程序_第1頁(yè)
16×16LED點(diǎn)陣屏原理圖及驅(qū)動(dòng)程序_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、 1616LED 點(diǎn)陣屏原理圖及驅(qū)動(dòng)程序這是我玩 LED 點(diǎn)陣屏的第一塊電路板,也是學(xué)習(xí)單片機(jī)入門(mén)的第一個(gè)實(shí)驗(yàn)器材。它由 4 片30mm30mm 的 88 紅色高亮點(diǎn)陣模塊與兩片 74HC595、兩片 74HC138、16 只 8550 晶體管、一片 74HC244 集裝在一塊寬高 65mm210mm 的雙面 PCB 板上,它應(yīng)該是一組級(jí)聯(lián)安裝的 LED屏的一個(gè)單元模塊,拿到它時(shí),我正在學(xué)習(xí)無(wú)線電雜志 2007/11 期刊上杜洋的一組文章,剛剛做好了 ISP 下載線,只做了“一個(gè)發(fā)光二極管的控制實(shí)驗(yàn)”,面對(duì)這個(gè)既好玩又陌生的玩意,真是無(wú)從下手,通過(guò)上網(wǎng)學(xué)習(xí),解析研究,前后弄了兩個(gè)多月,最后在無(wú)

2、線電雜志 2005/12 期的配文程序的幫助下,終于踏進(jìn)了點(diǎn)陣控制的門(mén)檻,兩年過(guò)去了,我又玩了許多單片機(jī)控制器件,但這塊屏卻一直擺在我的桌案上,每當(dāng)遇到難題時(shí),看看它那穩(wěn)定清晰的顯示,我都能找到許多靈感;最近、在擺弄一塊并行驅(qū)動(dòng)的1664 點(diǎn)陣屏?xí)r(前幾篇文章介紹了)時(shí),因?yàn)橛玫倪€是這段程序,就又想起了它,雖然程序已經(jīng)詳解過(guò)了,但是,為了留記一段經(jīng)歷、一段回憶,決定還是“貂續(xù)狗尾”寫(xiě)在這里,留著自己欣賞吧。一.原理圖:二.漢字左右移動(dòng)驅(qū)動(dòng)程序/*1616LED 點(diǎn)陣屏原理圖及 C 源漢字左右移動(dòng)顯示驅(qū)動(dòng)程序wannenggong 單片機(jī):AT89S52引腳說(shuō)明:P0.0/P0.1/P0.2/P

3、0.3 控制由兩片 74HC138 組成的行驅(qū)動(dòng)控制 4-16 譯碼器的A/B/C/D端P1.0/P1.1控制列驅(qū)動(dòng)控制 74HC595的 OE/ST端,595的 14腳(DS)經(jīng) 244連接 RXD,595的12腳(SH)經(jīng) 244連接 TXD。*/#include #define uchar unsigned char#define uint unsigned int#define K 5/移動(dòng)速度控制變量。uchar col,disrow; /列移動(dòng)計(jì)數(shù)變量。行掃描計(jì)數(shù)變量。uint word,zishu;uchar code HZ;uchar BUFF5;void two_out();

4、/字形碼計(jì)數(shù)變量。/64列時(shí)應(yīng)將數(shù)值設(shè)為 11/顯示數(shù)據(jù)輸出函數(shù)void loadoneline_L(void); / /取字碼數(shù)據(jù)函數(shù)/void loadoneline_R(void);void sendoneline_L(void); / /生成顯示數(shù)據(jù)函數(shù)/void sendoneline_R(void);/*關(guān)于 595第 13腳的問(wèn)題:原附圖中 13腳是接 GND的,是電路板的原始設(shè)計(jì),調(diào)試過(guò)程中將IC引腳與電路板隔離后經(jīng)244引出做為 OE引腳,其作用僅為配合延時(shí)適度的調(diào)整屏顯亮度,若 13腳接 GND,則為全亮度顯示,與其他控制并無(wú)干涉。*/sbit OE=P10;sbit ST

5、=P11;/顯示開(kāi)關(guān)(595第 13腳)。/鎖存控制(595第 11腳)。此處原錯(cuò)標(biāo)為 12腳,特此更正!/*/void delay(uint p)uint i,j;for(i=0;ip;i+)for(j=0;j5;j+);/*左移顯示數(shù)據(jù)生成模塊:(功能相當(dāng)于有返回值的函數(shù) )*/uchar two_onebyteL(uchar h1,uchar h2)uchar temp,tempcol;/輸出變量;列移動(dòng)位數(shù)變量。if(col8) tempcol=col; else tempcol=col-8;temp=(h1(8-tempcol); / /左移顯示temp=255-temp;retur

6、n temp;/ /將顯示數(shù)據(jù)返回顯示輸出函數(shù)。/*右移顯示數(shù)據(jù)生成模塊:*/*uchar two_onebyteR(uchar h1,uchar h2)uchar temp,tempcol;if(coltempcol)|(h2(8-tempcol); /右移顯示temp=255-temp;return temp;*/*左移待顯示數(shù)據(jù)調(diào)取函數(shù)*/void loadoneline_L(void)char s;/此處不要用 uchar定義 sfor(s=0;s2;s+)/s值為屏數(shù)加 1(16*16為一屏)BUFF2*s=HZword+32*s+2*disrow;BUFF2*s+1=HZword+

7、1+32*s+2*disrow; / /左移顯示/*右移待顯示數(shù)據(jù)調(diào)取函數(shù)*/*void loadoneline_R(void)char s;/此處不要用 uchar定義 sfor(s=0;s2;s+)BUFF2*s+1=HZword+32*s+2*disrow;BUFF2*s=HZword+1+32*s+2*disrow; /右移顯示 */*左移顯示數(shù)據(jù)輸出函數(shù) : 為顯示數(shù)據(jù)生成模塊的 h1、h2 賦值并且輸出合成后的新的 h1、h2數(shù)據(jù)*/void sendoneline_L(void)char s;uchar inc;if(col=0+inc;s-) /左移顯示 :?jiǎn)纹?s=1+,4屏

8、 s=7+,8屏 s=15+;SBUF=two_onebyteL(BUFFs,BUFFs+1);while(!TI);TI=0;/*右移顯示數(shù)據(jù)輸出函數(shù) :*/*void sendoneline_R(void)char s;uchar inc;if(col8)inc=0;else inc=1;for(s=0+inc;s2+inc;s+) / /右移顯示 :?jiǎn)纹?s=1+,4屏 s=7+,8屏 s=15+;SBUF=two_onebyteR(BUFFs,BUFFs+1);while(!TI);TI=0;*/*主函數(shù):*/void main(void)col=0;word=0,zishu=0;/

9、列移動(dòng)計(jì)數(shù)變量、漢字碼位數(shù)變量每字32個(gè)碼while(1)while(col16)uchar i;for(i=0;iK;i+)for(disrow=0;disrow16;disrow+) /if(zishu=512)zishu=0; / /改變移動(dòng)方向word=word+32;if(word=128)word=0;/ /重新從第一個(gè)字開(kāi)始顯示/ 無(wú)限重復(fù)/ 主函數(shù)結(jié)束/*數(shù)組的字模取碼方式為陽(yáng)碼、順向、逐行。*/uchar code HZ=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,

10、0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x01,0 x00,0 x01,0 x04,0 xFF,0 xFE,0 x01,0 x00,0 x01,0 x00,0 x01,0 x08,0 x7F,0 xFC,0 x00,0 x00,0 x00,0 x00,0 x1F,0 xF0,0 x10,0 x10,0 x10,0 x10,0 x10,0 x10,0 x1F,0 xF0,0 x10,0 x10,0 x00,

11、0 x00,/*吉,0*/0 x21,0 x04,0 x10,0 x88,0 x10,0 x50,0 xFD,0 xFE,0 x04,0 x20,0 x08,0 x20,0 x11,0 xFC,0 x38,0 x20,0 x54,0 x20,0 x94,0 x20,0 x13,0 xFE,0 x10,0 x20,0 x10,0 x20,0 x10,0 x20,0 x10,0 x20,0 x10,0 x20,/*祥,1*/ 0 x10,0 x00,0 x10,0 x00,0 x18,0 x00,0 x10,0 x7E,0 xFE,0 x42,0 x22,0 x42,0 x22,0 x42,0 x

12、22,0 x42,0 x22,0 x42,0 x24,0 x42,0 x14,0 x42,0 x08,0 x42,0 x14,0 x7E,0 x23,0 x42,0 x42,0 x42,0 x80,0 x00,/*如,2*/0 x01,0 x00,0 x3F,0 xFC,0 x08,0 x20,0 x04,0 x40,0 xFF,0 xFE,0 x00,0 x00,0 x1F,0 xF0,0 x12,0 x10,0 x11,0 x10,0 x1F,0 xF0,0 x00,0 x00,0 x29,0 x08,0 x28,0 x84,0 x68,0 x14,0 x07,0 xF0,0 x00,0

13、x00,/*意,3*/;此程序是實(shí)際演示應(yīng)用程序,是在我的 UV2窗口中粘貼過(guò)來(lái)的,如有應(yīng)用,反向操作即可。其實(shí)程序前的接口設(shè)置已經(jīng)敘述的很詳細(xì)了,即使沒(méi)有圖紙也能應(yīng)用。由于本程序只是用來(lái)演示左右移動(dòng)的效果,一般應(yīng)用時(shí)應(yīng)該只是一個(gè)方向,(如欲左移顯示時(shí)需將相關(guān)右移的部分變綠,或加以控制,否則,就亂套了)所以,只要對(duì)程序進(jìn)行刪減,可以很方便的用于實(shí)際控制,本程序只用于16*16點(diǎn)陣的控制,當(dāng)擴(kuò)展為屏組控制時(shí),程序的修改應(yīng)非難事,參照上篇文章,應(yīng)能知道該加入的語(yǔ)句。弄了許久,總算把這段視頻放在這里了,又是注冊(cè) ,又是上傳視頻的,還莫名其妙的被屏蔽了好幾次,又由于沒(méi)有設(shè)置為“公開(kāi)”還一度找不到文件地址,最終還是借助

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論