找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6938|回复: 5
收起左侧

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

[复制链接]
ID:303135 发表于 2018-8-27 15:43 | 显示全部楼层 |阅读模式
最近学汇编,找到两个程序本应该两个程序都可以实现功能。但是第一个程序输入之后编译有错误,还望各位指教。

电路图

电路图

程序

程序
回复

使用道具 举报

ID:137836 发表于 2018-8-27 15:59 | 显示全部楼层
没有定义位操作
回复

使用道具 举报

ID:387733 发表于 2018-8-27 16:44 | 显示全部楼层
效果应该是不一样的,上面是开关按下放开后,灯反转一次,下面是按下亮灯,放开灭灯。
回复

使用道具 举报

ID:7485 发表于 2018-8-28 09:31 | 显示全部楼层
第一句是关键。改为   “ORG    0”    直接将“0H”作为程序的首地址。

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

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

看来你还需要从头学起。
回复

使用道具 举报

ID:384109 发表于 2018-8-28 10:20 | 显示全部楼层
第一,P0口电路应该要接上拉电阻。
第二,第一段被注释的程序是针对按键的,而电路里的器件算是开关,所以第一段程序需要把开关拉低后再拉高,才能看到效果。
第三,第一段程序缺少END。
第四,第二段程序里,P0.0是检测输入,所以SETB P0.0是无用的,应该是在对LED不同的操作的地方使用JB P0.0和JNB P0.0来做判断。
回复

使用道具 举报

ID:390650 发表于 2018-8-28 14:25 | 显示全部楼层
先把第一句的org 10改为org 00h
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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