闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环
#include<reg52.h>
#include<intrins.h>
unsigned char t,a;
void main()
{
TMOD=0x10; //给TMOD赋值,选择定时器T1
TH1=(65536-50000)/256; //计算初值写入TH1,TL1
TL1=(65536-50000)%256;
EA=1; //中断允许总控制位开启
ET1=1; //定时、计数器T1控制位开启
TR1=1; //TR1置位,启动定时、计数器T1
while(1)
{
if(t==2)
{
a=0xfe;
P1=a;
while(1)
{
a=_crol_(a,1);//循环左移一位,还有一种方式左移后按位或用FOR语句
P1=a;
P0=0xfd;
t=0;
}
}
}
}
void extimer1() interrupt 3 //中断方式以及对应的中断号
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t++;
}
我要赚赏金
