单片机原理及应用第.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 4.3.2 定时/计数器的工作原理 当设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计数器满溢出。定时器的定时时间与系统的振荡频率紧密相关,MCS-51单片机的一个机器周期由12个振荡脉冲组成,所以计数频率fc=(1/12)fosc。 当设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。 * 4.3.3 定时/计数器的工作方式 1、定时器工作方式寄存器TMOD 注意:TMOD不能位寻址,只能由字节设置T/C的工作方式,低半字节设定T/C0, 高半字节设定T/C1。 * 2、?控制寄存器 TCON(88H) 控制寄存器 TCON除可字节寻址外,各位还可位寻址。各位定义及格式如下: 1) TF1(TCON.7) T/C1的溢出标志位。 当T/C1被允许计数后,T/C1从初值开始加1计数,回零时由高位产生溢出,由硬件自动置TF1为“1”,并向CPU请求中断,当CPU响应并进入中断服务程序后,TF1又被硬件自动清0。TF1也可以由程序查询和清0。 2)TF0(TCON.5) T/C0溢出标志位。其功能同TF1。 * 3) TR1(TCON.6) T/C1运行控制位。 由软件置位或复位。 当GATE(TMOD.7)为0时, ? TR1 为1时,启动T/C1计数; ? TR1为0时, 停止T/C1计数。 4) TR0(TCON.4) T/C0运行控制位。 其功能同TR1,只是GATE 为TMOD.3。 5) IE1、IT1、IE0、IT0(TCON.3~TCON.0) 外部中断INT1、INT0的中断标志位和申请信号的触发方式控制位。 * ? TMOD中控制位C/T设置定时或计数功能 ? M1、M0位的设置选择四种工作方式, ? 即方式0、方式1、方式2和方式3 ? 方式0、1和2时,T/C0和T/C1的工作相同; ? 方式3时,T/C0和T/C1的工作不同。 3、定时/计数器的工作方式 * ◆ 方式0 方式0为13位定时/计数方式,由THx提供高8位、TLx提供低5位的计数初值, 当TL1的低5 位溢出时,向TH1进位,而TH1溢出(回零)时向TF1标志进位(硬件置位TF1),并申请中断。还可以通过查询TF1是否置位来判断TH1是否回零溢出。 * ◆ 方式1 方式1与方式0基本相同,唯一区别在于: 方式1计数寄存器的位数为16位,由THx和TLx寄存器各提供8位计数初值,最大计数值为216=65536。 定时时间: T =(65536-M0)×12/fosc * ◆ 方式2 方式2是8位的可自动重装载计数初值的定时/计数方式,最大计数值为28=256。 定时时间: T =(256-M0)×12/fosc 每当它计满回零时 一方面向CPU发出溢出中断请求, 另一方面从TH1(或TH0)中重新获得初值并启动计数; 也就是CPU 自动将TH1(或TH0)中存放的初值重新装回到TL1(或TL0),并在此初值的基础上对TL1(或TL0)开始新一轮计数,周而复始,直到下一个停止计数或更改工作方式命令为止。 * ◆ 方式3 方式3只适合于定时/计数器0(T0)。 当T0工作在方式3时,TH0和TL0成为两个独立的计数器。这时TL0可作定时/计数器,占用T0在TCON和TMOD寄存器中的控制位和标志位;而TH0只能用作定时器,占用T1的资源TR1和TF1。在这种情况下,T1仍可用于方式0、1、2,但不能使用中断方式。 * (1) 根据定时时间要求或计数要求计算计数器初值。 (2) 填写工作方式控制字送TMOD寄存器。 (3) 送计数初值的高8位和低8位到THx和TLx寄存器中。 (4) 启动定时(或计数)器,即将TRx置位。 如果工作于中断方式,需置位EA(中断总开关)及ETx (允许定时/计数器中断),并编写中断服务程序。 4.4 定时/计数器的编程 1、定时/计数器的初始化编程步骤 * 2.计数器初值的计算 T/C在计数模式下,计数之前必须给它的计数器TH0、TL0或TH1、TL1选送计数初值。T/C的计数器是在计数初值的基础上加1计数的,当计数器回“0”时自动产生溢出,置位TFx中断

文档评论(0)

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

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

1亿VIP精品文档

相关文档