✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~
🐱🐉这是51单片机毕业设计100篇系列的第21篇:基于51单片机的无线病床呼叫系统
💻项目相关说明:
- 代码量:535行
- 报告字数:5496字
- 含代码、仿真、原理图、报告、器件清单、常见问题(实物、lw可另外定制)
🎈项目分享:见文末!
1、主要功能
该系统由AT89C51/STC89C52单片机+LCD1602显示模块+温湿度传感器模块+矩阵按键+时钟模块等模块构成。适用于病床呼叫系统、16床位呼叫等相似项目。
可实现功能:
1、LCD1602实时显示北京时间、温湿度信息、呼叫床位等信息;
2、DHT11采集病房温湿度信息;
3、DS1302采集时间数据;
4、16个床位通过矩阵按键进行呼叫,序号越小表示该名病人越重要,按重要程度依次显示在屏幕上,同时进行声光报警;
5、按下护士响应按键,按顺序消除病床呼叫。
2、仿真
proteus仿真使用8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)
病人呼叫时,屏幕按序号显示:
3、代码
部分代码,仅供参考,注释齐全。
//-----------------------------------------------------------------
// 头文件包含
//-----------------------------------------------------------------
#include <reg51.h>
#include <intrins.h>
//-----------------------------------------------------------------
// 数据类型宏定义
//-----------------------------------------------------------------
#define uchar unsigned char
#define uint unsigned int
//-----------------------------------------------------------------
// 定义LCD使用的IO口
//-----------------------------------------------------------------
sbit rs=P2^2; //寄存器选择端口
sbit rw=P2^1; //读写选择端口
sbit ep=P2^0; //使能信号端口
//-----------------------------------------------------------------
// 定义按键、蜂鸣器和继电器使用的IO口
//-----------------------------------------------------------------
sbit KEY1=P3^3; //按键设置
sbit LED=P2^3; //led报警设置
sbit BUZZER=P2^4; //蜂鸣器设置
//-----------------------------------------------------------------
// 定义温湿度传感器DHT11数据IO口
//-----------------------------------------------------------------
sbit Data=P3^2; //温湿度IO
signed char humi_value;//湿度
signed char temp_value;//温度
//-----------------------------------------------------------------
// 定义ds1302使用的IO口
//-----------------------------------------------------------------
sbit RST=P2^5; //复位信号端口
sbit SCLK=P2^6; //时钟信号端口
sbit DSIO=P2^7; //数据信号端口
void main(void)
{
L1602_init();
DHT11_receive();
Ds1302ReadTime();
Ds1302Init();
while(1)
{
Ds1302ReadTime(); //DS1302读取当前北京时间
display_time(); //显示时间
DHT11_receive(); //检测温湿度
display_th(); //显示温湿度
key_scan4x4(); //呼叫的病床号码获取
key_scan(); //判断护士是否按下按键
handle(); //护士响应处理程序
delay(100);
}
}
4、原理图
使用AD21绘制(不是嘉立创哦
5、参考报告
内含5.5k字,23页相关报告一份,纯手打~
6、演示视频
含49s的演示视频,将该项目的功能都展示了一遍,如果还有不清楚的地方,欢迎后台私聊!
7、常见问题
8、资源获取
扫描如下二维码,回复"51病床呼叫"获取本项目所有文件!
希望可以对你有所帮助~