心形流水燈 STC89C52電子制作焊接套件單片機程序設(shè)計0_第1頁
心形流水燈 STC89C52電子制作焊接套件單片機程序設(shè)計0_第2頁
心形流水燈 STC89C52電子制作焊接套件單片機程序設(shè)計0_第3頁
心形流水燈 STC89C52電子制作焊接套件單片機程序設(shè)計0_第4頁
心形流水燈 STC89C52電子制作焊接套件單片機程序設(shè)計0_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、51單片機心形流水燈電路圖說明:電路分兩個部分:51單片機最小系統(tǒng),31只LED 發(fā)光二極管 和限流電阻。U1采用 目前學(xué)習(xí)單片機最常用的STC89C52RC。P1是 USB B型座,主要是使用USB數(shù)據(jù)線方便的為電路提供 +5V 電源。S1 是具有自鎖功能的 6腳的8X8 大小的 開關(guān),用來控制電源的通斷。C1、R9 構(gòu)成單片機的自動上電復(fù)位。C2、C3、Y1 是單片機的振蕩電路外接的起振電容和石英晶體。C4 電源退藕電容。S2 是輕觸按鈕開關(guān),連接在 P3.2 / INT0 ,通過編程,可以調(diào)整設(shè)置切換心形流水燈的各種模式。P2 是4 Pin 插針,連接電源和P3.0、P3.1 ,可以用下

2、載線方便下載更新程序,可以不安裝。D1D31 ,是31個3mm 紅色發(fā)光二極管,在線路板上排列成心形,可以將發(fā)光顏色更換為其他顏色。R1R8、R10 R32 為限流電阻,控制通過二極管的電流,避免過大電流燒毀發(fā)光二極管。元件參數(shù):D1D31 3mm 紅色發(fā)光二極管R1R8、R10 R32 八分之一瓦電阻, 680歐姆U1 DIP40封裝的STC89C52RC 單片機C1、C4 10uF/50V 電解電容C2、C330pF 瓷片電容Y1 11.0592MHz 晶振R9 4.7K 歐姆電阻元件放置分布圖說明:在安裝元件時,可以最先安裝 LED 發(fā)光二極管,注意二極管的極性方向。新的二極管長引腳的電

3、極是陽極,如果剪過引腳,要是用萬用表判斷出來陰極和陽極。在Altium Designer的 PCB 圖中,整個圓形中有切掉部分圓弧的一側(cè)是陰極。如上圖所示。底層布線連接圖(底視)底層布線連接圖(頂視)說明:焊接上元件后,先不要盲目的慌著剪去多余的過長引腳,可以考慮將長出的引腳折彎與其他含盤點相連。繞行元的,有交叉的可以考慮使用帶絕緣的單芯鍍錫線進行連接。具有5種模式輪流 顯示的 心形流水燈 單片機 C51 源程序。#include sbit x1=P07;sbit x2=P06;sbit x3=P05;sbit x4=P04;sbit x5=P03;sbit x6=P02;sbit x7=P0

4、1;sbit x8=P00;sbit x9=P10;sbit x10=P11;sbit x11=P12;sbit x12=P13;sbit x13=P14;sbit x14=P15;sbit x15=P16;sbit x16=P17;sbit x17=P30;sbit x18=P31;sbit x19=P33;sbit x20=P34;sbit x21=P35;sbit x22=P36;sbit x23=P37;sbit x24=P20;sbit x25=P21;sbit x26=P22;sbit x27=P23;sbit x28=P24;sbit x29=P25;sbit x30=P26;s

5、bit x31=P27;void delay2ms()unsigned int i;i=12000;while(i-);void Mode_1()P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();x1 =0; delay2ms();x2 =0; delay2ms();

6、x3 =0; delay2ms();x4 =0; delay2ms();x5 =0; delay2ms();x6 =0; delay2ms();x7 =0; delay2ms();x8 =0; delay2ms();x9 =0; delay2ms();x10 =0; delay2ms();x11 =0; delay2ms();x12 =0; delay2ms();x13 =0; delay2ms();x14 =0; delay2ms();x15 =0; delay2ms();x16 =0; delay2ms();x31 =0; delay2ms();x30 =0; delay2ms();x29

7、 =0; delay2ms();x28 =0; delay2ms();x27 =0; delay2ms();x26 =0; delay2ms();x25 =0; delay2ms();x24 =0; delay2ms();x23 =0; delay2ms();x22 =0; delay2ms();x21 =0; delay2ms();x20 =0; delay2ms();x19 =0; delay2ms();x18 =0; delay2ms();x17 =0; delay2ms();x16 =0; delay2ms(); void Mode_2()P0=0xff;P1=0xff;P2=0xff

8、;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();x16 =0; x17 =0; delay2ms();x15 =0; x18 =0; delay2ms();x14 =0; x19 =0; delay2ms();x13 =0; x20 =0; delay2ms();x21 =0; x12 =0; delay2ms

