目的
实现按秒计数并达到一定值归零
isis仿真
由于无法上传视频没办法看数字变化,截两张图作对比,大家可以看运行时间和显示时间作比较(会有一点误差,因为初值计算需要时间)
c代码
#include<reg52.h>
code unsigned char SEG[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
char i,cp;
/*中断服务函数*/
void ti(void) interrupt 1{
/*设初值*/
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cp++;
if(cp>=20) {
cp=0;
i++;
}
if(i>9) i=0;
}
void main(void){
P2=0XFE; /*数码管打开*/
TMOD=0X01; /*选择计时器T0,且使用01方式*/
EA=1;
ET0=1;
/*设初值*/
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
/*开启计时器*/
TR0=1;
while(1){
/*送值*/
P0=SEG[i];
}
}
ps:个人写的课堂总结,有错误和建议可以指出。