单片机的定时计数器与串行接口解说.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理、接口及应用 5.1 定时/计数器 ★ 定时计数器结构和工作原理 ★ 定时计数器的控制寄存器 ★ 定时器的四种工作方式 ★ 定时计数器的应用编程 5.2 串行接口 ★ 51系列单片机基本型片内有二个十六位定时/计数器:定时器0(T0)和定时器1(T1);增强型片内有三个十六位定时/计数器:T0 、T1、 T2 。 本章重点介绍T0和T1。 ★ 定时/计数器有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合 ★ 定时/计数器实际上是16位加1计数器。T0由2个8位持殊功能寄存器TH0和TL0构成,T1由2个8位持殊功能寄存TH1和TL1构成。 ★每个定时器都可由软件设置为定时工作方式或计数工作方式。 ★T0和T1受特殊功能寄存器TMOD和TCON控制。 1. 定时工作方式 ★ 设置为定时工作方式时,定时器计数的脉冲是由51单片机片内振荡器经12分频后产生的。 ★每经过一个机器周期定时器(T0或T1)的数值加1直至计数满产生溢出。如:当8051采用12MHz晶体时,每个机器周期为1μs,计5 个机器周期即为5 μs,即定时5 μs 。2. 计数工作方式 ★设置为计数工作方式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 ★ 当输入脉冲信号产生由1至0的下降沿时,定时器的值加1, 在每个机器周期CPU采样T0和T1的输入电平。若前一个机器周期采样值为高,下一个机器周期采样值为低,则计数器加 1。 ★ 由于检测一个1至0的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一。 ★ 虽然对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。 ★ GATE:门控信号GATE=0,TRx=1时即可启动定时器工作 ;GATE=1, 除TRx=1 外,还需INTx=1才可启动定时器工作。 ★ C/T:定时器/计数器选择位C/T=1,为计数器方式;C/T=0,为定时器方式。 ★ M1 M0 工作模式选择位M1M0=00 工作方式0(13位方式)。M1M0=01 工作方式1(16位方式)。M1M0=10 工作方式2(8位自动再装入方式)。M1M0=11 工作方式3(T0为2个8位方式)。 ★TF0:T0溢出中断请求标志。TF0=1,T0有溢出中断请求。TF0=0,T0无溢出中断请求。 ★TR0:T0运行控制位。TR0=1,启动T0工作。TR0=0,停止T0工作。ORG 0000H MAIN:CLR P1.7SETB P1.0MOV TMOD,#61HMOV TH1,#0FBHMOV TL1,#0FBHSETB TR1 LOOP1:CPL P1.7 LOOP2:MOV TH0,#3CHMOV TL0,#0B0HSETB TR0 LOOP3: JBC TF0,LOOP4SJMP LOOP3 LOOP4:CPL P1.0JBC TF1,LOOP1AJMP LOOP2END 方法2:T0每隔100ms中断一次,利用软件对T0的中断次数进行计数,中断10次即实现了1秒的定时。ORG 000BH;T0中断服务程序入口AJMPIP0ORG 0030H;主程序开始 MAIN:CLR P1.7;T0定时100msMOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB ET0SETBEAMOV R4,#0AH;中断10次计数SETB TR0SJMP $;等待中断 IP0:DJNZ R4,RET0;MOV R4,#0AHCPL P1.7 RET0:MOV TH0,#3CHMOV TL0,#0B0HSETB TR0RETI例5-3 有P3.4引脚(T0)输入一低频信号(其小于0.5kHZ),要求P3.4每发生一次负跳变时, P1.0输出一个500us同步负脉冲,同时P1.1输出一个1ms的同步正脉冲。已知晶振频率为6MHZ。MOV TH0,#06H;重置定时初值MOV TL0,#06HSETB P1.1; P1.1置1CLR P1.0; P1.0清0SETB TR0; 启动定时计数器 DEL2: JBC TF0, RESP2;检测第一次500us到否AJMP DEL2 RESP: SETB P1.0;P1.0恢复1 DEL3: JBC TF0,RESP3;检测第二次500us到否AJMP DEL3 RESP3: CLR P1.1; P1.1复0CLR TR0AJMP BEGIN 5.1.4.4 门控位的应用门控位GATE为1时,TRx=1,INT

文档评论(0)

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

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

1亿VIP精品文档

相关文档