DIY基于51單片機(jī)的旋轉(zhuǎn)LED數(shù)字電子鐘_第1頁(yè)
DIY基于51單片機(jī)的旋轉(zhuǎn)LED數(shù)字電子鐘_第2頁(yè)
DIY基于51單片機(jī)的旋轉(zhuǎn)LED數(shù)字電子鐘_第3頁(yè)
DIY基于51單片機(jī)的旋轉(zhuǎn)LED數(shù)字電子鐘_第4頁(yè)
DIY基于51單片機(jī)的旋轉(zhuǎn)LED數(shù)字電子鐘_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、標(biāo)簽: DIY基于51單片機(jī)的旋轉(zhuǎn)LED數(shù)字電子鐘(紅外線遙控調(diào)時(shí))在網(wǎng)上看到不少老外做的各種旋轉(zhuǎn)顯示屏,非常,我也動(dòng)手用洞洞板試做了一個(gè)類似的顯示屏,結(jié)果感覺(jué)還不錯(cuò)。于是再接再勵(lì)繼續(xù)努力,將作品進(jìn)一步改進(jìn),完善后制成如今這個(gè)樣子。由于剛學(xué)51單片機(jī),加上制作電路板軟件也是從零開(kāi)始,的確花了我不少的時(shí)間和精力。不過(guò)也就是在這艱難的獨(dú)立制作中,真正學(xué)到了不少實(shí)在的東西。本項(xiàng)目的關(guān)鍵是如何解決高速旋轉(zhuǎn)的電路板如何供電,如何調(diào)時(shí)的問(wèn)題。我采用電機(jī)電刷的原理,將旋轉(zhuǎn)軸鉆空,通過(guò)一只插頭將電源的從反面引到前面的電路板上,而這個(gè)旋轉(zhuǎn)的插頭又與固定在背板上的兩個(gè)銅片接觸的。調(diào)時(shí)的問(wèn)題有些困難,一是讓電路板在

2、旋轉(zhuǎn)前與機(jī)相接,由電腦傳送調(diào)時(shí)數(shù)據(jù),這雖然可行但不方便。還有就是用遙控方法,但此方案在調(diào)試方面有很大的困難。顯示方式上,我采用平衡式的兩排,這除了在旋轉(zhuǎn)時(shí)能較好的保持平衡外,主要能利用兩邊交替顯示方式,比單排要快一倍。本裝置不僅是一個(gè)時(shí)鐘,它還可以動(dòng)態(tài)顯示漢字及圖案,這就看如何發(fā)揮了。其具體制作過(guò)程如下:一。旋轉(zhuǎn)電機(jī)的制作從制作成本與方便考慮,選用舊電腦用的大軟驅(qū)上的直流無(wú)刷電機(jī),只是對(duì)局部進(jìn)行改造。                &#

3、160;                    就是這種古董軟驅(qū)                             

4、;           軟驅(qū)上的直流無(wú)刷電機(jī)                                      

5、                                                  拆開(kāi)后的電

6、機(jī)仔細(xì)拆開(kāi)直流電機(jī),將帶圓盤(pán)的鋁軸從中開(kāi)孔,讓它剛好能插入一個(gè)插頭。                                            &#

7、160;                                將旋轉(zhuǎn)軸加工成這樣                

8、0;                                                 

9、0;         裝配好以后按拆開(kāi)時(shí)的順序,反序?qū)⑤S安裝直流電機(jī)上。                                     &#

10、160;                                              電機(jī)裝配完成后用兩片銅片做的電刷 

11、60;                           電刷裝好后的側(cè)面圖將電路板上較突出的元件改焊在反面, 電機(jī)的電源接法。從電路板標(biāo)注的符號(hào)看,“”為電源正,“”為電源負(fù),“”與“”端分別與電源正相連勻可使電機(jī)運(yùn)轉(zhuǎn)將一張舊唱片按電機(jī)座的位置開(kāi)孔,而定位用的擋光板應(yīng)根據(jù)電路板上感光組件的位置確定。 二。電路板的制

