单片机第6章定时计数器_第1页
单片机第6章定时计数器_第2页
单片机第6章定时计数器_第3页
单片机第6章定时计数器_第4页
单片机第6章定时计数器_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31第六章第六章 定时定时/ /计数器计数器电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 6.1 定时器定时器/计数器结构计数器结构 6.2 定时器定时器/计数器的四种工作方式计数器的四种工作方式 6.3 定时器定时器/计数器对输入信号的要求计数器对输入信号的要求 6.4 定时器定时器/计数器编程和应用计数器编程和应用教学内容教学内容电气工程学院电气工程学院Electrical Engineeri

2、ng Institute of NEDU2021-10-316.1.1 6.1.1 定时定时/ /计数器的结构与原理计数器的结构与原理 重点:定时的实质,定时与计数的关系重点:定时的实质,定时与计数的关系6.1.2 6.1.2 定时定时/ /计数器方式寄存器计数器方式寄存器TMODTMOD6.1.3 6.1.3 定时定时/ /计数器控制计数器控制寄存器寄存器TCONTCON6 6.1.4 .1.4 定时定时/ /计数器的初始化计数器的初始化返回本章首页6.1 6.1 定时定时/ /计数器结构计数器结构电气工程学院电气工程学院Electrical Engineering Institute of

3、 NEDU2021-10-316.1.1 6.1.1 定时定时/ /计数器结构与原理计数器结构与原理 定时器定时器/计数器简称定时器,计数器简称定时器,8051单片机内部有单片机内部有2个个16位的可编程定时位的可编程定时/计数器:定时器计数器:定时器0(T0)和定和定时器时器1(T1)。)。可编程可编程是指其功能(如工作方式、是指其功能(如工作方式、定时时间、启动方式等)可以由定时时间、启动方式等)可以由指令指令来确定和改变。来确定和改变。 在定时器在定时器/计数器中除了有两个计数器中除了有两个16位的计数器之外,位的计数器之外,还有还有2个特殊功能寄存器(控制寄存器个特殊功能寄存器(控制寄

4、存器TCON和方式和方式寄存器寄存器TMOD)。)。 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31这些寄存器之间是通这些寄存器之间是通过内部总线和控制逻过内部总线和控制逻辑电路连接起来的。辑电路连接起来的。定时器定时器/ /计数器的结构计数器的结构电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 从结构图可以看出从结构图可以看出: 16位的定时器位的定时器/计数器分别由两个专用寄存器组计数器分别由两个专用寄存器组成,即成,即T0由由TH0和

5、和TL0构成;构成;T1由由TH1和和TL1构构成。这些寄存器由于成。这些寄存器由于存放定时和计数初值存放定时和计数初值。此。此外,内部还有一个外,内部还有一个8位的位的TMOD和一个和一个8位的位的TCON。TMOD 主要用于选定定时器的主要用于选定定时器的工作方工作方式式;TCON主要用于主要用于控制控制定时器的定时器的启动与停止。启动与停止。定时器定时器/计数器的结构计数器的结构电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31定时器定时器/ /计数器的原理计数器的原理 1616位的定时器位的定时器/ /计数器的实

6、质上是一个加计数器的实质上是一个加1 1的计的计数器数器, ,其控制电路受软件控制、切换。其控制电路受软件控制、切换。 计数的次数和时间之间是相关的计数的次数和时间之间是相关的。 只要计数脉冲的只要计数脉冲的间隔相等,计数间隔相等,计数值就代表时间的值就代表时间的流逝流逝电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 当定时器当定时器/计数器为定时工作方式时,加计数器为定时工作方式时,加1信号由信号由振荡器的振荡器的12分频产生,分频产生,即每过一个机器周期,计数值即每过一个机器周期,计数值增增1,直至计满溢出为止。

7、显然,定时器的定时时间,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。由于一个机器周期等于与系统的振荡频率有关。由于一个机器周期等于12个个振荡周期,所以振荡周期,所以 计数频率计数频率 fcount=1/12fosc 例:晶振为例:晶振为12MHZ ,则计数周期为则计数周期为 T=1/(12*106)Hz*1/12 =1微秒微秒最短的定时最短的定时周期周期电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 当定时器当定时器/ /计数器为计数工作方式时,通过引计数器为计数工作方式时,通过引脚脚T0T0和和

