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

时间:2021-07-10 01:06:19
想做个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不知道是不是这里的问题。

不得不说搞硬件真难??这两天被这最小系统搞伤了,觉也没睡好。连做梦都在想到底是哪里出问题了。大神们啊!!快来拯救我啊!!!

9 个解决方案

#1


最小系统一般有:1.复位电路。2.电源供电电路。3.时钟源电路。4.有的还需要调试接口的电路

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

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

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

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

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

5.烧写时,对软件的设置和操作对不对。

#2


估算了一下,在12MHZ下一次循环大约是1分钟,楼主你通上电后等几分钟看看

#3


毛了,直接把我的板子图片传上来,大家帮我看看。。
这是下载器的连法:
为啥做个at89s52的最小系统就那么难呢??

下面是我板子的正面图。
为啥做个at89s52的最小系统就那么难呢??

标号说明:

0:电源(+5V)
1: 电容(10uF)
2: 开关
3:电阻 (1K)
4: 电阻 (680R)
5: LED
6: 晶振  (12MHZ)
7: 瓷片电容33pF
8: 瓷片电容33pF
9: 电阻  (8K)
10: 电阻  (680R)
11:  LED
12:  AT89s52
13: usp-asp下载器插孔
14: 排针

下面是背面图,各元件已用数字标出

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


每次我点 自动,写入程序时,led闪一下就不亮了,郁闷。

请帮我看看吧

#4


楼主你单片机EA脚没接地吧

#5


引用 4 楼 shejp 的回复:
楼主你单片机EA脚没接地吧


我用的是内部存储器,EA应该接Vcc啊,我接了的啊,图上我标的31就是EA。

#6


问题一般出在复位电路上,可以尝试手动复位,然后将晶振改为有源的试试

#7


循环时间适当减少点,

#8


51的最小系统板,网上的价格10元以内吧,还是别自己焊
我以前也自己焊过这些板子,要花一两天,才能焊好一完整的板子
后来网上找到国产PLC的板子,用的是51单片机,价格100左右,从此我再也不自己焊板子了
顶多改一下相关的外围电路,如拆掉后面两个续电器,接入2K电阻,这样就可接步进驱动器

#9


终于搞起了结贴给分!!!1

#1


最小系统一般有:1.复位电路。2.电源供电电路。3.时钟源电路。4.有的还需要调试接口的电路

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

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

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

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

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

5.烧写时,对软件的设置和操作对不对。

#2


估算了一下,在12MHZ下一次循环大约是1分钟,楼主你通上电后等几分钟看看

#3


毛了,直接把我的板子图片传上来,大家帮我看看。。
这是下载器的连法:
为啥做个at89s52的最小系统就那么难呢??

下面是我板子的正面图。
为啥做个at89s52的最小系统就那么难呢??

标号说明:

0:电源(+5V)
1: 电容(10uF)
2: 开关
3:电阻 (1K)
4: 电阻 (680R)
5: LED
6: 晶振  (12MHZ)
7: 瓷片电容33pF
8: 瓷片电容33pF
9: 电阻  (8K)
10: 电阻  (680R)
11:  LED
12:  AT89s52
13: usp-asp下载器插孔
14: 排针

下面是背面图,各元件已用数字标出

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


每次我点 自动,写入程序时,led闪一下就不亮了,郁闷。

请帮我看看吧

#4


楼主你单片机EA脚没接地吧

#5


引用 4 楼 shejp 的回复:
楼主你单片机EA脚没接地吧


我用的是内部存储器,EA应该接Vcc啊,我接了的啊,图上我标的31就是EA。

#6


问题一般出在复位电路上,可以尝试手动复位,然后将晶振改为有源的试试

#7


循环时间适当减少点,

#8


51的最小系统板,网上的价格10元以内吧,还是别自己焊
我以前也自己焊过这些板子,要花一两天,才能焊好一完整的板子
后来网上找到国产PLC的板子,用的是51单片机,价格100左右,从此我再也不自己焊板子了
顶多改一下相关的外围电路,如拆掉后面两个续电器,接入2K电阻,这样就可接步进驱动器

#9


终于搞起了结贴给分!!!1