基于单片机超市门禁系统设计
通过人体传感器检测当前是否有人,当检测到有人时,启动门电机,关门和开门分别设定4s时间,开门后等待10s关闭门。
#include "AT89X51.h"
int delay();
void inti_lcd();
void show_lcd(int);
void cmd_wr();
void ShowState();
void clock(unsigned int Delay) ;
//正转值
#define RIGHT_RUN 1
//反转值
#define LEFT_RUN 0
sbit RS=0xA0;
sbit RW=0xA1;
sbit E=0xA2;
char SpeedChar[]="Supermarket Door";
char time[]=" 00s";
char Number[]="0123456789";
char StateChar[]="RUN STATE:";
char STATE_CW[]="OP";
char STATE_CCW[]="CL";
char SPEED[3]="050";
unsigned int RunSpeed=50; //速度
unsigned char RunState=RIGHT_RUN; //运行状态
unsigned char deta=0,sec=0;
bit flag = 0;
/*************************************************
函数功能:初始化定时器
**************************************************/
void init_time() //定时初始化
{
TMOD=0x01; //设置定时器0位工作模式1(M1,M0位0,1)
TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872
TL0=(65536-45872)%256;
ET0=1; //开定时器0中断
TR0=0; //启动定时器0
EA = 1;
}