【51单片机计时器1中断的60秒数码管倒计时】2023-1-23

51单片机的60秒数码管倒计时缘由https://ask.csdn.net/questions/7859269

cpp 复制代码
`#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
uchar code table_du[]={0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};
void delay(){    uint m;for(m=0;m<255;m++);}    
uchar j=0,sum=60;
void main(){
    TMOD=0x01;
    TH0=(65535-50000)/256;
    TL0=(65535-50000)%256;
    TR0=1;
    EA=1;
    ET0=1;
    while(1){
        P2=255-1;
        P0=table_du[sum/10];
        delay();P0=P2=255;
        P2=255-2;
        P0=table_du[sum%10];
            delay();P0=P2=255;

    }
}
void time0() interrupt 1{
    TH0=(65535-50000)/256;
    TL0=(65535-50000)%256;
    j++;
       if(j==20){
        j=0;
        sum--;
        if(sum==0)
            sum=60;
    }
}`


计时器中断1秒计时在程序简单的时候还是比较准确的,一旦程序复杂则定时时间不准确,因此程序返回主函数周期越小则用定时器作为1秒时钟的准确率就至关重要,也就是响应中断的时间能否尽量小,若能尽量小则1秒的计时误差也相对小则计时精度就高。

相关推荐
Dylan的码园15 小时前
深入浅出Java排序:从基础算法到实战优化(上)
java·数据结构·算法
星火开发设计15 小时前
从公式到应用:卷积公式全面解析与实战指南
学习·算法·机器学习·概率论·知识·期末考试·卷积公式
九成宫15 小时前
计算机网络期末复习——第4章:网络层 Part Two
网络·笔记·计算机网络·软件工程
玄〤15 小时前
黑马点评中的分布式锁设计与实现(Redis + Redisson)
java·数据库·redis·笔记·分布式·后端
学嵌入式的小杨同学16 小时前
循环队列(顺序存储)完整解析与实现(数据结构专栏版)
c语言·开发语言·数据结构·c++·算法
Yu_Lijing16 小时前
基于C++的《Head First设计模式》笔记——适配器模式
c++·笔记·设计模式
shangjian00716 小时前
AI大模型-机器学习-算法-线性回归-优化方法
人工智能·算法·机器学习
咒法师无翅鱼16 小时前
【西电机器学习】学习笔记(基础部分)
笔记·学习
shangjian00716 小时前
AI大模型-机器学习-算法-逻辑回归
人工智能·算法·机器学习
王锋(oxwangfeng)16 小时前
车道线拟合算法--自动驾驶
人工智能·算法·自动驾驶