8、T1T1对外部信号计数,外部脉冲的对外部信号计数,外部脉冲的下降沿下降沿触发触发计数计数 采样过程:采样过程: 在每个机器周期的在每个机器周期的S5P2期间采样引脚期间采样引脚当输入脉冲信号从当输入脉冲信号从1 1到到0 0的负跳变时,计数器就自的负跳变时,计数器就自动加动加1 1。 由于检测一个由由于检测一个由1 1到到0 0的跳变需要两个机的跳变需要两个机器周期,所以器周期,所以 计数的最高频率为振荡频率的计数的最高频率为振荡频率的1/241/24。为了确保给定电平在变化前至少被采样一次,外为了确保给定电平在变化前至少被采样一次,外部计数脉冲的部计数脉冲的高低电平高低电平均需保持均需保持一

9、个机器周期一个机器周期以以上。(占空比没有限制)上。(占空比没有限制)电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 单片机中的定时器和计数器是一个部件,单片机中的定时器和计数器是一个部件,只不过计数器用来记录外界发生的事情,而定只不过计数器用来记录外界发生的事情,而定时器则是由单片机提供的一个非常稳定的计数时器则是由单片机提供的一个非常稳定的计数源。源。结论结论电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 综上所述,我们已知定时器综上所

10、述,我们已知定时器/计数器是一种可编计数器是一种可编程部件,所以在其开始工作之前,程部件,所以在其开始工作之前,CPU必须将一些必须将一些命令(控制字)写入定时器命令(控制字)写入定时器/计数器。这个过程称计数器。这个过程称为定时器为定时器/计数器的初始化。计数器的初始化。 当当CPU用软件给定时器设置了某种工作方式之后,用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计数溢出,才可能中的操作时间,除非定时器计数溢出,才可能中断断CPU当前操作。当前操作。结论结论电气工程学院电气工程学院E

11、lectrical Engineering Institute of NEDU2021-10-31 6.1.2 定时器定时器/计数器方式寄存器计数器方式寄存器TMODGATEGATEC/TC/T M M1 10 0M MGATEGATEC/TC/T1 1M M0 0M M控控 制制 T T 1 1控控 制制 T T 0 08989H H和和T T 类同类同0 01 1M M0 0M M0 00 00 10 11 01 01 11 1方方 式式方式方式0 0 1313位位方式方式1 161 16位位方式方式2 2 自动重装自动重装方式方式3 3 适用适用T0T00 01 1定时器模式定时器模式计

12、数器模式计数器模式0 01 1与与INT INT 无关无关0 00 0与与INT INT 有关有关M1M0:方式选择位方式选择位C/T:功能选择位功能选择位GATE: 门控位门控位电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31GATE=1GATE=1时时 若若TRTR1 1=1=1,并且,并且 INTINT1 1=1,=1,允许允许T0T0计数,计数, 若若TRTR1 1=0=0,或,或INTINT1 1=0,=0,禁止禁止T0T0计数计数 GATE=0,GATE=0,若若TRTR1 1=1,=1,允许计数允许计数

13、若若TRTR1 1=0=0,禁止计数禁止计数 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 由于在不同方式下计数器位数不同,因而最大计由于在不同方式下计数器位数不同,因而最大计数值(量程)也不同。数值(量程)也不同。 方式方式0:M=213=8192 方式方式1:M=216=65536 方式方式2:M=28=256 方式方式3:定时器分成两个:定时器分成两个8位计数器,两个位计数器,两个M均均256电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10

14、-31TR1(0):运行控制位运行控制位6.1.3 定时器定时器/计数器控制寄存器计数器控制寄存器TCON(88H)定时器工作模式寄存器定时器工作模式寄存器TCONTCON TF1(0): 溢出标志溢出标志电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-316.1.4 6.1.4 定时器定时器/ /计数器的初始化计数器的初始化初始化的步骤如下:初始化的步骤如下:确定工作方式确定工作方式-对对TMOD赋值赋值置定时或计数的初值置定时或计数的初值-可直接写入可直接写入TH0(1),TL0(1)根据需要开放定时器根据需要开放定时

