

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 1616LED 點(diǎn)陣屏原理圖及驅(qū)動程序這是我玩 LED 點(diǎn)陣屏的第一塊電路板,也是學(xué)習(xí)單片機(jī)入門的第一個實(shí)驗(yàn)器材。它由 4 片30mm30mm 的 88 紅色高亮點(diǎn)陣模塊與兩片 74HC595、兩片 74HC138、16 只 8550 晶體管、一片 74HC244 集裝在一塊寬高 65mm210mm 的雙面 PCB 板上,它應(yīng)該是一組級聯(lián)安裝的 LED屏的一個單元模塊,拿到它時,我正在學(xué)習(xí)無線電雜志 2007/11 期刊上杜洋的一組文章,剛剛做好了 ISP 下載線,只做了“一個發(fā)光二極管的控制實(shí)驗(yàn)”,面對這個既好玩又陌生的玩意,真是無從下手,通過上網(wǎng)學(xué)習(xí),解析研究,前后弄了兩個多月,最后在無
2、線電雜志 2005/12 期的配文程序的幫助下,終于踏進(jìn)了點(diǎn)陣控制的門檻,兩年過去了,我又玩了許多單片機(jī)控制器件,但這塊屏卻一直擺在我的桌案上,每當(dāng)遇到難題時,看看它那穩(wěn)定清晰的顯示,我都能找到許多靈感;最近、在擺弄一塊并行驅(qū)動的1664 點(diǎn)陣屏?xí)r(前幾篇文章介紹了)時,因?yàn)橛玫倪€是這段程序,就又想起了它,雖然程序已經(jīng)詳解過了,但是,為了留記一段經(jīng)歷、一段回憶,決定還是“貂續(xù)狗尾”寫在這里,留著自己欣賞吧。一.原理圖:二.漢字左右移動驅(qū)動程序/*1616LED 點(diǎn)陣屏原理圖及 C 源漢字左右移動顯示驅(qū)動程序wannenggong 單片機(jī):AT89S52引腳說明:P0.0/P0.1/P0.2/P
3、0.3 控制由兩片 74HC138 組成的行驅(qū)動控制 4-16 譯碼器的A/B/C/D端P1.0/P1.1控制列驅(qū)動控制 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/移動速度控制變量。uchar col,disrow; /列移動計數(shù)變量。行掃描計數(shù)變量。uint word,zishu;uchar code HZ;uchar BUFF5;void two_out();
4、/字形碼計數(shù)變量。/64列時應(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腳的問題:原附圖中 13腳是接 GND的,是電路板的原始設(shè)計,調(diào)試過程中將IC引腳與電路板隔離后經(jīng)244引出做為 OE引腳,其作用僅為配合延時適度的調(diào)整屏顯亮度,若 13腳接 GND,則為全亮度顯示,與其他控制并無干涉。*/sbit OE=P10;sbit ST
5、=P11;/顯示開關(guān)(595第 13腳)。/鎖存控制(595第 11腳)。此處原錯標(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;/輸出變量;列移動位數(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-) /左移顯示 :單屏 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+) / /右移顯示 :單屏 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、列移動計數(shù)變量、漢字碼位數(shù)變量每字32個碼while(1)while(col16)uchar i;for(i=0;iK;i+)for(disrow=0;disrow16;disrow+) /if(zishu=512)zishu=0; / /改變移動方向word=word+32;if(word=128)word=0;/ /重新從第一個字開始顯示/ 無限重復(fù)/ 主函數(shù)結(jié)束/*數(shù)組的字模取碼方式為陽碼、順向、逐行。*/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窗口中粘貼過來的,如有應(yīng)用,反向操作即可。其實(shí)程序前的接口設(shè)置已經(jīng)敘述的很詳細(xì)了,即使沒有圖紙也能應(yīng)用。由于本程序只是用來演示左右移動的效果,一般應(yīng)用時應(yīng)該只是一個方向,(如欲左移顯示時需將相關(guān)右移的部分變綠,或加以控制,否則,就亂套了)所以,只要對程序進(jìn)行刪減,可以很方便的用于實(shí)際控制,本程序只用于16*16點(diǎn)陣的控制,當(dāng)擴(kuò)展為屏組控制時,程序的修改應(yīng)非難事,參照上篇文章,應(yīng)能知道該加入的語句。弄了許久,總算把這段視頻放在這里了,又是注冊 ,又是上傳視頻的,還莫名其妙的被屏蔽了好幾次,又由于沒有設(shè)置為“公開”還一度找不到文件地址,最終還是借助
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年秋季學(xué)校德育工作方案
- 羽毛球活動方案創(chuàng)意范本2025年
- 2025年國慶節(jié)主題方案參考
- 2025年系統(tǒng)架構(gòu)師知識產(chǎn)權(quán)與標(biāo)準(zhǔn)化備考題庫
- 2025年生態(tài)棉十孔被項目可行性研究報告
- 2025年玻璃鋼復(fù)合罐項目可行性研究報告
- 2025年玉米膨化粉項目可行性研究報告
- 天津現(xiàn)代職業(yè)技術(shù)學(xué)院《現(xiàn)代測試技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南省祁陽縣2024-2025學(xué)年高三5月學(xué)情調(diào)查數(shù)學(xué)試題含解析
- 浙江省寧波市九校2024-2025學(xué)年高三調(diào)研考試(化學(xué)試題)試卷含解析
- 2023年河南測繪職業(yè)學(xué)院單招考試職業(yè)適應(yīng)性測試試題及答案解析
- 國家二級公立醫(yī)院績效考核醫(yī)療質(zhì)量相關(guān)指標(biāo)解讀
- 土地復(fù)墾技術(shù)標(biāo)準(zhǔn)(整理)
- 醫(yī)療廢物管理PPT演示課件
- 常用康復(fù)護(hù)理技術(shù)課件
- ??当O(jiān)控陣列不可用數(shù)據(jù)不保留處理
- 中國古代文學(xué)史元明清文學(xué)PPT完整全套教學(xué)課件
- 排水溝鑄鐵篦子規(guī)格
- 中學(xué)學(xué)校各項安全資料匯編
- 新修訂版《未成年人保護(hù)法》亮點(diǎn)解讀課件
- 六年級語文下冊閱讀及參考答案(12篇)
評論
0/150
提交評論