




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、創(chuàng)意設(shè)計(jì)之DIY搖擺LED時(shí)鐘 郵件群發(fā) 看到市場(chǎng)上正在流行的時(shí)尚商品搖擺LED時(shí)鐘,感覺(jué)非常新穎獨(dú)特,正在玩單片機(jī)的我,激起了自己也想DIY一個(gè)搖擺LED時(shí)鐘的沖動(dòng)。經(jīng)過(guò)十多天的制作、修改與調(diào)試,作品才告完成,基本達(dá)到預(yù)先要求。一. 設(shè)計(jì)思路本制作是根據(jù)視覺(jué)暫留原理, 讓一排8只LED運(yùn)動(dòng), 在空中呈現(xiàn)數(shù)字來(lái)表示時(shí)鐘。由于其實(shí)質(zhì)就是一個(gè)擺動(dòng)的流水燈,特別適合初入門(mén)的單片機(jī)愛(ài)好者動(dòng)手制作。整個(gè)屏可顯示七個(gè)字符,平時(shí)作時(shí)鐘只用其中的五個(gè)字符。顯示分 “正常運(yùn)行”、“調(diào)分”和“調(diào)時(shí)” 三種狀態(tài)。正常運(yùn)行時(shí)中間的“:”符每一秒閃現(xiàn)一次,調(diào)分和調(diào)時(shí)時(shí),則為調(diào)整的項(xiàng)閃現(xiàn)。設(shè)置三個(gè)調(diào)整按鍵,一個(gè)為“狀態(tài)鍵
2、”,一個(gè)為“加法鍵”,一個(gè)為“減法鍵”。完成圖(見(jiàn)圖1、圖2) 圖1 圖2效果圖(見(jiàn)圖3) 圖3二. 硬件結(jié)構(gòu)主板的結(jié)構(gòu)布局見(jiàn)圖4。 圖4機(jī)械部分:驅(qū)動(dòng)搖棒擺動(dòng)的機(jī)構(gòu)采用從硬盤(pán)上拆下的音圈電機(jī)(見(jiàn)圖5)組件構(gòu)成,為制作方便,這個(gè)組件是直接安裝在電路板上的。 圖5為使搖棒保持平衡,需在線圈端加配重,由于配重是在磁鐵的上端,最好選銅質(zhì)物件。為了讓搖棒擺動(dòng)穩(wěn)定,在搖棒擺動(dòng)的擺幅兩端加了限位器。并在兩個(gè)限位器上分別套上一個(gè)膠圈,以減輕噪音和振動(dòng)。電子部分: 1.LED的焊接,(見(jiàn)圖6)將LED兩腳跨接在電路板兩端的方式進(jìn)行焊接。使LED緊密排列在一起。
3、 圖62.搖棒上的LED與主板上的信號(hào)用排線連接,音圈電機(jī)供電占2位,LED信號(hào)傳輸占9位,所以至少要11位的排線。(見(jiàn)圖7) 圖73.設(shè)置三個(gè)按鍵用于調(diào)整時(shí)間。(見(jiàn)圖8) 圖84.采用驅(qū)動(dòng)直流電機(jī)正反轉(zhuǎn)的方式,驅(qū)動(dòng)音圈電機(jī)來(lái)回?cái)[動(dòng)。讓電機(jī)正、反轉(zhuǎn)的方法很多,最典型的是H橋電路驅(qū)動(dòng)。為了簡(jiǎn)化電路,最好采用H橋功能的集成電路。這種IC很多,比如象TA7257,TA8429H,L6203等,這里用的是三菱公司的M54544AL。(見(jiàn)圖9) 圖9IC各腳定義見(jiàn)圖10。 圖105.電原理圖見(jiàn)圖11(點(diǎn)擊放大)。 圖11三. 軟件設(shè)計(jì) 1. 搖
4、棒的啟動(dòng)通過(guò)P3.6和P3.7輸出驅(qū)動(dòng)音圈電機(jī)的信號(hào), 由于沒(méi)有設(shè)置檢測(cè)搖棒的傳感器,時(shí)間間隔只能跟據(jù)實(shí)驗(yàn)確定。在調(diào)試中發(fā)現(xiàn),當(dāng)驅(qū)動(dòng)搖棒的信號(hào)轉(zhuǎn)換加速到一定的時(shí)候,從靜止?fàn)顟B(tài)轉(zhuǎn)到正常擺動(dòng)狀態(tài)發(fā)生困難,因此需要由慢到快的驅(qū)動(dòng)過(guò)程。由下面的程序段實(shí)現(xiàn)。do mm-;DelayMs(120+mm*5); /逐漸縮短延時(shí)間put1=put1; put2=put2; /轉(zhuǎn)換輸出口電平狀態(tài)while(mm>0);2. 秒閃現(xiàn)的實(shí)現(xiàn)數(shù)字和字符的閃現(xiàn)是通過(guò)變量Ms和數(shù)組w實(shí)現(xiàn)的,如需要七位字符中的間的第4位閃現(xiàn),則w3=1。這是通過(guò)全局變量Ms在void timer0(void)函數(shù)中每隔一秒改變一次狀
5、態(tài)(0或1),在void timer1(void)函數(shù)中的下列語(yǔ)句中實(shí)現(xiàn)。if(put1=1)&&(ii3. 校正顯示不均勻調(diào)試中發(fā)現(xiàn),顯示屏上的字符并不是一樣寬的,仔細(xì)分析是由于搖棒在運(yùn)動(dòng)中一直受力,使搖棒產(chǎn)生加速運(yùn)動(dòng),這樣就需要在程序中加一校正因子,逐漸縮短顯示的時(shí)間段。具體是通過(guò)變量tt在函數(shù)void timer1(void)中實(shí)現(xiàn)的。4. 按鍵去抖程序按鍵的去抖采用軟件編程實(shí)現(xiàn),其方法是當(dāng)檢測(cè)到按鍵的接口出現(xiàn)低電平后,隔一段時(shí)間再檢測(cè),如還是低電平,則確認(rèn)為有效,否則無(wú)效。具體的程序是通過(guò)函數(shù)unsigned char ChKey(bit Key)實(shí)現(xiàn)。5. 顯示同步調(diào)
6、試時(shí)要根據(jù)實(shí)際情況確定Ti的值,保證顯示正常。6.預(yù)留的部分功能提供的程序除提供了一個(gè)完整的時(shí)鐘程序外,還預(yù)留了顯示七個(gè)字符功能(見(jiàn)圖12),只是主程序要作一些修改。 圖127.完整C51程序代碼 /*POV搖擺顯示LED鐘C51程序*/#include/*硬件端口定義*/sbit set0=P01;sbit set1=P00;sbit set2=P02;sbit put1=P36;sbit put2=P37;/*時(shí)鐘用數(shù)組*/unsigned char BUFFER=0,0,0,0;unsigned char maxnum=59,23;/*顯示用數(shù)組*/unsigned int v
7、20;unsigned int w7;/*字符字模*/unsigned char code ASCIIDOC = / ASCII0x7C,0x8A,0x92,0xA2,0x7C,0x00, / -0-000x00,0x42,0xFE,0x02,0x00,0x00, / -1-010x46,0x8A,0x92,0x92,0x62,0x00, / -2-020x84,0x82,0x92,0xB2,0xCC,0x00, / -3-030x18,0x28,0x48,0xFE,0x08,0x00, / -4-040xE4,0xA2,0xA2,0xA2,0x9C,0x00, / -5-050x3C,0x5
8、2,0x92,0x92,0x8C,0x00, / -6-060x80,0x8E,0x90,0xA0,0xC0,0x00, / -7-070x6C,0x92,0x92,0x92,0x6C,0x00, / -8-080x62,0x92,0x92,0x94,0x78,0x00, / -9-090x00,0x00,0x00,0x00,0x00,0x00, / - -100x00,0x00,0xFA,0x00,0x00,0x00, / -!-110x04,0x08,0x10,0x20,0x40,0x00, / -/-120x00,0x6C,0x6C,0x00,0x00,0x00, / -:-130x3E
9、,0x48,0x88,0x48,0x3E,0x00, / -A-140xFE,0x92,0x92,0x92,0x6C,0x00, / -B-150x7C,0x82,0x82,0x82,0x44,0x00, / -C-160xFE,0x82,0x82,0x82,0x7C,0x00, / -D-170xFE,0x92,0x92,0x92,0x82,0x00, / -E-180xFE,0x90,0x90,0x90,0x80,0x00, / -F-190x7C,0x82,0x8A,0x8A,0x4E,0x00, / -G-200xFE,0x10,0x10,0x10,0xFE,0x00, / -H-21
10、0x00,0x82,0xFE,0x82,0x00,0x00, / -I-220x04,0x02,0x82,0xFC,0x80,0x00, / -J-230xFE,0x10,0x28,0x44,0x82,0x00, / -K-240xFE,0x02,0x02,0x02,0x02,0x00, / -L-250xFE,0x40,0x30,0x40,0xFE,0x00, / -M-260xFE,0x20,0x10,0x08,0xFE,0x00, / -N-270x7C,0x82,0x82,0x82,0x7C,0x00, / -O-280xFE,0x90,0x90,0x90,0x60,0x00, / -
11、P-290x7C,0x82,0x8A,0x84,0x7A,0x00, / -Q-300xFE,0x90,0x98,0x94,0x62,0x00, / -R-310x64,0x92,0x92,0x92,0x4C,0x00, / -S-320x80,0x80,0xFE,0x80,0x80,0x00, / -T-330xFC,0x02,0x02,0x02,0xFC,0x00, / -U-340xF8,0x04,0x02,0x04,0xF8,0x00, / -V-350xFE,0x04,0x18,0x04,0xFE,0x00, / -W-360xC6,0x28,0x10,0x28,0xC6,0x00,
12、 / -X-370xC0,0x20,0x1E,0x20,0xC0,0x00, / -Y-380x86,0x8A,0x92,0xA2,0xC2,0x00, / -Z-390x24,0x2A,0x2A,0x1C,0x02,0x00, / -a-400xFE,0x14,0x22,0x22,0x1C,0x00, / -b-410x1C,0x22,0x22,0x22,0x10,0x00, / -c-420x1C,0x22,0x22,0x14,0xFE,0x00, / -d-430x1C,0x2A,0x2A,0x2A,0x10,0x00, / -e-440x10,0x7E,0x90,0x90,0x40,0
13、x00, / -f-450x19,0x25,0x25,0x25,0x1E,0x00, / -g-460xFE,0x10,0x20,0x20,0x1E,0x00, / -h-470x00,0x00,0x9E,0x00,0x00,0x00, / -i-480x00,0x01,0x11,0x9E,0x00,0x00, / -j-490xFE,0x08,0x14,0x22,0x02,0x00, / -k-500x00,0x82,0xFE,0x02,0x00,0x00, / -l-510x1E,0x20,0x1E,0x20,0x1E,0x00, / -m-520x20,0x1E,0x20,0x20,0x
14、1E,0x00, / -n-530x1C,0x22,0x22,0x22,0x1C,0x00, / -o-540x3F,0x24,0x24,0x24,0x18,0x00, / -p-550x18,0x24,0x24,0x24,0x3F,0x00, / -q-560x20,0x1E,0x20,0x20,0x10,0x00, / -r-570x12,0x2A,0x2A,0x2A,0x24,0x00, / -s-580x20,0xFC,0x22,0x22,0x24,0x00, / -t-590x3C,0x02,0x02,0x3C,0x02,0x00, / -u-600x38,0x04,0x02,0x0
15、4,0x38,0x00, / -v-610x3C,0x02,0x3C,0x02,0x3C,0x00, / -w-620x22,0x14,0x08,0x14,0x22,0x00, / -x-630x39,0x05,0x05,0x09,0x3E,0x00, / -y-640x22,0x26,0x2A,0x32,0x22,0x00, / -z-65;unsigned int TZ,Ti;unsigned char ii,jj,nn,mm,tt, Ms;/*延時(shí)函數(shù)*/void DelayMs(unsigned int msec)unsigned int x,y;for(x=0; xfor(y=0;y
16、/*鍵盤(pán)去抖處理函數(shù)*/unsigned char ChKey(bit Key)if(Key=0)DelayMs(30);if(Key=0) return(1);/*定時(shí)器中斷0處理(時(shí)鐘)函數(shù)*/void timer0(void) interrupt 1 using 1TH0=-(5000/256);TL0=-(5000%256);TR0=1;BUFFER0=BUFFER0+1;if (BUFFER0>201)BUFFER0=0; BUFFER1=BUFFER1+1;Ms=!Ms;if (BUFFER1=60)BUFFER1=0;BUFFER2=BUFFER2+1;if (BUFFER
17、2=60)BUFFER2=0;BUFFER3=BUFFER3+1;if (BUFFER3=24) BUFFER3=0;/*定時(shí)器中斷1處理(LED驅(qū)動(dòng))函數(shù)*/void timer1(void) interrupt 3 using 1TH1=(Ti+tt*15)/256; TL1=(Ti+tt*15)%256;if(put1=1)&&(iijj+; tt+;if(jj>5) ii+; jj=0;if(ii>10) ii=0;put1=put1; put2=put2;tt=0;/*主程序*/void main(void)Ms=1;Ti=-2100; /根據(jù)實(shí)際調(diào)整mm
18、=14;put1=0;put2=1;/*初始化定時(shí)中斷0*/TMOD=0x11;TH0=-5000/256; TL0=-5000%256;TR0=1;ET0=1;/*初始化定時(shí)中斷1*/TH1=Ti/256; TL1=Ti%256;TR1=1;ET1=1;/* 七個(gè)顯示位置,中間為":" 符 */v0=10;v1=10;v2=10;v3=13;v4=10;v5=10;v6=10;/*正常運(yùn)行狀態(tài),讓中間":"符閃現(xiàn)*/w1=0;w2=0;w3=1;w4=0;w5=0;/*搖擺棒初始啟動(dòng)*/do mm-;DelayMs(120+mm*5);put1=put1; put2=put2;while(mm>0);/*啟動(dòng)顯示*/ii=0;jj=0;EA=1;/*正式運(yùn)行*/for(;)while(1)/*顯示時(shí)和分*/v1=BUFFER3/10;v2=BUFFER3-v1*10;v4=BUFFER2/10;v5=BUFFER2-v4*10;/*按鍵處理*/if(ChKey(set0)=1) /調(diào)整項(xiàng)鍵if(TZ/*閃現(xiàn)調(diào)整項(xiàng)*/switch(TZ)case 0:w1=0;w2=0;w3=1;w4=0;w5=0;break;/正常時(shí)秒閃case 1:w1=0;w2=0;w3=0;w4=1;w
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆農(nóng)村六一活動(dòng)方案
- 新品巡展活動(dòng)方案
- 春節(jié)工會(huì)走訪活動(dòng)方案
- 春節(jié)氛圍活動(dòng)方案
- 數(shù)字媒體展廳活動(dòng)方案
- 教育公司培訓(xùn)課件
- 春季團(tuán)建訓(xùn)練活動(dòng)方案
- 春節(jié)比亞迪活動(dòng)方案
- 文化熏陶促育活動(dòng)方案
- 新品上市優(yōu)惠券活動(dòng)方案
- SDS汽油安全技術(shù)說(shuō)明書(shū)
- 【企業(yè)安全管理】粉塵涉爆企業(yè)安全培訓(xùn)
- GeneralEnglish-入學(xué)測(cè)試(劍橋五級(jí))附有答案
- 教海探航論文
- IPC-A-610國(guó)際標(biāo)準(zhǔn)中英文對(duì)照(doc 17)
- JJF(建材)110-2019水泥雷氏夾膨脹測(cè)定儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 《納尼亞傳奇》閱讀交流(課堂PPT)
- 某航空公司教學(xué)材料之十八案例
- 縣級(jí)課題研究過(guò)程記錄
- 中山大學(xué)綜合評(píng)價(jià)招生綜合素質(zhì)測(cè)試題總結(jié)
- 預(yù)制場(chǎng)(梁場(chǎng))建設(shè)方案
評(píng)論
0/150
提交評(píng)論