单片机知识,哪位给解答一下
来源:百度知道 编辑:UC知道 时间:2024/05/26 08:28:10
;P1.0和P1.1引脚分别输出周期为5s和500ms的方波,用定时中断
;P1.0是2.5S取反一次,P1.1是0.25S取反一次,
;用定时器0做0.05S的定时,再做两个软件计数器,让0.05S跑50次和5次就到
;2.5S取反一次和0.25S取反一次
;**************************************************
TM1 EQU 5
TM2 EQU 50
ORG 0000H
AJMP START
ORG 000BH
AJMP TIME0
ORG 30H
START:
MOV P1,#0FFH
MOV R6,#00H ;软件计数器预清0
MOV R7,#00H
MOV TMOD,#00000001B ;定时/计数器0工作于方式1
MOV TH0,#3CH
MOV TL0,#0B0H ;即数15536,定时0.05ms
SETB EA
SETB ET0
SETB TR0 ;定时0开始运行
LOOP:
AJMP LOOP
TIME0: ;定时器0的中断处理程序
INC R6
INC R7 ;两个计数器都加1
MOV A,R6
CJNE A,#TM1,T_NEXT ;30H单元中的值到了5了吗?
T_L1:
CPL P1.1 ;到了,取反P11
MOV