12、作本制作品用單片機(jī)控制,具體電原理圖如下: 用Protel 99設(shè)計(jì)制作了電路板。  最后得到完成的作品。 遙控器用的是松下車載機(jī)的,只用了其中的六個(gè)鍵。  三。軟件編程因?qū)W的是(不懂匯編)這里只提供語(yǔ)言源程序,并限制為無(wú)遙控功能。也可提供帶遙控功能的hex文件。        #include <reg51.h>sbit gate11=P30;sbit gate12=P31;#define unit unsigned int#define u

13、char unsigned charuchar data BUFFER=0,0,0,0,1,1,7;uchar data M=31,28,31,30,31,30,31,31,30,31,30,31;uchar code NUM1 =          0x80,0x7F,0xC0,0xFF,0x40,0x90,0x40,0x8C,              

14、  / -0-0x40,0x82,0xC0,0xFF,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x81,0x80,0x81,0xC0,0xFF,                / -1-0xC0,0xFF,0x00,0x80,0x00,0x80,0x00,0x00,0x80,0xE0,0xC0,0xF0,0x40,0x98,0x40,0x8C,     &#

15、160;          / -2-0x40,0x86,0xC0,0xC3,0x80,0xC1,0x00,0x00,0x80,0x40,0xC0,0xC0,0x40,0x84,0x40,0x84,                / -3-0x40,0x84,0xC0,0xFF,0x80,0x7B,0x00,0x00,0x00,0x0C,0x00,0x0E,

16、0x00,0x0B,0x80,0x89,                / -4-0xC0,0xFF,0xC0,0xFF,0x00,0x88,0x00,0x00,0xC0,0x47,0xC0,0xC7,0x40,0x84,0x40,0x84,                / -5-0x40,0x8

17、C,0x40,0xFC,0x40,0x78,0x00,0x00,0x00,0x7F,0x80,0xFF,0xC0,0x84,0x40,0x84,                / -6-0x40,0x84,0x00,0xFC,0x00,0x78,0x00,0x00,0xC0,0x00,0xC0,0x00,0x40,0xF0,0x40,0xF8,        

18、0;       / -7-0x40,0x0C,0xC0,0x07,0xC0,0x03,0x00,0x00,0x80,0x7B,0xC0,0xFF,0x40,0x84,0x40,0x84,                / -8-0x40,0x84,0xC0,0xFF,0x80,0x7B,0x00,0x00,0x80,0x03,0xC0,0x87,0x40,0x84,0x40,0x84,

19、                / -9-0x40,0xC4,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,                / -:-0x00,0x63,0x00,0x00,0x00,0x0

20、0,0x00,0x00,;uchar code NUM2=                  0x00,0x00,0x7f,0x80,0xff,0xc0,0x82,0x40,                / -0-     &#

21、160;            0x8c,0x40,0x90,0x40,0xff,0xc0,0x7f,0x80,                  0x00,0x00,0x00,0x00,0x20,0x40,0x60,0x40,       

22、0;        / -1-                  0xff,0xc0,0xff,0xc0,0x00,0x40,0x00,0x40,                  0x00

23、,0x00,0x41,0xc0,0xc3,0xc0,0x86,0x40,                / -2-                  0x8c,0x40,0x98,0x40,0xf0,0xc0,0x60,0xc0,    &

24、#160;             0x00,0x00,0x40,0x80,0xc0,0xc0,0x88,0x40,                / -3-              &#

25、160;   0x88,0x40,0x88,0x40,0xff,0xc0,0x77,0x80,                  0x00,0x00,0x0c,0x00,0x1c,0x00,0x34,0x00,                / -4-

26、0;                 0x64,0x40,0xff,0xc0,0xff,0xc0,0x04,0x40,                  0x00,0x00,0xf8,0x80,0xf8,0xc0,0x88,0x40,   

27、             / -5-                  0x88,0x40,0x8c,0x40,0x8f,0xc0,0x87,0x80,             &

28、#160;    0x00,0x00,0x3f,0x80,0x7f,0xc0,0xc8,0x40,                / -6-                  0x88,0x40,0x88,0x40,0x0f,0xc0,0x07,0x

29、80,                  0x00,0x00,0xc0,0x00,0xc0,0x00,0x83,0xc0,                / -7-         

30、0;        0x87,0xc0,0x8c,0x00,0xf8,0x00,0xf0,0x00,                  0x00,0x00,0x77,0x80,0xff,0xc0,0x88,0x40,            

