单片机原理与应用设计第6章
更新时间:2023-07-22 23:23:01 阅读量: 实用文档 文档下载
单片机原理与应用设计
单片机原理与应用设计 [张毅刚等编著][电子教案]
单片机原理与应用设计
第6 章
89C51的定时器/ 89C51的定时器/计数器 的定时器
两个可编程的定时器/计数器T1、T0。 两个可编程的定时器/计数器T1、T0。 T1 工作模式: 2种工作模式: 计数器工作模式 (1)计数器工作模式 定时器工作模式 (2)定时器工作模式 工作方式(方式0 方式3) 3)。 4种工作方式(方式0-方式3)。 定时器/ 6.1 定时器/计数器的结构 TMOD:选择定时器/计数器T0、T1的工作模式和工作 TMOD:选择定时器/计数器T0、T1的工作模式和工作 T0 方式。 方式。 TCON:控制T0 T1的启动和停止计数 T0、 的启动和停止计数, TCON:控制T0、T1的启动和停止计数,同时包含了 T0、T1的状态 的状态。 T0、T1的状态。
单片机原理与应用设计
图6-1 单片机复位时,两个寄存器都清0 单片机复位时,两个寄存器都清0。 工作方式控制寄存器TMOD 6.1.1 工作方式控制寄存器TMOD
图6-2
单片机原理与应用设计
8位分为两组,高4位控制T1,低4位控制T0。 位分为两组, 控制T1, T1 控制T0。 T0 GATE—— ——门控位 (1)GATE——门控位 TRX(X=0,1)来启动定时器/计数器运行。 0:仅以TRX(X=0,1)来启动定时器/计数器运行。 用引脚INT INT0 INT1 上的高电平和TRX TRX两个条 1:用引脚INT0* (或INT1*)上的高电平和TRX两个条 来启动定时器/计数器运行。 件来启动定时器/计数器运行。 ——工作方式选择位 (2)M1、M0——工作方式选择位 M1、M0工作方式选择 M1、M0工作方式选择 M1 工 作 方 式 方式0 13位定时器 计数器。 位定时器/ 0 方式0,13位定时器/计数器。 方式1 16位定时器 计数器。 位定时器/ 方式1,16位定时器/计数器。 0 方式2 1 方式2,8位常数自动重新装载 方式3 仅适用于T 分成两个8 1 方式3,仅适用于T0,T0分成两个8 位计数器, 停止计数。 位计数器,T1停止计数。 ——计数器模式和定时器 计数器模式和定时器模式选择位 (3) C/T*——计数器模式和定时器模式选择位 表6-1 M0 0 1 0 1
单片机原理与应用设计
0:定时器模式。 定时器模式。 1:计数器模式。 计数器模式。 6.1.2 定时器/计数器控制寄存器TCON 定时器/计数器控制寄存器TCON
图6-3 位与外部中断有关,已介绍。 位的功能如下: 低4位与外部中断有关,已介绍。高4位的功能如下: TF1、TF0——计数溢出标志位 (1) TF1、TF0 计数溢出标志位 TR1、TR0——计数运行控制位 计数运行控制位 (2) TR1、TR0 计数运行控制 1:启动定时器/计数器工作 启动定时器/ 0:停止定时器/计数器工作 停止定时器/
单片机原理与应用设计
定时器/计数器的4 6.2 定时器/计数器的4种工作方式 方式0 6.2.1 方式0 M1、M0为 定时器/计数器的框图: M1、M0为00 ,定时器/计数器的框图:
图6-4
单片机原理与应用设计
决定工作模式: 为13位的计数器 ,C/T* 位决定工作模式
: 13位的计数器 0:开关打在上面,为定时器工作模式; 开关打在上面, 定时器工作模式; 工作模式 1:开关打在下面,为计数器工作模式,计数脉冲为P3.4 开关打在下面, 计数器工作模式,计数脉冲为P3.4 工作模式 、P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,计 P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时, 引脚上的外部输入脉冲 数器加1 数器加1。 GATE位:决定定时器/计数器的运行取决于TRx一个条件还是 GATE位 决定定时器/计数器的运行取决于TRx一个条件还是 运行取决于TRx TRx和 引脚两个条件。 TRx和INTx*引脚两个条件。 (1)0:A点(见图6-2)是否计数,仅取决于TRx的状态。 见图6 是否计数,仅取决于TRx的状态。 TRx的状态 点电位由INTX 的输入电平和TRX TRX的状态这两个条件 ( 2 ) 1 : B 点电位由 INTX* 的输入电平和 TRX 的状态这两个条件 来确定。是否计数是由TRx和 二个条件来控制的。 来确定。是否计数是由TRx和INTx*二个条件来控制的。 TRx
单片机原理与应用设计
6.2.2 方式1 方式1 M1、M0=01 16位的计数器。 =01, M1、M0=01,16位的计数器。
图6-5 方式2 6.2.3 方式2 计数满后自动装入计数初值。 计数满后自动装入计数初值。 M1、M0=10 ,等效框图如下: M1、M0=10 等效框图如下:
单片机原理与应用设计
图6-6 TLX作为常数缓冲器, TLX计数溢出时 在置“ 计数溢出时, TLX 作为常数缓冲器,当 TLX 计数溢出时 , 在置 “ 1 ” 溢出标志 作为常数缓冲器 TFX的同时 的同时, 自动的将THX中的初值送至TLX THX中的初值送至TLX, TLX从初值 TFX的同时,还自动的将THX中的初值送至TLX,使TLX从初值 开始重新计数。 定时器/ 开始重新计数 。 定时器 / 计数器的方式 2 工作过程如图 6 (X=0 7(X=0,1)。
单片机原理与应用设计
图6-7 省去用户软件中重装初值的程序,精确的定时。 省去用户软件中重装初值的程序,精确的定时。 方式3 6.2.4 方式3 增加一个附加 附加的 位定时器/计数器,从而具有3个定时器/ 增加一个附加的8位定时器/计数器,从而具有3个定时器/计数 器。
单片机原理与应用设计
只适用于定时器/计数器T0。T1不能工作在方式3 只适用于定时器/计数器T0。T1不能工作在方式3, T0 不能工作在方式 T1方式3 相当于TR1=0,停止计数(此时T1可用来作串行口 T1方式3时相当于TR1=0,停止计数(此时T1可用来作串行口 方式 TR1=0 T1 波特率产生器)。 波特率产生器)。 1.工作方式3下的T0 工作方式3下的T0 T0分为两个独立的 位计数器:TL0和 TL0使用T0的状态 使用T0 T0分为两个独立的8位计数器:TL0和TH0 。TL0使用T0的状态 分为两个独立 控制位C/T GATE、TR0、, TH0被固定为一个 、,而 被固定为一个8 控制位C/T*、GATE、TR0、,而TH0被固定为一个8位定时器 (不能作外部计数模式
),并使用定时器T1的状态控制位 不能作外部计数模式),并使用定时器T1的状态控制位 ),并使用定时器T1 TR1和TF1,同时占用定时器T1的中断请求源TF1。 TR1和TF1,同时占用定时器T1的中断请求源TF1。 占用定时器T1的中断请求源TF1 各引脚与T0的逻辑关系如图 各引脚与T0的逻辑关系如图6-8所示: T0的逻辑关系如 所示:
单片机原理与应用设计
图6-8(a)
图6-8(b)
单片机原理与应用设计
2.T0工作在方式3下T1的各种工作方式 T0工作在方式3 T1的各种工作方式 工作在方式 T0才工作在方式 才工作在方式3 当T1用作串行口的波特率发生器时, T0才工作在方式3。 T1用作串行口的波特率发生器时 用作串行口的波特率发生器 T0为方式3 T1可定为方式 可定为方式0 方式1和方式2 用来作为串 T0为方式3时, T1可定为方式0、方式1和方式2,用来作为串 为方式 行口的波特率发生器,或不需要中断的场合。 行口的波特率发生器,或不需要中断的场合。 (1)T1工作在方式0 T1工作在方式0 工作在方式
图6-9
单片机原理与应用设计
T1工作在方式 工作在方式1 (2) T1工作在方式1
图6-10 T1工作在方式 工作在方式2 (3) T1工作在方式2
图6-11
单片机原理与应用设计
6.3 计数器模式对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的1/24 例如选 1/24, 外部计数脉冲的最高频率为系统振荡器频率的1/24,例如选 12MHz频率的晶体,则可输入500KHz的外部脉冲 MHz频率的晶体 500KHz的外部脉冲。 用12MHz频率的晶体,则可输入500KHz的外部脉冲。 输入信号的高、低电平至少要保持一个机器周期。 输入信号的高、低电平至少要保持一个机器周期。 如图6-12所示,图中Tcy为机器周期。 所示,图中Tcy为机器周期。 Tcy为机器周期
图6-12
单片机原理与应用设计
定时器/ 6.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,由于方式0是为兼容 种工作方式中,方式0与方式1基本相同,由于方式0 MCS-48而设,初值计算复杂,在实际应用中, MCS-48而设,初值计算复杂,在实际应用中,一般不用方式 而设 0,而采用方式1。 而采用方式1 6.4.1 方式1 方式1应用
假设系统时钟频率采用6MHz,要在P1.0 P1.0上输出一个周期 例6-1 假设系统时钟频率采用6MHz,要在P1.0上输出一个周期 为2ms的方波,如图6-13所示。 ms的方波, 13所示。 的方波 所示
图6-13
单片机原理与应用设计
方波的周期用T0来确定, T0每隔1ms计数溢出1 方波的周期用T0来确定,让T0每隔1ms计数溢出1次(每1ms产 T0来确定 每隔 计数溢出 ms产 生一次中断) CPU响应中断后 在中断服务程序中对P1.0 响应中断后, 生一次中断),CPU响应中断后,在中断服务程序中对P1.0 取反。 取反。 (1)计算初值X (1)计算初值X 计算初值 设初值为X,则有: 设初值为X 则有: X)× (216-X)×2×10-6=1×10-3 X=
500 216-X=500 X=65036 X=65036 X化为16进制,即X=FE0CH=1111111000001100B。 化为16进制, X=FE0CH=1111111000001100B 16进制 1111111000001100 所以, 的初值为: 所以,T0的初值为: TH0 TH0=0FEH (2)初始化程序设计 (2)初始化程序设计 TL0 TL0=0CH
单片机原理与应用设计
对寄存器IP、IE、TCON、TMOD的相应位进行正确设置,将计数 对寄存器IP、IE、TCON、TMOD的相应位进行正确设置, IP 的相应位进行正确设置 初值送入定时器中。 初值送入定时器中。 (3)程序设计 (3)程序设计 中断服务程序除产生方波外, 中断服务程序除产生方波外,还要注意将计数初值重新装入定 时器中,为下一次中断作准备。 时器中,为下一次中断作准备。 参考程序: 参考程序: ORG 0000H 0000H RESET: RESET: AJMP MAIN ;转主程序 000BH ORG 000BH ;T0的中断入口 IT0 中断处理程序IT IT0 AJMP IT0P ;转T0中断处理程序IT0P 0100H ORG 0100H MAIN: SP,#60 60H MAIN: MOV SP,#60H ;设堆栈指针 设置T0为方式1 T0为方式 MOV TMOD,#01H ;设置T0为方式1
单片机原理与应用设计
PT0 ACALL PT0M0 HERE: HERE: AJMP HERE PT0 TL0,#0 PT0M0: MOV TL0,#0CH TH0,#0 MOV TH0,#0FEH TR0 SETB TR0 ET0 SETB ET0 SETB EA RET ITOP: MOV TL0,#0CH TH0,#0 MOV TH0,#0FEH CPL P1.0 RETI 查询方式的参考程序 的参考程序: 查询方式的参考程序: MOV TMOD,#01H
;调用子程序PT0M0 调用子程序PT0 PT ;自身跳转 中断服务程序, ;T0中断服务程序,T0重新置初值 ;启动T0 启动T 允许T ;允许T0中断 CPU开中断 ;CPU开中断 ;T0中断服务子程序,T0置初值 T0中断服务子程序,T0置初值 中断服务子程序 ;P1.0的状态取反
;设置T0为方式1 设置T0为方式1 T0为方式
单片机原理与应用设计
SETB LOOP: LOOP: MOV MOV LOOP1:JNB LOOP1 CLR CPL SJMP
TR0 TR0 TH0,#0 TH0,#0FEH TL0 TL0,# 0CH TF0,LOOP1 TF0,LOOP1 TR0 TR0 P1.0 LOOP
;接通T0 接通T ;T0置初值 ;查询TF0标志 查询TF0 TF 溢出,关闭T ;T0溢出,关闭T0 ;P1.0的状态求反
假设系统时钟为 MHz,编写定时器T 产生1秒定时的程 系统时钟为6 例 6- 2 假设 系统时钟为 6 MHz, 编写定时器T0 产生1 秒定时 的程 序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 由各种工作方式的特性,可计算出: 方式0最长可定时16 384ms 16. ms; 方式0最长可定时16.384ms;
单片机原理与应用设计
方式1最长可定时131.072ms; 方式1最长可定时131.072ms; 131 ms 方式2最长可定时512 方式2最长可定时512µs。 选方式1 每隔100ms中断一次,中断10次为1 选方式1,每隔100ms中断一次,中断10次为1s。 100ms中断一次 10次为 (2)计算计数初值 因为: X)× 因为:(216-X)×2×10-6 = 10-1 所以:X=15536= CB0 所以:X=15536=3CB0H 15536 因此:TH0=3CH,TL0=B0H 因此:TH0=3CH, 10次计数的实现 (3)10次计数的实现 采用循环程序
法。 采用循环程序法。 (4)程序设计 参考程序 :
正在阅读:
单片机原理与应用设计第6章07-22
以校为本,推进综合实践活动课程建设06-22
第四周实训教学工作检查的通知09-10
内部审计工作计划范文02-26
数字电子技术复习题05-23
临沂大学 基础会计学试卷(公选课)07-23
生命教育在职高学生德育课中的渗透12-19
2015年新北师大版小学数学五年级下册知识点归纳112-16
生物化学习题 - 303-19
2017年抢答赛试题及答案11-19
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单片机
- 原理
- 应用
- 设计
- 第8章磁电式传感器
- 110th燃气锅炉烘炉煮炉方案
- 【人教版四年级语文下册黄河是怎样变化的教学设计】四年级下册第九课黄河
- 项目六 机械设备的装配
- 新蕾快乐英语一下《Unit 3 Drinks》word教案
- DVI-VGA转换器用户手册
- 人教版数学三年级下册数学广角《重叠问题》公开课2
- 湖南省长沙市雅礼中学2014届高三第七次月考试题 数学(文) Word版含答案
- unit 2 The name of the spaceship is Shenzhou V
- 净化空调风管的制安工序过程
- 大学物理Ⅱ(下)期末考试知识点要求(学生)
- 酒店室内设计未来发展新趋势
- sh型离心泵性能参数
- 网络综合布线试题 陈慧琴
- 北京通州新房存量创29个月来新高
- 网上党课章节答案
- 木素对铅蓄电池性能的影响
- 2009年4月成人英语三级A卷真题
- 最新四川模拟四川省绵阳市2021年高三第二次诊断性考试物理试题
- 2011年河南省会计电算化考试真题及答案