近几天,正在做一个与AT89C52有关的项目。编译器用的KEIL2,仿真器用的伟福。仿真跑的程序OK。但是在经过烧录之后的AT89C52程序就是不跑。烧录软件用的NSP软件,一款很古老,很陌生的东东。
人总是对陌生的东西容易产生恐惧。开始,我怀疑是不是哪里的配置文件没有弄好?没有结果,然后我又要了两片新的C52,还是无果。在网上找了半天资料,发现在与我现象相似的要么是晶振没有弄,要么就是EA没有拉高,要么就是输出端口驱动电压不够,又加了上拉电阻。但是这都没有对我有任何的帮助。正在无望之际,突然看到一篇**,说是他驱动LED仿真时可以亮,用程序A可以点亮,用程序B却点不亮。我也明白这是人家的软件有问题,不能怪硬件。这时我突然想到为什么我不跑个小程序来试一下呢?没有LED,但是可以驱动几个端口,看看程序倒底能不能跑起来。结果是OK的。这就证明了编译器没有问题,仿真器没有问题,烧录器也没有问题。那是哪的问题呢?
程序的大小。89C52只有8K的FLASH.而我的最张烧录程序。hex却有几十K。卖糕的。就是它的应该。
我认为应该找到了问题。特写给大家看一看。如果有什么要说的,尽管说来听听。技术交流,不怕拍砖。 |