一、定时器/计数器简介
设置等待时间,到达等待时间之后执行指定的硬件操作。
定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集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;
}
}
上一篇: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 国产芯片交流
设计资源 培训 开发板 精华推荐
- 鸿蒙物联网智能控制+1186488A
- 使用 Analog Devices 的 LT1169 的参考设计
- DC2204B,基于 LTM4675 + LTM4676A + LTM4677 + LTM4620A PSM 模块电源棒的演示板
- DC1529A-A,用于 LTC2657BCUFD-L16 八路 I2C 16 位电压输出 DAC 的演示板,具有 1.25V 基准
- 【新疆工程学院】基于555定时器的呼吸电路设计
- 使用 Analog Devices 的 LTC1152 的参考设计
- ADA4062-4ACPZ-R7运算放大器用作陷波滤波器电路的典型应用电路
- LT3756EMSE-2 演示板、100Vin、100Vout LED 控制器
- NCP3163BSTEVB,用于 NCP3163 24V /700 毫安 DC-DC 转换器的评估板
- IS31FL3730 音频调制矩阵 LED 驱动器的典型应用电路 Dual 6x10