- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用(C语言版)-定时器
第2章 MCS-51单片机定时器/计数器 目 录 6.1 MCS-51定时器/计数器的结构及原理 6.2 定时器T0、T1 6.3 定时器应用举例 本章主要讨论MCS-51单片机定时器/计数器的逻辑结构和工作原理。内容主要有MCS-51单片机定时器T0、T1的逻辑结构,工作方式的选择和应用。 本章为单片机的主要内容,也是第七章串行口的学习的基础。 6.1 MCS-51单片机定时器/计数器的结构及原理 主要内容 6.1.1 MCS-51单片机定时器的结构 6.1.2 MCS-51单片机定时器的工作原理 6.1.3 定时器/计数器的控制寄存器 6.1.1 MCS-51单片机定时器的结构 MCS-51单片机定时器/计数器逻辑结构图: 6.1.1 MCS-51单片机定时器的结构 MCS-51主要由如下构成: 两个16位的可编程定时器/计数器:定时器/计数器0、1。 每个定时器有两部分构成:THx和TLx 特殊功能寄存器TMOD和TCON ,主要对T0和T1进行控制。 6.1.1 MCS-51单片机定时器的结构 引脚P3.5、P3.4输入计数脉冲。 定时器T0和T1是2个中断源,可以向CPU 发出中断请求。 特殊功能寄存器之间通过内部总线和控制逻辑电路连接起来。 6.1.2 MCS-51单片机定时器的工作原理 6.1.2 MCS-51单片机定时器/计数器的工作原理 6.1.2 MCS-51单片机定时器/计数器的工作原理 6.1.3 定时器/计数器的方式和控制寄存器 1、T0、T1 工作模式寄存器TMOD 功能:确定定时器的工作模式。 其格式如图6-3所示: 6.1.3 定时器/计数器的方式和控制寄存器 6.1.3 定时器/计数器的方式和控制寄存器 M1、M0——工作模式选择位。 如下表所示: 定时器/计数器工作模式的选择方法 (1)首先计算计数值N (2)确定工作模式 原则是尽可能地选择模式2 若 N ≤ 256选择模式2,否则选择模式1 (3)如果需要增加一个定时器/计数器 选择模式3。 定时器/计数器初值X的计算方法 因为 X + N = 28或216 所以 X = 28或216-N (1)对定时器 设定时时间为t N = t/机器周期 所以 X = 28或216- t/机器周期 (2)对计数器 X = 28或216- N 6.1.3 定时器/计数器的方式和控制寄存器 2、T0、T1的控制寄存器TCON 6.1.3 定时器/计数器的方式和控制寄存器 TR1、TR0:T1、T0启停控制位。 置1,启动定时器; 清0,关闭定时器。 IE1、IE0:外部中断1、0请求标志位 IT1、IT0:外部中断1、0触发方式选择位 注意: GATE=1 ,TRx与P3.2(P3.3) 的配合。 模式1的逻辑结构及应用 M1M0=01时,选择模式1。逻辑结构如下页图所示。 T0的结构:16位定时器/计数器。 TL0:存放计数初值的低8位。 TH0存放计数初值的高8位; 定时时间=(216-定时初值)×机器周期 最大定时时间:216×机器周期 6.2.2 模式1的逻辑结构及应用 工作过程:当TL0计满时,向TH0进1;当TH0计满时,溢出使TF0=1,向CPU申请中断。 6.4 定时器应用举例 主要内容 6.4.1 定时器的初始化 6.4.2 定时器应用举例 6.4.1 定时器的初始化 在使用定时器/计数器前,应首先对其进行初始化编程。 一、定时器的初始化步骤 1、选择工作模式和工作方式。 设置TMOD。 2、设置定时器的计数初值。 设置THx和TLx。 3、中断设置:设置IE。 4、启动定时器。 设置TCON。 6.4.1 定时器的初始化 二、定时器/计数器初值计算 根据定时器/计数器的模式和方式,计算计数初值。 计数器的长度为n,则计数的最大值为2n 。 1、工作于定时方式 计数脉冲由内部的时钟提供,每个机器周期进行加1。 设晶振频率为fosc,则计数脉冲的频率为fosc/12,计数脉冲周期T=1/(fosc/12)。 6.4.1 定时器的初始化 如果进行定时时间为t,计数初值为X,则: t=( 2n -X)×12/fosc 2、工作于计数方式 当工作在计数方式时,对外部脉冲计数。利用计数器计数结束产生溢出的特性,来计算初值X 。则有: X= 2n—计数次数 6.2.4 模式3的逻辑结构及应用 例6-1 设单片机的振荡频率为12MHz,用定时器
文档评论(0)