欢迎来到天天文库
浏览记录
ID:46376817
大小:906.00 KB
页数:37页
时间:2019-11-23
《第7章_MCS-51单片机的中断系统(二)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七章MCS-51单片机的中断系统与定时/计数器7.1中断系统7.1.1概述7.1.2AT89C51中断系统7.1.3中断应用实例7.2定时/计数器及应用7.2.1定时/计数器0、1的结构及工作原理7.2.2定时/计数器0、1的四种工作方式7.2.3定时器/计数器0、1的应用7.2.4AT89C52定时/计数器2的结构7.2.5AT89C52定时/计数器2的工作方式7.2定时/计数器及应用定时/计数器的核心是一个加1计数器。当它对外部事件计数时,由于频率不固定,称之为计数器;当它对内部固定频率的机器周期进行计数时,称为定时器。MCS-51单片机内有2个16位可编程的定时器/计
2、数器,分别为T0和T1。7.2.1T0、T1的结构及工作原理定时器/计数器内部结构逻辑图T0、T1核心组成部分:16位的加1计数器定时器控制寄存器TCON工作方式控制寄存器TMOD7.2.1T0、T1的结构及工作原理(1)加1计数器定时器/计数器T0由8位特殊功能寄存器TH0和TL0组成,TH0为高8位,TL0为低8位;加1计数器的初值可以通过程序进行设定,设定不同的初值,就可以获得不同的计数值或定时时间。对外部事件脉冲计数,是计数器;对单片机内部机器周期产生的脉冲进行计数,是定时器。TF1TF0IE1IT1IE0IT0TCONTR1:定时器1运行启停控制位(可由用户通过软件
3、设置)。TR1=0:定时器1停止运行;TR1=1:定时器1启动运行。765432107.2.1T0、T1的结构及工作原理(2)定时器控制寄存器TCONTR1TR0当C/T=0,定时功能当C/T=1,计数功能7.2.1T0、T1的结构及工作原理(3)工作方式控制寄存器TMODM1M0对应4种不同的二进制组合对应4种工作方式:方式0、方式1、方式2、方式37.2.1T0、T1的结构及工作原理计数功能:对外部事件产生的脉冲进行计数。当C/=1,T0(P3.4)或T1(P3.5)两个信号引脚输入信号脉冲发生负跳变时,加1计数器自动加1。定时功能:对单片机内部机器周期产生的脉冲进行计数
4、。当C/=0,每个机器周期计数器自动加1。如果单片机的晶体频率为12MHz,则计数频率为1MHz,或者说计数器每加1,可实现1μs的定时。定时或计数功能的选择7.2.2T0、T1的4种工作方式(1)方式0当TMOD中M1M0=00时,定时器/计数器选定方式0进行工作。此时,选择定时器/计数器的高8位和低5位组成一个13位的定时器/计数器。(2)方式1当TMOD中M1M0=01时,定时器/计数器选定方式1进行工作。此时,选择定时器/计数器的TH0和TL0构成一个16位的定时器/计数器。7.2.2T0、T1的4种工作方式(2)方式1当TMOD中M1M0=01时,定时器/计数器选定
5、方式1进行工作。此时,选择定时器/计数器的TH0和TL0构成一个16位的定时器/计数器。7.2.2T0、T1的4种工作方式(2)方式1当作为计数器使用时,计数脉冲个数N:N=216-x=65536-x计数初值x是TH0、TL0设定的初值。当作为定时器使用时,定时器的定时时间为:Td=(216-x)×Tcy如果晶振频率fosc=12MHz,则Tcy=1μs,定时范围为1~65536μs。初值x是TH0、TL0设定的初值。7.2.2T0、T1的4种工作方式(3)方式2工作方式0、方式1具有共同的特点,发生溢出现象后,需要程序不断反复给计数器赋初值。TH0的内容重新装入TL0后,其
6、自身保持不变。7.2.2T0、T1的4种工作方式(3)方式2当作为计数器使用时,计数脉冲个数N:N=28-x=256-x计数初值x是TH0、TL0设定的初值。当作为定时器使用时,定时器的定时时间为:Td=(28-x)×Tcy如果晶振频率fosc=12MHz,则Tcy=1μs,定时范围为1~256μs。初值x是TH0、TL0设定的初值。7.2.2T0、T1的4种工作方式(4)方式3T0和T1具有完全不同的功能。7.2.2T0、T1的4种工作方式定时/计数器0、1的四种工作方式总结方式TMOD中M1MO计数器位数定时范围(12MHz晶振)000131--8192μs101161-
7、-65536μs21081--256μs31181--256μs7.2.3定时/计数器0、1的应用1.定时器/计数器的初始化编程MCS-51单片机的定时/计数器具有定时和计数功能,并可选择4种工作方式。在使用定时器/计数器前必须对其进行初始化,设置其工作方式等。初始化包括:(1)设置工作方式,即设置TMOD中的各位:GATE、C/T、M1M0。(2)计算定时/计数器的初值x,并将初值x送入TH、TL中。(3)启动计数器工作,即将TR置1。(4)若采用中断方式则将对应的定时/计数器及CPU开中断。7.2.
此文档下载收益归作者所有