15、器/计数器的中断计数器的中断启动定时器启动定时器/计数器。计数器。 当实现了启动要求之后,定时器就按规定的工作当实现了启动要求之后,定时器就按规定的工作方式和初值开始计数或定时。方式和初值开始计数或定时。电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 因为定时器因为定时器/计数器是作计数器是作“加加1”计数,并在计满计数,并在计满溢出时产生中断,初值溢出时产生中断,初值X可以这样计算:可以这样计算: X = M - 计数值计数值(计数次数)计数次数) 例:在例:在6MHZ主频下,要求产生主频下,要求产生1ms的定时的

16、定时,计算初值计算初值 分析:因为定时器每分析:因为定时器每“加加1”一次所需的时间为一次所需的时间为2s,如如果要产生果要产生1ms的定时,需加的定时,需加500次,次,500即为计数值。即为计数值。方式方式1下工作。下工作。 初值初值 X =M-计数值计数值=65536-500=FE0CH电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-316.2 6.2 定时器定时器/ /计数器的计数器的4 4种工作方式种工作方式 由上节可知,通过对由上节可知,通过对TMOD中的中的M1、M0的设的设置置,可以选择四种工作方式。也就是

17、每个定时器可可以选择四种工作方式。也就是每个定时器可构成构成4种电路结构模式。种电路结构模式。 在模式在模式0、1和和2,T0和和T1的工作方式相同,在模的工作方式相同,在模式式3,两个定时器的方式不同。下面以,两个定时器的方式不同。下面以T1为例,为例,分述各种工作方式的特点和用法。分述各种工作方式的特点和用法。电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31方式方式016位寄存器中只用位寄存器中只用13位,其中位,其中TL1的高的高三位未用。三位未用。电气工程学院电气工程学院Electrical Engineeri

18、ng Institute of NEDU2021-10-3116位寄存器全用位寄存器全用方式方式1电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31这种工作方式可省去用户软件中重装常数的程这种工作方式可省去用户软件中重装常数的程序,并可产生相当精度的定时时间。序,并可产生相当精度的定时时间。方式方式2电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31该方式只适用于定时器该方式只适用于定时器T0T0,T0T0被拆成两个独立的被拆成两个独立的8 8位计

19、数器位计数器TH0TH0和和TL0TL0。方式方式3 3下的下的T0T0方式方式 3电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 T0T0工作在方式工作在方式3 3时时,T1,T1可定为方式可定为方式0 0、方式、方式1 1和方式和方式2,2,用来作为串行口的波特率发生器用来作为串行口的波特率发生器, ,或不需要中断的或不需要中断的场合场合. .T1T1工作在方式工作在方式0 0电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31T0T0工作在

20、方式工作在方式3 3时时T1T1为方式为方式1 1的工作示意图的工作示意图T1T1工作方式工作方式1 1电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31T0T0工作在方式工作在方式3 3时时T1T1为方式为方式2 2的工作示意图的工作示意图 T1 T1工作方式工作方式2 2电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31T1T1的控制字的控制字M1M0=11M1M0=11时时,T1,T1停止计数停止计数 注意注意: :在在T0T0为方式为方式3

21、 3时时,T1,T1运行的控制条件只有运行的控制条件只有2 2个个, ,即即C/TC/T和和M1,M0M1,M0。T1T1工作方式工作方式3 3电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-316.3 6.3 定时器定时器/ /计数器对输入信号的要求计数器对输入信号的要求当当T0或或T1被选定为定时工作模式时被选定为定时工作模式时, 定时器定时器/计数器的计数器的输入脉冲的周期与机器周期一样输入脉冲的周期与机器周期一样,为时钟振荡频率的为时钟振荡频率的1/12。若。若 f振荡振荡=12MHz,则计数速率为则计数速率为1M

22、Hz。当当T0或或T1用作计数器时用作计数器时,计数脉冲来自相应的外部输计数脉冲来自相应的外部输入引脚入引脚.一次负跳变要花一次负跳变要花2个机器周期个机器周期,即即24个振荡周期个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡频率因此外部输入的计数脉冲的最高频率为系统振荡频率的的1/24.如如:f振荡振荡=12MHz,则可输入的最高频率为则可输入的最高频率为500KHz。 注注:外部输入信号脉冲宽度至少保持外部输入信号脉冲宽度至少保持1个机器周期个机器周期.返回本章首页电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10

