第6章2MCS51的定时计数器课件.ppt

上传人:石*** 文档编号:50886563 上传时间:2022-10-16 格式:PPT 页数:49 大小:2.64MB
返回 下载 相关 举报
第6章2MCS51的定时计数器课件.ppt_第1页
第1页 / 共49页
第6章2MCS51的定时计数器课件.ppt_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《第6章2MCS51的定时计数器课件.ppt》由会员分享,可在线阅读,更多相关《第6章2MCS51的定时计数器课件.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第6章2MCS51的定时计数器第1页,此课件共49页哦6.2.1 定时定时/计数器的基本结构计数器的基本结构v1.定时/计数器的结构v基本部件是两个16位寄存器T0和T1,每个分成两个8位寄存器(例:T0由高8位TH0和低8位TL0组成)vTMOD:定时/计数器的工作方式寄存器,由它确定定时/计数器的工作方式和功能;vTCON:定时/计数器的控制寄存器,用于控制T0、T1的启动和停止以及设置溢出标志。第2页,此课件共49页哦6.2.1 定时定时/计数器的基本结构计数器的基本结构定时/计数器的基本结构如图4.4所示:定时/计数器的结构框图第3页,此课件共49页哦6.2.1 定时定时/计数器的基本

2、结构计数器的基本结构v2.定时/计数器的工作原理v定时/计数器T0和T1的实质是加“1”计数器,即每输入一个脉冲,计数器加“1”,当加到计数器全为“1”时,再输入一个脉冲,就使计数器回零,且计数器的溢出使TCON中的标志位TF0或TF1置“1”,向CPU发出中断请求(定时/计数器中断允许时)。v区别:作定时器时脉冲来自于内部时钟振荡器,作计数器时脉冲来自于外部引脚。第4页,此课件共49页哦6.2.1 定时定时/计数器的基本结构计数器的基本结构1)定时器模式v此时输入脉冲是由内部时钟振荡器的输出经12分频后送来的。v如果晶振频率为12MHz,则一个机器周期是1,定时器每接收一个输入脉冲的时间为1

3、。v要定一段时间,只需计算一下脉冲个数即可。2)计数器模式v此时输入脉冲是由外部引脚P3.4(T0)或P3.5(T1)输入到计数器的。第5页,此课件共49页哦6.2.1 定时定时/计数器的基本结构计数器的基本结构v在每个机器周期的S5P2期间采样T0、T1引脚电平。当 某周期采样到一高电平输入,而下一周期又采样到一低 电平时,则计数器加“1”。v由于检测一个从“1”到“0”的下降沿需要2个机器周期,因 此要求被采样的电平至少要维持一个机器周期,否则会出 现漏计数现象,所以最高计数频率为晶振频率的1/24。v当晶振频率为12MHz时,最高计数频率不超500kHz,即计数脉冲的周期要大于2。第6页

4、,此课件共49页哦6.2.2 定时定时/计数器的控制与实现计数器的控制与实现 vMCS-51单片机定时/计数器的控制与实现由两个特殊功能寄存器TMOD、TCON完成。v1.工作方式寄存器 TMOD(89H)用于设置定时/计数器的工作方式,低4位用于T0,高4位用于T1。其格式如下:位D7D6D5D4D3D2D1D0字节地址TMODGATE C/M1M0GATE C/M1M089H第7页,此课件共49页哦6.2.2 定时定时/计数器的控制与实现计数器的控制与实现(1)GATE:门控位。vGATE0时,当软件使TCON中的TR0或TR1设置为“1”,则启动定时/计数器工作;vGATA1时,软件使T

5、R0或TR1设置为“1”,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。(2)C/:定时/计数模式选择位。vC/0为定时模式;vC/=1为计数模式。(3)M1M0:工作方式设置位。定时/计数器有4种工作方式,由M1M0进行设置,如表4-2所示。第8页,此课件共49页哦6.2.2 定时定时/计数器的控制与实现计数器的控制与实现 定时/计数器工作方式设置表M1M0工作方式功能说明00方式013位定时/计数器01方式116位定时/计数器10方式28位自动重装初值定时/计数器11方式3T0分成两个独立的8位定时/计数器;T1此方式停止计数第9页,此课件共49页哦6.2.2 定时定时/计数器

