- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS_51单片机定时_计数器及应用(基于Proteus仿真)MCS_51单片机定时_计数器及应用(基于Proteus仿真)
MCS-51单片机定时/计数器及应用基于Proteus仿真前言:本文对MCS-51单片机的定时/计数器进行了简明扼要的总结和归纳,并在后面举了三个简单的例子,这样有助于更好地理解与掌握。MCS-51单片机有T0和T1两个16位可编程定时/计数器。其中T0由两个特殊功能寄存器TH0和TL0组成,T1由两个特殊功能寄存器TH1和TL1组成。受MCS-51单片机内部工作机制的限制,最高的外部计数脉冲的频率不能超过时钟频率的1/24,并且要求外部脉冲的高电平和低电平的持续时间不能小于一个机器周期。单片机中的定时/计数器不管是用于定时还是计数,本质上都是通过对脉冲的计数实现的,只不过定时功能是对内部固定频率的脉冲信号进行计数,而计数功能是对来自单片机外部引脚T0或T1上的脉冲信号进行计数。定时/计数器的控制主要是通过两个特殊功能寄存器TCON和TMOD实现的。定时/计数器T0,T1控制寄存器TCON:中断请求标志都是当CPU检测到有相应中断发生后,由硬件将相应的标志置1,当CPU响应该中断转向相应的中断处理程序时,由硬件自动将相应的标志位清0.系统复位时,TCON每一位都清零。在查询方式时,TF0,TF1可以由程序查询和清“0”。IT0/IT1:外部中断0/1的触发类型控制位,IT0/IT1=1表示下降沿触发,IT0/IT1=0表示低电平触发,可以由软件来设置或清除。IE0/IE1:外部中断0/1的中断请求标志位,当检测到INT0/INT1引脚上出现外部中断信号的下降沿时,由硬件置位,申请中断。进入中断服务程序后被硬件自动清除。TR0/TR1:T0/T1运行控制位,靠软件置位或清零,置位时T0/T1开始工作,清零时停止工作。TF0/TF1:T0/T1中断请求标志位,当T0/T1计数溢出归零时,由内部硬件置1,当CPU响应中断并进入中断服务程序后,TF0/TF1自动清零。定时/计数器工作方式寄存器TMOD:TMOD用于确定定时/计数器的工作方式及功能,其中高四位用于控制T1,低四位用于控制T0,工作方式0及应用当TMOD中的M1M0=00时,定时/计数器工作在方式0,构成13位的定时/计数器,它由THi的8位和TLi的低5位组成。当TLi的低5位溢出时,向THi进位。THi溢出时,向中断溢出标志Tfi进位,并申请中断。当C/T=0,工作在定时方式时,定时时间t=(213-t初值)×(1/fOSC)×12式中:t为定时时间,fOSC振荡器频率,即系统时钟频率。当fOSC=12MHZ时,方式0最长定时时间为tmax=(213-0)×(1/12)×12=8192us=8.192ms.定时初值t初值=213-t×fOSC/12例:若已知fOSC=12MHZ,要求定时1ms分析:定时初值t初值= 213-t×fOSC/12 = 213-10-3×(12×106)/12 = 7192 =1110 0000 11000B所以定时初值TH0=(213-1000)/32;TL0=(213-1000)%32.当C/T=1,工作在计数方式时,计数脉冲个数为N = 213-t初值最大计数脉冲个数为Nmax= 213-0 = 8192同样,如果要改变计数值,可以通过向定时/计数器预先装入初值实现。工作方式1及应用当TMOD中的M1M0=01时,定时/计数器工作在方式1,构成16位的定时/计数器,它由THi的8位和TLi的8位组成。用作定时器时,定时时间t=(216-t初值)×(1/fOSC)×12当fOSC=12MHZ时,方式1最长定时时间为tmax=(216-0)×(1/12)×12=65536us=65.536ms.定时初值t初值=216-t×fOSC/12用作计数器时,计数脉冲个数为N = 216-t初值最大计数脉冲个数为Nmax= 216-0 = 65536例:若已知fOSC=12MHZ,要求编程实现在P1^0口输出50HZ方波分析:50HZ方波周期为20ms,因此只需每10ms对P1^0取反一次,定时时间为10ms所以定时初值t初值= 216-t×fOSC/12 = 216-10×10-3×(12×106)/12 = 55536=0XD8F0所以定时初值TH0=0XD8;TL0=0XF0.C程序如下:#include reg52.hsbit P1_0=P1^0;void main(){TMOD=0X01;TH0=0XD8;TL0=0XF0;EA=1;ET0=1;TR0=1;while(1);}void t0()interrupt 1{TH0=0XD8;TL0=0XF0;P1_0=~P1_0;}工作方式2及应用当TMOD中的M1M0=10时,定时/计数器工作在方式2,即8位自动重装载方式,它由TLi构成8位计数器,THi仅用来存放时间常数。启动T0/T1前
您可能关注的文档
最近下载
- 宪法学(第二版)(马克思主义理论研究和建设工程重点教材)课件第4章国家性质和国家形式.pptx VIP
- 1_1_负反馈率计算表.xlsx VIP
- 纳米磁性材料介绍.pptx VIP
- 中国螺栓检测服务行业市场占有率及投资前景预测分析报告.docx VIP
- 2011年2月4日巴西东北部电网停电事故分析.ppt VIP
- 踝关节扭伤治疗.pptx
- 美术鉴赏通识教育(西北大)中国大学MOOC慕课 章节测验答案.pdf VIP
- 排球裁判手势图1.docx
- GA_T 1093-2013出入口控制人脸识别系统技术要求.docx VIP
- 2025年湖南株洲市工会社会工作者招聘30人笔试备考试题及答案解析.docx VIP
文档评论(0)