23、-316.4 6.4 定时定时/ /计数器及中断系统综合应用计数器及中断系统综合应用【例【例6.1】设设MCS-51单片机系统时钟频率单片机系统时钟频率CLK为为6MHZ,要在要在P1.0引脚上输出引脚上输出1个周期为个周期为1毫秒的方毫秒的方波,占空比为波,占空比为50%的方波信号的方波信号.如下图如下图: P1.01ms1msT=2ms电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31解解:(1)计算初值计算初值: 机器周期机器周期=2s=2*10-6s (216-X)*2*10-6=1*10-3, 即即(216-X

24、)=500,X=65036 X=FE0CH=1111111000001100B 则则TH0=0FEH,TL0=0CH电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31(2)初始化程序初始化程序: 对定时器初始化和中断初始化对定时器初始化和中断初始化 即对即对IP,IE,TCON,TMOD的相应位设置的相应位设置,并将计并将计 数初值装入定时器数初值装入定时器.如如: TMOD=01H, 定时方式定时方式1 IP=00H,IE=92H,TCON=10H即即ET0=1,EA=1, TR0=1电气工程学院电气工程学院Elect

25、rical Engineering Institute of NEDU2021-10-31 ORG 0000H RESET : AJMP MAIN ORG 000BH AJMP IT0P ORG 0100H MAIN : MOV SP , #60H MOV TMOD,#01H方法一:中断方式方法一:中断方式电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 ACALL PT0M0 HERE : AJMP HEREPT0M0 : MOV TL0 , #0CH MOV TH0 , #0FEH SETB TR0 SETB ET

26、0 SETB EA SJMP $IT0P : MOV TL0 , #0CH MOV TH0 , #0FEH CPL P1.0 RETI 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 ORG 0000H MOV TMOD,#01H LOOP: MOV TH0,#0FE MOV TL0,#0CH SETBTR0LOOP1: JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP方法二:软件查询方法二:软件查询电气工程学院电气工程学院Electrical Engineering Institut

27、e of NEDU2021-10-31 【例【例6.2】设设MCS-51单片机系统时钟频率单片机系统时钟频率CLK为为6MHZ,请编出利用定时请编出利用定时/计数器计数器T0在在P1.0引脚上产生周期为引脚上产生周期为2秒,占空比为秒,占空比为50%的方波信号的程序的方波信号的程序(1)主程序)主程序任务:任务: 1)T0工作方式的设定:工作方式的设定: 选择方式选择方式1(16位方式)(最大定时位方式)(最大定时131ms) 2)定时常数的设定:定时常数的设定: TC=216-100ms/2s =15536=3CB0H 每隔每隔100ms中断一次中断一次,中断中断10次为次为1s电气工程学院

28、电气工程学院Electrical Engineering Institute of NEDU2021-10-31即:即:TH0应装应装3CH,TL0应装应装B0H。3)中断管理:中断管理: 允许允许T0中断,开放总中断中断,开放总中断 即:即:IE应装应装10000010B4)启动定时器启动定时器T0: SETBTR05)设置软件计数器初值:(如使用设置软件计数器初值:(如使用R7) 即即R7应装应装0AH6)动态停机:动态停机:SJMP $电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31MAIN: MOV TMOD,

29、#01H ;设定设定T0为方式为方式1MOV TH0 ,#3CH ;装入定时常数高装入定时常数高8位位MOV TL0 ,#0B0H ;装入定时常数低装入定时常数低8位位MOVIE ,#82H ;开放开放T0中断中断SETBTR0 ;启动启动T0MOVR7 ,#0AH ;设置软件计数器设置软件计数器SJMP $主程序主程序电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31任务:任务:1 1)恢复恢复T0T0常数;常数;2 2)软件计数器减软件计数器减1 1; 3 3)判断软件计数器是否为判断软件计数器是否为0 0。为。为0

30、 0时,改变时,改变P1.0P1.0状态,并恢复软件计数器初值;不为状态,并恢复软件计数器初值;不为0 0时中断时中断返回。返回。(2 2)中断服务程序)中断服务程序电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31TOINT:MOVTL0,#0B0H ;恢复定时常数恢复定时常数MOVTH0,#3CHDJNZR7, NEXTCPL P1.0 MOVR7,#0AHNEXT:RETI中断服务程序中断服务程序电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-