6、的控制与实现计数器的控制与实现v2.控制寄存器TCON(88H)TCON的低4位用于控制外部中断,TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:位D7D6D5D4D3D2D1D0字节地址TCONTF1TR1TF0TR088H位地址8FH8EH8DH8CH8BH8AH89H88H第10页,此课件共49页哦6.2.2 定时定时/计数器的控制与实现计数器的控制与实现(1)TF1:定时/计数器T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为“1”。在进入中断服务程序后TF1由硬件自动清“0”;若用于查询方式,此位可作为状态位供查询,但应注意查询后由软件清“0”。(2)TR

7、1:定时/计数器T1运行控制位。TR1置“1”时,定时/计数器T1开始工作;TR1置“0”时,定时/计数器T1停止工作。TR1由软件置“1”或清“0”。(3)TF0:定时/计数器T0溢出中断请求标志位,其功能与TF1类同。(4)TR0:定时/计数器T0运行控制位,其功能与TR1类同。第11页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式 MCS-51单片机定时/计数器T0有4种工作方式(方式0、1、2、3);T1有3种工作方式(方式0、1、2);T1还可作为串行通信接口的波特率发生器;若错将T1设置为方式3,则T1将停止工作;下面以定时/计数器T0为例进行介绍。第12

8、页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式 v1.方式0当TMOD的M1M0为00时,定时/计数器工作于方式0,如图4.5所示。方式0的逻辑结构第13页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。13位定时/计数器是为了与Intel公司早期的产品MCS-48系列兼容,该系列已过时,且计数初值装入易出错,所以在实际应用中常由16位的方式1取代。第14页,此课件共49页哦

9、6.2.3 定时定时/计数器的工作方式计数器的工作方式v2.方式1 当M1M0为01时,定时/计数器工作于方式1,如图4.6所示。方式1的逻辑结构第15页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式方式1的计数位数是16位,由TL0作为低8位、TH0 作为高8位,组成了16位加“1”计数器。计数个数M与计数初值N的关系为M216N。用于定时功能时,定时时间t的计算公式为:t=M机器周期=(216N)机器周期若晶振频率为12MHz,机器周期=1,初值N=0 65535范围时,则可定时范围为165.536ms。用于计数功能时,初值N=065535范围时,计数 范围为16

10、5536。第16页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式v3.方式2当M1M0为10时,定时/计数器工作在方式2,其逻辑结构如图4.7所示。方式2的逻辑结构第17页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式方式2为自动重装初值的8位计数方式。TL0作为8位定时/计数器使用,TH0为8位初值寄存器,保持不变。当TL0计满溢出时,由硬件使TF0置“1”,向CPU发出中断请求,而溢出脉冲打开TL0与TH0之间的三态门,将TH0中的计数初值自动送入TL0。TL0从初值重新进行加“1”计数。周而复始,直至TR0=0才会停止。第18页,此课件

11、共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式计数个数M与计数初值N的关系为M28N。用于定时功能时,定时时间t的计算公式为t=M机器周期=(28N)机器周期若晶振频率为12MHz,机器周期=1,初值N=0255范围时,则可定时范围为1256。用于计数功能时,初值N=0255范围时,计数范围为1256。由于工作方式2省去了重装常数的程序,特别适合于用作波特率发生器。第19页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式v4.方式3当M1M0为11时,T0被设置为方式3,其逻辑结构如图4.8所示。T0方式3的逻辑结构 第20页,此课件共49页哦6.2.

12、3 定时定时/计数器的工作方式计数器的工作方式方式3时,只适用于定时/计数器T0,T0分成为两个 独立的8位计数器TL0和TH0,在使用上注意以下特点:(1)TL0:可作为定时和计数器使用,占用了T0的控制位:C/、GATE、TR0、TF0和。(2)TH0:只能作为定时器使用,仅借用了T1的控制位TR1、TF1。第21页,此课件共49页哦6.2.3 定时定时/计数器的工作方式计数器的工作方式(3)T1:只能作为定时器运行,在T0方式3时,原则上 T1仍可按方式0、1、2工作,只是不能使用运行控 制位TR1和溢出标志位TF1,也不能发出中断请求 信号。方式设定后,T1将自动运行,如果要停止 工作

