因仑“3+1”工程特种兵精英论坛

标题: 05、顺序控制程序 [打印本页]

作者: 张衍波    时间: 2015-5-13 09:54
标题: 05、顺序控制程序
/********************************************************************
                            汇诚科技

实现功能:顺序控制程序
使用芯片:AT89S52
晶振:11.0592MHZ
编译环境:Keil
作者:zhangxinchunleo
网站:www.ourhc.cn
淘宝店:汇诚科技 http://shop36330473.taobao.com
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     

*********************************************************************/
/********************************************************************
程序说明:

继电器K1闭合约0.2秒后,继电器K1断开,同时K2吸合,然后延时约0.2秒,
继电器K2断开,同时K3吸合,依次八个继电器轮换吸合与断开!

*********************************************************************/
#include<reg52.h>                 //库文件
#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;
sbit IN4=P1^4;
sbit IN5=P1^5;
sbit IN6=P1^6;
sbit IN7=P1^7;

/*定义八位输出为单片机P2口*/
sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit K4=P2^3;
sbit K5=P2^4;
sbit K6=P2^5;
sbit K7=P2^6;
sbit K8=P2^7;


/********************************************************************
                            延时函数
*********************************************************************/
void delay(uchar t)         //当t等于20时,大概延时0.2秒;当t等于10时,大概延时0.1秒;
{
uchar m,n,s;
for(m=t;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}


/********************************************************************
                            主函数
*********************************************************************/
void main()
{
while(1)
{


K1=0;        //继电器K1闭合
delay(20); //调用延时函数
K1=1;        //继电器K1断开
K2=0;        //继电器K2闭合
delay(20); //调用延时函数
K2=1;        //继电器K2断开
K3=0;        //继电器K3闭合
delay(20); //调用延时函数
K3=1;        //继电器K3断开
K4=0;        //继电器K4闭合
delay(20); //调用延时函数
K4=1;        //继电器K4断开
K5=0;        //继电器K5闭合
delay(20); //调用延时函数
K5=1;        //继电器K5断开
K6=0;        //继电器K6闭合
delay(20); //调用延时函数
K6=1;        //继电器K6断开
K7=0;        //继电器K7闭合
delay(20); //调用延时函数
K7=1;        //继电器K7断开
K8=0;        //继电器K8闭合
delay(20); //调用延时函数
K8=1;        //继电器K8断开



}
}
       
/********************************************************************
                              结束
*********************************************************************/
[attach]3058[/attach]







欢迎光临 因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4