帮忙查出我的错好吗?我实在找不出。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV A,#0FEH
MOV P1,A
AJMP DELAY
E1: RL A
AJMP DELAY
MOV R5,A
CJNE A,#7FH,E1 ;A与7f比较不等则跳回E1(我也不知道对不对,个人意愿。)
E2: RR A
AJMP DELAY
; MOV R4,A
CJNE A,#0FEH,E2
AJMP MAIN
DELAY:MOV R7, #255
DE1: MOV R6, #255
DE2: DJNZ R6, DE2
DJNZ R7, DE1
RET
END
目的:实现8个led灯先来回流动。
追问:为什么在调用第一个延时完时它返回到的时LJMP MAIN?而且在调试时有这个错误提醒能告诉为什么或哪里有这文档吗?
答案:E1 E2 里面的MOV R5,A MOV R4,A没有意义。
换成MOV P1,A 试试看吧。P1没有输出 灯是不会变化的。
CJNE A,#7FH,E1 是对的 灯从 11111110 11111101....10111111 01111111 变化 如果A左移后成为了7F,就运行E2程序段 进行右移。
上一个:汇编地址换算问题
下一个:王爽汇编6.1(1)那个我看晕了,来汇编人人帮我的疑问阿