反复检查了电路应该也没啥问题。程序应该也没啥问题如下:
# 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.烧写时,对软件的设置和操作对不对。
如果你能确认软件代码没有问题,还是多查一下硬件的问题。
确认软件代码有没有问题,你可以用proteus的仿真环境来测试你的软件代码,如果没通过,你先在proteus下调通了再说。
确认了软件代码没有问题,下载到你自己的最小系统上还是不行,那基本上可以确认是硬件有问题了。你需要一步一步的,一个模块一个模块的查。
1.先查查LED电路是否能正常工作,也就是说,如果程序在板子上都能正常的跑,但是Led电路如果本身有问题,那怎么样也可能不会亮,包括Led灯损坏。
2.比较怀疑的是你的时钟源电路,启振电容对大小和材资是有要求的,大小的话,33pf我也不知道行不行。另外不是随便找个22pf的电容都可以,似乎材资差的电容是不能保证正常稳定的启振,瓷介电容似乎不行。所以用哪种类型的电容,这个也需要注意。
3.接下来查一下电源电路、复位电路、烧写接口电路。
4.查一下其他的接线有没有问题。
5.烧写时,对软件的设置和操作对不对。
#2
估算了一下,在12MHZ下一次循环大约是1分钟,楼主你通上电后等几分钟看看
#3
毛了,直接把我的板子图片传上来,大家帮我看看。。
这是下载器的连法:
下面是我板子的正面图。
标号说明:
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: 排针
下面是背面图,各元件已用数字标出
每次我点 自动,写入程序时,led闪一下就不亮了,郁闷。
请帮我看看吧
这是下载器的连法:
下面是我板子的正面图。
标号说明:
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: 排针
下面是背面图,各元件已用数字标出
每次我点 自动,写入程序时,led闪一下就不亮了,郁闷。
请帮我看看吧
#4
楼主你单片机EA脚没接地吧
#5
我用的是内部存储器,EA应该接Vcc啊,我接了的啊,图上我标的31就是EA。
#6
问题一般出在复位电路上,可以尝试手动复位,然后将晶振改为有源的试试
#7
循环时间适当减少点,
#8
51的最小系统板,网上的价格10元以内吧,还是别自己焊
我以前也自己焊过这些板子,要花一两天,才能焊好一完整的板子
后来网上找到国产PLC的板子,用的是51单片机,价格100左右,从此我再也不自己焊板子了
顶多改一下相关的外围电路,如拆掉后面两个续电器,接入2K电阻,这样就可接步进驱动器
我以前也自己焊过这些板子,要花一两天,才能焊好一完整的板子
后来网上找到国产PLC的板子,用的是51单片机,价格100左右,从此我再也不自己焊板子了
顶多改一下相关的外围电路,如拆掉后面两个续电器,接入2K电阻,这样就可接步进驱动器
#9
终于搞起了结贴给分!!!1
#1
最小系统一般有:1.复位电路。2.电源供电电路。3.时钟源电路。4.有的还需要调试接口的电路
如果你能确认软件代码没有问题,还是多查一下硬件的问题。
确认软件代码有没有问题,你可以用proteus的仿真环境来测试你的软件代码,如果没通过,你先在proteus下调通了再说。
确认了软件代码没有问题,下载到你自己的最小系统上还是不行,那基本上可以确认是硬件有问题了。你需要一步一步的,一个模块一个模块的查。
1.先查查LED电路是否能正常工作,也就是说,如果程序在板子上都能正常的跑,但是Led电路如果本身有问题,那怎么样也可能不会亮,包括Led灯损坏。
2.比较怀疑的是你的时钟源电路,启振电容对大小和材资是有要求的,大小的话,33pf我也不知道行不行。另外不是随便找个22pf的电容都可以,似乎材资差的电容是不能保证正常稳定的启振,瓷介电容似乎不行。所以用哪种类型的电容,这个也需要注意。
3.接下来查一下电源电路、复位电路、烧写接口电路。
4.查一下其他的接线有没有问题。
5.烧写时,对软件的设置和操作对不对。
如果你能确认软件代码没有问题,还是多查一下硬件的问题。
确认软件代码有没有问题,你可以用proteus的仿真环境来测试你的软件代码,如果没通过,你先在proteus下调通了再说。
确认了软件代码没有问题,下载到你自己的最小系统上还是不行,那基本上可以确认是硬件有问题了。你需要一步一步的,一个模块一个模块的查。
1.先查查LED电路是否能正常工作,也就是说,如果程序在板子上都能正常的跑,但是Led电路如果本身有问题,那怎么样也可能不会亮,包括Led灯损坏。
2.比较怀疑的是你的时钟源电路,启振电容对大小和材资是有要求的,大小的话,33pf我也不知道行不行。另外不是随便找个22pf的电容都可以,似乎材资差的电容是不能保证正常稳定的启振,瓷介电容似乎不行。所以用哪种类型的电容,这个也需要注意。
3.接下来查一下电源电路、复位电路、烧写接口电路。
4.查一下其他的接线有没有问题。
5.烧写时,对软件的设置和操作对不对。
#2
估算了一下,在12MHZ下一次循环大约是1分钟,楼主你通上电后等几分钟看看
#3
毛了,直接把我的板子图片传上来,大家帮我看看。。
这是下载器的连法:
下面是我板子的正面图。
标号说明:
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: 排针
下面是背面图,各元件已用数字标出
每次我点 自动,写入程序时,led闪一下就不亮了,郁闷。
请帮我看看吧
这是下载器的连法:
下面是我板子的正面图。
标号说明:
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: 排针
下面是背面图,各元件已用数字标出
每次我点 自动,写入程序时,led闪一下就不亮了,郁闷。
请帮我看看吧
#4
楼主你单片机EA脚没接地吧
#5
我用的是内部存储器,EA应该接Vcc啊,我接了的啊,图上我标的31就是EA。
#6
问题一般出在复位电路上,可以尝试手动复位,然后将晶振改为有源的试试
#7
循环时间适当减少点,
#8
51的最小系统板,网上的价格10元以内吧,还是别自己焊
我以前也自己焊过这些板子,要花一两天,才能焊好一完整的板子
后来网上找到国产PLC的板子,用的是51单片机,价格100左右,从此我再也不自己焊板子了
顶多改一下相关的外围电路,如拆掉后面两个续电器,接入2K电阻,这样就可接步进驱动器
我以前也自己焊过这些板子,要花一两天,才能焊好一完整的板子
后来网上找到国产PLC的板子,用的是51单片机,价格100左右,从此我再也不自己焊板子了
顶多改一下相关的外围电路,如拆掉后面两个续电器,接入2K电阻,这样就可接步进驱动器
#9
终于搞起了结贴给分!!!1