博图带按钮的指示灯、急停、继电器如何写一套程序

博图带按钮的指示灯、急停、继电器如何写一套程序,第1张

编写一套程序来控制博图带按钮的指示灯急停继电器,可以分为以下几步:

1、定义一个常量,表示按钮的按下和释放状态,以及指示灯的状态,比如按钮按下的常量为BTN_PRESS,释放的常量为BTN_RELEASE,指示灯灭的常量为LED_OFF,亮的常量为LED_ON。

2、定义一个初始化函数,用于初始化继电器的状态,设置按钮的状态为释放状态,指示灯的状态为灭状态,并将按钮和指示灯状态赋值给对应的变量。

3、定义一个循环函数,用于不断监测按钮的按下状态,当按钮按下时,则执行指示灯的急停功能,即将指示灯的状态置为灭状态,否则将指示灯的状态置为亮状态。

4、最后创建一个主函数,用于调用上述初始化函数和循环函数,从而实现控制博图带按钮的指示灯急停继电器的功能。

这个是简单的电路图,因为单片机上电时,各IO口有个瞬间高电平脉冲;这里选用PNP三极管来驱动。至于你说的按任意键启动。。。。这个没多大意义了,这里给你的是按键开、关继电器。 //按K1 继电器吸合

//按K2 继电器断开

/*********************************************************/#include <reg52.h>

sbit K1 =P3^2//K1

sbit K2 =P3^3//K2

sbit JDQ=P1^0 //继电器/*********************************************************/

void Delay(unsigned int ii) //1MS

{

unsigned int jj

for(ii>0ii--)

for(jj=0jj<125jj++)

{}

}

void main()

{ while(1){

if (K1==0)

{

Delay(10)

if(K1==0){

JDQ=0//吸合

P0=0x00//P0口LED亮

}

}if (K2==0){

Delay(10)

if(K2==0){

JDQ=1//释放

P0=0xff//P0口LED灯灭

}

}

}

}

#include<reg52.h>

#include <intrins.h>

#define uint unsigned int

sbit a=P1^4//a继电器控制端

sbit b=P2^3//b继电器控制端

sbit c=P2^5//c继电器控制端

sbit d=P2^7//d继电器控制端

uint t

void Init_t0(void) //定时器初始化

{

TMOD=0x01 //定时器0工作于方式1,16位定时器

TH0=0x4CTL0=0x00 //定时时间50ms

ET0=1 //允许定时器0中断

TR0=1 //定时器0启动

}

void time0_server_(void)interrupt 1 //定时器0中断函数

{

TH0=0x4CTL0=0x00 //定时时间50ms

t++ //t每50ms加1

}

void main() //主函数

{

Init_t0()

a=0 //初始化,所有继电器释放

b=0//

c=0//

d=0//

t = 0 //计时器从0开始计时

EA = 1 //开启总中断

while(1) //循环

{

switch(t) //以t为参数的分支程序,t每50ms加1

{

case 0: //如果t=0(最初2秒),继电器a吸合,其他释放

a = 1

b = c = d = 0

break

case 40: //如果t=40(第二个2秒),继电器b吸合,其他释放

b = 1

a = c = d = 0

break

case 80: //如果t=80(第三个2秒),继电器c吸合,其他释放

c = 1

a = b = d = 0

break

case 120: //如果t=120(第四个2秒),继电器d吸合,其他释放

d = 1

a = b = c = 0

break

case 160: //如果t=160(第四个2秒结束),t=0,重复最初2秒情况

t=0

break

default: //如果t与上述数字都不想等,啥也不做,免得干扰继电器状态

break

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11506908.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存