31、31ORG 0000H MOV TH0,#3CH AJMP MAIN MOV TL0,#0B0HORG 000BH MOV IE,#82H AJMP TOINT SETB TR0ORG 0030H MOVR7,#0AH MAIN:MOV TMOD,#01H完整程序完整程序电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 SJMP$TOINT: MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0 MOV R7,#0AHNEXT: RETI END电气工程学院电气工程学院Ele

32、ctrical Engineering Institute of NEDU2021-10-31【例【例6.3】把把T0(P3.4)作为外部中断请求输入线即)作为外部中断请求输入线即T0引脚发生负跳变时,向引脚发生负跳变时,向CPU请求中断。下面程请求中断。下面程序序T0定义方式定义方式1计数,即计数输入端计数,即计数输入端T0发生一次发生一次负跳变,计数器加负跳变,计数器加1即产生溢出标志,向即产生溢出标志,向CPU发中发中断,程序在断,程序在T0产生一次负跳变后,使产生一次负跳变后,使P1.0产生周产生周期为期为1ms的方波,其中定时器的方波,其中定时器T1用于方式用于方式2产生产生0.5m

33、s定时。定时。方式方式2 2的应用的应用电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-310.5ms0.5msT=1sT0(P3.4)P1.0T1T1为方式为方式2 2定时定时T0为方式为方式1计数计数电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31T0的计数初值的计数初值: TH0=0FFH,TL0=0FFHT1的定时初值的定时初值: (28-X)*2*10-6=5*10-4 ,X=06H电气工程学院电气工程学院Electrical Engin

34、eering Institute of NEDU2021-10-31 ORG 0000HRESET: AJMP MAIN ;复位入口转主程序;复位入口转主程序 ORG 000BH LJMP IT0P ;转;转T0中断服务程序中断服务程序 ORG 001BH LJMP IT1P ;转;转T1中断服务程序中断服务程序 方法一:(中断方式)方法一:(中断方式)电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 ORG 0100HMAIN: MOV SP, #60H ACALL PT0M2 ;对;对T0、T1初始化初始化LOOP

35、: MOV C, F0;T0产生中断了吗产生中断了吗,产生过产生过,则则F0=1 JNC LOOP SETB TR1 ;启动;启动T1 SETB ET1 ;允许;允许T1中断中断HERE: AJMP HERE 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31PT0M2: MOV TMOD, #26H MOV TL0 , #0FFH ;T0置初值置初值 MOV TH0 , #0FFH SETB TR0 ;启动;启动T0 SETB ET0 ;允许;允许T0中断中断 MOV TL1,#06H ;T1置初值置初值 MOV TH

36、1,#06H CLR F0 SETB EA ;CPU开放中断开放中断 RET电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31IT0P: CLR TR0 ;停止;停止T0计数计数 SETB F0 ;建立产生中断标志;建立产生中断标志 RETIIT1P: CPL P1.0 ;P1.0位取反位取反 RETI电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31【例【例6.46.4】用定时器用定时器T1T1的方式的方式2 2对外部计数对外部计数, ,要求每计

37、要求每计满满100100个数个数, ,将将P1.0P1.0引脚信号求反引脚信号求反. . 解解:P3.5:P3.5引脚输入外部信号引脚输入外部信号, ,每发生每发生1 1次负跳变计数次负跳变计数器加器加1,1,每输入每输入100100个脉冲个脉冲, ,计数器溢出中断计数器溢出中断, ,将将P1.0P1.0引脚求反引脚求反. . TMOD=60H TMOD=60H 注意注意: :此处此处T0T0不能为方式不能为方式3,3,其它皆可。其它皆可。 X=2 X=28 8-100=156=9CH-100=156=9CH方式方式2 2应用应用计数模式计数模式电气工程学院电气工程学院Electrical E

38、ngineering Institute of NEDU2021-10-31程序清单程序清单: ORG 0000H LJMP MAIN ORG 001BH CPL P1.0 RETI ORG 0100HMAIN: MOV TMOD,#60H MOV TL0,#9CH MOV TH0,#9CH SETBTR1HERE: AJMPHERE电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31【例【例6.5A】T0方式方式3,分别产生,分别产生200us和和400us的定时的定时并使并使P1.0和和P1.1分别产生分别产生400u

