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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、載線方便下載更新程序,可以不安裝。D1D31 ,是31個3mm 紅色發(fā)光二極管,在線路板上排列成心形,可以將發(fā)光顏色更換為其他顏色。R1R8、R10 R32 為限流電阻,控制通過二極管的電流,避免過大電流燒毀發(fā)光二極管。元件參數: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 圖中,整個圓形中有切掉部分圓弧的一側是陰極。如上圖所示。底層布線連接圖(底視)底層布線連接圖(頂視)說明:焊接上元件后,先不要盲目的慌著剪去多余的過長引腳,可以考慮將長出的引腳折彎與其他含盤點相連。繞行元的,有交叉的可以考慮使用帶絕緣的單芯鍍錫線進行連接。具有5種模式輪流 顯示的 心形流水燈 單片機 C51 源程序。#include <reg51.h>sbit x1=P07;sbit x2=P06;sbit x3=P05;sbit x4=P04;sbit x5=P03;sbit x6

4、=P02;sbit x7=P01;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

5、;sbit x30=P26;sbit 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

6、=0; delay2ms();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;

7、 delay2ms();x29 =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;

8、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();x16 =0; x17 =0; delay2ms();x15 =0; x18 =0; delay2ms();x14 =0; x19 =0; delay2ms();x13 =0; x20 =0; delay2ms();x21 =0; x

9、12 =0; delay2ms();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

10、Mode_3()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();x3 =0; delay2ms();x4 =0; delay2ms();x5 =0; delay2ms();x6 =0; dela

11、y2ms();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();x16 =0; delay2ms(); x17 =0; delay2ms();x18 =0; delay2ms();x19 =0; delay2ms();x20 =0; delay2ms();x21 =0; de

12、lay2ms();x22 =0; 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; dela

13、y2ms();x7 =1; delay2ms();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; de

14、lay2ms();x22 =1; 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=0x

15、ff;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; 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; dela

16、y2ms();x9 =0; x24 =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;

17、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();x1 =1;x5 =0; delay2ms();x2 =1;x6 =0; delay2ms();x3 =1;x7 =0; delay2ms();x4 =1;x8 =0; delay2ms();x5 =

18、1;x9 =0; delay2ms();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(

19、);x17 =1; x21 =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 =

20、1; x1 =0; delay2ms();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

21、=0; x2 =0; delay2ms();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; delay2m

22、s();x9 =1; x24 =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();/

23、2x1 =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

24、=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();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;

25、 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; x25

26、 =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();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 =

27、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 =0; delay2ms();x9 =1; x24 =1;x23 =0;

28、 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();/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 =

29、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; delay2ms();x23 =1; x10 =1;x11 =0; x22 =0; delay2ms();x11 =1; x22 =1;x21 =0; x12 =0; de

30、lay2ms();/6x1 =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; dela

31、y2ms();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();/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; delay

32、2ms(); 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();/8x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2m

33、s();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();/9x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms()

34、;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();/10x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();

35、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();/11x1 =0; delay2ms(); x1 =1; x31 =0; x2 =0; delay2ms();x31 =1; x2 =1; x3 =0; x30 =0; delay2ms();

36、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(); /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();

37、 /13x1 =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();/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;

38、delay2ms(); void main()while(1)Mode_1();Mode_2();Mode_3();Mode_4();Mode_5();Mode_6();博客中有大量單片機學習文章,有很多樂趣,也是對我的很好的支持。歡迎轉發(fā)!· 16X16點陣流動顯示 154和2個595驅動(51匯編)06 29 更新 2(2013-12-20 20:57:00)· 單片機控制二相步進電機正反轉的仿真(51匯編)(2013-12-20 20:48:00)· 51單片機 099S 正倒計時秒表(匯編)(20

39、13-12-20 20:38:00)· STC89C52RC 單片機 多種花樣的流水燈(2013-12-6 9:11:00)· 彩色燈光控制系統(tǒng)(2013-11-10 23:04:00)· 51單片機18B20 測溫,可怕的85度(2013-11-10 0:25:00)· 最近瀏覽的電子制作方面單片機的文章(2013-11-6 8:02:00)· 轉電子工程師如何經營人脈(2013-10-18 13:49:00)· TI的LDC真的會革傳感器的命嗎?(2013-9-21 16:59:00)· 矩

40、陣式鍵盤按鍵音 - 8051單片機C51語言實現(2013-2-1 12:12:00)· 單片機接收PC發(fā)出的數據 - 8051單片機C51語言實現(2012-12-25 19:21:00)· 數碼時鐘設計 - 8051單片機C51語言實現(2012-12-25 19:13:00)· 矩陣式鍵盤按鍵音 - 8051單片機C51語言實現(2012-12-25 19:10:00)· 單片機試卷1(2012-12-23 19:13:00)· 單片機試卷1(2012-12-

41、23 19:12:00)· KS0107 KS0108控制的19264液晶驅動程序C51示例(2012-12-16 10:12:00)· LCD12864(KS0107 KS010)示例程序(2012-12-4 19:39:00)· C51代碼用74LS164串行輸入并口輸出(2012-10-28 23:48:00)· STC單片機基礎實驗板實現 播放多首音樂(2012-10-25 11:50:00)· 51單片機基礎實驗板-六首唱歌的音樂程序按P2.4循環(huán)(2012-10-23 8:54:00)· 如何繪制電

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論