历史上的今天
返回首页

历史上的今天

今天是:2025年08月12日(星期二)

正在发生

2018年08月12日 | C51单片机定时器T0,T1的常用基本设置

2018-08-12 来源:eefocus

有时候带手机不方便,可以又想知道时间,这时候可以用蜂鸣器做一个音频的时间提醒器,每60秒发一声提醒


提醒器计时可以使用单片机的定时器T0、T1来做,计时的定时器用T1来做,工作在方式2(8位自动装载),系统运行提示的定时器用T0来做,工作在方式1(16位定时)


代码如下


#include "reg52.h"

 

#define uint unsigned int

#define uchar unsigned char

 

#define time_set0 5000//设置定时器0的计时长度

 

#define th0 (65536-time_set0)/256//计算定时器高8位装入值

 

#define tl0 (65536-time_set0)%256 //计算定时器低8位装入值

#define time_set1 256-200//设置定时器1的计时长度

 

sbit P1_1=P1^1;//系统运行指示灯管脚

 

sbit beep=P1^7;//蜂鸣器管脚

 

uint cnt=0;//计数器

uint cnt2=0;//计数器

uint cnt3=0;//计数器

 

void delay(uint i)//延时函数

{

uchar k;

for(;i>0;i--)

for(k=0;k<200;k++);

}

 

timer0()interrupt 1 using 1//定时器0设置

{

    cnt++;//每次中断增加一

if(cnt>100)//计数时间5ms*100=500ms

{

cnt=0;

}

 

    TH0=th0;//重装定时器

    TL0=tl0;

}

 

timer1()interrupt 3 using 2//定时器1设置

{

    cnt2++;

if(cnt2>=5000)//计数时间0.2ms*5000=1s

{

cnt2=0;

cnt3++;//秒计数器增加一

P1_1=!P1_1;//指示灯每秒翻转一次

}

}

 

void main()

{

    TMOD=0x21;//设置定时器1方式2(高4位0010,自动重装TH->TL,计满255),定时器0方式1(低4位0001,16位定时器,可计满65535)

    TH0=th0;//装载定时器初始值

    TL0=tl0;

    TH1=time_set1;

    TL1=time_set1;

    EA=1;//开总中断

    ET0=1;//开定时器0中断

    ET1=1;//开定时器1中断

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

    TR1=1;//打开定时器1

while(1)

{

  if(cnt3>=60)//计时60秒

  {

  cnt3=0;//计时清零

beep=0;//打开蜂鸣器

delay(100);//延时100

beep=1;//关闭蜂鸣器

  }

}

}


推荐阅读

史海拾趣

华润微(CRMICRO)公司的发展小趣事

2020年,华润微成功在科创板上市,开启了公司发展的新篇章。上市以来,华润微充分利用资本市场的力量,不断扩大生产规模,提升技术水平。在科创板挂牌上市的推动下,公司业绩实现了快速增长。2022年,公司营收突破百亿大关,净利润达到26亿元,较2019年增长5.5倍。这一成绩的取得,充分展示了华润微在电子行业中的强大实力和竞争力。

Barry Industries Inc公司的发展小趣事

Barry Industries Inc在创业初期面临资金短缺、技术壁垒和市场竞争激烈等诸多挑战。然而,公司创始人凭借对电子行业的深厚理解和对市场需求的敏锐洞察,坚信公司的微波半导体封装技术具有巨大潜力。在创始团队的坚持与努力下,公司逐渐克服了初期的困难,逐步在市场上建立了自己的地位。

ConnectBlue公司的发展小趣事

ConnectBlue公司成立于2000年,当时正值无线通信技术快速发展的时期。公司创始人凭借对无线技术的深刻理解和市场需求的敏锐洞察,决定专注于无线系统的研发和生产。起初,公司面临资金紧张和技术难题,但创始团队凭借坚韧不拔的精神,克服了一个又一个困难,成功开发出了一系列具有竞争力的无线模块产品。

CONEXANT公司的发展小趣事

2017年,电子行业迎来了一场引人瞩目的收购案。新思科技(Synaptics),一家在人机界面交互开发解决方案领域具有领导地位的公司,宣布以3.95亿美元现金和726,666只普通股收购科胜讯系统公司(Conexant Systems)。这一收购行动不仅增强了Synaptics在智能家居领域的语音和音频处理解决方案的能力,也标志着Conexant正式成为Synaptics大家庭的一员。通过此次收购,两家公司实现了技术资源和市场优势的互补,共同开启了新的发展篇章。

