打印

求助:关于87C196单片机上板不能运行问题

[复制链接]
1433|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wfeiying|  楼主 | 2013-1-10 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠!小弟最近遇到很奇怪的问题。将程序文件烧录到单片机里面去,把单片机放到电路板上,程序却怎么也不跑。同样的程序用仿真器运行是正常的,程序拷贝地址也是正常的(偏差2000H地址)。实在不清楚是怎么回事了,请高手指点!附上程序的前一小段机器码。

00000000  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF  
00000010  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF  
00000020  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF
00000030  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF
00000040  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF
00000050  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF
00000060  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF  
00000070  FF FF FF FF FF FF FF FF-FF FF FF FF FF FF FF FF  
00000080  A1 C0 00 18 FA 11 09 B1-10 09 B1 05 15 B1 0D 03
00000090  A1 00 22 1C C3 01 08 20-1C B1 10 08 FD B1 20 16  
000000A0  B1 26 0E B1 80 0E B1 20-92 B1 09 11 FB FD B1 1E  
000000B0  0A B1 E1 0A 27 F8 FF FF-FF FF FF FF FF FF FF FF

相关帖子

沙发
ayb_ice| | 2013-1-10 11:20 | 只看该作者
机器码
果然是高手啊

使用特权

评论回复
板凳
wfeiying|  楼主 | 2013-1-10 12:44 | 只看该作者
再附上汇编的初始化程序。就是上面机器码对应的汇编程序。

ORG 2080H
    START:       LD SP,#00C0H
                 DI
                 CLRB INT_PEND
                 LDB INT_PEND,#10H      
                 LDB IOC0,#05H         
                 LDB HSI_MODE,#0dH      
                 LD AX,#INTT1
                 ST AX,2008H[0]          ;设TIME中断地址
                 LDB INT_MASK,#10H       ;开外HSI.0中断
                 NOP
                 LDB IOC1,#20H           ;选择P2.0引脚的TXD功能
                 LDB BAUD_RATE,#26H;设置串行通信波特率
                 LDB BAUD_RATE,#80H;
                 LDB TEMP,#20H
                 LDB SP_CON,#09H   ; 设置串行通信方式1,不设奇偶校验
                 EI
                 NOP
HERE:            LDB WATCHDOG,#01EH
                 LDB WATCHDOG,#0E1H
                 SJMP HERE

使用特权

评论回复
地板
ayb_ice| | 2013-1-10 13:57 | 只看该作者
这么简单的程序根本不用仿真器,开机控制个IO,不停触发即可,不要开中断

使用特权

评论回复
5
wfeiying|  楼主 | 2013-1-10 14:03 | 只看该作者
现在问题是片子上板之后根本不工作。

使用特权

评论回复
6
ayb_ice| | 2013-1-10 14:40 | 只看该作者
wfeiying 发表于 2013-1-10 14:03
现在问题是片子上板之后根本不工作。

不工作是有原因的
要缩小可能的范围嘛

有些仿真好的程序,实际程序运行时要做一定修改的

建议你写个最简单的程序,不用仿真就是要排除这种可能性,确定是硬件问题还是软件问题

使用特权

评论回复
7
liusensen| | 2013-1-10 15:06 | 只看该作者
ayb_ice 发表于 2013-1-10 14:40
不工作是有原因的
要缩小可能的范围嘛

赞同  

使用特权

评论回复
8
wfeiying|  楼主 | 2013-1-10 15:41 | 只看该作者
恩,正在查呢,硬件上电及上电时序正常,晶振正常,复位信号正常。硬件上有可能的原因差不多查遍了。就是不知道软件怎么查原因啊!有可能的原因会是那些呢?

使用特权

评论回复
9
ayb_ice| | 2013-1-10 16:07 | 只看该作者
这样就基本确定是程序的问题了,这就好办了

写个最简单的程序测试一下就可以了,复位后将IO拉低即可了

使用特权

评论回复
10
jlass| | 2013-1-10 16:19 | 只看该作者
可以考虑起始地址没写对。

使用特权

评论回复
11
wfeiying|  楼主 | 2013-1-10 17:06 | 只看该作者
问题已经解决,多谢网友们的关注,谢谢!是中断向量表没有填写中断地址

使用特权

评论回复
12
ayb_ice| | 2013-1-10 17:09 | 只看该作者
wfeiying 发表于 2013-1-10 17:06
问题已经解决,多谢网友们的关注,谢谢!是中断向量表没有填写中断地址

早叫你先关闭中断了

使用特权

评论回复
13
lzqxs89| | 2013-1-11 13:04 | 只看该作者
ayb_ice 发表于 2013-1-10 17:09
早叫你先关闭中断了

中断向量表没有填写中断地址是什么意思啊?还有没填仿真怎么正常啊,而实际就不正常呢?

使用特权

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

本版积分规则

1

主题

25

帖子

0

粉丝