做网站用vps还是虚拟主机,网站开发需要了解的知识,游戏ui界面设计,建设是哪里的文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言
一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考
一、定时器介绍
定时器介… 文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言
一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示以下是本篇文章正文内容下面案例可供参考
一、定时器介绍
定时器介绍51单片机的定时器属于单片机的内部资源其电路的连接和运转均在单片机内部完成。 定时器作用 1.用于计数系统可实现软件计时或者使程序每隔一固定时间完成一项操作 2.替代长时间的Delay提高CPU的运行效率和处理速度 …
二、STC89C52定时器资源
1.定时器个数三个(T0T1T2)TO和T1与传统的51单片机兼容T2是此型号单片机增加的资源 注意定时器的资源和单片机的型号是关联在1起的不同的型号可能会有不同的定时器个数和操作方式但一般来说TO和T1的操作方式是所有51单片机所共有的。
三、定时器框图
定时器在单片机内部就像一个小闹钟一样根据时钟的输出信号每隔一个时钟周期,数单元的数值就加以当计数单元数值增加到“设定的闹钟提醒时候”时计数单元就会向中断系统发出中断申请产生“响铃提醒”使得程序跳转到中断服务程序。
四、定时器模式
STC89C52的TO和T1均由四种工作模式 模式013位定时器/计数器 模式116位定时器/计数器(常用) 模式28位自动重装载模式 模式3两个8位计数器 工作模式1框图
Sysclk系统时钟即晶振周期本开发板上的晶振为12MHZ C/T0定时器C/T1-计数器
五、定时器相关寄存器 六、定时器练习
1.定时器定时闪烁灯 软件流程
初始化化定时器0 配置定时器0模式配置初值配置定时器中断 写定时器中断程序对灯状态取反
代码演示
#include REGX52.H
#include Timer0.hvoid Timer0_Init()
{TMOD 0xF0;//保持T1不变TMOD | 0x01;//配置T0模式TH0 (65535-1000)/256;//高八位TL0 (65535-1000)%256;//第八位TF0 0;//清除中断标志位TR0 1;//开中断ET0 1;//中断允许控制位EA 1;//中断总允许PT0 1;//优先级高
}
void mian()
{TImer0_Init();while(1);
}void Timer0_Routine() interrupt 1
{static unsigned int T0Count;//记录US数TH0 (65535-1000)/256;//重新配置初值TL0 (65535-1000)%256;T0Count;if(T0Count 1000){LED ~LED;}
}