13、,只需将其设定为方式3即可。第22页,此课件共49页哦一定时/计数器的方式寄存器TMODTMODD7D6D5D4D3D2D1D0(89H)GATEC/TM1M0GATEC/TM1M0定时器1定时器0其中:M1、M0为工作方式选择位,用于对T0的四种工作方式,T1的三种工作方式进行选择,选择情况如下 M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113两个8位定时/计数器(只有T0有)6.2.3 定时定时/计数器的工作方式回顾计数器的工作方式回顾第23页,此课件共49页哦C/T:定时或计数方式选择位,当C/T=1时工作于计数方式;当C/T=

14、0时工作于定时方式。GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。二定时/计数器的控制寄存器TCONTCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1IE0IT0其中:TF1:定时/计数器T1的溢出标志位,当定时/计数器T1计满时,由硬件使它置位,如中断允许则触发T1中断。进入中断处理后由内部硬件电路自动清除。TR1:定时/计数器T1的启动位,可由软件置位或清零,当TR1=1时启动;TR1=0时停止。第24页,此课件共49页哦TF0:定时/计数器T0的溢出标志位,当定时/计数器T0计满时,由硬件使它置位,如中断允许则触发T0中断。

15、进入中断处理后由内部硬件电路自动清除。TR0:定时/计数器T0的启动位,可由软件置位或清零,当TR0=1时启动;TR0=0时停止。三、定时/计数器的工作方式1)方式0振荡器12TLx(低5位)THx(高8位)TFx与或TxTRxGATEINTxS2S1C/TTcy中断请求第25页,此课件共49页哦方式0是13位的定时/计数方式,因而最大计数值(满值)为2的13次幂,等于8192。如计数值为N,则置入的初值X为:X=8192-N 如定时/计数器T0的计数值为1000,则初值为7192,转换成二进制数为1110000011000B,则TH0=11100000B,TL0=00011000B。2)方式

16、1方式1的结构与方式0结构相同,只是把13位变成16位,16位的加法计数器被全部用上。由于是16位的定时/计数方式,因而最大计数值(满值)为2的16次幂,等于65536。如计数值为N,则置入的初值X为:X=65536-N如定时/计数器T0的计数值为1000,则初值为65536-1000=64536,转换成二进制数为1111110000011000B,则TH0=11111100B,TL0=00011000B。第26页,此课件共49页哦3)方式2振荡器12TLx(8位)THx(8位)TFx与或TxTRxGATEINTxS2S1C/TTcy中断请求重装初值8 方式2下,16位的计数器只用了8位来计数

17、,用的是TL0(或TL1)的8位来进行计数,而TH0(或TH1)用于保存初值。当TL0(或TL1)计满时则溢出,一方面使TF0(或TF1)置位,另一方面溢出信号又会触发图6.5上的三态门,使三态门导通,TH0(或TH1)的值就自动装入TL0(或TL1)。第27页,此课件共49页哦 由于是8位的定时/计数方式,因而最大计数值(满值)为2的8次幂,等于256。如计数值为N,则置入的初值X为:X=256-N 如定时/计数器T0的计数值为100,则初值为256-100=156,转换成二进制数为10011100B,则TH0=TL0=10011100B。注意:由于方式2计满后,溢出信号会触发三态门自动地把

18、TH0(或TH1)的值装入TL0(或TL1)中,因而如果要重新实现N个单位的计数,不用重新置入初值。4)方式3 方式3只有定时/计数器T0才有,当M1M0两位为11时,定时/计数器T0工作于方式3,方式3的结构如下图.方式3下,定时/计数器T0被分为两个部分TL0和TH0,其中,TL0可作为定时/计数器使用,占用T0的全部控制位:GATE、C/T、TR0和TF0;而TH0固定只能作定时器使用,对机器周期进行计数,这时它占用定时/计数器T1的TR1位、TF1位和T1的中断资源。第28页,此课件共49页哦振荡器12TL0(8位)TF0与或T0TR0GATEINT0S2S1C/TTcy中断请求TH0

