- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6讲C51定时器计数器
任务三 流水灯定时控制 本任务 教学内容 MCS-51的中断系统 MCS-51的定时器/计数器 教学目标 掌握中断技术的应用 掌握定时器/计数器的应用 本讲主要内容 控制系统中实现定时 1、软件定时--延时函数 2、硬件定时 例如:555 3、可编程定时器 例如:8253 DS1302 8051的定时器/计数器(timer/counter) 一种计数装置 计数内部的时钟脉冲--定时器 计数外部的脉冲--计数器 在应用时可采用中断方式, 也可采用查询方式 一、定时/计数器的结构及工作原理 1、定时/计数器的结构 结构组成部分 定时/计数器初值预置 初值X的计算方法 设定时器/计数器最大值为M, 计数值为N, 初值为X, 晶振频率fosc,则 计数器初始值: X=M-N 定时器初始值: X=M-定时时间/Tcy 二、方式寄存器和控制寄存器 1、方式控制寄存器TMOD SFR寄存器,地址89H 设定T0、T1的工作方式 只能字节寻址 定时器工作方式选择 M1和M0工作方式选择位 功能选择位和门控位 C/ 定时/计数功能选择位 为“0”,定时器 为“1”,计数器 GATE:门控位,定义T1/T0的启动方式 为0,非门控方式(内部启动): TR0/1=1,启动定时器工作 TR0/1=0,停止定时器工作 为1,门控方式(外部启动) TR0/1=1且引脚INT0/1 =1才启动 2、状态控制寄存器TCON SFR寄存器,地址88H 即参与定时控制又参与中断控制 与定时控制相关的有4位 三、定时器/计数器工作方式 1、工作方式0 M1M0= ? 作定时器:TMOD= ? 作计数器:TMOD= ? 方式0的工作原理 定时器/计数器初始化编程 方式0的应用 方式0使用范例1 解:1)TMOD初始化 2)计数初值 3)启动 4)中断?查询 中断方式程序清单 方式0使用范例2 三、定时器/计数器工作方式 2、工作方式1 M1M0= ? 作定时器:TMOD= ? 作计数器:TMOD= ? 16位计数器,逻辑结构框图如下: 方式1使用范例 三、定时器/计数器工作方式 3、工作方式2 M1M0= ? 作定时器:TMOD= ? 作计数器:TMOD= ? 方式2使用范例 方式2使用范例 方式2使用范例 三、定时器/计数器工作方式 4、工作方式3 --只有T0有此工作方式 M1M0= ? 作定时器:TMOD= ? 作计数器:TMOD= ? 4.工作方式3 T0两个8位的计数器 TL0:使用T0原有控制资源(C/T、GATE、TR0、TF0、P3.4脚、INT0脚,功能与方式0/1相同 TH0:占用T1的TR1、TF1及T1的中断,只能对片内机器周期脉冲计数, 作8位定时器 T0初值计算同方式2 T0工作方式3时T1的工作: T0方式3时 ,T1仍然可工作于方式0~2,C/ 控制位仍可使T1工作在定时器或计数器方式,只是由于其TR1、TF1被T0的TH0占用,因而没有计数溢出标志可供使用,计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。 T0工作在方式3时,T1可工作于方式2,因定时初值能自动恢复,用作波特率发生器更为合适。若要停止T1,只需送一个设其为方式3的方式字。 方式3使用范例 例:已知系统晶振12MHz,试用定时器0的方式3实现1s的延时 void delay() { count=0; while(count20) { while(TF0==0) {while(TF1==0); P34=0;TH0=6;TF1=0; P34=1;} TL0=0x38; TF0=0; count++; } } 案例6 以定时方式控制简单流水灯 已知系统晶振6MHz,采用定时器T0的工作方式1实现延时,控制P0口的8只发光二极管以100ms的间隔循环点亮。 定时器/计数器控制流水灯 定时器T0初值: 定时时间:tmax=65536×2μs=131.072,取100ms T0 的 初值:=216-100000μs/2μs =15536 =3CB0H TMOD =0000 0001B =01H 空调制冷系统案例 练习 定时器/计数器的工作方式通过()寄存器编
文档评论(0)