/********************************************************************
汇诚科技
实现功能:顺序控制程序
使用芯片: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断开
}
}
/********************************************************************
结束
*********************************************************************/
|