找回密码
 立即注册

QQ登录

只需一步,快速开始

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

汇编写51单片机程序,运行失败

[复制链接]
跳转到指定楼层
楼主
本人是菜鸟,自学单片机,因为是音响发烧友,所以DIY音响时会用到单片机做一些简单的控制。最近在DIY PCM63的DAC,用51单片机进行控制和显示。结果程序运行失败。请各位老师帮忙看看,指导一下,谢谢。

基本思路是,上电后一直不停的检测K1。如果是低平电时就开行进入工作状态,如果是高电平就进入待机状态,1602 LCD上显示待机信息。在工作为过程中启用定时器0,作按键定检测和K1的状态识识,如果K1为0继续保持正常工作状态,如果K1为1,就跳转到待机模式,显示待机信息。

现在的情况是,开机能正常显示待机信息,也能正常判断K2状态,但是如果进入在正常工作模式中,检测到K2为1(高电平)时跳转到待机模式后,LCD不能显示待机信息了。而且不现检测K2的状态,好像是死机了。

下面贴上程序,写得非常垃圾,请各位老师不要嘲笑,我虚心接收各位老师的指点,谢谢 。




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

使用道具 举报

沙发
ID:280454 发表于 2022-1-30 11:38 来自手机 | 只看该作者
请各位老师帮忙检查一下指点一下。谢谢。
回复

使用道具 举报

板凳
ID:283954 发表于 2022-1-30 13:28 | 只看该作者
看别人写的汇编有如看天书,不知道我的理解是否有误:第一次看到纯粹靠中断来运行的程序,开机后什么都没有设定进入待机,按键后进入MAIN,运行到末端就在那空转等中断,没有中断就没有运作,也没有LED会闪来指示“我还活着”,所以才有“不知道是否死机”的疑问,中断程序里还有“LCALL DELAY”,不知道去了那会被打转多少次,回来时已是天上人间,这期间是否有其他中断发生未及处理或处理不当,副程式里还有AJMP到FS44,FS44是干什么的看不到,去了也不懂有没有回来,如果没有回来底下那个RET就永远无法执行,每多一次中断就积压一组回归地址在STACK没有出来,直到超过极限而崩溃,大概是这样吧?这里的作者名字全部变成代号了,无名无姓,认不出,不产生情感。
回复

使用道具 举报

地板
ID:280454 发表于 2022-1-30 18:27 来自手机 | 只看该作者
dalaoshi 发表于 2022-1-30 13:28
看别人写的汇编有如看天书,不知道我的理解是否有误:第一次看到纯粹靠中断来运行的程序,开机后什么都没有 ...

已经明确的说了。1602LCD,为什么还要LED呢?
回复

使用道具 举报

5#
ID:137736 发表于 2022-1-30 20:37 | 只看该作者
用C写吧,简单明了,易于理解
回复

使用道具 举报

6#
ID:280454 发表于 2022-1-31 14:58 来自手机 | 只看该作者
zmc419 发表于 2022-1-30 20:37
用C写吧,简单明了,易于理解

我不会C啊,尴尬。。。
回复

使用道具 举报

7#
ID:255377 发表于 2022-2-19 00:00 来自手机 | 只看该作者
sfes1314 发表于 2022-1-30 11:38
请各位老师帮忙检查一下指点一下。谢谢。

Work:
JNB  KEY, No_work    ;0-执行下一行,1-跳转不工作
CALL Display_1602
JMP  Work

No_work:
           JNB  KEY,Work  ;检测是否为0
提供你思路

      
回复

使用道具 举报

8#
ID:283954 发表于 2022-2-19 17:43 | 只看该作者
自己开发底板和用汇编写程序,至少要有一颗LED做指示,因为只要一个代码。SETB或CLR就能看到程序是否运行到那边,或者死在那里,LCD是个复杂设备,就算MCU不去理他,字符还在那,连光标都会闪呢!所以不能作为除错之用。
回复

使用道具 举报

9#
ID:1003077 发表于 2022-2-19 19:30 | 只看该作者
WriteIR程序没出现,正常进入后显示内容怎么给出看不来,也有可能你正常进入后给值逻辑有问题吧。你配个电路连接图可能更容易让人看明白
回复

使用道具 举报

10#
ID:1003077 发表于 2022-2-19 19:32 | 只看该作者
先把定时器和外部中断在main一开始就初始化,EA置1写在SJMP $前,使程序易读
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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