怎么将此汇编程序改成C语言

2019-07-18 08:43发布

昨天下载了一个单片机和8255的相关文档,可是里面是汇编编写的,自己捣鼓了很长时间也没有将其成功转化为C语言,故在此想各位高手请教。程序是这样的:
ORG 0000H;  复位入口地址
LJMP MAIN
ORG 002CH;   主函数起始地址
MAIN:MOV DPTR,#0FF7FH;  FF7FH为8255a的控制寄存器地址
MOV A,#80H
MOVX @DPTR,A ; 8255a上的   PA PB PC都工作在方式0,都用用作输出
MOV DPTR,#0FF73H ;将PA口的地址传给DPTR
MOV A,#00H
MOVX @DPTR,A  ;初始化端口PA
NEXT:MOV A,#01H
MOVX @DPTR,A;  点亮二极管
LCALL DELAYIS  ;延时一秒
MOV A,#00H
MOVX @DPTR,A ;熄灭引脚上的二极管
LCALL DELAYIS
LJMP NEXT
DELAYIS:MOV 7FH,#16
D1:MOV 7EH,#252
D2:MOV 7DH,#122
D3:DJNZ 7DH,D3
DJNZ 7FH,02
DJNZ 7FH,D1
RET
END

谢谢!
PROTUES仿真图 PROTUES仿真图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
红尘笑客288
1楼-- · 2019-07-18 11:26
这个是不能转为C的。你看懂了,再用C写就OK了啊
王大厝
2楼-- · 2019-07-18 13:45
是的
夏天的黄昏
3楼-- · 2019-07-18 15:44
红尘笑客288 发表于 2012-12-4 21:41
这个是不能转为C的。你看懂了,再用C写就OK了啊

谢谢啊,已经弄出来了!
夏天的黄昏
4楼-- · 2019-07-18 19:52
王大厝 发表于 2012-12-4 21:57
是的

谢谢啊,已经弄出来了
夏天的黄昏
5楼-- · 2019-07-18 20:09
 精彩回答 2  元偷偷看……
夏天的黄昏
6楼-- · 2019-07-18 20:18
红尘笑客288 发表于 2012-12-4 21:41
这个是不能转为C的。你看懂了,再用C写就OK了啊

关于8255我还有点疑问,一,8255是不是可以用单片机直接控制A0,A1,/WR,/RD,/CS而不用再写控制字;二,就是采取图中的连线方式,在仿真的时候,我观察/WR,/RD全部为高电平,但是灯依然还会闪烁。我的理解是当写东西的时候/WR应该为低电平啊。请帮忙解释下吧,非常感谢^_^

一周热门 更多>