8051单片机(STC89C52)两个倒计时器同步计数

发布者:等风来88888最新更新时间:2020-08-02 来源: eefocus关键字:单片机  STC89C52  倒计时器  同步计数 手机看文章 扫描二维码
随时随地手机看文章

此处需要定时器0提供5ms精准定时, 则每个定时周期都需要(5*10^-3)/(1*10^-6)=5000次加1计数, 所以这里定时器0的初始值设为65536 - 5000 = 60536 = EA84H.


这里先实现两个倒计时器同时工作, 下一步该考虑怎么实现两个倒计时器不同步工作.

#include <STC89C5xRC.H>

 

void delay()//用定时器0实现5ms精准定时

{

TMOD = 0x01;

TH0 = 0xEA;

TL0 = 0x84;//65536 - 5000 = 60036

 

TF0 = 0;//置溢出标志位为0

TR0 = 1;//开启定时器0

while(TF0 == 0);

TR0 = 0;//暂停定时器0

}

 

void disp_digit(int d, int r)

{

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();//5ms精准定时

//显示十位数

P2 = 1 << 2;//P2 = 0000 0100 -> (P24, P23, P22) = (0, 0, 1) -> 右数第二个数字点亮

P0 = DIG_CODE[d / 10];

delay();//5ms精准定时

//第二个倒计时

//显示个位数

P2 = 6 << 2;//P2 = 0001 1000 -> (P24, P23, P22) = (1, 1, 0) -> 右数第七个数字点亮

P0 = DIG_CODE[r % 10];

delay();//5ms精准定时

//显示十位数

P2 = 7 << 2;//P2 = 0001 1100 -> (P24, P23, P22) = (1, 1, 1) -> 右数第八个数字点亮

P0 = DIG_CODE[r / 10];

delay();//5ms精准定时

}

 

int main()

{

int i;

int sec1, sec2;

while(1)

{

sec1 = 15;

sec2 = 15;

while(sec1 >= 0)

{

for(i = 0; i < 50; i++)

{

disp_digit(sec1, sec2);//花费大约20ms

}//20ms*50=1000ms=1s

sec1 --;

sec2 --;

}

}

return 0;

}


关键字:单片机  STC89C52  倒计时器  同步计数 引用地址:8051单片机(STC89C52)两个倒计时器同步计数

上一篇:单片机学习路程(四)蜂鸣器唱歌
下一篇:8051单片机(STC89C52)定时器实现10ms精准定时

推荐阅读最新更新时间:2024-11-11 21:00

