找回密码
 立即注册
查看: 2044|回复: 16

STC15单片机上电状态问题如何解决

[复制链接]

1

主题

6

回帖

19

积分

新手上路

积分
19
发表于 2023-12-22 09:14:34 | 显示全部楼层 |阅读模式
最近在使用STC15F104E单片机做点简单的继电器控制,上电瞬间继电器误触发,是用示波器观察后波形如下,如图圈出来的地方就是单片机上电之后又低电平状态,前期看书STC15F104E的Data Sheet,提示说单片机上电I/O口状态为高电平,所以在继电器控制方式上采用了低电平西和继电器,现在问题是上电一个高低电平脉冲,继电器还是机会误触发一次,请教如何解决此问题。
0d5536c1f902c9b4f64ccde74e097dd.jpg
回复

使用道具 举报 送花

1

主题

6

回帖

19

积分

新手上路

积分
19
发表于 2023-12-22 15:59:31 | 显示全部楼层
目前是使用STC15F104E单片机,然后推动光耦,再推三极管,在控制继电器,I/O口为低电平时继电器吸合。上电高电平后又是低电平,所以继电器吸合一下,然后运行到主程序中,I/O口初始化为高。
截图202312221556594499.jpg
截图202312221557036220.jpg
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

19

积分

新手上路

积分
19
发表于 2023-12-23 09:21:33 | 显示全部楼层
神*** 发表于 2023-12-22 19:31
大师的图都是高清的

#include        "STC15F104E.H"
#include "intrins.h"
#define COUNT 2000                                               //状态改变延时时间 最高65535
unsigned int stateCnt[4]={0,0,0,0};         //状态计数变量组
unsigned char state=0;                                       //状态机状态:0为继电器吸合 1为继电器断开

void KSFSM()              //按键开关状态机
{                                                                                      //0为按键断开,1为按键按下
  if(P33&&P32)                              //11
        stateCnt[3]++;
        else if(P33&&!P32)                        //10
        stateCnt[2]++;
        else if(!P33&&P32)                        //01
        stateCnt[1]++;
        else if(!P33&&!P32)                        //00
        stateCnt[0]++;
       
        if((stateCnt[0]>=COUNT)||(stateCnt[1]>=COUNT)||(stateCnt[2]>=COUNT))
        {                                                                        //00、01、10 按键按下 继电器吸合
                unsigned char s;
                for(s=0;s<4;s++)
                stateCnt=0;        //状态计数变量组清0
                state=0;
        }
        else if(stateCnt[3]>=COUNT)
        {                                                                        //11状态按键都未按下 继电器断开
                unsigned char s;
                for(s=0;s<4;s++)
                stateCnt=0;
                state=1;               
        }       
}       

void RlyFSM()                                      //继电器状态机
{
        if(state==0)                              //继电器闭合
        {
    P35 = 0;
        }
        else if(state==1)       //继电器断开
        {
          P35 = 1;
        }       
}       

void main()
{
//    P3M0 = 0x00;
//          P3M1 = 0x00;
          P3 = 0xFF;
          WDT_CONTR=0x34;         //看门狗使能
  while (1)
  {
          KSFSM();              //按键开关状态机
          RlyFSM();                                      //继电器状态机
          WDT_CONTR=0x34;       //看门狗使能               
        }
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2023-12-22 11:42:13 | 显示全部楼层
不会吧,要不先检查一下程序
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-12-22 15:23:11 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

19

积分

新手上路

积分
19
发表于 2023-12-22 15:56:36 | 显示全部楼层
神*** 发表于 2023-12-22 15:23
完整原理图的PDF先发上来,让大家帮忙审核

可以
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

19

积分

新手上路

积分
19
发表于 2023-12-22 16:03:21 | 显示全部楼层
gentl*** 发表于 2023-12-22 11:42
不会吧,要不先检查一下程序

主要程序没啥东西啊,就只是这个I/O口上电给它赋值了一个高电平。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:488
  • 最近打卡:2025-05-02 07:02:30
已绑定手机

27

主题

693

回帖

1954

积分

金牌会员

打工人

积分
1954
发表于 2023-12-22 16:59:20 | 显示全部楼层
最好上电后有个延时继电器,延时几秒,让单片机稳定后再给控制电源,把单片机上电后的不稳定时间段躲过去。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-05-02 10:18:47

24

主题

515

回帖

990

积分

荣誉版主

积分
990
发表于 2023-12-22 19:17:39 | 显示全部楼层
避开P3.2口。用P3.4口。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-12-22 19:25:50 | 显示全部楼层
1,他后来补的图,不一定是实际的图
2,看下图,实在看不习惯,你先学习我师傅画的图
3,MCU 用能仿真的 STC8G1K08A-36I-SOP8

截图202312221924186163.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-12-22 19:29:24 | 显示全部楼层

跟大师学电路,不要抄了一堆凌乱的图,还没人引导
截图202312221927481724.jpg

https://www.stcaimcu.com/forum.p ... ptid=4830&pid=33168

截图202312221934433891.jpg

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:51 , Processed in 0.180538 second(s), 119 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表