【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秒的计时误差也相对小则计时精度就高。

相关推荐
杰瑞不懂代码几秒前
【公式推导】AMP算法比BP算法强在哪(一)
python·算法·机器学习·概率论
victorwjw2 分钟前
STM32 ISP下载原理
stm32·嵌入式硬件
晚风(●•σ )5 分钟前
C++语言程序设计——【算法竞赛常用知识点】
开发语言·c++·算法
..过云雨7 分钟前
14.【Linux系统编程】进程间通信详解(管道通信、System V共享内存、消息队列、信号量)
linux·c语言·c++·后端
丫丫72373411 分钟前
Three.js 材质系统总结笔记
javascript·笔记·材质
浅川.2512 分钟前
xtuoj 哈希
算法·哈希算法·散列表
AndrewHZ15 分钟前
【复杂网络分析】复杂网络分析技术在图像处理中的经典算法与应用实践
图像处理·人工智能·算法·计算机视觉·图像分割·复杂网络·图论算法
free-elcmacom16 分钟前
机器学习入门<4>RBFN算法详解
开发语言·人工智能·python·算法·机器学习
cjy_Somnr16 分钟前
电机驱动学习以及闭环控制和硬件连接
嵌入式硬件·学习
小李做物联网18 分钟前
【物联网毕设】60.1基于单片机物联网嵌入式项目程序开发之智能家庭安防感应报警
stm32·单片机·嵌入式硬件·物联网