单片机实验6思考题 求助大神来帮助下小学渣,,,,,
LJMP MAIN
MAIN: MOV DPTR, #0003H
LOOP0:MOV A, #80H
MOVX @DPTR, A
LOOP1:LCALL DELAY
INC A
MOVX @DPTR, A
CJNE A, #0FH , LOOP1
LCALL DELAY
LJMP LOOP0
DELAY:MOV R2, #17H
DL2: MOV R3, #98H
DL1: MOV R4, #46H
DL0: DJNZ R4, DL0
DJNZ R3, DL1
DJNZ R2, DL2
RET
END
你这程序是不是有问题啊,什么时候会结束呢?
没问题 就是不会分析
也就是把80 以后的内容存到外部03地址开始的地址, CJNE A, #0FH , LOOP1 A什么是是0f呢?我也不知道
这个相应简单啊!
ORG 0000H;程序从0地址开始运行
LJMP MAIN;跳转到MAIN执行
MAIN: MOV DPTR, #0003H;复制立即数
LOOP0:MOV A, #80H;将80H送A
MOVX @DPTR, A;再把A中的值放到地址外部数据存储器中
LOOP1:LCALL DELAY;延时一段时间
INC A;A中的数减一
MOVX @DPTR, A;再把A中的值放到地址外部数据存储器中
CJNE A, #0FH , LOOP1;A中的数值不为0,则转到LOOP1执行
LCALL DELAY;若A中的数值=0,则延时一段时间
LJMP LOOP0;再重头开始这段程序
/****** 延时子程序 ******/
DELAY:MOV R2, #17H
DL2: MOV R3, #98H
DL1: MOV R4, #46H
DL0: DJNZ R4, DL0
DJNZ R3, DL1
DJNZ R2, DL2
RET
END