13第9章 单片机.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13第9章 单片机

第9章 定时/计数器 ;;9.1.1 定时/计数器的结构及工作原理 ; 定时/计数器是可编程的,TMOD和TCON是专门用于定时/计数器的控制寄存器,用户可以通过对其各位的写入操作,选择不同的工作状态(计数或定时)并对启停进行控制。 16位的加1计数器由两个八位的特殊功能寄存器THX,TLX组成(x=0、1)。它们可被程序控制为不同的组合状态(13位、16位、两个分开的8位等),从而形成定时/计数器的四种不同工作方式,只需用指令改变TMOD(工作方式控制寄存器)的相应位即可。 ;9.1.2 定时/计数器方式和控制寄存器 ; TCON:定时器控制寄存器 TF1:定时器1溢出中断标志。当定时器1溢出时内部硬件置位,当单片机转向中断服务程序时,由内部硬件清除。 TR1:定时器1运行控制位,由软件置位/消除来控制定时器1开启/关闭。 TF0:定时器0溢出中断标志,当定时器0溢出时由内部硬件置位,当单片机进入中断服务程序时,由内部硬件清除。 TR0:定时器0运行控制位,由软件置位/清除来控制定时器0开启/关闭。 TCON的0到3位与外部中断有关。 由于定时/计数器T0、T1是可编程的,所以在任何一个定时/计数器开始计数或定时之前,必须对其写入相应的控制字(命令)。把方式控制字写入TMOD来选择定时器的工作方式,把初值写入THX、TLX来控制计数长度,置“1”或清“0” TCON相应位(TRX)来实现启动或停止计数。在运行过程中,还可以读出THX、TLX,TCON的内容来随时查询T0、T1的状态。;9.1.3 定时/计数器的工作方式 ;方式0: 当M1M0两位为00时,定时/计数器被选为工作方式0。在此工作方式下,构成一个13位定时计数器,由THX所有的8位和TLX的低5位组成。TLX的高3位不确定。TLX的低5位计数器溢出向THX进位,THX计数溢出则对相应的溢出标志位TFX(x=0,1),以此作为定时器溢出中断标志。当单片机进入中断服务程序时,由内部硬件自动清除该标志。   选通控制位GATE=0,定时/计数器运行控制仅由TRX位的状态确定(TRX=1启动,TRX=0停止)。GATE=1,TRX为1时,只有引脚/INTX 输入高电平,TX(x=0,1)才被允许计数。利用GATE的这一功能,可以很方便地测量脉冲宽度。;方式1: 方式l和方式0的差别仅仅在于计数器的位数不同。方式1为16位的计数器,由THX作为高八位和TLX作为低八位构成。其余和方式0类似。;方式2 : 定时/计数器构成一个自动再装入的8位计数器(TLX),而THX在此方式中作为一个数据缓冲器(初值寄存器)。当TLX计数溢出时,在置位溢出标志TFX的同时,自动将THX的内容送至TLX,使TLX从初值开始重新计数。用户可以通过软件把时间常数预置在THX中,再装入后,THX(x=0,1)的内容保持不变。 ;方式3: 方式3可使MCS-51单片机增加1个附加的8位定时/计数器,只适用于定时/计数器0,定时/计数器l处于方式3时相当于TR1=0,停止计数。 如果把定时器0置成方式3,TL0和TH0成为两个独立的计数器。TL0使用了定时器0的所有控制位:C/ ,GATE,TR0,和TF0。TH0则被限制为一个定时器(计数机器周期),借用定时器1的中断标志和运行控制位TR1和TF1 。 一般来说,当系统需要增加一个额外的8位定时器时,才设置定时/计数器0工作于方式3。;9.1.4 定时/计数器编程举例 ; 由于定时/计数器以加1方式计数,假定计数值为X,则应装入定时/计数器的初值为2n-X。其中,对于方式0,n=13;对方式1,n=16;对方式2、3,n=8。   当工作于定时状态时,由于定时/计数器是计数机器周期,每个机器周期包括12个振荡周期,若晶振频率为6MHZ。则: 1个机器周期=12/晶振频率=12/6000000=2μs 定时时间为: TC=X·TP 其中:TP为机器周期,TC为定时时间。 X= TC/TP 则应装入计数/定时器的初值为:2n-X 例如:已知TP=2μs,要求定时TC=1ms,则可求得: X=TC/TP=500 对方式0,应装入的时间常数为:213-500=7692 对方式1,应装入的时间常数为:216-500=65036;例1.设定时/计数器T0为定时状态,定时时间为2ms,每当2ms到申请中断,在中断服务程序中将累加器A的内容左环移一次送P1口,已知晶振频率为6MHz,A初始值为1。 通过方式1实现: ORG 0000H LJ

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档