首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

为何做个at89s52的最小系统就那么难呢?

2013-06-26 
为啥做个at89s52的最小系统就那么难呢??想做个at89s52的最小系统,搞了2天都没搞起。用志峰的下载软件显示程

为啥做个at89s52的最小系统就那么难呢??
想做个at89s52的最小系统,搞了2天都没搞起。用志峰的下载软件显示程序写入成功了如图:
为何做个at89s52的最小系统就那么难呢?
反复检查了电路应该也没啥问题。程序应该也没啥问题如下:


# include <at89x52.h>
void main(void)
{          unsigned char i,j,k;
           P0_0=0;
            while(1)
              {
                 for(i=0;i<100;i++)
                   { 
                      for(j=0;j<255;j++)
                        for(k=0;k<255;k++);
                    }
                 P0_0= !P0_0;
              }
 }

可那调皮的led为啥就没反应呢?

我在网上看到很多at89c52最小系统震荡电路用的电容是22pf的,我用的是33pf不知道是不是这里的问题。

不得不说搞硬件真难??这两天被这最小系统搞伤了,觉也没睡好。连做梦都在想到底是哪里出问题了。大神们啊!!快来拯救我啊!!!
[解决办法]
最小系统一般有:1.复位电路。2.电源供电电路。3.时钟源电路。4.有的还需要调试接口的电路

如果你能确认软件代码没有问题,还是多查一下硬件的问题。
确认软件代码有没有问题,你可以用proteus的仿真环境来测试你的软件代码,如果没通过,你先在proteus下调通了再说。

确认了软件代码没有问题,下载到你自己的最小系统上还是不行,那基本上可以确认是硬件有问题了。你需要一步一步的,一个模块一个模块的查。
1.先查查LED电路是否能正常工作,也就是说,如果程序在板子上都能正常的跑,但是Led电路如果本身有问题,那怎么样也可能不会亮,包括Led灯损坏。

2.比较怀疑的是你的时钟源电路,启振电容对大小和材资是有要求的,大小的话,33pf我也不知道行不行。另外不是随便找个22pf的电容都可以,似乎材资差的电容是不能保证正常稳定的启振,瓷介电容似乎不行。所以用哪种类型的电容,这个也需要注意。

3.接下来查一下电源电路、复位电路、烧写接口电路。

4.查一下其他的接线有没有问题。

5.烧写时,对软件的设置和操作对不对。
[解决办法]
估算了一下,在12MHZ下一次循环大约是1分钟,楼主你通上电后等几分钟看看
[解决办法]
楼主你单片机EA脚没接地吧
[解决办法]
问题一般出在复位电路上,可以尝试手动复位,然后将晶振改为有源的试试
[解决办法]
循环时间适当减少点,

热点排行