- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第五章单片机的定时/计数器
在计算机控制领域,如检测、控制及智能仪器等,常常需要实时时钟来实现定时或延时控制,也常常要对外部事件进行计数。MCS-51单片机中就有两个定时/计数器,可以实现这些功能。
5.1任务4(T4):信号灯的控制一、要求按照图任务1中图1.7的电路,不用任务2中的软件延时,也不用任务3中的按键,而用其它硬件方式来完成发光二极管的闪烁,间隔时间为100ms(假如使用的晶振频率为6MHz)。二、任务分析与实现在计算机中也经常要用到定时。定时的方法一般有2种:1、采用软件定时软件定时是通过反复地执行一个循环程序以进行时间的延迟,特点是时间精确,不需外加硬件电路。
但要注意的是,延时程序实际上是“耗时”,要白白地占用CPU一段时间。此时CPU不能做任何其他的工作,就像机器在不停空转一样,这是程序延时的缺点。因此软件定时的时间不宜过长。在任务2中,我们使用了一个延时子程序的方式来完成发光二极管闪烁的,通过反复执行一个循环体内的指令以累计机器周期数而实现延时。可以通过改变延时程序的参数来改变延时时间。
2、采用可编程定时器定时在任务3中,我们是用手动按键模拟一个中断请求来完成发光二极管的亮、灭变化,时间间隔由我们手动控制。但是这样不可能达到间隔时间的精确,显然达不到任务定时间隔100ms的要求。因此若要在延时时间精确,而在定时过程中需要CPU还能做其它的工作,就需要采用单片机内部的硬件定时器或外接其他定时芯片。比如大家在微机原理中已经接触过的8253芯片,就是一个定时芯片。MCS-51单片机内部有两个定时器,这样我们就不要外接定时芯片。本次任务就可以采用这两个定时器中的任何一个来完成“定时”,而不是延时。利用单片机的开发系统输入下面的程序:
#includereg51.hvoidmain(void){TMOD=0x01;TH0=0x3C;TL0=0xB0;EA=1;ET0=1;TR0=1;定时器0为定时状态,工作在方式1,启动仅有TR0控制while(1);}voidtimer0_int(void)interrupt1{P1=~P1;}
单片机定时/计数器的结构和原理2个16位定时器/计数器——(52系列有3个16位Timer)定时器:对片内机器时钟(周期方波)进行计数计数器:对Tx引脚输入的负脉冲进行计数T0引脚输入端:P3.4T1引脚输入端:P3.5与Timer工作有关的特殊功能寄存器:TCON和TMOD
Timer的2个特殊功能寄存器(TCON,TMOD)定时器控制寄存器TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0TFx:Timer0/1计数溢出标志位。=1计数溢出;=0计数未满TFx标志位可用于申请中断或供CPU查询。在进入中断服务程序时会自动清零;但在查询方式时必须软件清零。TRx:Timer0/1运行控制位。=1启动计数;=0停止计数
定时器T0/T1中断申请过程定时/计数器可按片内机器周期定时,也可对由T0/T1引脚输入一个负脉冲进行加法计数?在已经开放T0/T1中断允许且已被启动的前提下:?T0/T1加满溢出时TF0/TF1标志位自动置“1”?检测到TCON中TF0/TF1变“1”后,将产生指令:LCALL000BH/LCALL001BH执行中断服务程序,?TF0/TF1标志位会自动清“0”,以备下次中断申请。TCONTF1TR1TF0TR0IE1IT1IE0IT0(88H)TR0/TR1:Timer0/1运行控制位:TR0/TR1=0时,Timer0/1停止计数TR0/TR1=1时,Timer0/1启动计数
定时器方式寄存器TMOD(89H)T1T0GATEC/TM1M0GATEC/TM1M0M1,M0:工作方式定义位(定义4种方式):00:13位Timer——用它无益,不要记它!01:16位Timer——经常用到10:可自动重装的8位Timer——经常用到11:T0分为2个8位Timer;T1此时不工作——因为没有带来甚麽好处,几乎无用C/T:计数器/定时器选择位=1外部事件计数器。对Tx引脚的负脉冲计数;=0片内时钟定时器。对机器周期脉冲计数定时
定时器方式寄存器TMOD(续)(89H)GATEC/TM1M0GATEC/TM1M0T1T0GATE门控位:Timer可由软件与硬件两者控制?GATE=0——普通用法Timer的启/停由软件对TRx位写“1”/“0”控制?GATE=1——门控用法Timer的启/停由软件对TRx位写“1”/“0”和在INTx引脚上出现的
文档评论(0)