- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机电子教案(定时器部分)研讨
制作数字时钟 解:因方式1采用16位计数器,其最大定时时间为:65536×1?s = 65.536ms,因此,可选择方式1实现1ms定时,确定计数值为1000,则定时器的初值为: X = M?计数值=65536 ? 1000 TH0=(65536 ? 1000)/256 TL0=(65536 ? 1000)%256 又因采用方式1定时,故TMOD = 0X01。 程序清单 #includereg51.h sbit led=P1^0; void main() { TMOD=0X01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; TR0=1; while(1) { if(TF0) { TF0=0; TH0=(65536-1000)/256; TL0=(65536-1000)%256; led=!led; } } } 解:要在P1.0得到周期为2s的方波,只要使P1.0端口每隔1s取反一次 即可。 ① 设置T0的方式字。T0,定时,工作于方式1,最长定时才65.536ms,要实现1S定时,属于超长定时情况。 TMOD=0X01 选取一次定时50ms,20次才达到1S。 ② 计算50ms定时T0的初值。晶振频率为12MHz,则机器周期为1μs,设T0的初值为X=(65536-50000)。 ③ 编程。 程序清单 #includereg51.h sbit led=P1^0; unsigned char i; void main() { TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(1) { if(TF0) { TF0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++; if(i==20) { led=!led; i=0; } } } } 1位秒表程序清单 #includereg51.h unsigned char m,j; unsigned char ledtable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void main() { TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; P1=ledtable[j]; while(1) { if (TF0==1) { TF0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; m++; if(m==20) { m=0; j++; if(j9) { j=0; } P1=ledtable[j]; } } } } * * * 一、定时器/计数器简介 MCS-51单片机定时器/计数器系统 1.计数概念 同学们选班长时,要投票,然后统计选票,常用的方法是画“正”,每个“正”号五划,代表五票,最后统计“正”号的个数即可,这就是计数。单片机有两个定时/计数器T0和T1,都可对脉冲进行计数。 2.计数器的容量 我们用一个瓶子盛水,水一滴滴地滴入瓶中,水滴不断落下,瓶的容量是有限的,过一段时间之后,水就会逐渐变满,再滴就会溢出。单片机中的计数器也一样,T0和T1这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。 3. 定时 一个钟表,秒针走60次,就是1分钟,所以时间就转化为秒针走的次数,也就是计数的次数,可见,计数的次数和时间有关。只要计数脉冲的间隔相等,则计数值就代表了时间,即可实现定时。秒针每一次走动的时间是1秒,所以秒针走60次,就是60秒,即1分钟。 因此,单片机中的定时器和计数器是一个东西,定时用时,是由单片机提供一个非常稳定的计数源。 这个计数源叫机
文档评论(0)