单片机——实现按秒计数(基础)

目的

实现按秒计数并达到一定值归零

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:个人写的课堂总结,有错误和建议可以指出。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值