打印

(求助)AT89C2051最小系统无法使用

[复制链接]
10536|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
821165254|  楼主 | 2010-12-29 10:10 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
做了一个AT89C2051的最小系统,可是调试了一天都没搞出来。
我出现的现象如下:程序下载进去上电后所有口输出均为高,也就是说程序没有跑起来。
1、单片机供电为5v,换过3.3v,4.7v。
2、硬件只焊接了VCC、GND、2个晶振pin、复位,可以说已经排除硬件其他干扰。
3、单片机最小系统晶振是12M,换过8M,16M。电容试过20p、22p、33p,因为没有示波器不能确定晶振起振没有,但是换过这么多应该不是这的问题。
4、测试程序让P1口输出0x55,结果出现我之前说的那个情况。
5、我用的编译环境是keil 4,下载工具是WLPRO V2.20(伟纳)。下载的时候下载软件有一个警告:已忽略部分超出缓存区范围的内容----这里是重点吧。
6、用下载器读了芯片中的数据,对比hex文件发现已经烧写成功。
7、我用我的下载器下载了AT89C52可以使用,说明下载器没有坏。
8、怀疑下载器或者编译器设置有问题,想请有经验的朋友帮忙解决下。
在网上搜索了几个小时,发现有部分人遇到相同的情况,但是他们都没有提供解决方案,比较郁闷。

相关帖子

25
liubin1109| | 2014-4-22 15:43 | 只看该作者
头文件对不对?我以前也用过2051,汇编、C都搞过,没啥问题啊,同样也是伟纳的SP200

使用特权

评论回复
24
xtiqvdc| | 2014-4-22 11:04 | 只看该作者
你用的软件不行啊

使用特权

评论回复
23
wenju56718| | 2013-11-26 18:08 | 只看该作者
很不幸,我现在也遇到这种事儿了 ,我也不知道怎么搞定额

使用特权

评论回复
22
walker2| | 2012-11-16 10:29 | 只看该作者
AT89C2051用的什么下载器

使用特权

评论回复
21
625428jdy| | 2011-8-26 16:46 | 只看该作者
我也是碰到这个问题未解决,我用的就是汇编,但就是不行,软件仿真可以。

使用特权

评论回复
20
lyjian| | 2010-12-30 13:41 | 只看该作者
那你去看了没有?

51.jpg (113.81 KB )

51.jpg

使用特权

评论回复
19
ayb_ice| | 2010-12-30 13:25 | 只看该作者
18L
那你去看看手册

使用特权

评论回复
18
zkkov2000| | 2010-12-30 10:13 | 只看该作者
像是程序代码超过范围了

使用特权

评论回复
17
lyjian| | 2010-12-30 09:33 | 只看该作者
16楼说的不对。
2051同样可执行LJMP,LCALL等指令,只要地址范围不超出7FF就行了。

使用特权

评论回复
16
mcu5i51| | 2010-12-30 08:27 | 只看该作者
如果没有猜错的话是KC软件2K限制,试用版软件会从地址2048开始,也就是说2KFlash的MCU不能用试用版,你自己用汇编写个代码试试

使用特权

评论回复
15
ayb_ice| | 2010-12-30 08:27 | 只看该作者
2051没有LJMP,LCALL指令,注意限制编译器产生这样的代码

使用特权

评论回复
14
QuakeGod| | 2010-12-30 01:09 | 只看该作者
肯定是代码超过2K了,
两个证据,1,已忽略部分超出缓存区范围的内容
2,下载器下过89C52的,可以写入,且能够运行。而89C2051就只能写入,不能运行。
89C52的代码空间是4K
你可以换89C4051试试

使用特权

评论回复
13
ahr| | 2010-12-29 23:08 | 只看该作者
编译后代码超过2k了吗?

使用特权

评论回复
12
oldli| | 2010-12-29 20:12 | 只看该作者
三种可能:
1、复位问题
2、晶振未起
3、片子不行

使用特权

评论回复
11
821165254|  楼主 | 2010-12-29 18:57 | 只看该作者
下载器下过89C52的,可以写入,且能够运行。而89C2051就只能写入,不能运行。

使用特权

评论回复
10
821165254|  楼主 | 2010-12-29 18:56 | 只看该作者
软模拟过,代码没问题,换过3片89C2051,都是相同的问题。

使用特权

评论回复
9
acute1110| | 2010-12-29 16:08 | 只看该作者
先写一个最简单的程序,用一个I/O输出高低点平,先确认自己的下载器没有问题,然后再排出程序的问题。

使用特权

评论回复
8
yangxh2005| | 2010-12-29 16:01 | 只看该作者
先软模拟一下,看看代码跑得对不对,很怀疑代码的问题

使用特权

评论回复
7
zhjyao021| | 2010-12-29 15:00 | 只看该作者
1# 821165254
代码没问题吧?

使用特权

评论回复
6
chunyang| | 2010-12-29 12:20 | 只看该作者
用万用表测晶体两端,起振的话,电压为1/2Vcc左右,此外,也可能是程序问题或器件问题。

使用特权

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

本版积分规则

6

主题

16

帖子

0

粉丝