通过人体传感器检测当前是否有人,当检测到有人时,启动门电机,关门和开门分别设定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; }