ppt课件-单片机应用技术-流水灯日历表、信号发生器、循迹小车、课件.ppt

ppt课件-单片机应用技术-流水灯日历表、信号发生器、循迹小车、课件.ppt

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

2. 计数功能 计数是对外部脉冲进行计数,计数脉冲来自相应的外部输入引脚T0或T1。当输入信号产生有1至0的跳变时,计数寄存器(如T0的TH0、TL0)的值增1。每个机器周期的S5P2期间,对外部输入进行采样。如在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的下一个周期的S3P1期间,计数值就增1。由于确认一次下跳变需要2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡频率的1/24。对外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前至少采样一次,则这一电平至少要保持一个机器周期。故对输入信号的基本要求如图5.6所示,图中TCY为机器周期。 定时器0和定时器1有四种可供选择的工作方式: 方式0——13位定时器/计数器。 方式1——16位定时器/计数器。 方式2——自动重计数初值的8位定时器/计数器。 方式3——定时器0为两个独立的8位定时器/计数器。 1.2.2 定时器/计数器的控制寄存器 定时器的功能、方式选择及中断设置是由软件对相应的专用寄存器TMOD和TCON及IE等的设置来实现的,计数初值也由软件设置于16位的计数寄存器TH0、TL0或TH1、TL1中。 方式控制寄存器TMOD TMOD是一个专用寄存器,地址为89H,用于控制两个定时器/计数器的工作方式。但它是不可以位寻址的,只能用字节操作指令来改变。各位定义如下: 位 序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 C/T M1 M0 C/T M1 M0 GATE GATE 定时器1 定时器0 1 定时工作方式0 方式0的计数器是13位结构,因而在完成计数功能时,其计数范围为1~8192(213)。由于进行加1计算,并在计数器计满溢出时将溢出中断标志TF0(TF1)置位,此时计数完成,所以计数初值计算为: 计数初值=213-N 其中N为要求的计数值。 在完成定时功能时,计数器对机器周期数进行加1计算,因此其定时时间的计算公式为: (213—计数初值)×机器周期 或 (213—计数初值)×振荡周期×12 如晶振频率为6MHz,则其定时时间的最小值和最大值分别为: 最小定时时间:(213 -(213 -1))×1/6×10-6×12 = 2(μs) 最大定时时间:(213 -0)×1/6×10-6×12 = 16384(μs) 应注意:在给计数寄存器TH0、TL0(或TH1、TL1)赋初值时,应将计算得的计数初值转换为二进制数,然后按其格式将低5位二进制置入TL0(或TL1)的相应位,而高8位则置入TH0(或TH1)中。 例5.1 现用T0作计数器,计算从引脚T0输入的脉冲个数,当计数值N为5000时结束,计算TH0、TL0的初值。 计数初值=8192-5000=3192=0 1100 0111 1000B 所以 (TH0)=63H (TL0)=18H 2 定时工作方式1 方式1为16位定时器/计数器,计数寄存器由TH的全部8位和TL的全部8位构成。其逻辑结构和功能与方式0完全相同,所不同的只是组成计数寄存器的位数。 用作计数功能时,计数范围为1~65536(216)。计数初值的计算公式为: 计数初值=216-N 用作定时功能时,其定时时间的计算公式为: (216-计数初值)×机器周期 或 (216-计数初值)×振荡周期×12 如晶振频率为6MHz,则其定时时间的最小值和最大值分别为: 最小定时时间:(216 -(216-1))×1/6×10-6×12 = 2(μs) 最大定时时间:(216-0)×1/6×10-6×12 = 131072(μs) ≈131(ms) 例5.3 用定时器1以方式1产生频率为50Hz的方波,由P1.0输出。以中断方式完成。设单片机晶振频率fosc=12MHz。 ① 计算计数初值 方波周期T=1/50=0.02s=20 ms,只要每隔10 ms P1.0引脚输出取反一次。因此定时时间为10 ms,计算计数初值X: (216-X)×1×10-6=10×10-3 求解得:X=55536=D8F0H (TH1)=D8H,(TL1)=F0H。 3 定时工作方式2 在方式0和方式1工作时,当完成一次计数后,下一次工作时应重新设置初值。

文档评论(0)

店小二 + 关注
实名认证
内容提供者

包含各种材料

1亿VIP精品文档

相关文档