永发信息网

请大神帮忙翻译下下面这段程序语句,单片机msc-51,谢谢了

答案:2  悬赏:80  手机版
解决时间 2021-03-16 23:27
  • 提问者网友:几叶到寒
  • 2021-03-16 18:18
请大神帮忙翻译下下面这段程序语句,单片机msc-51,谢谢了
最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-03-16 18:34
ORG 0000H
LJMP 1000H
ORG 1000H
MAIN:CALL INI8255 ;调用82255初始化程序
MOV 30H,#00H ;30H赋值0
LOOP:DPTR,#TAB ;取表首地址赋值给DPTR
MOV A,30H ;30H值送累加器A
MOVC A,@A+DPTR ;查表
CALL DELAY ;调用延时
SETB P1.7 ;P1.7置1
JB P1.7,FUNCTION ;P1.7为1则转移到FUNCTION
DEC 30H ;30H值减1
MOV A,30H ;30H值送累加器
CJNE A,#0FFH,NEXT1 ;如果A不等于FFH则转NEXT1
MOV 30H,#3 ;30H值赋值为3
NEXT1:SJMP LOOP ;转移到LOOP
FUNCTION:INC 30H ;30H值加1
MOV A,30H ;30H值送A
CJNE A,04H,NEXT2 ;如果A不等于4(这里可能少了#号)则转移到NEXT2
MOV 30H,#0 ;30H值赋值为0
NEXT2:SJMP LOOP ;转移到LOOP
INI8255:MOV P2,#80H ;P2口赋值80H
MOV R0,#03H ;R0赋值03H
MOV A,#80H ;A等于80H
MOVX @R0,A ;外部地址03H赋值80H
RET
DELAY:MOV R7,#40 ;外层循环40次
DEL1:MOV R6,#500 ;内层循环500次(这是不可能的,需要修改少于256)
DEL2:DJNZ R6,DEL2 ;内层循环
DJNZ R7,DEL1 ;外层循环
RET
TAB:DB 03H,06H,0CH,09H ;表
END
全部回答
  • 1楼网友:蓝房子
  • 2021-03-16 19:26
不是你自己写的?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