找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机开关控制灯的亮灭汇编语言程序的问题

查看数: 7602 | 评论数: 5 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-8-27 15:43

正文摘要:

最近学汇编,找到两个程序本应该两个程序都可以实现功能。但是第一个程序输入之后编译有错误,还望各位指教。

回复

ID:390650 发表于 2018-8-28 14:25
先把第一句的org 10改为org 00h
ID:384109 发表于 2018-8-28 10:20
第一,P0口电路应该要接上拉电阻。
第二,第一段被注释的程序是针对按键的,而电路里的器件算是开关,所以第一段程序需要把开关拉低后再拉高,才能看到效果。
第三,第一段程序缺少END。
第四,第二段程序里,P0.0是检测输入,所以SETB P0.0是无用的,应该是在对LED不同的操作的地方使用JB P0.0和JNB P0.0来做判断。
ID:7485 发表于 2018-8-28 09:31
第一句是关键。改为   “ORG    0”    直接将“0H”作为程序的首地址。

或者“ORG   0             在0H字节写入一个跳转指令,跳到“10H”执行程序
        JMP    10H”      跳转指令(编译软件会自动识别需要用AJMP、 LJMP、 SJMP 的哪一个)

单片机上电或复位后是从0单元开始执行程序,你的0单元什么都没有,他当然无法执行。

看来你还需要从头学起。
ID:387733 发表于 2018-8-27 16:44
效果应该是不一样的,上面是开关按下放开后,灯反转一次,下面是按下亮灯,放开灭灯。
ID:137836 发表于 2018-8-27 15:59
没有定义位操作

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表