单片机不工作

来源:百度知道 编辑:UC知道 时间:2024/05/28 09:05:23
自己焊的最小系统,AT89S52单片机,ISP能把程序下到单片机;不论下进去什么程序,都不行,程序没问题,复位、晶振用示波器看了,也没问题;单片机一直是P0口1.8V左右、P1口0V、P2口和P3口5V,按复位除P0口都为5V。我在网上搜了很长时间,希望高手们给些其他答案,或者精辟些的答案。两三天了,没什么进展我急死了,如果问题解决我会将我全部的百度积分作为奖赏。
EA我直接接的VCC,还是不行。我用一段最简单程序来测试的,程序如下:

sfr P1 = 0x90;
sfr P2 = 0xA0;

sbit P1_0 = P1^0;
sbit P1_1 = P1^1;
sbit P1_2 = P1^2;
sbit P1_3 = P1^3;
sbit P1_4 = P1^4;
sbit P1_5 = P1^5;
sbit P1_6 = P1^6;
sbit P1_7 = P1^7;

sbit P2_0 = P1^0;
sbit P2_1 = P1^1;
sbit P2_2 = P1^2;
sbit P2_3 = P1^3;
sbit P2_4 = P1^4;
sbit P2_5 = P1^5;
sbit P2_6 = P1^6;
sbit P2_7 = P1^7;

void main()
{
P1_1 = 0;
P1_2 = 0;
P1_3 = 0;
P1_4 = 0;
P1_5 = 0;
P1_6 = 0;
P1_7 = 0;
P1_0 = 0;

P2_0 = 0;
P2_1 = 0;
P2_2 = 0;
P2_3 = 0;
P2_4 = 0;
P2_5 = 0;
P2_

关于这种问题...
一般可以看一下EA脚是不是没有接高电平...
如果要测试单片机,可以考虑,只在某些端口置位..
再测量这些端口就知道是否正常了...
一般来说,可以用ISP的话,晶振,复位都没有问题的..
不知道EA是不是有问题..可以看下..
最后就是,仔细再看下电路,是不是哪儿接错了...:)
大概就是这样...

小子,你也太粗心了吧,你把仔细看看哪有用到P2口,下面我跟你改好了。

#include <reg52.h>

//sfr P1 = 0x90;
//sfr P2 = 0xA0;

sbit P1_0 = P1^0;
sbit P1_1 = P1^1;
sbit P1_2 = P1^2;
sbit P1_3 = P1^3;
sbit P1_4 = P1^4;
sbit P1_5 = P1^5;
sbit P1_6 = P1^6;
sbit P1_7 = P1^7;

sbit P2_0 = P2^0;
sbit P2_1 = P2^1;
sbit P2_2 = P2^2;
sbit P2_3 = P2^3;
sbit P2_4 = P2^4;
sbit P2_5 = P2^5;
sbit P2_6 = P2^6;
sbit P2_7 = P2^7;

void main()
{
P1_1 = 0;
P1_2 = 0;
P1_3 = 0;
P1_4 = 0;
P1_5 = 0;
P1_6 = 0;
P1_7 = 0;
P1_0 = 0;

P2_0 = 0;
P2_1 = 0;
P2_2 = 0;
P2_3 = 0;
P2_4 = 0;
P2_5 = 0;
P2_6 = 0