mcs51单片机定时计数器应用(基于proteus仿真)

mcs51单片机定时计数器应用(基于proteus仿真)

ID:34904088

大小:294.00 KB

页数:10页

时间:2019-03-13

mcs51单片机定时计数器应用(基于proteus仿真)_第1页
mcs51单片机定时计数器应用(基于proteus仿真)_第2页
mcs51单片机定时计数器应用(基于proteus仿真)_第3页
mcs51单片机定时计数器应用(基于proteus仿真)_第4页
mcs51单片机定时计数器应用(基于proteus仿真)_第5页
资源描述:

《mcs51单片机定时计数器应用(基于proteus仿真)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理仅供参考学习MCS-51单片机定时/计数器及应用基于Proteus仿真前言:本文对MCS-51单片机地定时/计数器进行了简明扼要地总结和归纳,并在后面举了三个简单地例子,这样有助于更好地理解与掌握.b5E2RGbCAP1、MCS-51单片机有T0和T1两个16位可编程定时/计数器.其中T0由两个特殊功能寄存器TH0和TL0组成,T1由两个特殊功能寄存器TH1和TL1组成.受MCS-51单片机内部工作机制地限制,最高地外部计数脉冲地频率不能超过时钟频率地1/24,并且要求外部脉冲地高电平和低电平地持续时间不能小于一个机器周期.单片机中地定时/计数器不管是用于定时还是计数

2、,本质上都是通过对脉冲地计数实现地,只不过定时功能是对内部固定频率地脉冲信号进行计数,而计数功能是对来自单片机外部引脚T0或T1上地脉冲信号进行计数.定时/计数器地控制主要是通过两个特殊功能寄存器TCON和TMOD实现地.p1EanqFDPw2、定时/计数器T0,T1控制寄存器TCON:中断请求标志都是当CPU检测到有相应中断发生后,由硬件将相应地标志置1,当CPU响应该中断转向相应地中断处理程序时,由硬件自动将相应地标志位清0.系统复位时,TCON每一位都清零.在查询方式时,TF0,TF1可以由程序查询和清“0”.DXDiTa9E3dIT0/IT1:外部中断0/1地触发类型控制

3、位,IT0/IT1=1表示下降沿触发,IT0/IT1=0表示低电平触发,可以由软件来设置或清除.RTCrpUDGiTIE0/IE1:外部中断0/1地中断请求标志位,当检测到INT0/INT1引脚上出现外部中断信号地下降沿时,由硬件置位,申请中断.进入中断服务程序后被硬件自动清除.5PCzVD7HxATR0/TR1:T0/T1运行控制位,靠软件置位或清零,置位时T0/T1开始工作,清零时停止工作.TF0/TF1:T0/T1中断请求标志位,当T0/T1计数溢出归零时,由内部硬件置1,当CPU响应中断并进入中断服务程序后,TF0/TF1自动清零.jLBHrnAILg3、定时/计数器工作

4、方式寄存器TMOD:TMOD用于确定定时/计数器地工作方式及功能,其中高四位用于控制T1,低四位用于控制T0,xHAQX74J0X10/10个人收集整理仅供参考学习1、工作方式0及应用当TMOD中地M1M0=00时,定时/计数器工作在方式0,构成13位地定时/计数器,它由THi地8位和TLi地低5位组成.当TLi地低5位溢出时,向THi进位.THi溢出时,向中断溢出标志Tfi进位,并申请中断.LDAYtRyKfE当C/T=0,工作在定时方式时,定时时间t=(213-t初值)×(1/fOSC)×12式中:t为定时时间,fOSC振荡器频率,即系统时钟频率.当fOSC=12MHZ时,方

5、式0最长定时时间为tmax=(213-0)×(1/12)×12=8192us=8.192ms.Zzz6ZB2Ltk定时初值t初值=213-t×fOSC/12例:若已知fOSC=12MHZ,要求定时1ms分析:定时初值t初值=213-t×fOSC/12=213-10-3×(12×106)/12=7192=1110000011000BdvzfvkwMI1所以定时初值TH0=(213-1000)/32;TL0=(213-1000)%32.当C/T=1,工作在计数方式时,计数脉冲个数为N=213-t初值最大计数脉冲个数为Nmax=213-0=8192同样,如果要改变计数值,可以通过向定时

6、/计数器预先装入初值实现.2、工作方式1及应用当TMOD中地M1M0=01时,定时/计数器工作在方式1,构成16位地定时/计数器,它由THi地8位和TLi地8位组成.rqyn14ZNXI用作定时器时,定时时间t=(216-t初值)×(1/fOSC)×12当fOSC=12MHZ时,方式1最长定时时间为tmax=(216-0)×(1/12)×10/10个人收集整理仅供参考学习12=65536us=65.536ms.EmxvxOtOco定时初值t初值=216-t×fOSC/12用作计数器时,计数脉冲个数为N=216-t初值最大计数脉冲个数为Nmax=216-0=65536例:若已知fO

7、SC=12MHZ,要求编程实现在P1^0口输出50HZ方波分析:50HZ方波周期为20ms,因此只需每10ms对P1^0取反一次,定时时间为10ms所以定时初值t初值=216-t×fOSC/12=216-10×10-3×(12×106)/12=55536=0XD8F0SixE2yXPq5所以定时初值TH0=0XD8;TL0=0XF0.C程序如下:#includesbitP1_0=P1^0;voidmain(){TMOD=0X01;TH0=0XD8;TL0=0XF

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。