当前位置: 首页 > news >正文

51单片机第23步_定时器1工作在模式0(13位定时器)

重点学习51单片机定时器1工作在模式0的应用

在51单片机中,定时器1工作在模式0,它和定时器0一样,TL1占低5位,TH1占高8位,合计13位,也是向上计数

1、定时器1工作在模式0

1)、定时器1工作在模式0的框图:

2)、定时器1输入时钟:

TMOD寄存器的bit6(C/T)=0,定时器输入时钟为CPU时钟经过12分频后得到的。

TMOD寄存器的bit6(C/T)=1,定时器输入时钟为来自T1引脚(P3.5),我们也可以理解为计数脉冲。

3)、定时器1启动:

、当TMOD寄存器的bit7(GATE)=0时,将TR1=1,则会启动定时器1

、当TMOD寄存器的bit7(GATE)=1时,给INT1引脚(P3.3)施加高电平,同时TR1=1,则会启动定时器1

4)、定时器1溢出标志TF1建立的条件

TH1和TL1从装载的初始值开始计数,直到TH1和TL1从0x1FFF变成0x2000时产生溢出,此时定时器1的溢出标志TF1=1;

5)、定时器1产生中断条件

定时器1的溢出标志TF1=1

定时器1的中断使能位ET1=1

总中断使能位EA=1

只有这3个条件同时满足,定时器1才会进入到中断服务程序。

6)、定时器1工作在模式0的初始化程序

#define T1_Load_Value       (0x2000-3000)  //配置T0为3000us中断一次;

//函数功能: 定时器1工作在模式0的初始化;

void timer1_initializtion(void)

{

TMOD &= 0x0F;//清除高4位

//TMOD寄存器的bit6(C/T)=0,定时器输入时钟为CPU时钟经过12分频后得到的

//配置Timer1为方式0(13位定时器)

//设置GATE1=0,即不允许外部INT1脚控制Timer1;

  TL1=T1_Load_Value&0x1F;     //手动装载最低5位值;

  TH1=T1_Load_Value>>5;       //手动装载剩下的8位值;

  TR1=1;                //当GATE1=0时,TR1=1,表示启动T1开始工作;

  ET1=1;                //允许Timer1中断;

  EA=1;                 //开总中断允许位;

}

//函数功能: Timer1的中断服务函数,每3000us中断一次;

void timer1_interrupt_program() interrupt using 1

{ TL1=T1_Load_Value&0x1F;     //手动装载最低5位值;

  TH1=T1_Load_Value>>5;       //手动装载剩下的8位值;

  ///其它处理程序///

}

void main(void)

{ timer1_initializtion(); //定时器1工作在模式0的初始化;

  while(1);

    {

}

}

http://www.lryc.cn/news/392736.html

相关文章:

  • linux的服务管理
  • 动手学深度学习(Pytorch版)代码实践 -循环神经网络-53语言模型和数据集
  • Python 学习之自动化运维技术(八)
  • 【python】PyQt5可视化开发,如何设计鼠标显示的形状?
  • 利用大模型知识库,优化智能客服问答效果 | 创新场景
  • 物联网协议都包含哪些协议?
  • 面试专区|【52道微服务架构高频题整理(附答案背诵版)】
  • 数据结构之算法的时间复杂度
  • unity中物体被激活自动执行挂载代码
  • Pandas数据可视化详解:大案例解析(第27天)
  • Redis基础教程(七):redis列表(List)
  • 鸿蒙开发:Universal Keystore Kit(密钥管理服务)【生成密钥(C/C++)】
  • ssm“落雪”动漫网站-计算机毕业设计源码81664
  • 【面试题】Reactor模型
  • RedHat9 | kickstart无人值守批量安装
  • k8s-第五节-StatefulSet
  • ai机器狗
  • 数据库关键字执行顺序
  • Linux 永久挂载磁盘
  • windows启动Docker闪退Docker desktop stopped
  • 探索Redis GEOMETRY数据结构:地理空间索引与查询(基于Redis GEO和Java实现附近商户查找功能)
  • DP学习——策略模式
  • 0701_ARM5
  • Python用户宝典:了解并实现遗传算法
  • 如何使用深度学习进行实时目标检测:速度与精度的双重挑战
  • 创新引领,构筑产业新高地
  • npm,yarn清楚缓存
  • httpclient访问https请求报错处理
  • ffmpeg + opencv 把摄像头画面保存为mp4文件(Ubuntu24.04)
  • Fastapi 项目第二天首次访问时数据库连接报错问题Can‘t connect to MySQL server