Bellin公司的发展小趣事

作为一家在半导体和通信领域具有深厚技术底蕴的公司,Conexant始终致力于技术创新和市场拓展。在不断变化的市场环境中,Conexant紧跟行业趋势,加大在新技术研发和市场推广方面的投入。通过持续创新和市场拓展,Conexant成功巩固了在行业内的领先地位,并为全球用户提供了更加优质的产品和服务。

这些故事只是CONEXANT公司在电子行业发展中的一部分,它们展示了公司在不同时期的战略决策、技术创新和市场拓展能力。这些成就不仅为CONEXANT公司赢得了业界的尊重和认可,也为整个电子行业的发展做出了重要贡献。

Holt Integrated Circuits公司的发展小趣事

Holt在支持ARINC 429标准方面展现出了强大的实力。其ARINC 429 IC产品系列从简单的线路接收器到集成RAM的完整协议解决方案,覆盖了业内最广泛的范围。这些产品设计精巧,能够在单个3.3V电源上运行,显著降低了系统复杂性和板空间,为航空电子系统带来了更高的效率和可靠性。Holt的这一系列创新产品,不仅满足了航空制造商的严格需求,也推动了ARINC 429标准在全球范围内的广泛应用。

问答坊 | AI 解惑

wince c# 画图问题

系统:wince 5.0 开发工具: vs C# 2008 SDK :.net compact framework 3.5 问题描述:              开始在windows xp 执行这段代码没有问题,能画图:          &nb ...…

查看全部问答>

一个划时代的伟大产品-超级硬件调试器横空出世

一个划时代的伟大产品-超级硬件调试器横空出世     程序员中多年来一直流传着一种传说,除了市面上能够见到的为数不多的几种调试软件之外,还存在着一种神秘的硬件调试器,其功能强大无比。任何调试软件调不了的程序,硬件调试器都能搞 ...…

查看全部问答>

螺旋

哪位大侠知道怎么样把一张背景图采用螺旋方式显示吗?就是顺时针扇形方式来显示 给人动态效果,而不是一次性把图片显示出来!…

查看全部问答>

PIC16单片机的C编译起哪儿下载?如何与MAPLAB一起使用?

找了很长时间,网上都没有PIC16单片机得C编译器(很多都是DEMO)。还有,如果有了这个单片机,如何在MAPLAB中使用这个编译器?…

查看全部问答>

f2812 SCI RS485 调试

1.最近我用sci调试RS485的时候遇到一个怪现象: 有时候(不是全部,重新加载程序的时候一般都是)cpu明明有数据发出来,SCIRX,SCITX波形正常,可是485驱动芯片出来的两线信号发不出来,示波器只能看到负半波.只要我把与其通信的人机界面的通讯口拔出来 ...…

查看全部问答>

有关51单片机低频频率计的问题

我想问一下低频频率计用C语言编写,一秒种是如何采集3次信号的 用测周期法测量.…

查看全部问答>

LM3S811库函数使用

IntEnable()里面的参数是什么 怎么用的   手册上好像没说…

查看全部问答>

【汇总】德仪MSP430视频

MSP430Ware 入门介绍较以往其他版本,德州仪器 IDE CCS V5.1 程序更加简练有效,运行更加快捷,开发环境也更加直观。这里将着重介绍CCS v5.1一个新的组成部份- TI资源管理器(TI Resource Explorer)。TI资源管理器向客户提供一种直接简单的途径进 ...…

查看全部问答>

STM32-FSMC-LCD详解

/*来源于网络非原创*/ STM32-FSMC-LCD详解LCD有如下控制线: CS:Chip Select 片选,低电平有效 RS:Register Select 寄存器选择 WR:Write 写信号,低电平有效 RD:Read 读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 ...…

查看全部问答>

关于AMC7135的12V三串纠错分享

最近车上的前阅读灯坏了,想用LED代替,又省电又明亮。 网上找了下关于AMC7135的电路,在计算供电电阻的时候发现一个小错误,分享出来免得大家碰到的时候浪费时间。 百度文库找了个文档,链接就不发了,百度一下很多的。这个是12V串三个的线路 ...…

查看全部问答>