资源简介
1、全自动检测人员靠近和测量体温,过程中无需操作本系统,仅需在PROTEUS软件中调整环境值。使用GP2D12红外测距传感器测量人员接近距离(PROTEUS软件中可点击GP2D12模块上的“ ”和“-”调整环境值),若测量距离小于等于设定距离,说明有人接近,开始测量体温。使用DS18B20传感器测量人体温度(PROTEUS软件中可点击GP2D12模块上的“ ”和“-”调整环境值),若测量的体温小于等于设定值,说明人员健康,驱动电磁锁开门。人员离开后,自动关闭电磁锁。若测量的体温大于设定值,则闪灯并响铃警报,该警报只能在状况恢复正常时点击“解除警报”按钮解除。
2、点击“设置”按钮,多次点击“设置”可在距离、温度之间切换。进入设置页面,页面上方显示当前的设置参数,按数字键时下方会显示输入,按确定键确认输入,若数值正确(距离10~80,温度30~45)则完成更改。按“返回”键退出设置界面。
3、点击“输入密码”按钮,输入管理员密码(“8888”,可在代码中修改),点击确认,可以立即打开门锁并不会自动关闭。点击“关门”按钮后,当人员离开门(距离大于设定值)后,门自动关闭。
4、预留了串口功能,可以上位机或者别的模块通信,协同工作。
代码片段和文件信息
#include “1602.h“
/*******************************************
LCD1602 Driver mapped as IO peripheral
*******************************************/
// Delay
void delay(unsigned int j)
{ unsigned char i = 60;
for(; j>0; j--)
{ while(--i);
i = 59;
while(--i);
i = 60;
}
}
// Test the Busy bit
void check_busy(void)
{ do
{ LCD_Data = 0xff;
LCD_E = 0;
LCD_RS = 0;
LCD_WR = 1;
LCD_E = 1;
_nop_();
} while(LCD_Data & 0x80);
LCD_E = 0;
}
// Write a command
void write_command(unsigned char com)
{ check_busy();
LCD_E = 0;
LCD_RS = 0;
LCD_WR = 0;
LCD_Data = com;
LCD_E = 1;
_nop_();
LCD_E = 0;
delay(1);
}
// Write Data
void write_data(unsigned char datad)
{ check_busy();
LCD_E = 0;
LCD_RS = 1;
LCD_WR = 0;
LCD_Data = datad;
LCD_E = 1;
_nop_();
LCD_E = 0;
delay(1);
}
// Initialize LCD controller
void LCD_init(void
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-05-12 16:13 AT89C51 temp_manager\keil\
文件 2018 2020-04-26 20:12 AT89C51 temp_manager\keil\1602.c
文件 926 2019-11-10 19:28 AT89C51 temp_manager\keil\1602.h
文件 93345 2020-05-12 16:13 AT89C51 temp_manager\keil\51_temp_manager.uvgui.yiqiu
文件 8478 2020-05-12 10:12 AT89C51 temp_manager\keil\51_temp_manager.uvopt
文件 15869 2020-05-12 10:12 AT89C51 temp_manager\keil\51_temp_manager.uvproj
文件 1089 2020-05-12 15:05 AT89C51 temp_manager\keil\adc0809.c
文件 333 2020-05-12 11:58 AT89C51 temp_manager\keil\adc0809.h
文件 3713 2020-05-12 15:05 AT89C51 temp_manager\keil\ds18b20.c
文件 183 2020-05-12 10:24 AT89C51 temp_manager\keil\ds18b20.h
文件 2351 2020-04-29 00:27 AT89C51 temp_manager\keil\key.c
文件 545 2019-11-09 14:16 AT89C51 temp_manager\keil\key.h
目录 0 2020-05-12 15:36 AT89C51 temp_manager\keil\Listings\
文件 4265 2020-04-26 20:12 AT89C51 temp_manager\keil\Listings\1602.lst
文件 37126 2020-05-12 15:36 AT89C51 temp_manager\keil\Listings\51_temp_ctrl.m51
文件 28373 2020-04-26 18:14 AT89C51 temp_manager\keil\Listings\51calculator.m51
文件 2687 2020-05-12 15:05 AT89C51 temp_manager\keil\Listings\adc0809.lst
文件 6874 2020-05-12 15:05 AT89C51 temp_manager\keil\Listings\ds18b20.lst
文件 4647 2020-04-29 00:27 AT89C51 temp_manager\keil\Listings\key.lst
文件 11476 2020-05-12 15:36 AT89C51 temp_manager\keil\Listings\main.lst
文件 14149 2019-11-11 18:12 AT89C51 temp_manager\keil\Listings\STARTUP.lst
文件 5411 2020-05-12 16:12 AT89C51 temp_manager\keil\main.c
目录 0 2020-05-12 15:36 AT89C51 temp_manager\keil\ob
文件 116 2020-04-26 20:12 AT89C51 temp_manager\keil\ob
文件 6031 2020-04-26 20:12 AT89C51 temp_manager\keil\ob
文件 30535 2020-05-12 15:36 AT89C51 temp_manager\keil\ob
文件 1060 2020-05-12 15:36 AT89C51 temp_manager\keil\ob
文件 10613 2020-05-12 15:36 AT89C51 temp_manager\keil\ob
文件 212 2020-05-12 15:36 AT89C51 temp_manager\keil\ob
文件 24242 2020-04-26 18:14 AT89C51 temp_manager\keil\ob
文件 1190 2020-04-26 18:14 AT89C51 temp_manager\keil\ob
............此处省略16个文件信息
- 上一篇:PS2振动试验
- 下一篇:终极内存技术指南(共64页)
相关资源
- 新概念51单片机C语言教程 入门、提高
- STM32 DMX512协议与485 W5500 户外钢琴地灯
- 51单片机轻松入门—基于STC15W4K系列
- 新编MCS-51单片机应用设计
- GY-906红外测温资料
- 新概念51单片机c语言教程郭天祥清晰
- USB HID STM32 开发资料全集
- C++ 连连看146451
- C语言检测电脑CPU温度
- 手把手教你学51单片机C语言版
- 《C8051F系列单片机开发与C语言编程》
- 《单片机C语言程序设计实训100例——
- 毕业设计基于FPGA等精度频率计8051 I
- 智能多功能电子时钟闹钟设计-源代码
- 温度监控系统设计C语言源程序
- Keil c51 v9.52破解版(附注册机)
- STC15增强型8051单片机C语言编程与应用
- 郭天祥51单片机教材
- 深入浅出玩转51单片机
- 单片机keil5汉化
- 51单片机轻松入门 C语言版 基于STC
- DS18B20温控系统液晶+正负温度+数据保
- 基于51单片机的数字频率计源码+原理
- 基于51单片机DS18B20温度传感器设计的
- 基于51的电子密码锁程序及仿真
- 毕业设计—基于STC89C51单片机的模拟电
- 基于51单片机的人体感应报警器代码
- C语言基于51单片机的DS18b20的温度报警
- 单片机温度控制数码管显示程序、仿
- c51 跑马灯8路跑灯\\PMW亮度控制
评论
共有 条评论