8051单片机(STC89C52)倒计时器

news/2024/11/23 9:58:59/

 

 

 

 

#include <STC89C5xRC.H>void delay()//用定时器0实现10ms精准定时
{TMOD = 0x01;TH0 = 0xd8;TL0 = 0xf0;//65536 - 10000 = 55536TF0 = 0;//置溢出标志位为0TR0 = 1;//开启定时器0while(TF0 == 0);TR0 = 0;//暂停定时器0
}void disp_digit(int d)
{unsigned char code DIG_CODE[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//显示个位数P2 = 0;// P2 = 0 -> (P24, P23, P22) = (0, 0, 0) -> 右数第一个数字点亮P0 = DIG_CODE[d % 10];delay();//10ms精准定时//显示十位数P2 = 1 << 2;//P2 = 0000 0100 -> (P24, P23, P22) = (0, 0, 1) -> 右数第二个数字点亮P0 = DIG_CODE[d / 10];delay();//10ms精准定时
}int main()
{int i;int sec;while(1){sec = 15;//计数初始值while(sec >= 0){for(i = 0; i < 50; i++){disp_digit(sec);//花费大约20ms}//20ms*50=1000ms=1ssec --;//显示组合数字减1}}return 0;
}

肯定有和我一样好奇心强的朋友会问到, 这里提供的倒计时器是完全没有误差的吗(因为晶振提供的频率很准确), 答案是有的. 那么为什么会有误差呢: 

比如这里,

    TMOD = 0x01;
    TH0 = 0xd8;
    TL0 = 0xf0;//65536 - 10000 = 55536

    TF0 = 0;//置溢出标志位为0
    TR0 = 1;//开启定时器0

在开启定时器0前的诸多语句都是要耗费掉一定时间的, 只不过这时间量级较10ms来说不足以比较, 所以我们在短时间内是感受不到这误差的. 
 


http://www.ppmy.cn/news/551919.html

相关文章

STC8H8K系列汇编和C51实战——秒倒计时器(汇编版)

秒倒计时器&#xff08;汇编版&#xff09; 一、题目二、代码总结系列文章——STC8H8K系列汇编51实战 一、题目 在实验箱上利用单片机定时器/计数器&#xff08;工作于中断方式&#xff09;设计一个秒倒计时器&#xff0c;用数码管显示秒数&#xff0c;从100 倒计时至0 s 后从…

51单片机通过计时器实现倒计时

51单片机通过计时器实现倒计时 文章目录 51单片机通过计时器实现倒计时实验环境仿真图代码实现成果图 实验环境 软件: Keil5Proteus7 元件: AT89C51 * 1&#xff0c;7SEG-MPX2-CA * 1 仿真图 代码实现 //名称: 定时器实现数码管倒计时 #include <reg51.h> #define uint …

555定时器+74系列芯片搭建八路抢答器,30s倒计时,附Proteus仿真等

设计要求 1.设计一个基于数字电路的30秒定时抢答器&#xff0c;可同时供8人或8队比赛&#xff1b; 2.给节目主持人设置一个控制开关&#xff0c;用于控制系统复位和抢答开始&#xff1b; 3.抢答器具有数据锁存和显示功能。抢答开始后&#xff0c;如有选手抢答成功&#xff0c…

STC8H8K系列汇编和C51实战——秒倒计时器(可自行设定初值)(51版)

秒倒计时器&#xff08;可自行设定初值&#xff09;&#xff08;51版&#xff09; 一、题目二、代码总结系列文章——STC8H8K系列汇编51实战 一、题目 在实验箱上利用单片机定时器/计数器&#xff08;工作于中断方式&#xff09;设计一个秒倒计时器&#xff0c;用数码管显示秒…

【杰理AC696X】软件定时器介绍

【杰理AC696X】软件定时器介绍 测试SDK版本&#xff1a;《ac696n_soundbox_sdk_v1.6.0》 文章目录 【杰理AC696X】软件定时器介绍前言一、功能概述1.1 软件定时器类型1.2 软件定时器相关知识 二、流程框架2.1 usr_timer 流程框架2.1 sys_timer 流程框架 三、接口详细说明3.1 us…

倒计时器c语言,在线倒计时器

手机评站网今天精心准备的是《在线倒计时器》&#xff0c;下面是详解&#xff01; 如何在PPT中插入3分钟倒计时器,最后有声音。280992... 如何在PPT中插入3分钟倒计时器,最后有声音。280992656秋秋在线等&#xff0c;万分感谢&#xff01;... 如何在PPT中插入3分钟倒计时器,最后…

【国产虚拟仪器】基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程

基于 JESD204B 的采集与数据接收电路设计 本章将围绕基于 JESD204B 高速数据传输接口的双通道高速数据采集实现展 开。首先&#xff0c;简介 JESD204B 协议、接口结构。然后&#xff0c;研究 JESD204B 链路建立与同 步的过程。其次&#xff0c;研究基于 JESD204B …

【国产虚拟仪器】基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集设计(三)连续多段触发存储及传输逻辑设计

本章将完成数据速率为 80MHz 、位宽为 12bits 的 80 路并行采样数据的连续多 段触发存储。首先&#xff0c;给出数据触发存储的整体框架及功能模块划分。然后&#xff0c;简介 MIG 用户接口、设置及读写时序。最后&#xff0c;进行数据跨时钟域模块设计&#xff0c;内存…