做了一个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、怀疑下载器或者编译器设置有问题,想请有经验的朋友帮忙解决下。
在网上搜索了几个小时,发现有部分人遇到相同的情况,但是他们都没有提供解决方案,比较郁闷。 |