新闻中心

EEPW首页>嵌入式系统>设计应用> MCS-51单片机定时系统

MCS-51单片机定时系统

作者: 时间:2012-07-06 来源:网络 收藏

定时/计数器和中断源的多少直接决定的性能。内部有两个可编程的16位定时/计数器和5个中断源,具有较强的实时处理能力和对外部应急事件的处理能力。要充分发挥的功能,必须充分利用定时和中断。
定时器/计数器
一、定时和延时的区别
在单片机程序清单中,经常看到延时子程序和定时(中断)子程序。它们都能使单片机间隔一段时间后再做另一件事。例如,控制两组灯的交替闪亮。以1999年第38期九版图13为例,下面分别是用延时和定时方法的源程序。
程序1:
ORG 0000H
AJMP MAIN
ORG 50H
MAIN:MOV P1,#0AAH;第一组灯亮
ACALL DELAY ;调延时子程序
MOV P1,#55H ;第二组灯亮
ACALL DELAY ;调延时子程序
AJMP MAIN ;循环
DELAY:MOV R0,#08H ;延时子程序,当fc=6MHz时,约延时1秒
L1:MOV R1,#0FFH ;
L2:MOV R2,#0FFH;
L3:DJNZ R2,L3
DJNZ R1,L2
DJNZ R0,L1
RET
END
程序2:
ORG 0000H
AJMP MAIN
ORG 0 WT0;转T0中断服务子程序
ORG 50H
MAIN:MOV 21 TL0,#6;装入定时初值
MOV TH0,#6;装入重置定时初值
MOV TMOD,#02H;设T0为工作方式2
SETB EA;允许CPU中断
SETB ETO;允许TO中断
SETB TRO;允许TO计数
MOV P1,#55H;
CLR 00H
M:P1,#55H;CPU去执行其他任务
JNB 0 P1;定时到1秒,灯的状态翻转
CLR 0 M;循环
WTO:PUSH ACC;定时中断服务子程序
PUSH PSW;
INC 21H
MOV A,21H
CJNE A,#200,TORETI
MOV 21 22 A,22H
CJNE A,#10,TORETI
MOV 22 0 PSW
POP ACC
RETI
END


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