找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6927|回复: 5
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
最近学汇编,找到两个程序本应该两个程序都可以实现功能。但是第一个程序输入之后编译有错误,还望各位指教。

图片2.png (21.23 KB, 下载次数: 17)

电路图

电路图

图片1.png (5.83 KB, 下载次数: 27)

程序

程序
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

6#
ID:390650 发表于 2018-8-28 14:25 | 只看该作者
先把第一句的org 10改为org 00h
回复

使用道具 举报

5#
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 单片机教程网

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