19、(8位)TF1S2中断请求T1TR1第29页,此课件共49页哦一定时一定时/计数器的编程计数器的编程MCS-51单片机定时单片机定时/计数器计数器初始化过程初始化过程如下:如下:1根据要求选择方式,确定方式控制字,写入方式控制寄存器根据要求选择方式,确定方式控制字,写入方式控制寄存器TMOD。2根据要求计算定时根据要求计算定时/计数器的计数值,再由计数值求得初值,写入初值寄存器。计数器的计数值,再由计数值求得初值,写入初值寄存器。3根据需要开放定时根据需要开放定时/计数器中断(后面须编写中断服务程序)。计数器中断(后面须编写中断服务程序)。4设置定时设置定时/计数器控制寄存器计数器控制寄存器T

20、CON的值,启动定时的值,启动定时/计数器开始工作。计数器开始工作。5等待定时等待定时/计数时间到,到则执行中断服务程序;如用查询处理则编写查询程计数时间到,到则执行中断服务程序;如用查询处理则编写查询程序判断溢出标志,溢出标志等于序判断溢出标志,溢出标志等于1,则进行相应处理。,则进行相应处理。6.2.4 定时定时/计数器的编程计数器的编程第30页,此课件共49页哦v程序设计可遵循以下几个方面进行应用设计:(1)计算定时/计数器的初值;(2)在主程序中进行初始化设计:包括定时/计数器的初 始化和中断初始化,即对TH0、TL0或TH1、TL1,TMOD、TCON、IP、IE赋值;(3)中断服务

21、程序设计。第31页,此课件共49页哦二定时二定时/计数器的应用计数器的应用 通常利用定时通常利用定时/计数器来产生周期性的波形。利用定时计数器来产生周期性的波形。利用定时/计数器产生周期性波形计数器产生周期性波形的基本思想是:利用定时的基本思想是:利用定时/计数器产生周期性的定时,定时时间到则对输出端进计数器产生周期性的定时,定时时间到则对输出端进行相应的处理。如产生周期性的方波只须定时时间到对输出端取反一次即可。行相应的处理。如产生周期性的方波只须定时时间到对输出端取反一次即可。【例例6-1】设系统时钟频率为设系统时钟频率为12MHZ,用定时,用定时/计数器计数器T0编程实现从编程实现从P1

22、.0输输出周期为出周期为500s的方波。的方波。分析:从分析:从P1.0输出周期为输出周期为500s的方波,只须的方波,只须P1.0每每250s取反一次则可。取反一次则可。当系统时钟为当系统时钟为12MHZ,定时,定时/计数器计数器T0工作于方式工作于方式2时,最大的定时时间为时,最大的定时时间为256s,满足,满足250s的定时要求,方式控制字应设定为的定时要求,方式控制字应设定为00000010B(02H)。)。系统时钟为系统时钟为12MHZ,定时,定时250s,计数值,计数值N为为250,初值,初值X=256-250=6,则,则TH0=TL0=06H。第32页,此课件共49页哦汇编程序:

23、ORG 0000HLJMP MAINORG 000BH ;中断处理程序CPL P1.0RETIORG 0100H ;主程序MAIN:MOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB EASETB ET0SETB TR0SJMP$ENDC语言程序:#include /包含特殊功能寄存器库sbit P1_0=P10;void main()TMOD=0 x02;TH0=0 x06;TL0=0 x06;EA=1;ET0=1;TR0=1;while(1);void time0_int(void)interrupt 1 /中断服务程序 P1_0=!P1_0;(1)采用中断

24、处理方式的程序:第33页,此课件共49页哦(2)采用查询方式处理的程序汇编程序:ORG 0000HLJMP MAINORG 0100H ;主程序MAIN:MOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB TR0LOOP:JBC TF0,NEXT ;查询计数溢出SJMP LOOPNEXT:CPL P1.0 CLR TF0SJMP LOOPSJMP$ENDC语言程序:#include /包含特殊功能寄存器库sbit P1_0=P10;void main()char i;TMOD=0 x02;TH0=0 x06;TL0=0 x06;TR0=1;for(;)if(TF

