最新单片机课件5MCS51单片机定时器计数器PPT课件.ppt
《最新单片机课件5MCS51单片机定时器计数器PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机课件5MCS51单片机定时器计数器PPT课件.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机课件单片机课件5MCS51单片机单片机定时器计数器定时器计数器2(1) 定时器/计数器的概念定时器计数器定时/计数器 内部计数器内部计数器外部计数器(2) MCS-51的定时器/计数器简介 2个16位的定时/计数器,有多种工作方式。 定时/计数器工作在定时模式时,计数脉冲信号来自单片机的内部,计数速率是晶振频率的1/12,当计数器启动后,每个机器周期计数器自动加1。 定时/计数器工作在计数模式时,计数器对外部脉冲进行计数,计数器计P3.4(T0脚)P3.5(T1脚)负跳变次数。每产生一次负跳变,计数器自动加1。5.1 概述95.3.1 方式05.3 定时器/计数器的工作方式及工作原理定时
2、器计数器T0工作方式0的逻辑结构计数器的低五位计数器的高八位TH0TL010 当GATE=0时,只要TR0为1,TL0及TH0组成的13位计数器就开始计数; 当GATE=1时,仅当TR0为1,且引脚输入信号状态为1时,13位计数器开始计数。 计数器开始工作时,当13位计数器从初始值开始加1计数,当13位计数器各位全1以后,再计数1次,计数器就产生溢出,则TF0位由硬件自动置1,同时把计数器清0。 在方式0下,计数器计数范围是18192(213)。定时时间范围为18192个机器周期。 5.3 定时器/计数器的工作方式及工作原理5.3.1 方式011 在工程设计时,我们经常碰到的是这样的问题:要求
3、在计数次或者定时(延时)秒后,再进行下一步的动作。如果采用定时/计数器实现,最直接的方法是让定时/计数器计数次或者定时秒后溢出,溢出标志TF0(或TF1)为我们提供了测试判断条件。然而,计数器只有在计满后才会溢出,上述问题转换为在某个初始值的基础上再计N次或再定时t秒使定时/计数器溢出。因此,求初始值是解决上述问题的关键。5.3 定时器/计数器的工作方式及工作原理5.3.1 方式012 (1)计数器工作模式计数N次,要求计数器溢出,设初始值为 ,则: ,那么, 预先给计数器装入初始值 ,当计数器计数 次后,溢出标志TF0为1。5.3 定时器/计数器的工作方式及工作原理5.3.1 方式0X132
4、 NXNX132NX132N13 (2)定时器模式 定时td,要求计数器溢出。 首先计算定时td需要多少个机器周期, 即 : 设初始值为X, 则: , 预先给计数器装入初始值,当计数器计个机器周 期后,溢出标志TF0为1,定时时间到。N2X13132NXMTNdt5.3 定时器/计数器的工作方式及工作原理5.3.1 方式014定时器计数器T0工作方式1的逻辑结构5.3 定时器/计数器的工作方式及工作原理5.3.2 方式115 当GATE=0时,只要TR0为1,TL0及TH0组成的16位计数器就开始计数; 当GATE=1时,仅当TR0为1,且引脚输入信号状态为1时,16位计数器开始计数。 计数器
5、开始工作时,当16位计数器从初始值开始加1计数,当16位计数器各位全1以后,再计1次,计数器就产生溢出,则硬件自动把TF0位置1,同时把计数器清0。 5.3 定时器/计数器的工作方式及工作原理5.3.2 方式116(1)计数器工作模式 计数N次,要求计数器溢出,设初始值为X,则: , 那么, 预先给计数器装入初始值 ,当计数器计数N次后,溢出标志TF0为1。 162 NXNX162NX1625.3 定时器/计数器的工作方式及工作原理5.3.2 方式117(2)定时器工作模式 定时td秒,要求计数器溢出。首先计算定时td需要多少个机器周期才能实现,即: 设初始值为X,则: ,那么, 。 预先给计
6、数器装入初始值 ,当计数器计N个机器周期后,溢出标志TF0为1,定时时间到。 方式1时,定时/计数器的最大计数次数为65536(初始值为0),最大定时时间为65536TM(初始值为0)。5.3 定时器/计数器的工作方式及工作原理5.3.2 方式1MdTtNNX162162 NXNX16218定时器计数器0在工作方式2的逻辑结构5.3 定时器/计数器的工作方式及工作原理5.3.3 方式219 当GATE=0时,只要TR0为1,计数器TL0开始计数; 当GATE=1时,仅当TR0为1,且引脚输入信号状态为1时,计数器TL0开始计数。 计数器开始工作时,当8位计数器TL0从初始值开始加1计数,当计数
7、器各位全“1”以后,再计1次,计数器产生溢出,则TF0位由硬件自动置1,同时把TH0的内容装载到TL0。5.3 定时器/计数器的工作方式及工作原理5.3.3 方式220(1)计数器工作模式 计数N次,要求计数器溢出,设初始值为X,则: , 那么, 预先给计数器装入初始值 ,当计数器计数N次后,溢出标志TF0为1。82 NXNX82NX825.3 定时器/计数器的工作方式及工作原理5.3.3 方式221 (2)定时器工作模式 定时td秒,要求计数器溢出。首先计算定时td需 要多少个机器周期才能实现,即: 。设初始值为X,则: ,那么, 。 预先给计数器装入初始值 ,当计数器计N 个机器周期后,溢
8、出标志TF0为1,定时时间到。 方式2时,定时/计数器的最大计数次数为256(初始值为0),最大定时时间为256TM(初始值为 0)。 MdTtN 82 NXNX82NX825.3 定时器/计数器的工作方式及工作原理5.3.3 方式222 当M1M0设置为11时,定时/计数器T0的工作方式为方式3。只有定时/计数器T0有方式3,定时/计数器T1没有工作方式3,如果把T1设置为方式3,计数器将停止工作。 在工作方式3下,定时器/计数器T0被拆分成2个独立的8位计数器TL0和TH0。 5.3 定时器/计数器的工作方式及工作原理5.3.4 方式3235.3 定时器/计数器的工作方式及工作原理5.3.
9、4 方式3TL0定时/计数器逻辑结构定时器/计数器T0工作方式3的逻辑结构24TH0定时/计数器逻辑结构定时器/计数器T0工作方式3的逻辑结构5.3 定时器/计数器的工作方式及工作原理5.3.4 方式325 5.4.1 定时器计数器初始化 定时/计数器的初始化包括设置工作方式、计数器或定时器模式、计算计数初始值、启动定时/计数器、设置中断控制位等。 定时和计数可以采用查询方式和中断方式实现。 5.4 定时器/计数器的编程应用举例26 (一)采用查询方式实现定时和计数 (1)确定工作方式、计数器或定时器模式及启动控制方式,构造方式控制码并写入特殊功能寄存器TMOD:MOV TMOD, #控制码。
10、 (2)计算定时器或计数器的计数初始值,根据工作方式把初始值送人TH0、TL0或TH1、TL1。 (3)启动定时/计数器:SETB TRx,x=0,1。 定时/计数器开始工作,通过查询TFx是否为1来判断定时或计数是否达到要求。5.4 定时器/计数器的编程应用举例 5.4.1 定时器计数器初始化27 (二)采用中断方式实现定时和计数 (1)确定工作方式、计数器或定时器模式及启动控制方式,构造控制码并写入特殊功能寄存器TMOD。 (2)计算定时器或计数器的计数初始值,根据工作方式把初始值送人TH0、TL0或TH1、TL1。 (3)开放CPU中断,允许定时/计数器溢出中断CPU的工作:对IE寄存器
11、编程。 (4)启动定时/计数器:SETB TRx,x=0,1。 当计数器溢出时,定时或计数达到要求,CPU响应中断,程序转移到相应的中断处理程序入口处。 5.4 定时器/计数器的编程应用举例 5.4.1 定时器计数器初始化28 定时/计数器有多种工作方式,每一种工作方式都能提供定时和计数功能,我们在应用中如何选择合适的工作方式呢? (1)掌握每种工作方式下定时/计数器的工作原理和特点。 (2)了解每种工作方式下定时/计数器的最大计数次数和最大定时时间。5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用29 13位定时/计数器(方式0)最大计数次数为8192,当晶振频率时,最大定
12、时时间为8.192 ms。 16位定时/计数器(方式1)最大计数次数为65536,当晶振频率时,最大定时时间为65.536 ms。 8位定时/计数器(方式2和方式3)最大计数次数为256,当晶振频率时,最大定时时间为0.256 ms。5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用30 (一)方式0的应用5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用8051P1.0T1KA光电传感器产品传送带VccDKV24VDC顶推气缸电磁阀线圈控制系统原理31 (一)方式0的应用 例1:已知某生产线传送带上产品单向传送到包装机, 传送带上的产品之间有间隔,使用光电开关
13、检测的产品个数,每计数到12个产品时,由气缸驱动的顶推装置把这批产品推入包装机包装,顶推装置的顶推气缸动作响应时间为50ms。系统采用单片机控制,采用定时/计数器实现产品计数。5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用32 解:(1)计数采用定时/计数器T1的方式0,则方式控制字为: 即:(TMOD)= 01000000B。 (2)期望计数的次数为12次,方式0实现计数, 则计数初始值为: 则(TH1)=11111111B,(TL1)=00010100B。 GATEGATETCTCM1M0M1M001000000818012213X5.4 定时器/计数器的编程应用举例
14、(一)方式0的应用 5.4.2 定时器计数器应用33 (3)查询方式程序: CLR P1.0 ;顶推气缸复位MOV TMOD, #01000000B ;设置工作方式0和计数器模式MOV TH1, #11111111B ;设置计数初始值高8位MOV TL1, #00010100B ;设置计数初始值低5位SETB TR1 ;计数器启动CNTING: JBC TF1, OK ;检测是否溢出,若溢出,清溢出标志SJMP CNTING ;等待,计数OK: MOV TH1, #11111111B ;重新装入计数常数值,以便下一 ;个计数循环同样计数12次溢出 MOV TL1, #00010100B5.4
15、定时器/计数器的编程应用举例 (一)方式0的应用 5.4.2 定时器计数器应用34SETB P1.0 ;顶推气缸动作ACALL DL50MS ;控制信号保持50ms,以便气缸动作到位CLR P1.0 ;顶推气缸复位SJMP CNTING;延时50ms子程序,晶振频率为12M HzDL50MS:MOV R7, #50DL1MS: MOV R6, #200DL: NOPNOPNOP5.4 定时器/计数器的编程应用举例 (一)方式0的应用 5.4.2 定时器计数器应用 (3)查询方式程序: DJNZ R6, DLDJNZ R7, DL1MSRET35 例2:设单片机应用系统晶振频率为6MHz,使用定
16、时 器T0以方式0产生频率为500Hz的等宽方波连续脉冲,并从P1.0输出。5.4 定时器/计数器的编程应用举例 (一)方式0的应用 5.4.2 定时器计数器应用36 解:等宽方波的高低电平持续时间相同,占空比为1:1。500Hz的等宽方波脉冲信号的周期为2ms,只需在P1.0引脚输出持续时间为1ms的高低电平交替变化的信号即可,则定时时间应为td=1ms。 5.4 定时器/计数器的编程应用举例 (一)方式0的应用 5.4.2 定时器计数器应用37 (1)计算计数初始值 因为系统的晶振频率为 ,则机器周期 。设计数初始值为X: 则(TH0)=11110000B0F0H,(TL0)=000011
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片机 课件 MCS51 定时器 计数器 PPT
限制150内