打印

打开单片机的中断,为什么1602显示乱码

[复制链接]
3121|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LYB911|  楼主 | 2010-8-4 13:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;-------------------------;1602初始化
     MOV P0,#01H;00000001B,清屏 ;
     LCALL ENABLE
     MOV P0,#38H;00111000B ;8位数据传送,2行数据显示
     LCALL ENABLE
     MOV P0,#0CH;00001100B ;显示屏开,不显示光标,光标不闪烁
     LCALL ENABLE
     MOV P0,#06H;00000110B ;字符不动,光标右移
     LCALL ENABLE
     MOV P0,#80H
     LCALL ENABLE
     MOV P0,#01H;00000001B ;清屏
     LCALL ENABLE
     MOV DPTR,#TABLE1      
     LCALL WRITE1          ;
;-----------------------------
     SETB EX0      ;外部中断0,申请中断
     SETB EA       ;开放总中断
     SETB IT0      ;外部中断0下降沿中断。7050正常输出高电平,低压时输出低电平
沙发
btzhy| | 2010-8-4 13:16 | 只看该作者
中断程序里有没有用到psw acc B dptr r0-r7这类寄存器,如有用到,是否在执行中断程序之前将他们放入堆栈保护呢,特别是如中断里用到r0-r7这几个寄存器,主程序里如也用到,一定要使用using 1再分配一个8个字节的空间给中断用,然后再中断程序里设置rs0 rs1这两位为r0-r7指向正确地址空间

使用特权

评论回复
板凳
siuhiong| | 2010-8-4 19:01 | 只看该作者
不打开中断就显示正常吗?如果是的话问题就出现在中断处理程序部分,不然的话可能是1602数据线接触不好造成的。

使用特权

评论回复
地板
ocon| | 2010-8-5 00:55 | 只看该作者
很可能是1602刷屏到一半的时候,中断处理程序把1602用住的资源(数据线、控制线、寄存器)给抢去干别的活,1602不知道,还傻傻的收数据。。。可以想象会收到些什么。

使用特权

评论回复
5
sccky| | 2010-8-5 11:02 | 只看该作者
我还没有搞懂哦?向您们学习了.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

67

帖子

1

粉丝