89C52单片机之按键控制
这是一个用按键调节七段显示屏显示数字的值的程序,其中一个按键按下加1,另外一个按下减1 程序: #include reg52.h #include INTRINS.H sbit P2_2=P2^2 ; sbit P2_3=P2^3 ; sbit P3_3=P3^3; sbit P3_4=P3^4; unsigned char num=18,shi,fen; unsigned char table ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void delay(unsigned char dly) { unsigned ch
[单片机]
采用AT89S52单片机的家庭智能浇花器设计方案
随着人们生活水平的提高,花卉逐渐收到人们的青睐,陶冶情操,净化空气。利用单片机设计了一款家庭智能浇花器实现自动浇花,节省人力,方便人们出差的时候,不至于影响花卉的生长,如果在家也可以关断浇花器,手动浇花。浇花器设置为两种方式,一种是定时定量浇花,一种是根据湿度浇花。采用哪种方式是通过按键控制或者红外遥控的,在采用定时定量浇花时,数码管显示时间和流水时间,在选用根据湿度浇花时,数码管显示是目前的湿度。 1 总体设计 利用AT89S52单片机设计了自动浇花器,针对不同的花卉,此智能浇花器设置为两种方式:一是定时定量浇花,二是利用湿度传感器检测花卉(也可以用于蔬菜等)的湿度,采集的湿度传送到单片机芯片,单片机根据湿度控制是否浇水,如
[单片机]
采用AT89S52<font color='red'>单片机</font>的家庭智能浇花器设计方案
51单片机UART通信程序
用到的特殊寄存器: SM0 SM1:工作方式控制 01 工作方式1 1起始位 8数据位 1停止位 波特率可变 TI:发送中断位 TI=1 发送完成,软件置0 RI:接收中断位 RI=1 接收完成,软件置0 REN:接收使能 SBUF:缓冲区 PCON最高位SMOD 置1 波特率加倍,0正常 定时器使用模式2 ,10 8位自动增补 代码如下: #include reg52.h typedef unsigned char uint8; typedef unsigned int uint16; sbit left=P1^2; uint8 message; void delay42ms(void) //误差 -0.217013
[单片机]
51<font color='red'>单片机</font>UART通信程序
单片机系统RAM的测试方法回顾与研究
在各种单片机应用系统中,存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对性地介绍了几种常用的单片机系统RAM测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。 1 RAM测试方法回顾 (1)方法1 参考文献中给出了一种测试系统RAM的方法。该方法是分两步来检查,先后向整个数据区送入#00H和#FFH,再先后读出进行比较,若不一样,则说明出错。 (2)方法2 方法1并不能完全检查出RAM的错误,在参考文献中分析介绍了一种进行RAM检测的标准算法MARCH—G。MARCH一G算
[单片机]
avr单片机proteus仿真第三课:单只数码管
数码管选7SEG-MPX1-CC,共阴极数码管。也就是低电平选通(最右脚),数码管左边8只管脚,从左到右,由低到高,分别接PC0---PC7。 c程序如下: #include avr/io.h #include util/delay.h #define int8u unsigned char #define int16u unsigned int const int8u seg_code ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int main() { int8u i=0; DDRC=0xff; while(1) { PORTC=seg_code ; i=
[单片机]
avr<font color='red'>单片机</font>proteus仿真第三课:单只数码管
CPLD和MSP430单片机在导波雷达物位计中的应用
摘要:导波雷达物位计是一种利用时域反射原理实现的高性能物位计。为了实现导波雷达物位计这一高精度时差测量系统,采用了CPLD和MSP430单片机协同工作的电路设计。CPLD为信号收发模块的核心,为发射电路中提供窄脉冲产生电路的周期触发信号,并在接收电路中控制可编程延时器件AD9500实现等效时间采样,把高频的回波脉冲信号在时间轴上放大为低频信号。以MSP430为核心的信号处理模块根据收发模块传来的信号计算物位,并把物位信息以4-20 mA信号、串口等方式输出,同时MSP430还对液晶屏、按键等外围器件进行控制。实际试验表明系统各模块的工作状态与理论分析相符。 导波雷达物位计具有受温度、压力、雾气、泡沫及被测介质物理特性变化的影响
[单片机]
CPLD和MSP430<font color='red'>单片机</font>在导波雷达物位计中的应用
意法半导体宣布延长车身、底盘和安全MCU生命周期
横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)宣布延长在全球汽车动力总成、底盘和车身应用中部署量达数百万的SPC56车规微控制器(MCU)的长期供货承诺。 意法半导体汽车处理器和射频技术事业部总经理Luca Rodeschini表示:“ SPC56系列在市场上经久不衰,现在仍是各种设计项目的首选汽车MCU,集运算性能、稳健性和可靠性于一身。为确保为我们客户的新应用以及市场上已有应用提供长期的支持服务,我们今天宣布将我们独有的产品生命周期计划延长至20年,这意味着2014年问市的SPC56 MCU至少可以在市场上存续到2034年。” 意法半
[汽车电子]
意法半导体宣布延长车身、底盘和安全<font color='red'>MCU</font>生命周期
51单片机设计方案TOP10(九)
基于51单片机的光功率计的设计    摘要: 通过光电传感器将待测光信号变化转变为模拟信号,对模拟信号进行AD处理分析得到光信号的参数特性并在51单片机上通过串口通讯输出。    1 背景概述   1.1 光功率定义   光功率是光在单位时间内所做的功。光功率常用单位是毫瓦(mW)和分贝(dB),其中两者关系为1mW=0dB,而小于1mW的分贝为负值。例如,在光纤收发器或交换机说明书中,有其产品的发光和接收光功率,通常发光小于0dB。   接收端所能够接收的最小光功率称为灵敏度,能接收的最大光功率减去灵敏度的值称为动态范围,发光功率减去接收灵敏度是允许光纤损耗值。    1.2 使用分贝做单位主要有两个好处   (
[模拟电子]
51<font color='red'>单片机</font>设计方案TOP10(九)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved