C51/C52单片机的定时器计数器与中断(内附代码)

发布者:科技舞者最新更新时间:2022-04-20 来源: eefocus关键字:C51  C52  单片机  定时器  计数器 手机看文章 扫描二维码
随时随地手机看文章

一、定时器/计数器简介


设置等待时间,到达等待时间之后执行指定的硬件操作。


定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集AD数据,如果将定时器和IO结合起来就可以实现非常丰富的功能,可以测量输入信号的脉冲宽度,可以产生PWM方波,定时器产生PWM控制电机状态是工业控制的普通。


二、定时器/计数器相关寄存器介绍


     1、计数寄存器TH和HL


           T/C是16位的,计数寄存器由TH高8位和TL低8位构成


           对应T/C0为TH0和TL0, 对应T/C1为TH1和TL1,定时器/计数器的初始值通过TH0/TL0和TH1/TL1设置


     2、定时器/计数器控制寄存器TCON

     3、T/C的方式控制寄存器TMOD

三、定时器的计数初始值计算

四、中断源及中断信号

五、参考代码


/**************************************************************************************                 

功能描述:

       LED会循环点亮1秒,熄灭1秒。使用单片机内部定时器可实现准确延时   

***************************************************************************************/

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器

 

typedef unsigned int u16; //对数据类型进行声明定义

typedef unsigned char u8;

 

sbit led=P2^0;              //定义P20口是led

 

void Timer0Init()

{

TMOD|=0X01;              //选择为定时器0模式,工作方式1(16位),仅用TR0打开启动

TH0=0XFC;              //给定时器赋初值,定时1ms  高8位

TL0=0X18;                //                       低8位(可用软件计算,公司参考上面)

ET0=1;                   //允许定时器0中断

EA=1;                    //打开总中断

TR0=1;                   //打开定时器0,启动T/C0运行

}

 

void main()

{

Timer0Init();

while(1);

}

 

void Timer0() interrupt 1    //1是中断号

{

static u16 i;

TH0=0XFC;             //计数器寄存高8位重新载入

TL0=0X18;               //计数器寄存低8位重新载入

i++;

if(i==1000)

{

i=0;

led=~led;

}

}

关键字:C51  C52  单片机  定时器  计数器 引用地址:C51/C52单片机的定时器计数器与中断(内附代码)

上一篇:2.C51基础程序和语句
下一篇:C51/C52单片机的中断(EXTI)介绍(一)

推荐帖子

STM32F205VCT6_USB 接口易损坏解决方案
官方资料扒过来:STM32F205VCT6_USB接口易损坏解决方案 呜呜呜,我的STM32F49开发板,USBOTGHS接口也坏了一次用着用着就不识别U盘了,USB3320的3.3V内部电源直接无输出,换了一片新的就好了刚刚看了一下原理图,其接口用的是瞬态抑制二极管ESDA14V2但是同一块板子上旁边的USBOTGFS接口加了EMIF02-USB03F2,难道就差这点钱吗山寨的一般就这样,,看着少一个瞬态抑制管也行,,就搞了因为这玩意装到此处是
tommorow stm32/stm8
基于BH1417F的数字无线扩音系统
各位大佬,可以帮个忙不?我最近忙着毕业设计,想要查询一些关于BH1417F芯片的国内外研究情况,有知道相关内容或网址的吗?拜托了基于BH1417F的数字无线扩音系统1)其实关于这颗IC,国内外的情况这个没法评估,可能只有代理或芯片厂商最清处哪家用的多,哪个方案用的多2)由于这颗IC是立体声IC,我觉得你的课题可以从立体声来入手,可能会更容易扩展开来,比如从立体声的产生原因,实现方法,应用场景,各家方案优略等,随便一扯弄个百把十页的论文不是问题3)关于芯片,可以到其官网查看,一般官
老佛爷13148 51单片机
谁能给我下指导性建议?
有人能帮助我么?我想做个东西,我是非电气专业的学生。我想做一个zigbee模块的压力无线监测研究。需要研究出来实物,谁能告诉我怎么开始捏?谁能给我下指导性建议?如果不是研究Zigbee协议和射频电路本身,去买成品Zigbee模块吧,把它当作一个零件用即可,重点还是放在你要解决的问题上。去买成品Zigbee模块吧怎么知道自己要买什么品牌什么型号的模块呢?回复沙发chunyang的帖子谢谢分享,资料相当相当不错,原帖由wtlone于2011-7-13
wtlone RF/无线
想制作交流变直流稳压电源现在过流保护电路没有做 求建议
想要自己做一块稳压电路板出来,初步的仿真图还有想要达到的指标如下:性能指标:l额定输入交流电压220V,空载输出(开路)电压5.0V,额定输出电流0.67Al额定输入交流电压220V,由空载至额定负载(7.5Ω),输出电压波动不大于0.2Vl在额定负载(7.5Ω)状态下,输出纹波(峰峰值)≦50mVl
菁华如风 电源技术
差分转单端电路
这个差分转单端的电路该怎么分析呀?特别是运放的同相输入端上面是干嘛、?差分转单端电路提供静态工作点偏置,注意是单电源工作的运放运放同相输入端上面,680pF电容和10k欧电阻是为了同相输入端对“地”阻抗与反相输入端相等,否则输入信号中的共模成份将影响运放输出。R6R7和2.2uF电容则是为了提供静态偏置工作电压,使运放能够使用单电源。yl20084784发表于2015-3-719:06提供静态工作点偏置,注意是单电源工作的运放 哦哦哦,好的,谢谢ma
零下12度半 模拟电子
求南芯电源管理芯片SC8905 或者SC08906 的芯片设置工具( I2Ctool )
求SC8905或者SC08906的芯片I2C设置工具,一台无人机电池管理芯片是SC8906电池饿死被锁,没找到任何的解锁软件,或者南芯电源管理芯片的设置软件及设置说明,这一点Ti做的比较好,提供了专门的芯片管理软件。大疆的绝大多数电池管理芯片都是Ti的能进行解锁或者换电芯DIY,如果哪位大侠有南芯的电池芯片设置工具,希望能分享一下,我邮箱是1205345948@qq.com求南芯电源管理芯片SC8906I设置工具及设置说明(I2Ctool)找找南芯的技术支持,管理员有
飞翔3000 国产芯片交流
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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