单片机应用技术任务8 制作简易秒表.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方式0计数器的模值 M=213=8192 当计数器的计数值达到模值8192时,计数值回0,硬件电路自动将TFi位置1。 设定时/计数器的计数次数为n,方式0的计数初值x为: x=M-n=8192-n 式中M为方式0的模值 计数初值的低5位数:x%25=(8192-n)%32 高8位数:x/25=(8192-n)/32 计数初值的装入方法 将x的低5位值装入TLi中,将x的高8位值装入THi中 以T1为例,方式0的计数初值装入程序段如下: TL1=(8192-n)%32; //计数初值的低5位数装入TL1中 TH1=(8192-n)/32; //计数初值的高8位数装入TH1中 定时/计数器作计数器使用时,计数器对P3.4/T0引脚(对于T0)或者P3.5/T1引脚(对于T1)上的输入脉冲进行计数,其计数次数n是已知数。 定时/计数器作定时器使用时,计数器对机器周期计数,每隔一个机器周期其计数值就加1。设定时时长为t,单片机的晶振频率为fosc,则计数次数n为: n=t/MC=(fosc×t)/12 式中的MC为机器周期。 3、定时/计数器的工作方式 【例】设单片机的晶振频率fosc=12MHz,现拟定用T0作1ms定时器,试求其在方式0下的计数初值x,并编写装入计数初值的程序段。 【解】定时器的定时时长为1ms,则定时器的计数次数n为: n=(fosc×t)/12=(12×106×1×10-3)/12=1000 方式0的模值为8192,所以,计数初值x= M-n=8192-1000=7192 装入计数初值的程序段如下: TL0=(8192-1000)%32; //计数初值的低5位数装入TL0中 TH0=(8192-1000)/32; //计数初值的高8位数装入TH0中 3、定时/计数器的工作方式 ⑵方式1 16位的计数方式,结构与方式0的基本结构相同 计数器为16位计数器,由TLi和THi组成,TLi为计数器的低8位,THi为计数器的高8位。 计数器的模值M=216=65536,当计数器的计数值达到模值65536时,计数值回0,硬件电路自动将TFi位置1。 3、定时/计数器的工作方式 方式1的计数初值x为: x=M-n=65536-n 式中M为方式0的模值,n为计数次数 方式1的计数初值装入方法:将x的低8位值(x%28=x%256)装入TLi中,将x的高8位值(x/28=x/256)装入THi中。 以T1为例,方式0的计数初值装入程序段如下: TL1=(65536-n)%256; //计数初值的低8位数装入TL1中 TH1=(65536-n)/256; //计数初值的高8位数装入TH1中 8位自动重装初值的计数方式,结构如下图所示: 在方式2下, TLi作计数器,THi用来存放计数初值,计数器的模值M=28=256。定时/计数器启动后,计数脉冲输入至TLi,TLi作加1计数,TLi计到模值256时,硬件电路将TFi置1,并向CPU请求中断,同时将THi中的计数初值自动装入TLi中,并在此初值的基础上重新计数。 ⑶方式2 在启动定时/计数器之前,TLi和THi要装入相同的计数初值。 在方式2下,不需要用软件重装计数初值,使用比较方便,但计数范围比较小。 设计数次数为n,以T1为例,方式2的计数初值装入程序如下: TL1=256-n; //计数初值装入TL1中 TH1=256-n; //计数初值装入TH1中 3、定时/计数器的工作方式 ⑷方式3 2个8位计数器的工作方式,2个计数器的模值均为256。 结构比较特殊,仅适用于定时/计数器0,如果将定时/计数器1设置成工作方式3,则定时/计数器1处于关闭状态。 结构示意图如下: ①T0工作在方式3时,要占用T1的资源,一般情况下不把T0设置成工作方式3,仅当T1处于工作方式2并且不需要中断请求标志位时(此时,T1作波特率发生器),才将T0设置成工作方式3。 ②T0工作在方式3时,用TH0作计数器的定时器由TR1控制其启动和停止。此时,单独停止T1的方法是,将T1的工作方式设置成方式3。停止T1的程序如下: TMOD=TMOD|0x30; //停止T1 3、定时/计数器的工作方式 【例】设单片机的晶振频率fosc=6MHz,现拟定用T0作5ms定时器,问可以采用哪些工作方式?各种工作方式下的计数初值是多少? 【解】定时器的定时长为5ms,其计数次数n为: n=(fosc×t)

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档