c语言 proteus 延迟2秒_我的笨法C语言延时>10分钟程序,大侠们不要笑,试过有效的...

这篇博客介绍了一个使用C语言和STC89C52RC单片机的继电器控制程序,旨在实现特定的延时操作。通过自定义的delay函数,实现了大于30秒和超过10分钟的延时,从而控制继电器K1和K3的闭合与断开,形成循环控制。
摘要由CSDN通过智能技术生成

本帖最后由 mfkjqkoooo 于 2013-7-6 22:36 编辑

/********************************************************************

实现功能:顺序控制程序

使用芯片:STC89C52RC

晶振:11.0592MHZ

编译环境:Keil

*********************************************************************/

/********************************************************************

四入四出继电器工控程序说明:

继电器K1闭合约>30秒后,继电器K1断开>10分钟,K3吸合,然后延时约>30秒,

继电器K3断开>30秒,如此循环!

*********************************************************************/

#include          //库文件

#define uchar unsigned char//宏定义无符号字符型

#define uint unsigned int  //宏定义无符号整型

/********************************************************************

初始定义

*********************************************************************/

/*定义四位输入为单片机P1口*/

sbit IN0=P1^0;

sbit IN1=P1^1;

sbit IN2=P1^2;

sbit IN3=P1^3;

/*定义四位输出为单片机P2口*/

sbit K1=P2^0;

sbit K2=P2^1;

sbit K3=P2^2;

sbit K4=P2^3;

/********************************************************************

延时函数

*********************************************************************/

void delay(uchar t)  //当t等于20时,大概延时0.2秒;当t等于10时,大概延时0.1秒;

{

uchar m,n,s;

for(m=t;m>0;m--)

//for(m=t;m>0;m--)

for(n=500;n>0;n--)    //n=500"+"delay(500); //调用延时函数  为>30秒钟

for(s=248;s>0;s--);

}

/********************************************************************

主函数

*********************************************************************/

void main()

{

while(1)

{

K1=0; //继电器K1闭合

//K2=0; //继电器K2闭合

delay(500); //调用延时函数    //n=500"+"delay(500); //调用延时函数  为>30秒钟

K1=1; //继电器K1断开

//K2=1; //继电器K2断开

delay(500); //调用延时函数  //延时累计

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数  33*10=330秒=6分30秒

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数  33*10*2=660秒=13分

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数

delay(500); //调用延时函数   累计15分钟

K3=0; //继电器K3闭合

//K4=0; //继电器K4闭合

delay(500); //调用延时函数

K3=1; //继电器K3断开

//K4=1; //继电器K4断开

delay(500); //调用延时函数

}

}

/********************************************************************

结束

*********************************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值