夜之星 发表于 2017-3-26 15:32

stc15f104w不能正常输出高低电平?!!求助!

用这款单片机之前做过项目,能正常使用,但过了一段时间再来用的时候就出现问题了!连正常的IO口操作都不行!为此我从以下这些方面来找问题:
1:防止是程序问题,写了个最简单的让P3口在死循环里一直取反(和一个让P3=0x00),用示波器观察输出波形,发现没有出现方波,出现的是杂波,用万用表测量一直是高电平;
2:怀疑是头文件和keil里的芯片型号选择问题,查看该芯片手册说“开发环境:在Keil C 开发环境中,选择 Intel 8052 编译,头文件包含<reg51.h>即可”,按此进行配置烧录进去还是一直是高电平;
3:怀疑是芯片本身损坏,从宏晶原厂买了10片该型号芯片重复试验还是IO口一直是呈现高电平(无论程序对IO是怎样操作的);
4:怀疑是keil配置或stc-isp下载软件配置有问题,按照stc官网下载的工程建立教程和ISP下载教程一步一步进行,烧录进去问题还是依旧,软件用的是最近版的V6.86;
5:怀疑是晶振频率设置有问题,把每一个晶振频率都试了一遍,还是没有解决;
6:怀疑是自己电脑问题,用别人的电脑进行相同的试验还是相同的问题;
经过以上分析排除之后还是没有解决,感觉已经没有办法了,说前来求助各位前辈,我大致知道应该是keil或下载软件这一块的配置问题导致芯片没有工作的问题,但是具体问题出在哪查了块一个月了还是没查出来。。。。。。。

夜之星 发表于 2017-3-26 15:42

这是截屏

夜之星 发表于 2017-3-26 16:57

有人吗?没人我自己顶{:sad:}

夜之星 发表于 2017-3-26 19:59

xbyu520 发表于 2017-3-26 20:31

我来帮你顶,这个单片机我以前用过。

xbyu520 发表于 2017-3-26 20:32

建议用手册里的程序先试一下。

夜之星 发表于 2017-3-26 20:51

xbyu520 发表于 2017-3-26 20:32
建议用手册里的程序先试一下。

感觉应该不是程序的问题,之前用过的程序没有改过。。。。

tanm 发表于 2017-3-26 22:09

chunyang 发表于 2017-3-26 23:06

应该是程序或烧录的问题,注意本振源,别搞错了内置、外置。

zhangxiyi5277 发表于 2017-3-27 00:23

为毛用他的isp添加到keil里面,这款记得某个所谓串口继电器带的就是,我之前玩的时候也是不行,然后老老实实的选他的mcu然后老老实实的复制粘贴例子

@若水 发表于 2017-3-27 08:50

直接用ISP软件自带的例程试一下

Ketose 发表于 2017-3-27 12:46

原理图发现来看看。

lihui567 发表于 2017-3-27 12:55

硬件电路有问题吧

yangxf1217 发表于 2017-3-27 13:33

示波器有问题

山东电子小菜鸟 发表于 2017-3-27 23:32

小十哦 发表于 2017-4-1 14:56

你可以用范例程序测试下啊

令界剑 发表于 2017-4-1 16:14

P3.0和P3.1是不是特殊口来的,你试试看用P35,P34,P33,测试一遍看看。

coody 发表于 2017-4-1 21:39

多试几个IC看看

Lbsonggz 发表于 2017-4-2 07:02

1)延时程序可能有毛病
2)硬件电路或电源问题,反复复位
3)特殊引脚是否开漏输出

liubeihua 发表于 2017-4-6 12:35

端口未初始化

#include <reg51.h>
sbit led1=P3^0;
sbit led3=P3^1;
sbit led5=P3^2;
sbit led7=P3^3;
sbit led7=P3^4;

void port_init(void)
{
      P3M1=0x00;
      P3M0=0x1F;
      P3 = 0x1F;
}

void Delay10ms(unsigned int c)                //@11.0592MHz
{
        unsigned char a,j;

        for(c;c>0;c--)
        {
                for(b=38;b>0;b--)
                {
                        for(a=130;a>0;a--)
                }
        }
}

void main()
{
        port_init();
led1=0;   
led3=0;
led5=0;
led7=0;
P3=0;
        while(1)
        {
                led1=0; Delay10ms(100);
                led1=1; Delay10ms(100);
        }
}
页: [1] 2
查看完整版本: stc15f104w不能正常输出高低电平?!!求助!