使这八只发光二极管每个两秒循环发光,要求使用定时器0实现(高电平点亮二极管,每次只点亮一只二极管)。计算定时器时间常数H,写出程序。
修正中断函数:
P1=00000001<<1;
#include "reg51.h"
char i=0;
void time0(void) interrupt 1
{
TL0=(65536-50000)%0x100;//6M晶体此常数为100ms中断一次
TH0=(65536-50000)/0x100;
c++;
if(c==10){
c=0;
P1=(1<i);
if(++i==8)i=0;
}
}
void main(void){
TMOD=0x01;
EA=ET0=RT0=1;
while(1);
}