9、();x11 =0; x22 =0; delay2ms();x23 =0;x10 =0; delay2ms();x9 =0; x24 =0; delay2ms();x8 =0;x25 =0; delay2ms();x26 =0; x7 =0; delay2ms();x27 =0;x6 =0; delay2ms();x5 =0; x28 =0; delay2ms();x29 =0; x4 =0; delay2ms();x3 =0; x30 =0; delay2ms();x31 =0;x2 =0; delay2ms();x1 =0; delay2ms(); void Mode_3()P0=0xff

10、;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();x1 =0; delay2ms();x2 =0; delay2ms();x3 =0; delay2ms();x4 =0; delay2ms();x5 =0; delay2ms();x6 =0; delay2ms();x7 =0; d

11、elay2ms();x8 =0; delay2ms();x9 =0; delay2ms();x10 =0; delay2ms();x11 =0; delay2ms();x12 =0; delay2ms();x13 =0; delay2ms();x14 =0; delay2ms();x15 =0; delay2ms();x16 =0; delay2ms();x16 =0; delay2ms(); x17 =0; delay2ms();x18 =0; delay2ms();x19 =0; delay2ms();x20 =0; delay2ms();x21 =0; delay2ms();x22 =0

12、; delay2ms();x23 =0; delay2ms();x24 =0; delay2ms();x25 =0; delay2ms();x26 =0; delay2ms();x27 =0; delay2ms();x28 =0; delay2ms();x29 =0; delay2ms();x30 =0; delay2ms();x31 =0; delay2ms();x1 =1; delay2ms();x2 =1; delay2ms();x3 =1; delay2ms();x4 =1; delay2ms();x5 =1; delay2ms();x6 =1; delay2ms();x7 =1; d

13、elay2ms();x8 =1; delay2ms();x9 =1; delay2ms();x10 =1; delay2ms();x11 =1; delay2ms();x12 =1; delay2ms();x13 =1; delay2ms();x14 =1; delay2ms();x15 =1; delay2ms();x16 =1; delay2ms();x16 =1; delay2ms(); x17 =1; delay2ms();x18 =1; delay2ms();x19 =1; delay2ms();x20 =1; delay2ms();x21 =1; delay2ms();x22 =1

14、; delay2ms();x23 =1; delay2ms();x24 =1; delay2ms();x25 =1; delay2ms();x26 =1; delay2ms();x27 =1; delay2ms();x28 =1; delay2ms();x29 =1; delay2ms();x30 =1; delay2ms();x31 =1; delay2ms(); void Mode_4()P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0

15、xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();x1 =0; delay2ms(); x2 =0; x31 =0; delay2ms();x3 =0; x30 =0; delay2ms();x4 =0; x29 =0; delay2ms();x5 =0; x28 =0; delay2ms(); x6 =0; x27 =0; delay2ms(); x7 =0; x26 =0; delay2ms();x8 =0; x25 =0; delay2ms();x9 =0; x

16、24 =0; delay2ms();x10 =0; x23 =0; delay2ms();x11 =0; x22 =0; delay2ms();x12 =0; x21 =0; delay2ms();x13 =0; x20 =0; delay2ms();x14 =0; x19 =0; delay2ms(); x15 =0; x18 =0; delay2ms();x16 =0; x17 =0; delay2ms(); void Mode_5()P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0

17、xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();x1 =0; delay2ms();x2 =0; delay2ms();x3 =0; delay2ms();x4 =0; delay2ms();x1 =1;x5 =0; delay2ms();x2 =1;x6 =0; delay2ms();x3 =1;x7 =0; delay2ms();x4 =1;x8 =0; delay2ms();x5 =1;x9 =0; delay2

18、ms();x6 =1;x10 =0; delay2ms();x7 =1;x11 =0; delay2ms();x8 =1;x12 =0; delay2ms();x9 =1;x13 =0; delay2ms();x10 =1;x14 =0; delay2ms();x11 =1;x15 =0; delay2ms();x12 =1;x16 =0; delay2ms();x13 =1;x17 =0; delay2ms();x14 =1;x18 =0; delay2ms();x15 =1;x19 =0; delay2ms();x16 =1;x20 =0; delay2ms();x17 =1; x21 =

19、0; delay2ms();x18 =1; x22 =0; delay2ms();x19 =1; x23 =0; delay2ms();x20 =1;x24 =0; delay2ms();x21 =1;x25 =0; delay2ms();x22 =1;x26 =0; delay2ms();x23 =1; x27 =0; delay2ms();x24 =1;x28 =0; delay2ms();x25 =1; x29 =0; delay2ms();x26 =1; x30 =0; delay2ms();x27 =1; x31 =0; delay2ms();x28 =1; x1 =0; delay

20、2ms();x29 =1; x2 =0; delay2ms();x3 =0; delay2ms(); void Mode_6()P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();P0=0;P1=0;P2=0;P3=0;delay2ms();P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay2ms();x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; dela

