汇编语言编程,调用延时子程序延时1秒,初始P0,P1分别输出年级学号( 如 学号18102,p0输出181,P1输出02)。1S延时,变灭,然后程序交替变化
时间: 2024-03-19 10:44:05 浏览: 133
好的,针对您的问题,我可以给出以下汇编语言代码:
```
; 延时函数
DELAY:
MOV R7, #5
DELAY1:
MOV R6, #250
DELAY2:
DJNZ R6, DELAY2
DJNZ R7, DELAY1
RET
; 主程序
MAIN:
MOV P0, #0
MOV P1, #0
; 输出年级
MOV P0, #0x81
CALL DELAY
CLR P0
; 输出学号
MOV P1, #0x02
CALL DELAY
CLR P1
; 交替变换
MOV R0, #0
LOOP:
MOV A, R0
CPL A
JNC LED_ON
CLR P0.0
SETB P1.0
JMP DELAY_1S
LED_ON:
SETB P0.0
CLR P1.0
DELAY_1S:
CALL DELAY
INC R0
SJMP LOOP
END
```
这段代码实现了您的要求,其中延时函数 `DELAY` 用来延时1秒,而主程序 `MAIN` 中先输出年级和学号,然后交替变换 P0 和 P1 的最低位,每次变换后延时1秒。
阅读全文