39、s和和800us的方法的方法, fosc=6MHZ解解:TL0用于定时用于定时200us,TH0用于定时用于定时400us (28-X)*2*10-6=200*10-6, X=156 即即X=9CH (28-X)*2*10-6=400*10-6, X=56 即即X=38H 方式方式3 3的应用的应用电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 ORG 0000H START: AJMP MAIN ORG 000BH AJMP P1TO ORG 001BH AJMP PIT1 电气工程学院电气工程学院Electric

40、al Engineering Institute of NEDU2021-10-31MAIN : MOV SP , #60H MOV TMOD , #03H MOV TL0 , #9CH MOV TH0 , #38H MOV TCON , #50H MOV IE , #8AHHERE : AJMP HEREPIT0 : MOV TL0 , #9CH CPL P1.0 RETIPIT1: MOV TH0,#38H CPL P1.1 RETI 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31【例【例6.5B】假设某假设某M

41、CS-51应用系统的应用系统的2个外部中断个外部中断源已被占用源已被占用,设置定时器设置定时器T1工作在方式工作在方式2,作波特率作波特率发生器用发生器用.现要求增加现要求增加1个外部中断源个外部中断源,并控制并控制P1.0引引脚输出脚输出1个个5KHz的方波的方波. fosc=6MHZ.T0(P3.4)TL0为方式为方式3计数计数100s100sTH0为方式为方式3定时定时P1.0电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31(1)初值计算初值计算: TL0=0FFH (28-X)2*10-8=110-4 ,X=1

42、56=9CH即即TH0=9CH ORG 0000H LJMP MAIN ORG 000BH LJMP TL0INT 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 ORG 001BH LJMP TH0INT ORG0100HMAIN : MOV TMOD , #27H ; 00100111 MOV TL0 , #0FFH MOV TH0 , #9CH 电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 MOV TL1,#data1 ;data据

43、波特率据波特率常数定常数定 MOV TH1,#data1 MOV TCON , #55H ;边沿触发;边沿触发,启动启动定时定时 MOV IE , #9FH ;中断允许;中断允许 TL0INT:MOV TL0, #0FFH电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 RETITH0INT: MOV TH0,#9CH CPL P1.0 RETI中断处理中断处理电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31门控位门控位 GATEGATE的应用

44、的应用【例【例6.6】门控门控GATE1使定时使定时/计数器计数器T1启动计数受启动计数受INT1的控制。当的控制。当GATE1为为1,TR为为1时,只有时,只有INT1引脚输入高电平,引脚输入高电平,T1才被允许计数,故可测才被允许计数,故可测引脚引脚P3.3上正脉冲宽度(机器周期数)。上正脉冲宽度(机器周期数)。 解解: 门控位为门控位为1,定时器启动计数受外部输入电平,定时器启动计数受外部输入电平的影响,可测外部是输入脉冲宽度。的影响,可测外部是输入脉冲宽度。 被测脉冲输入被测脉冲输入P3.3 (INT1 ) , T1为定时方式。为定时方式。 电气工程学院电气工程学院Electrical

45、 Engineering Institute of NEDU2021-10-31电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 ORG0000H RESET:AJMPMAIN ORG0100HSTART : MOV TMOD , #90H ; 门控定时门控定时,T1为方为方式式1 MOV SP , #60H电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 MOV TL1 , #00H MOV TH1 , #00HLOOP1 : JB P3.3

46、 LOOP1 ; SETB TR1 LOOP2 : JNB P3.3 LOOP2LOOP3 : JB P3.3 LOOP3电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31 CLR TR1 MOV A , TL1LOOP3: LCALLDIR AJMPLOOP3 将将A中的中的T1计数值送显示缓冲计数值送显示缓冲区并转换成可显示的代码区并转换成可显示的代码电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31【例【例6.7】 P3.4 输入低频负脉冲,要求输入低频负脉冲,要求P3.4每次发生每次发生负调变时,负调变时,P1.0输出一个输出一个400us的同步脉冲。的同步脉冲。电气工程学院电气工程学院Electrical Engineering Institute of NEDU2021-10-31START : MOV TMOD , #06H ; T0为方式为方式2外部计外部计数数 MOV TH0 , #0FFH MOV TL0 , #0FFH SETB TR0 ;允许计数;允许计数LOOP1 : JBC TF0, PTF01 ; 溢出后溢出后 AJMP LOOP1方法一方法一: : 软件查询方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论