版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Dian团队暑期嵌入式培训 第5讲 定时器原理及实验 周叶飞 Dian团队 R 7/23/2011,波特率种类:1800、4800、9600和 19200等 之所以要用11.0592M这么变态的数字,是因为在串口通信中需要计算出波特率。而波特率必须是个整数,为了使波特率是个整数,所以晶振就必须是11.0592的。,问题回顾,主要内容: (1)定时器/计数器的结构及工作原理 (2)定时器基础实验,一、MCS-51单片机定时器计数器组成: 定时器/计数器0(T0):16位的加计数器 定时器/计数器1(T1):16位的加计数器 二、定时器/计数器的功能 对外部输入信号的计数功能。定时器/计数器0(T
2、0)的外来脉冲输入端为P3.4;定时器/计数器1(T1)的外来脉冲输入端为P3.5。 定时功能。定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单片机的片内振荡器输出经12分频后产生的信号,即为对机器周期计数。,MCS-51单片机的定时器/计数器(一),MCS-51单片机定时器/计数器逻辑结构图,T1由TH1、TL1构成,字节地址为8DH、8BH,T0由TH0、TL0构成,字节地址为8CH、8AH,TCON则用于控制定时计数器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。,特殊功能寄存器TMOD控制定时计数器的工作方式,定时器/计数器的控制主要是通过以下几个寄存
3、器实现的: TCON-定时器/计数器控制寄存器 TMOD-定时器/计数器工作方式控制寄存器 IE -中断允许控制寄存器,定时器/计数器的控制,TMOD 89H,= 0 定时; = 1 对外计数。 定时:fosc / 12 = 1 /(12/fosc) = 1 / T,计数:脉冲不等间隔。,波形等间隔,次数已定,时间确定 即对机器周期进行计数。,左图定时时间为 N*T,每个下降沿计数一次 确认一次负跳变需两个机器周期, 所以,计数频率最高为fosc / 24。,TCON 88H,TF0、TF1 分别是定时、计数器T0、T1的溢出标志位。,(1)定时/计数器的工作方式,M1M0 工作模式选择位(编
4、程可决定四种工作模式) 0 0 13位定时/计数器 模式0 0 1 16位定时/计数器 模式1 0 8 位定时/计数器(自动重装初值) 模式2 1 1 T0 8位定时/计数 模式3 1 1 T1 停止工作 模式3,1)工作方式0,T0的等效逻辑结构,在计数工作方式下,计数器的计数值范围是: 18192(2的13方) 当为定时工作方式时,定时时间的计算公式为: ( 8192 -计数初值)晶振周期12 或 ( 8192 -计数初值)机器周期 其时间单位与晶振周期或机器周期相同。 如果单片机的晶振选为6.000MHz,则最小定时时间为: 8192(81921)1/610-612=210-6(s)=2
5、(us) 最长定时时间为: (81920)1/610-612=1638410-6(s)=16384(us)。,2)工作方式1,T0的等效逻辑结构,在工作方式1下,计数器的计数值范围是: 165536(2的16方) 当为定时工作方式1时,定时时间的计算公式为: (65536计数初值) 晶振周期12 或 (65536计数初值) 机器周期 其时间单位与晶振周期或机器周期相同。 如果单片机的晶振选为6.000MHz,则最小定时时间为: 65536(655361)1/610-612=210-6(s)=2(us) 最长定时时间为: (655360)1/610-612=13107210-6(s)=13107
6、2(us)。,3)工作方式2,T0的等效逻辑结构,方式2与方式0、1的区别: 工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。 工作方式2就具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载。
7、方式2在串口通讯时,常用作波特率发生器。,4)工作方式3,如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就因为自己的一些控制位已被定时/计数器0借用,只能工作在方式0、方式1或方式2下,等效电路参见下图:,2.怎样编制计数程序?,首先必须对定时计数器进行初始化,然后再开启定时或计数。简单的总结一下,定时计数器的初始化包括以下内容。,(1)确定工作方式对TMOD赋值; 如:任务中的MOVTMOD,#06H指令,设定T0为计数器工作方式。 (2)预置定时计数器中计数的初值直接写入TH和TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初值。 MOV TL0,#00H
8、,(3)根据需要开放定时器/计数器的中断对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。 工作方式0: 13位定时/计数方式,因此,最多可以计到2的13次方,也就是8192次。 工作方式1: 16位定时/计数方式,因此,最多可以计到2的16次方,也就是65536次。 工作方式2和工作方式3:都是8位的定时/计数方式,因此,最多可以计到2的8次方,也说是256次。,预置值计算: 用最大计数量减去需要的计数次数即可。 通过上面的任务,我们掌握了计数程序的编制方法,下面我们再看看定时程序怎样
9、编制。 首先我们看一下下面的程序段。 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB TR0 以上程序是任务一中的定时程序段,它的初始化过程和计数方式类似。,MCS-51单片机的定时器/计数器应用举例: 利用定时器/计数器实现固定时间的定时 简易信号发生器,MCS-51单片机的定时器/计数器(二),实例一:定时器/计数器实现固定时间的定时 题目:利用T0,使用工作方式0,在单片机的P1.0输出一个周期为2ms,占空比为1:1的方波信号。 解:周期为2ms,占空比为1:1的方波信号,只需要利用T0产生定时,每隔1ms将P1.0取反即可。 编程步骤: 计算
10、TMOD的值 由于GATE=0;M1M0=00;C/T=0; 所以 (TMOD)00H 计算初值(单片机振荡频率为12MHZ) 所需要的机器周期数: n=(1000us/1us)=1000 计数器的初始值: 8192-1000=7192 所以:(TH0)=0E0H,(TL0)=18H,主程序:,中断程序:,流程图,实例二:利用方式1定时 题目:用定时器T1,使用工作方式1,在单片机的P1.0输出一个周期为2分钟、占空比为1:1的方波信号。 解:周期为2分钟,占空比为1:1的方波信号,只需要利用T1产生定时,每隔1分将P1.0取反即可。 由于定时器定时时间有限,设定T1的定时为50ms,软件计数1200次,可以实现1分钟定时。 编程步骤: 1、计算TMOD的值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省疾病预防控制中心招聘笔试真题及答案
- 巴中市招聘省属公费师范毕业生考试真题2025
- 2026年小学六年级数学第二学期期末考试卷及答案(二十)
- 2026年北师大版小学数学一年级上册第四单元10以内数加与减全课教学设计
- 生殖支原体莫西沙星靶向治疗
- 译林版英语四年级下册Unit8第一课时
- 国央企创新负责人如何利用科创数智大脑提升产业链协同效率
- (2026版)公共卫生(中级)模拟试卷及答案详解(专业知识)
- 学校洗手设施管理制度2篇
- 2026避碰面试题及答案
- 电梯故障维修处理方案
- 2025年河北省中考数学试卷真题(含答案逐题解析)
- 2025年高考湖南卷物理真题(解析版)
- 军品生产批次管理制度
- 中华人民传染病防治法
- 2025山西万家寨水务控股集团所属企业校园招聘82人笔试参考题库附带答案详解
- 2025年04月中国热带农业科学院香料饮料研究所第一批公开招聘29人(第1号)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 高中数学统计试题及答案
- 个体工商户登记备案申请书
- 氢吗啡酮西安黄文起
- 2025年重庆轨道交通集团招聘笔试参考题库含答案解析
评论
0/150
提交评论