今天想尝试使用串口通信来控制舵机旋转的时候,由于同时用到了定时器T0和T1(用来设定波特率)。程序有点问题,运行不畅,所以现在想通过写篇文章重新来梳理对51单片机这两个定时器的理解。

STC89C51系列单片机有两个定时器:定时器T0、定时器T1

一、首先了解到51单片机的常用晶振是12MHz的,内部一般是12分频的,也就是12T。所以每计数一次需要1us的时间

二、定时器的工作模式有四种,模式0,1,2的工作模式对T0 、T1都是相同的,但是模式3只有T0才有:

模式0:13位计时器,有TL0的低5位和TH0的全8位构成一个13位的计时器。13位计时器计数溢出后会自动清零,同时把中断标记TF0置1。如果需要重新使用,需要重新去更新时间常数,并定时器的的中断标志位置0.

模式1: 16位计时器,和模式0几乎完全相同,但是因为是16位(TL0有8位 、TH0有8位),所以计时范围大大增加(0~65535),一共是2的16次方。

模式2: 8位自动重载模式。TL0计时结束后,单片机会自动把TH0的重载到TL0中,不需要像前两种模式那样手动重载。

模式3:只有计时器T0才有模式3,计时器T1是没有模式3的。模式3的主要方式是把定时器T0的TL0和TH0分开看作是两个独立的8位定时器。两个定时器需要手动重载

三、定时器的控制寄存器

8051单片机有两个8位的特殊功能寄存器来控制定时器的工作状态;分别是TMOD、TCON

1、工作模式控制寄存器TMOD

这个是一个8位的寄存器,0-3位控制的是定时器T0; 4-7位控制的是定时器T1。

GATE是门控位,用来设定P3^2或P3^3的电压对定时器的计数是够影响的。GATE=0时,表示计数器计数与否与两端口电压状态无关;GATA=1时,计数器是否计数要参考引脚的状态,即P3.2为高时T0才计数,P3.3为高时T1才计数。一般都是设置为0的。

C/T位:计数/计时的选择位。C/T = 0时,定时模式; C/T = 1时,计数模式。

M1M0两位决定了定时器的工作模式:

2、工作状态控制寄存器TCON

51单片机mysql_51单片机的定时器相关推荐

  1. 51单片机mysql_51单片机之蓝牙遥控小车_效果展示+单片机知识+完整蓝牙电车代码...

    首先可能是你想实现的蓝牙小车效果(点击下面跳转B站) 关于51单片机基础 关于51单片机蓝牙电车驱动程序 L298N电机驱动 步进电机驱动 舵机驱动 蓝牙模块串口通信 PWM调速 #include & ...

  2. 51单片机 (九)定时器

    什么是定时器? 定时器是单片机的重要功能模块之一,在检测.控制领域有广泛应用.定时器常用作定时时钟,以实现定时检测,定时响应.定时控制,并且可以产生ms宽的脉冲信号,驱动步进电机.定时和计数的最终功能 ...

  3. 51单片机的应用——利用定时器控制输出对称方波

    单片机晶振为12MHz,编程实现T0模式1下在P1.1处输出周期为td的对称方波. 分析:利用定时器定时溢出控制P1.1输出的反相,达到输出周期方波 51的TOMD控制着定时器T0的工作,首先设置TM ...

  4. 入门51单片机(STC8952RC)定时器、有关中断原理简述、寄存器设置与程序示例(包括流水灯和计时器)

    目录 1.单片机之定时器 1.1 STC89C52RC定时器模式1工作流程 1.1.1 计数部分 1.1.2 时钟部分 1.1.3 中断部分 1.2 定时器T0.T1相关寄存器 1.2.1 TCOM寄 ...

  5. 【Proteus仿真】51单片机+555可调定时器电路

    [Proteus仿真]51单片机+555可调定时器电路 Proteus仿真 程序代码 #include <reg52.h> #define uint unsigned int #defin ...

  6. 10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10]

    10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10] 该系列主仓库地址:https://gitee.com/langcai1943/8051-from-boot-to-app ...

  7. AutoLeaders控制组——51单片机学习笔记(定时器、串口通信)

    本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 一些内容涉及 ...

  8. 51单片机电路原理图_10个定时器精选电路方案带你学习时钟脉冲的工作方式

    可编程控制器中的定时器是根据时钟脉冲累积计时的,时钟脉冲有 1ms.10ms.100ms等不同规格.(定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个 ...

  9. 51单片机:有趣的定时器实验

    51单片机:有趣的定时器实验 本以为考完试搞完课设就没啥单片机啥事了,结果莫名的来了软件工程软件基础训练,训练Proteus和Keil软件.我嘞天,之前天天用好不?这课程安排的emmmmm,我还要其他 ...

最新文章

  1. 理解Java对象:要从内存布局及底层机制说起,话说....
  2. SAP MM MIGO移动类型311试图做批次确定,系统报错-Stock Determination or batch determination not possible-
  3. 支持常见数据库差异对照说明
  4. ACM在线测评系统评测程序设计与python实现
  5. 【工业控制】PolyWorks培训教程-设备转站
  6. IOS 程序猿 UITbleView 篇
  7. 微信小程序 蓝牙的使用
  8. spring5.0.2中文官网文档pdf
  9. java cookie 取不到_java中Servlet Cookie取不到值原因解决办法
  10. win32开发(对话框启动)
  11. 【报告分享】2021制造业数字化转型路线图.pdf(附下载链接)
  12. 我们一家三口不和双方父母来往了怎么办?
  13. vue添加滚动事件,解决简书Carol_笑一笑方案中vue移除滚动事件失效的问题
  14. 【NLP】Dive into BERT:语言模型与知识
  15. 苹果充电器怎么辨别真假_9款热门充电器盘点——苹果、Anker、Thinkplus、紫米、小米、锤子,谁更值得买?...
  16. 世界超级计算机比赛,【启明之星】何斌:刷新超级计算机比赛世界纪录
  17. HTML学生个人网站作业设计:动漫网站设计——梦幻西游(15页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  18. CAJ如何在线免费转换成可编辑的Word
  19. 关于暗影骑士擎重装win10纯净版遇到的问题(使用的u盘作为系统盘)
  20. mysql 字符串截取查询

热门文章

  1. 虚拟机vmnet8每次都要先禁用再启用_【零成本 amp; 超详细】使用Win10自带的Hyper-V管理工具搭建虚拟机...
  2. 关于华为mate9安装apk缺少证书的问题(更新版)
  3. 深入php内核,从底层c语言剖析php实现原理
  4. 苹果通知推送服务(APNS)关键特性摘要
  5. 腾讯,你妈喊你抄完作业回家吃饭
  6. VC问题 IntelliSense:“没有可用的附加信息”,[请參见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]...
  7. json字符串转java对象数组
  8. Composer 常用命令总结(三)
  9. POJ2559 Largest Rectangle in a Histogram(单调栈)
  10. 在64位Win7系统中配置jsp开发环境以及一些问题解决方案