21、y2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1; x4 =0;x29 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x6 =0;x27 =0; delay2ms(); x27 =1; x6 =1;x7 =0;x26 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =0; x24 =0; delay2ms();x9 =1; x24

22、=1;x10 =0;x23 =0; delay2ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();x11 =1; x22 =1; x12 =0;x21 =0; delay2ms();x21 =1; x12 =1;x13 =0; x20 =0; delay2ms();x13 =1; x20 =1; x14 =0; x19 =0; delay2ms(); x14 =1; x19 =1; x15 =0; x18 =0; delay2ms();x15 =1; x18 =1;x16 =0; x17 =0; delay2ms();/2x1 =0; delay2m

23、s(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =

24、0; x24 =0; delay2ms();x9 =1; x24 =1;x23 =0; x10 =0; delay2ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();x11 =1; x22 =1;x21 =0; x12 =0; delay2ms();x21 =1; x12 =1;x13 =0; x20 =0; delay2ms();x13 =1; x20 =1; x14 =0; x19 =0; delay2ms(); x14 =1; x19 =1; x15 =0; x18 =0; delay2ms(); /3x1 =0; delay2ms(); x1

25、 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =0; x24

26、=0; delay2ms();x9 =1; x24 =1;x23 =0; x10 =0; delay2ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();x11 =1; x22 =1;x21 =0; x12 =0; delay2ms();x21 =1; x12 =1;x13 =0; x20 =0; delay2ms();x13 =1; x20 =1; x14 =0; x19 =0; delay2ms(); /4x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0

27、; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =0; x24 =0; delay2ms();x9 =1; x24 =1;x23 =0; x10 =0; delay2

28、ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();x11 =1; x22 =1;x21 =0; x12 =0; delay2ms();x21 =1; x12 =1;x13 =0; x20 =0; delay2ms();/5x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; dela

29、y2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =0; x24 =0; delay2ms();x9 =1; x24 =1;x23 =0; x10 =0; delay2ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();x11 =1; x22 =1;x21 =0; x12 =0; delay2ms();/6x1 =

30、0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x

31、25 =1;x9 =0; x24 =0; delay2ms();x9 =1; x24 =1;x23 =0; x10 =0; delay2ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();/7x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x

32、28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =0; x24 =0; delay2ms();x9 =1; x24 =1;x23 =0; x10 =0; delay2ms();/8x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30

33、=1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();x8 =1; x25 =1;x9 =0; x24 =0; delay2ms();/9x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1;

34、 x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();x26 =1; x7 =1;x8 =0; x25 =0; delay2ms();/10x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1;

35、x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); x27 =1; x6 =1;x26 =0; x7 =0; delay2ms();/11x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x

36、29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); x5 =1; x28 =1;x27 =0; x6 =0; delay2ms(); /12x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();x29 =1; x4 =1; x5 =0; x28 =0; delay2ms(); /13x1 =0; dela

37、y2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();x3 =1; x30 =1;x29 =0; x4 =0; delay2ms();/14 x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();/15x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms(); /16x1 =0; delay2ms(); voi

38、d main()while(1)Mode_1();Mode_2();Mode_3();Mode_4();Mode_5();Mode_6();博客中有大量單片機學(xué)習(xí)文章,有很多樂趣,也是對我的很好的支持。歡迎轉(zhuǎn)發(fā)! 16X16點陣流動顯示154和2個595驅(qū)動(51匯編)0629更新2(2013-12-20 20:57:00) 單片機控制二相步進電機正反轉(zhuǎn)的仿真(51匯編)(2013-12-20 20:48:00) 51單片機099S正倒計時秒表(匯編)(2013-12-20 20:38:00) STC89C52RC單片機多種花樣的流水燈(2013-12-6 9:11:00) 彩色燈光控制系統(tǒng)(

39、2013-11-10 23:04:00) 51單片機18B20測溫,可怕的85度(2013-11-10 0:25:00) 最近瀏覽的電子制作方面單片機的文章(2013-11-6 8:02:00) 轉(zhuǎn)電子工程師如何經(jīng)營人脈(2013-10-18 13:49:00) TI的LDC真的會革傳感器的命嗎?(2013-9-21 16:59:00) 矩陣式鍵盤按鍵音-8051單片機C51語言實現(xiàn)(2013-2-1 12:12:00) 單片機接收PC發(fā)出的數(shù)據(jù)-8051單片機C51語言實現(xiàn)(2012-12-25 19:21:00) 數(shù)碼時鐘設(shè)計-8051單片機C51語言實現(xiàn)(2012-12-25 19:13:00) 矩陣式鍵盤按鍵音-8051單片機C51語言實現(xiàn)(2012-12-25 19:10:00) 單片機試卷1(2012-12-23 19:13:00) 單片機試卷1(2012-12-23 19:12:00) KS0107KS0108控制的19264液晶驅(qū)動程序C51示例(2012-12-16 10:1

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論