找回密码
 立即注册
查看: 120|回复: 0

STC单片机设计的磁保持继电器控制电路可以控制点动和自锁两种工作方式 也可控制电机

[复制链接]

该用户从未签到

42

主题

7

回帖

246

积分

中级会员

积分
246
发表于 2023-7-7 13:57:51 | 显示全部楼层 |阅读模式
GYJ-0250 淘宝描述_01.jpg

GYJ-0250 淘宝描述_02.jpg

GYJ-0250 淘宝描述_03.jpg

GYJ-0250 淘宝描述_05.jpg

GYJ-0250 淘宝描述_07.jpg

GYJ-0250 淘宝描述_08.jpg



【声明】此程序仅用于学习与参考!     
*********************************************************************/


#include<reg52.h>                 //库文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int  //宏定义无符号整型

#define ys 10  //延时时间 20=1秒  100=5秒         200=10秒
#define jt 10  //接通时间

/********************************************************************
                            初始定义
*********************************************************************/
uchar sec; //定义计数值,每过1/10 秒,sec 加一
uchar keycnt=0;//按下次数值
uint tcnt; //键值判断 //键值判断
bit bz2=0;
/********************************************************************
                            I/O定义
*********************************************************************/
sbit  OUT1=P3^2;//定义输出口为P3.2口 用以控制继电器
sbit  OUT2=P3^3;//定义输出口为P3.3口 用以控制继电器
sbit  IN1=P3^4;        //定义输入口为P3.4口 用以输入信号
sbit  IN2=P3^5;        //定义输入口为P3.5口 拨码开关
uchar  bz=0;
bit bz1=0;
bit fxkz=0;
uchar sj1=0;
uchar sj2=0;
/********************************************************************
                            延时函数
*********************************************************************/
void delay(uchar t)
{
  uchar i,j;
   for(i=0;i<t;i++)
   {
            for(j=13;j>0;j--);
         { ;
         }
   }
}
/********************************************************************
                            定时函数
*********************************************************************/
void initTimer(void)
{
TMOD=0x2;
TH0=0x1b;
TL0=0x1b;
}
/********************************************************************
                            定时中断服务函数
*********************************************************************/
void t0(void) interrupt 1 using 0 //定时中断服务函数
{
        tcnt++; //每过250ust tcnt 加一
        if(tcnt==390) //计满400 次(1秒)时
        {
         tcnt=0; //重新再计
     if(bz==1){sj1++;if(sj1==10){OUT1=0;OUT2=0;bz=0;sj1=0;}}
//     if(bz==2){sj2++;if(sj2==10){OUT1=1;OUT2=1;bz=0;sj1=0;}}
        }
        }
/********************************************************************
                            主函数
*********************************************************************/
void main()
{
initTimer();
TR0=1;
ET0=1;
EA=1;
OUT1=0;
OUT2=0;
while(1)
        {
        if(IN2==0)
        {
          if((IN1==0)&&(bz1==0)) {delay(20);if(IN1==0)        {bz1=1;bz=1;tcnt=0;OUT1=0;OUT2=1;sj1=0; }}
          if((IN1==1)&&(bz1==1)) {delay(20);if(IN1==1)        {bz1=0;bz=1;tcnt=0;OUT1=1;OUT2=0;sj1=0; }}
        }
        else
        {
          if((IN1==0)&&(bz1==0)) {delay(20);if(IN1==0)        {bz1=1;bz=1;tcnt=0;fxkz=!fxkz;;OUT2=fxkz;OUT1=!OUT2;sj1=0; }}
          if((IN1==1)&&(bz1==1)) {delay(20);if(IN1==1)        {bz1=0;}}
        }
        }
}
       

       
/********************************************************************
                              结束
*********************************************************************/




回复 送花

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 09:56 , Processed in 0.058891 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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