《单片机原理及应用教程》第6章定时计数器课件

上传人:风*** 文档编号:241635156 上传时间:2024-07-11 格式:PPT 页数:16 大小:136.20KB
返回 下载 相关 举报
《单片机原理及应用教程》第6章定时计数器课件_第1页
第1页 / 共16页
《单片机原理及应用教程》第6章定时计数器课件_第2页
第2页 / 共16页
《单片机原理及应用教程》第6章定时计数器课件_第3页
第3页 / 共16页
点击查看更多>>
资源描述
MCS-51 单片机原理及应用教程单片机原理及应用教程 清华大学出版社清华大学出版社刘迎春刘迎春 主编主编MCS-51 单片机原理及应用教程 清华大学出版社1第第6章章 定时定时/计数器计数器u定时器的结构u定时器的工作方式u定时器应用第6章 定时/计数器定时器的结构6.1 定时器的结构定时器的结构6.1.1 定时器定时器/计数器的结构计数器的结构图6.1 8051单片机的定时器结构6.1 定时器的结构6.1.1 定时器/计数器的结构图66.1.2 定时器的控制定时器的控制1.工作模式寄存器TMOD图6.2 TMOD 的位定义2.定时器控制寄存器TCON图6.3 TCON的位定义6.1.2 定时器的控制1.工作模式寄存器TMOD图66.2 定时器的工作方式定时器的工作方式6.2.1 模式模式0及应用及应用模式0是选择定时器(T0或T1)的高8位和低5位组成的一个13位定时器计数器。图6.4是T0在模式0时的逻辑电路结构。T1的模式0电路结构与T0相同。图6.4 定时器T0的模式06.2 定时器的工作方式6.2.1 模式0及应用模式0是例例1 设定时器T0选择工作模式0,求最长定时时间,如果要实现定时时间为1ms,fosc=6MHz。试确定T0的初值。解解:当T0处于工作模式0时,加1计数器为13位。T0最大定时时间对应于13位计数器T0的各位全为0,即(TH0)00H,(TL0)00H。最长定时时间为:tmax=(2130)=213=16.384ms设定时时间为1ms时的初值为X,则:X=7692转化成二进制为:1111000001100B按照低5位,高8位拆开,T0的低5位TL0=01100B=0CHT0的高8位TH0=11110000B,即F0H例1 设定时器T0选择工作模式0,求最长定时时间,如果要例例2 接上题,设定时器T0选择工作模式0,要求实现定时时间为1ms,fosc=6MHz。定时时间到后,将P1.0置1。解解:首先计算定时器初值X,计算方法和步骤同上。得:(TH0)=0F0H,(TL0)=0CH程序清单如下:ORG 0000H LJMPMAIN ORG 0030HMAIN:MOVTMOD,#00H MOV TL0,#0CH ;送初值 MOVTH0,#0F0H SETB TR0;启动定时器T0LOOP:JNB TF0,$;等待定时时间到CLR TF0SETBP1.0;P1.0置1SJMP$例2 接上题,设定时器T0选择工作模式0,要求实现定时时间为6.2.2 模式模式1及应用及应用图6.5 定时器T0的模式1例例1 利用定时器T0产生一个频率为50Hz的方波,由P1.1输出。要求采用中断方式。fosc=12MHz。解解:方波周期T=1/50Hz=0.02s=20ms,如果要输出方波,则需要将P1.1状态每半个周期翻转一次。故定时时间为10ms,则定时器初值为:X=6553610000=55536=D8F0H则:TH0=0D8H,TL0=0F0H6.2.2 模式1及应用图6.5 定时器T0的模式1例1程序如下 ORG 0000H LJMP MAIN ORG 000BHT0INT:LJMPT0SEVORG0030HMAIN:MOV SP,#60H;设置堆栈指针MOV TMOD,#01H;设定T0为模式1,定时方式MOV TH0,#0D8H;设定初值MOV TL0,#0F0HSETBTR0;启动定时SETB ET0;开中断SETEASJMP$;等待中断T0SEV:MOV TH0,#0D8H;重新装入初值MOV TL0,#0F0HCPLP1.1;P1.0状态取反,输出方波RETI程序如下 ORG 0000H6.2.3 模式模式2及应用及应用模式2把T0(或Tl)配置成一个可以自动重装载的8位定时器/计数器,如图6.6所示。例例1 利用定时器T1的模式2对外部信号计数。要求每计满150次,将P1.0端取反。解解:(1)选择模式:外部信号由T1(P3.5)引脚输入,每发生一次负跳变计数器加1,每输入150个脉冲,计数器发生溢出中断,中断服务程序将P1.0取反一次。T1计数工作方式模式2的模式字为TMOD60H。T0不用时,TMOD的低4位可任取,但不能使T0进入模式3,一般取0。(2)计算T1的计数初值:X28-150256-150=106=6AH因此,TL1的初值为6AH,重装初值寄存器TH1初值为6AH。6.2.3 模式2及应用模式2把T0(或Tl)配置成一个可(3)程序清单:MAIN:MOVTMOD,#60H;置T1为模式2计数工作方式MOVTL1,#6AH ;赋初值MOVTH1,#6AHMOV IE,#88H ;定时器T1开中断SETBTR1 ;启动计数器HERE:SJMPHERE ;等待中断ORG001BH ;中断服务程序入口CPLP1.0RETI(3)程序清单:MAIN:MOV6.2.4 模式模式3及应用及应用 图6.7 定时器T0的模式3(a)T0模式3时的T1模式0(b)T0模式3时的T1模式06.2.4 模式3及应用 图6.7 定时器T0的模式3(6.3 定时器应用定时器应用6.3.1 定时器对输入信号的要求定时器对输入信号的要求图6.9 对输入脉冲宽度的要求6.3.2 定时器的编程步骤定时器的编程步骤1.确定相关参数(1)确定选用的定时器/计数器。(2)确定工作方式(3)确定工作模式(4)计算计数初值确定数据传送方式 2.初始化程序编写 6.3 定时器应用6.3.1 定时器对输入信号的要求图66.3.3 应用举例应用举例1.波形发生器例例1 从P1.0输出1000个周期为2ms的方波脉冲(设fosc=6MHz)。解:定时器选择 工作模式确定 计算初值 硬件连接及传送方式选择 2.脉冲宽度测量GATE控制位的功能例例1 测量某一方波信号的高电平和低电平的宽度,将结果保存在20H、21H及22H、23H单元中。6.3.3 应用举例1.波形发生器3.长时间定时程序例例1 试编写利用T0产生1s定时的程序。(设fosc=6MHz)。解:(1)定时器及模式确定(2)计算初值 程序清单 3.长时间定时程序例1 试编写利用T0产生1s定时的程序6.4 思考练习题思考练习题(1)8051定时器有哪几种工作模式?有何区别?(2)8051单片机内部设有几个定时器/计数器?是由哪些特殊功能寄存器组成的?(3)定时器模式2有什么特点?适用于什么应用场合?(4)8051单片机内部各定时器/计数器的定时、计数速率各是多少?试述定时器/计数器工作于定时器方式和计数器方式的异同。(5)当定时器T0用作模式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?(6)单片机用内部定时方法产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请编程实现。(7)8051定时器作定时和计数时,其计数脉冲分别从何处提供?(8)8051定时器的门控制信号GATE设置为1时,定时器如何启动?6.4 思考练习题(1)8051定时器有哪几种工作模式?
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!