25、0)TF0=0;P1_0=!P1_0;/查询计数溢出第34页,此课件共49页哦如果定时时间大于如果定时时间大于65536s,这时用一个定时,这时用一个定时/计数器直接处理不能实现,这计数器直接处理不能实现,这时可用两个定时时可用两个定时/计数器共同处理或一个定时计数器共同处理或一个定时/计数器配合软件计数方式处理。计数器配合软件计数方式处理。【例例6-2】设系统时钟频率为设系统时钟频率为12MHZ,编程实现从,编程实现从P1.1输出周期为输出周期为1s的方波。的方波。根据例根据例5-2的处理过程,这时应产生的处理过程,这时应产生500ms的周期性的定时,定时到则对的周期性的定时,定时到则对P1

26、.1取反就可实现。由于定时时间较长,一个定时取反就可实现。由于定时时间较长,一个定时/计数器不能直接实现,可用定计数器不能直接实现,可用定时时/计数器计数器T0产生周期性为产生周期性为10ms的定时,然后用一个寄存器的定时,然后用一个寄存器R2对对10ms计数计数50次或用定时次或用定时/计数器计数器T1对对10ms计数计数50次实现。系统时钟为次实现。系统时钟为12MHZ,定时,定时/计数计数器器T0定时定时10ms,计数值,计数值N为为10000,只能选方式,只能选方式1,方式控制字为,方式控制字为00000001B(01H),初值),初值X:X=65536-10000=55536=110

27、1100011110000B则则TH0=11011000B=D8H,TL0=11110000B=F0H。第35页,此课件共49页哦(1)用寄存器)用寄存器R2作计数器软件计数,中断处理方式。作计数器软件计数,中断处理方式。汇编程序:汇编程序:ORG 0000HLJMP MAINORG 000BHLJMP INTT0ORG 0100HMAIN:MOV TMOD,#01HMOV TH0,#0D8HMOV TL0,#0F0HMOV R2,#00HSETB EASETB ET0SETB TR0SJMP$INTT0:MOV TH0,#0D8H MOV TL0,#0F0HINC R2CJNE R2,#32

28、H,NEXTCPL P1.1MOV R2,#00HNEXT:RETIEND第36页,此课件共49页哦C语言程序:#include /包含特殊功能寄存器库sbit P1_1=P11;char i;void main()TMOD=0 x01;TH0=0 xD8;TL0=0 xf0;EA=1;ET0=1;i=0;TR0=1;while(1);void time0_int(void)interrupt 1 /中断服务程序TH0=0 xD8;TL0=0 xf0;i+;if(i=50)P1_1=!P1_1;i=0;第37页,此课件共49页哦(2)用定时/计数器T1计数实现,定时/计数器T1工作于计数方式时

29、,计数脉冲通过T1(P3.5)输入,设定时/计数器T0定时时间到对T1(P3.5)取反一次,则T1(P3.5)每20ms产生一个计数脉冲,那么定时500ms只须计数25次,设定时/计数器T1工作于方式2,初值X=256-25=231=11100111B=E7H,TH1=TL1=E7H。因为定时/计数器T0工作于方式1,定时,则这时方式控制字为01100001B(61H)。定时/计数器T0和T1都采用中断方式工作。汇编程序如下:ORG 0000HLJMP MAINORG 000BHMOV TH0,#0D8HMOV TL0,#0F0HCPL P3.5RETIORG 001BHCPL P1.1RET

30、I第38页,此课件共49页哦ORG 0100HMAIN:MOV TMOD,#61HMOV TH0,#0D8HMOV TL0,#0F0HMOV R2,#00HMOV TH1,#0E7HMOV TL1,#0E7HSETB EASETB ET0SETB ET1SETB TR0SETB TR1SJMP$ENDC语言程序如下:#include /包含特殊功能寄存器库sbit P1_1=P11;sbit P3_5=P35;void main()第39页,此课件共49页哦TMOD=0 x61;TH0=0 xD8;TL0=0 xf0;TH1=0 xE7;TL1=0 xE7;EA=1;ET0=1;ET1=1;T

