标题: 按下复位键单片机不复位等问题,请前辈们帮忙看看 [打印本页]

作者: 1424039347    时间: 2019-3-30 23:17
标题: 按下复位键单片机不复位等问题,请前辈们帮忙看看
在单片机上面执行的时候,要先给P3^1低电平,在给P3^0低电平,然后在给P3^1低电平P2就能正常输出高电平,在给P3^0低电平P2也能正常输出低电平。按下复位键单片机不复位。

晶振和电容器都没有问题,芯片也是好的,在开发板能正常使用


QQ图片20190330025140.png (1.75 KB, 下载次数: 31)

QQ图片20190330025140.png

作者: wulin    时间: 2019-3-31 08:44
你这样写程序哪能行?起码也得这样写:
#include<reg52.h>
sbit K1=P3^0;
sbit K2=P3^1;
void main()
{
        while(1)
        {
                if(K1==0)
                        P2=0x00;
                if(K2==0)
                        P2=0xff;
        }
}
作者: 我对你情有独钟    时间: 2019-3-31 11:27
程序错误,if(anjian1==0)P2=0x00;
作者: 我对你情有独钟    时间: 2019-3-31 11:28
还有不复为】位的话,焊接有问题吧,按键和电容并联
作者: 1424039347    时间: 2019-3-31 21:13
wulin 发表于 2019-3-31 08:44
你这样写程序哪能行?起码也得这样写:
#include
sbit K1=P3^0;

这样写的我都试过,都是一样的问题!我怀疑是硬件有问题。我是用51驱动uln2003,直接写P2=0xff点不亮后面的LED
作者: 1424039347    时间: 2019-3-31 21:27
我对你情有独钟 发表于 2019-3-31 11:27
程序错误,if(anjian1==0)P2=0x00;

#include <reg52.h>
sbit bb=P3^0;
sbit ba=P3^1;
sbit ab=P3^2;
sbit aa=P3^3;
sbit stop=P3^4;
sbit change=P3^5;
sbit time=P3^6;
sbit star=P3^7;
void delay(uint del)
{
        uint i,j;
        for(i=0; i<del; i++)
        for(j=0; j<1827; j++);  //10ms
}
main()
{
        while(1)
                {
                        if(bb==0)
                        P2=0x00;
                        if(ba==0)
                        P2=0xff;
                }
}
这样写和上面写的是一样的问题。
作者: 1424039347    时间: 2019-3-31 21:30
我对你情有独钟 发表于 2019-3-31 11:28
还有不复为】位的话,焊接有问题吧,按键和电容并联

都重新检查过的,所有器件都重新焊过。

IMG_20190331_212225.jpg (2.1 MB, 下载次数: 32)

IMG_20190331_212225.jpg

IMG_20190331_212924.jpg (1.87 MB, 下载次数: 42)

IMG_20190331_212924.jpg

作者: 天地摩登恒    时间: 2019-3-31 22:11
楼主用的什么单片机???,有的单片机的复位引脚默认是IO口功能的,想要是复位功能得在下载时进行设置。
作者: han333    时间: 2019-4-1 11:36
你可以在程序刚运行时加一个灯闪烁,这样就能看出是否复位了啊。还有就是IO口一般默认都是高电平
作者: 1424039347    时间: 2019-4-2 21:43
天地摩登恒 发表于 2019-3-31 22:11
楼主用的什么单片机???,有的单片机的复位引脚默认是IO口功能的,想要是复位功能得在下载时进行设置。

我用的是stc8052。这个单片机在开发板都是正常的,拿到做好的板子就出问题了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1