历史上的今天
返回首页

历史上的今天

今天是:2025年10月11日(星期六)

正在发生

2022年10月11日 | 89C52单片机 计时器 中断的使用

2022-10-11 来源:csdn

1.计时器

因为51单片机的机器周期计算公式是12/晶振频率MHz,若晶振为12MHz,则机器周期就是12/(12×10^6)=1us,也就是说计数器没1us计数一次。


一般来说,12MHz晶振下,16位定时器满计数是65536次,每次1us,最大就能计时65.536ms,则65536减去多少就是定时多少,如(65536-X)/256,就是定时X微秒。


那么T=1/(X/12)就是一个机器周期 ,(65536-Z(初值))*T就是定时的时间

比如是12M的晶振那么 设置TMOD=0x01, 计时器模式


TH0=(65536-50000)/256;

TL0=(65536-50000)%256;就是设置了50ms的定时


2、计时器中断 1S 闪光灯

我们使用计时器中断来设置 1S 闪光灯


#include //51头文件


sbit LED1 = P1^0; //位定义 LED1硬件接口


int num = 0;

//中断服务特殊功能寄存器配置

void init()

{

TMOD = 0x01;  //定时器16为计数工作模式

TH0 =(65536-50000)/256;;

TL0 =(65536-50000)%256; //50ms  定时

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

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

EA = 1; //开总中断

}

//定时器0中断服务程序 不用软件延时

void timer0() interrupt 1

{

TH0 =(65536-50000)/256;;

TL0 =(65536-50000)%256; //50ms  定时  模式1非自动重装需要手动重装再次定时


num++;

if (num == 20) { // 20 * 50ms 为 1s

    num = 0;

   LED1 = ~LED1;

}

}


void main()

{

LED1 = 0;  //拉低IO点亮LED1

init();//初始化定时器0

while(1);//程序停留

}

在这里插入图片描述

文档参考:

关于51单片机的定时器T0、T1总结

http://www.51hei.com/bbs/dpj-103111-1.html

推荐阅读

史海拾趣

Aptina (ON Semiconductor)公司的发展小趣事

Aptina Imaging公司的起源可以追溯到其前身,一家专注于图像传感器技术的初创公司。在当时,随着数码相机的普及和消费者对图像质量要求的提高,图像传感器市场迎来了巨大的发展机遇。Aptina凭借其在图像捕捉和处理技术上的独特优势,迅速在市场中崭露头角。其创新的图像传感器产品不仅提升了相机的拍摄效果,还广泛应用于手机、安防监控等多个领域。

All Sensors公司的发展小趣事

在过去的30年里,All Sensors一直致力于为OEM客户设计定制各种经典的传感器。这些传感器不仅具有高精度、高可靠性和高灵敏度,还广泛应用于航天航空、医疗设备、环保仪器等多个领域。凭借卓越的产品性能,All Sensors的部分经典产品甚至被业界某大公司收购并发扬光大,进一步扩大了其在电子行业的影响力。

Bergquist Company公司的发展小趣事

在60年代,Bergquist Company作为一家私人拥有的美国公司,在明尼苏达州的一个小城市诞生。创立初期,公司面临着资金短缺、市场竞争激烈等诸多困难。然而,创始人凭借着对导热材料行业的深刻洞察和坚定信念,带领公司一步步走过了创业初期的艰难岁月。他们不断研发新产品,提升产品质量,逐渐在市场上获得了一席之地。

Armel Electronics Inc公司的发展小趣事

Armel Electronics Inc公司的创立,源于几位电子工程领域的先驱者对于技术创新和市场前景的敏锐洞察。在创立初期,公司面临资金紧张、市场竞争激烈等多重挑战。然而,凭借对技术的热爱和对市场趋势的准确把握,Armel团队成功研发出了一系列具有竞争力的电子产品,奠定了公司的市场地位。

全智景(Allvision)公司的发展小趣事

在电子行业快速发展的背景下,全智景公司始终保持着强烈的创新意识和敏锐的市场洞察力。公司不断推出具有创新性的产品和服务,如智能安防监控系统、无人机视觉导航系统等,满足了市场不断变化的需求。同时,全智景公司还积极投入研发资源,探索新兴技术的应用前景,为公司的未来发展储备了更多的技术储备。

D1 International Inc公司的发展小趣事

随着技术的不断成熟,D1 International Inc公司开始积极拓展市场。公司不仅在国内市场取得了显著的成果,还成功打入国际市场。与此同时,D1 International Inc公司也注重与其他企业的战略合作。通过与知名电子制造商的合作,D1 International Inc公司的产品线得到了极大的丰富,同时也提升了公司的品牌影响力。

问答坊 | AI 解惑

马达概要

一、马达种类  依电源相数可以分成单相马达和三相马达。 (1)单相马达  ·单相电源为一般家庭用型的常用电源,以一相所组成。  ·电源本身无法运转马达,为了启动马达需要把电容器和辅助线圈连结在一起做启动。 (2)三相马达  ·三相马达 ...…

查看全部问答>

请教高手一个实际控制程序问题

程序要实现的功能: 1.按下case 0X0E对应的按键后(不松开按键,按住时间>5S),要M1启动5S后,M2再启动,松开按键后M1,M2同时停止 2.按下case 0X0E对应的按键后(不松开按键,按住时间…

查看全部问答>

求助一个信号量的问题

  程序中有两个任务,分别是收和发,收的优先级高。在接收到特写的数据后,用msgQSend()转向发任务进行相关处理。但是在发任务中又需要收任务提供一些支持,比如发了一定的数据包后需要对方回应,而这个回应是收任务处理的,收到回应后发任务才能 ...…

查看全部问答>

2.4G常用通信标准有哪些?自己可以自由制定协议的芯片有哪些?

2.4G常用通信标准有哪些?自己可以自由制定协议的芯片有哪些?…

查看全部问答>

聘PC机驱动开发 (与硬件进行通讯,最好嵌入式方面也有一定基础)

开发WINDOWS 2000/xp/vista 串口 USB 虚拟网卡等驱动开发。要求比较高,入门级的勿尝试。 有意者可留下联系方式,我会与你联系。 散点分,^_^。…

查看全部问答>

AT89C51AC2的串口初始化和中断问题

以下是我写的一个用timer2做串口波特率触发器的程序。 与PC通讯,接收回来的数据和发送的不一样,好象根本没执行中断发送部分。 struct SEND_STRUCT{                     &n ...…

查看全部问答>

Qsys集成dsp builder高级库设计--图示

呵呵,如果哪位见识过DSP Builder高级库的朋友想必会它的功能折服!大概提供了几十个demos涵盖很多领域,几乎每个例子都可以自动生成一个用户IP下面是利用DSP Builder自动生成NCO设计的IP…

查看全部问答>

【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第三十八章 PS2鼠标实验

第三十八章  PS2鼠标实验 PS/2作为电脑的标准输入接口,用于鼠标键盘等设备。PS/2只需要一个简单的接口(2个IO口),就可以外扩鼠标、键盘等,是单片机理想的输入外扩方式。ALIENTEK战舰STM32开发板也自带了一个PS/2接口,可以用来驱动标 ...…

查看全部问答>