31、R0=1;TR1=1;while(1);void time0_int(void)interrupt 1 /T0中断服务程序 TH0=0 xD8;TL0=0 xf0;P3_5=!P3_5;void time1_int(void)interrupt 3 /T1中断服务程序 P1_1=!P1_1;第40页,此课件共49页哦v【例6-3】如图4.3所示,按键S接至外部中断INT1,按一次键LED闪烁点亮,闪烁频率为1Hz,蜂鸣器发声,发声频率为1kHz,再按一次键LED灭,蜂鸣器关闭,循环往复。晶振频率为6MHz。第41页,此课件共49页哦v【解题思路】同上一题类似,本题需要产生两个方波,一个频率为f

32、=1Hz 周期T=1s,另一个频率为f=1kHz 周期T=1ms。所以此题转化为由定时器产生0.5s和500定时的问题。第42页,此课件共49页哦【实现方法】(1)500定时:将T0设置为方式2,即自动重装初值的8位计数方式,并开放T0中断,在中断程序里对P2.7取反操作。(2)0.5s定时:将T1设置为方式1,完成100ms定时,并开放T1中断,在中断程序里设置一个“软时钟”,即一个CLOCK=30H内存单元,每中断一次,CLOCK加“1”,CLOCK累计5次(即0.5s),对P0.0取反操作。第43页,此课件共49页哦【解题步骤】(1)确定定时器T0、T1的初值N0、N1:由于晶振为6 M

33、Hz,所以1个机器周期。所以 计数值 即应将06H送入TH0和TL0中。计数值 即应将3CH送入TH0、0B0送入TL0中。第44页,此课件共49页哦(2)求T0的方式控制字GATE=0,C/=0,M1M0=10;求T1的方式控制字GATE=0,C/=0,M1M0=01;合并方式控制字为TMOD=00010010B=12H,即T0的 方式2和 T1的方式1;(3)本例设有3个中断,为了提高按键响应实时性,可将外部中断INT1为高优先级,并在INT1中断服务程序中设置T0、T1相关特殊功能寄存器。第45页,此课件共49页哦【实现程序】ORG0000H;*伪指令*LED BITP0.0BUZZER

34、 BIT P2.7CLOCK DATA30HLJMP MAIN;跳转至主程序;*中断入口地址*ORG 0003H LJMP INT1_INT;跳转至中断服务程序 ORG 000BH LJMP T0_INT ;跳转至T0中断服务程序 ORG 001BH LJMP T1_INT ;跳转至T1中断服务程序 ORG 0100H;*中断初始化*第46页,此课件共49页哦 MAIN:SETB IT1;外中断采用下降沿触发SETBEX1;允许中断SETB PX1;为高优先级SETB EA;开总中断SETB F0;按键切换标志,F0=1,;LED灭;F0=0,LED亮;继续执行主程序其他部分SJMP$;等待中

35、断;*中断服务程序*INT1_INT:CPLF0;不需保护现场JNBF0,OPEN_T;F0=0,开放T0、T1中断CLRTR0;关闭T0时钟CLRET0;关闭T0中断CLRTR1;关闭T1时钟CLRET1;关闭T1中断RETI;中断返回第47页,此课件共49页哦 OPEN_T:MOV TH0,#06H ;装入计数初值 MOV TL0,#06H MOV TH1,#3CH MOV TL1,#0B0H SETB TR0;启动T0时钟SETB ET0;开放T0中断SETB TR1;启动T1时钟SETB ET1;开放T1中断RETI;*T0中断服务程序*T0_INT:CPLBUZZER;不需重新装入计数初值RETI;*T1中断服务程序*T1_INT:PUSH ACC;保护现场PUSH PSW CLRTR1第48页,此课件共49页哦 MOV TH1,#3CH ;重新装入计数初值 MOV TL1,#0B0H SETB TR1INCCLOCK;软时钟加1MOVA,CLOCKCJNEA,#5,TMPL TMPL:JCRETURN;不到0.5s返回 CPLLED;到0.5s闪烁变换 MOV CLOCK,#0;软时钟清零 RETURN:POPPSW POP ACC RETI END第49页,此课件共49页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