永发信息网

帮我翻一下好吗?比如说第一句是程序起始地址,从0开始存放,后面我就不懂了

答案:2  悬赏:40  手机版
解决时间 2021-02-05 10:01
ORG 0000H

LJMP START

ORG 0100H

START:

MOV SP,#50H

MOV R7,#11111110B

MOV A,R7

MOV P2,A

SETB C

LOOP:

MOV A,R7

RLC A

MOV P2,A

MOV R7,A

LCALL DELAY

SJMP LOOP

DELAY:

MOV R0,#0FFH

LP1:

MOV R1,#0FFH

LP0: DJNZ R1,LP0

DJNZ R0,LP1

RET

END
能帮我翻译下这个单片机汇编语言吗?
最佳答案
这貌似是个跑马灯

LJMP Start 让程序跳到真正的存放代码的地方,即 0100H

然后做了一些初始化工作,比如

MOV SP,#50H 把栈顶指针指向了 50H

MOV R7,#11111110H
MOV A,R7
MOV P2,A
这三句其实就是利用 A 做了个二传手把 11111110 送到了 P2 口,如果 P2 口连着灯的话,一般是低电平把灯点亮,所以最后一根线 P2.0 连着的等就会亮,其他灭,因为 P2.0 是 0,其他都是 1

SETB C 把Cy 置为1,用于和后边的RLC 配合

RLC A 带Cy循环左移(Rotate Left With Cy),你就可以想象成 P2 口和 Cy 位构成的 9 个二进制位构成了一个圈, 0 在圈中依次左移,本来是 P2.0 ,然后是 P2.1 。。。这样,亮着的灯就会出现左移的现象,但由于特别快,所以由于有视觉残留效应就会看起来都是亮的,怎么解决呢?亮起来延时一小会就好了,这时候其他灯就会灭了,所以后边的

LCALL DELAY 就是调用了一段延时子程序

DELAY 子程序其实也很简单,就是一个嵌套的循环,外层循环 FF 次,内层也是 FF 次,利用执行 DJNZ 指令耗费的时间配合循环来延长总的时间。

DJNZ 指令可以这样理解: Decrease Jump While Not Zero ,就是先减一,然后判断是否为 0 ,不为 0 则 JUMP 跳转。
全部回答
还行
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一千加油站地址好找么,我有些事要过去
怎么做记叙文阅读理解?
令阃的意思是什么啊?知道的请说下!
中国石化三溪停车区加油站地址在哪,我要去那
当项目潜在收益很高,但是技术开发成功的可能
电瓶车电瓶修过后充电只能充进一点点,电瓶坏
威尔谛姜杰琴城顺义分部地址在哪,我要去那里
移动100m宽带玩英雄联盟怎么样
昨天还在一起吃的饭今天给他微信突然间他一个
东春加油站地址好找么,我有些事要过去
我的空间设置了对好友可见,但是有条说说好像
下图是自然界碳循环的简图,据图分析下列叙述
商飙观的意思是什么啊?知道的请说下!
福特级航母与尼米兹级航母的主要区别是什么先
请问:高铁火车要充电吗?谢谢
推荐资讯
四季鞋业地址在哪,我要去那里办事
创维电视系统问题,创维电视开机后卡在“连接
小米3手机qq来信息屏幕上老弹出提示,怎么能不
下图表示某草原生态系统各成分之间的关系。请
准备去学做销售房地产,我不怕辛苦。不怕拒绝
我在沪渝高速1386km处超速20以上未达到50%扣
我儿子叫贤睿,这名字有寓意的名字吗?可以名
一本书的页码是连续的自然数,1,2,3,…,
容德汽贸地址有知道的么?有点事想过去
美术教育(衡阳蒸湘区)地址有知道的么?有点事
斯坦福国际幼儿园(成都双流县)地址在哪,我要
迅意广告图文地址好找么,我有些事要过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?