31、    / -8-                  0x88,0x40,0x88,0x40,0xff,0xc0,0x77,0x80,                  0x00,0x00,0x70,0x00,0xf8,0x40,

32、0x88,0x40,                / -9-                  0x88,0x40,0x88,0xc0,0xff,0x80,0x7f,0x00,        

33、60;         0x00,0x00,0x00,0xc0,0x01,0x80,0x03,0x00,                / -/-                  0x06,0x00

34、,0x0c,0x00,0x18,0x00,0x30,0x00,;unit disp1,disp2,key1,key2;unit ii,jj;unit i,sw,xz;void Delay(unit ms)                ms="ms"*3;              

35、60; while(-ms);void num_led(int kk, int tt)int jj;for(jj=0;jj<8;jj+)                gate11=key1; gate12=key2;                P2=NUM1kk+jj*2;P1=NUM1

36、kk+1+jj*2;                Delay(20);                P1=0xff;P2=0xff;             

37、0;  gate11=key2; gate12=key1;                P2=NUM2tt+15-jj*2;P1=NUM2tt+14-jj*2;                Delay(20);      &#

38、160;         P1=0xff;P2=0xff;                void display_clock(void)                key1=!key1;key2=!key2;

39、60;               disp1=BUFFER3/10;disp2=BUFFER4-(BUFFER4/10)*10;                ii="disp1"*16;jj=disp2*16;      &#

40、160;         num_led(ii,jj);                P2=0xff;P1=0xff;Delay(60);                disp1=BUFFER3-disp1*10;d

41、isp2=BUFFER4/10;                ii="disp1"*16;jj=disp2*16;                num_led(ii,jj);        

42、60;       P2=0xff;P1=0xff;Delay(60);                ii="160"jj=160;                num_led(ii,jj);  

43、              P2=0xff;P1=0xff;Delay(60);                disp1=BUFFER2/10;disp2=BUFFER5-(BUFFER5/10)*10;         

44、60;      ii="disp1"*16;jj=disp2*16;                num_led(ii,jj);                P2=0xff;P1=0xff;Delay(60); &

45、#160;              disp1=BUFFER2-disp1*10;disp2=BUFFER5/10;                ii="disp1"*16;jj=disp2*16;        &

46、#160;       num_led(ii,jj);                P2=0xff;P1=0xff;Delay(60);                ii="160"jj=160; 

47、0;              num_led(ii,jj);                P2=0xff;P1=0xff;Delay(60);              

48、60; disp1=BUFFER1/10;disp2=BUFFER6-(BUFFER6/10)*10;                ii="disp1"*16;jj=disp2*16;                num_led(ii,jj);  

49、0;             P2=0xff;P1=0xff;Delay(60);                disp1=BUFFER1-disp1*10;disp2=BUFFER6/10;           &#

50、160;    ii="disp1"*16;jj=disp2*16;                num_led(ii,jj);                P2=0xff;P1=0xff;Delay(60);void timer0(void)&

51、#160;               interrupt 1 using 1                TMOD="0x11"              

52、   TH0=-(5000/256);                      TL0=-(5000%256);                TR0=1;     &

53、#160;          BUFFER0=BUFFER0+1;                if (BUFFER6%4=0) M1=M1+1;                if (BUFFER0>

54、201+xz)                  BUFFER0=0;                  BUFFER1=BUFFER1+1;if (BUFFER1=60)       &#

55、160;         BUFFER1=0;                 BUFFER2=BUFFER2+1;                 if (BUFFER2=60) 

56、0;              BUFFER2=0;                BUFFER3=BUFFER3+1;                if (BUFFE

57、R3=24)                  BUFFER3=0;                        BUFFER4=BUFFER4+1;    

58、                    if (BUFFER4>MBUFFER5-1)                          BUFFER4=

59、1;                          BUFFER5=BUFFER5+1;                     

60、60;    if (BUFFER5>12)                            BUFFER5=1;              

61、60;             BUFFER6=BUFFER6+1;                            if(BUFFER6>99)     &

62、#160;             BUFFER6=0;                              M1=M1-1;     

63、;                                                   

64、60;                                                   &

65、#160;                                               void intersvr0(void)     &

溫馨提示

  • 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)論