网站大量收购独家精品文档,联系QQ:2885784924

5单片机原理及接口技术.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及接口技术 王志刚 机械系机电教研室 Email:jxxwzg@163.com §4 定时/计数器 4.1 定时/计数器0和1 4.1.1 定时/计数器的结构及功能 4.1.2 定时/计数器0和1的控制状态寄存器 4.1.3 T0和T1的4种工作模式 4.1.1 定时/计数器的结构及功能 1、定时/计数器的结构 2、T0和T1的功能选择 (1)计数功能 就是对外部事件进行计数。计数脉冲来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0的负跳变时,计数器(TH0,TL0或TH1,TL1)的值增1。计数的最高频率一般为振荡频率的1/24。 (2)定时功能 也是通过计数实现的。计数脉冲来自内部时钟脉冲,每个机器周期计数值增1,每个机器周期=12个振荡周期,因此计数频率为振荡频率的1/12。所以计数值乘以机器周期就是定时时间。 4.1.2 定时/计数器0和1的控制状态寄存器 1、模式控制寄存器TMOD 格式如下: (1)GATE位:门控位。当GATE=1时只有INT0(P3.2)或INT1(P3.3)为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作,可用于测量在INTX端出现的正脉冲的宽度;当GATE=0,则只要TR0和TR1置1,定时/计数器就被选通。 (2)C/T位:计数/定时功能选择位。C/T=0,设置位定时器方式,计数器的输入是内部时钟脉冲,其周期等于机器周期。C/T=1,设置为计数器方式,计数器输入来自T0(P3.4)或T1(P3.5)端外部脉冲。 M1、M0位:工作模式选择位。2位形成4种编码,对应4种工作模式。见表4-1。 2、控制寄存器TCON 格式如下: TF1位:定时器1溢出标志位。 当定时/计数器1溢出时,由硬件置1。在查询方式时,做状态位供查询,查询有效后由软件清零;在中断方式时,做中断申请标志位进入中断服务后由硬件自动清零。 TR1位:定时器1运行控制位。由软件置位或清零, 置位时,定时/计数器接通工作;清零时, 停止工作。 TF0位:定时器零溢出标志位,同TF1。 TR0位:定时器零运行控制位,同TR1。 字节地址为88H,位地址为88H~8FH。 3、定时/计数器的初始化 (1)对TMOD赋值,以确定定时器的工作模式; (2)置定时/计数器初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1; (3)根据需要,对IE置初值,开放定时器中断; (4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。 初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。 (模式0 M为213,模式1 M为216,模式2和3 M为28) 例如:机器周期为1μs 时,工作在模式0,则最大定时值为:213×1μs =8.192ms 若工作在模式1,则最大定时值为: 216×1μs =65.536ms 4.1.3 T0和T1的4种工作模式 2、模式1 3、模式2 4、模式3 4.2 定时/计数器的应用 4.2.1 定时/计数器模式0的应用 4.2.2 定时/计数器模式1的应用 4.2.3 定时/计数器模式2的应用 4.2.4 定时/计数器门控位GATE的应用 4.2.5 运行中读定时/计数器 4.2.1 定时/计数器模式0的应用 【例4-1 】试利用T0产生周期为1ms、宽度为 一个机器周期的负脉冲串,并由P1.0送出。 设系统晶振为12MHz,则计数频率为1MHz。 设计数初值为X,则由(M-X)T=定时值 即:(213-X)×10-6=1×10-3 得:X=7192=1110000011000B。 高8位给TH0,低5位给TL0,则TH0=0E0H, TL0=18H。 采用查询方式,编程如下: MOV TMOD,#00H ;设置定时器0模式0 MOV TH0,#0E0H ;设置计数初值 MOV TL0,#18H SETB TR0 ;启动定时器0 T0INT:JNB TF0,T0INT CLR TF0 SETB P1.0 CLR P1.0 MOV TH0,#0

文档评论(0)

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

文档来源于网络

1亿VIP精品文档

相关文档