设计要求:
“门禁系统”主要有两种工作模式:
模式1:7:00~22:00为自动门状态,该状态下门的开和关是通过超声波测距来控制,当测到的距离小于30cm时门就开,门开5秒后自动关闭。
模式:22:00~7:00为密码门状态,门的开是通过输入正确的密码来启动,门开启后5秒后自动关闭,密码输入错误达到3次时则通过蜂鸣器来报警3秒。
仿真图:
实验结果:
设计程序:
#include "mimasuo.h"
void main()
{
KAISHI: INIT();
while(1)
{
shijian=Ds1302Read(READ_RTC_ADDR[2]);//获取当前是几时
/*------------------------------------------------------------------------------*/
/*-----------时间是在白天,不需要密码来打开门,能够依靠距离来打开---------------*/
/*------------------------------------------------------------------------------*/
if( (shijian>=7) && (shijian<=22) )
{
display(2 , table4);//输出字符串 " NO OPEN! "
while(1)
{
Trig_SuperSonic(); //触发超声波发射
while(INPUT == 0); //等待回声
Measure_Distance(); //计算脉宽并转换为距离
Init_Parameter(); // 参数重新初始化
delayt(100); //延时,两次发射之间要至少有10ms间隔
if( (DisTance<=30) )
{
display(1 , table0); //输出字符串 "Welcome for you!"
display(2 , table5); //输出字符串 " OPEN! "
delayms(5000);//5秒以后恢复关门
TIME[2]=0x02;
goto KAISHI;
}
}
}
/*--