/*間隔300ms先奇數(shù)亮再偶數(shù)亮,循環(huán)三次;一個(gè)燈上下循環(huán)三次;兩個(gè)分別從兩邊往中間流動(dòng)三次;再從中
間往兩邊流動(dòng)三次;8個(gè)全部閃爍3次;關(guān)閉發(fā)光管,程序停止。*/
//P0口位輸出口
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x55,0xaa,0x7f,0x7e,0xbd,0xdb,0xe7};
uchar t,i,j,temp;
void delay(uint z)
{
while(t!=z);
t=0;
}
void main()
{
t=0;
TMOD=0x01;
TH0=(65536-50000)/256;//timer 50ms
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
/*間隔300ms先奇數(shù)亮再偶數(shù)亮,循環(huán)三次;一個(gè)燈上下循環(huán)三次;兩個(gè)分別從兩邊往中間流動(dòng)三次;再從中
間往兩邊流動(dòng)三次;8個(gè)全部閃爍3次;關(guān)閉發(fā)光管,程序停止。*/
for(i=0;i<3;i++)
{
temp=table[0];
P0=temp;
delay(6);
temp=table[1];
P0=temp;
delay(6);
}//間隔300ms先奇數(shù)亮再偶數(shù)亮,循環(huán)三次?
temp=table[2];
_nop_();
for(i=0;i<24;i++)
{
P0=temp;
delay(6);
temp=_cror_(temp,1);
}//一個(gè)燈上下循環(huán)三次?
//uchar code table[]={0x55,0xaa,0x7f,0x7e,0xbd,0xdb,0xe7};
for(i=0;i<3;i++)
{
for(j=3;j<8;j++)
{
P0=table[j];
delay(6);
}
}//liang bian dao zhong jian
for(i=0;i<3;i++)
{
for(j=6;j>2;j--)
{
P0=table[j];
delay(6);
}
}//zhongjian wang liangbian
for(i=0;i<3;i++)
{
P0=0xff;
delay(6);
P0=0x00;
delay(6);
} //8個(gè)全部閃爍3次
P0=0xff;
delay(10);
while(1);
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t++;
}
很好的程序
牛啊
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |