标题:
单片机生日快乐歌(带流水灯)程序
[打印本页]
作者:
51hei社区
时间:
2016-1-16 05:48
标题:
单片机生日快乐歌(带流水灯)程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit P32=P3^3;
uchar i,j,time1,time2;
uint code array1[]={
400,400,650,650,650,1200,
400,400,650,650,650,1200,
400,400,650,650,650,650,1200,
400,400,650,650,650,1200
};
uchar code array[]={
0xfd,0x79,0xfd,0x79,0xfd,0xc7,0xfd,0x79,0xfe,0x21,0xfe,0x05,
0xfd,0x79,0xfd,0x79,0xfd,0xc7,0xfd,0x79,0xfe,0x51,0xfe,0x21,
0xfd,0x79,0xfd,0x79,0xfe,0xc0,0xfe,0x84,0xfe,0x21,0xfe,0x05,0xfd,0xc7,
0xfe,0x99,0xfe,0x99,0xfe,0x90,0xfe,0x21,0xfe,0x51,0xfe,0x21
};
uchar code LED[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay(uint m)
{
uint n;
for(;m>0;m--)
for(n=80;n>0;n--);
}
void main()
{ uint a=0;
TMOD=0x01;
TH0=0;
TL0=0;
EA=1;
ET0=1;
TR0=1;
while(1)
{ if(a==8)
{a=0;}
time1=array[i++];
time2=array[i++];
if(i==50)
i=0;
P1=LED[a];
a++;
delay(array1[j++]);
P0=1;
if(j==25)
{ j=0;}
}
}
void init() interrupt 1
{
TR0=0;
P32=~P32;
TH0=time1;
TL0=time2;
TR0=1;
}
复制代码
作者:
zht948
时间:
2019-12-29 21:47
谢谢楼主分享,请问用了你的代码,流水灯全亮但不动怎么解决呢
作者:
zht948
时间:
2019-12-29 21:48
谢谢楼主分享,用了你的代码可是流水灯全亮但不动怎么解决呢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1