基于51单片机的无线病床呼叫系统设计—LCD1602显示

基于51单片机的无线病床呼叫系统

(仿真+程序+原理图+设计报告)

功能介绍

具体功能:

1.病人按下按键,LCD1602显示对应的床位号;

2.多人同时呼叫,显示屏同时显示;

3.呼叫时,蜂鸣器报警;

4.护士站可以按“响应”键取消呼叫;

​演示视频:

基于51单片机的无线病床呼叫系统设计—LCD1602显示

/*
基于单片机的无线病床呼叫系统*/
#include <reg52.h>		//头文件
#define uc unsigned char
#define ui unsigned int	  //宏定义sbit RS=P1^4;	
sbit RW=P1^5;
sbit E=P1^6;			//这3个是1602引脚定义
sbit D0=P1^3;	//上升按键
sbit D1=P1^2;	//下降按键
sbit D2=P1^1;	//模式切换
sbit D3=P1^0;			//光敏识别引脚
sbit bg_1602=P2^6;		//1602背光
sbit key=P3^3;			//应答按键
sbit Beep=P3^4;			//蜂鸣器uc code tab0[]=" 123456789#";  //显示几号的码表
uc code tab1[]="Calling!!!";   //显示呼叫的码表
uc code tab2[]="I Know!";	   //显示相应的码表
uc code tab3[]="Happy Every Day!"; //显示开心快乐每一天的码表uc			num_D0=0,num_D1=0,num_D2=0,num_D3=0;	//床号
bit bdata	fu_D0=0, fu_D1=0, fu_D2=0, fu_D3=0,flag;//初始床号void delay(ui x)		//延时函数
{ui i,j;for(i=0;i<x;i++)for(j=0;j<121;j++);	 //为1ms的延时函数
}void init()				//初始化函数
{bg_1602=0;			//开启背光TMOD=0x01;			//定时器0工作方式1TH0=0x4b;TL0=0xff;		  //赋初值EA=1;			   //开总中断ET0=1;			   //定时器中断开TR0=1;			   //定时器0中断开D0=0;D1=0;D2=0;D3=0;				//清零床号引脚
}
/******LCD1602******/
void com_1602(uc com)	//写命令
{RS=0;P0=com;delay(1);E=1;delay(1);E=0;RS=1;
}void data_1602(uc date)	//写数据
{RS=1;P0=date;delay(1);E=1;delay(1);E=0;RS=0;
}void dis_1602(uc word_num,uc hang,uc lie,uc tab_num,uc num)
/**word_num:显示字符个数,hang,lie:显示坐标,****
***tab_num:显示数组号,num:从第几字符开始显示****/
{uc n;for(n=0;n<word_num;n++){com_1602(0x80+hang*0x40+lie);if(tab_num==0)data_1602(tab0[num+n]);else if(tab_num==1)data_1602(tab1[num+n]);else if(tab_num==2)data_1602(tab2[num+n]);else if(tab_num==3)data_1602(tab3[num+n]);delay(5);lie++;}
}
void init_1602()	//初始化1602
{RW=0;			//写命令com_1602(0x38);//设置1602com_1602(0x0c);//设置显示,光标不闪烁com_1602(0x06);//不移动,指针加1com_1602(0x01);//清屏
}void know()			//应答函数
{if(D0!=fu_D0)num_D0=1;if(D1!=fu_D1)num_D1=2;if(D2!=fu_D2)num_D2=3;if(D3!=fu_D3)num_D3=4; 		//数据脚状态改变,将床号赋给变量if(key==0)		//检测按键{delay(5);if(key==0){if((num_D0!=0)||(num_D1!=0)||(num_D2!=0)||(num_D3!=0))//如果有呼叫时{bg_1602=0;							//打开背光Beep=1;								//关闭蜂鸣器flag=0;								//标志位清零num_D0=0;num_D1=0;num_D2=0;num_D3=0;fu_D0=D0;fu_D1=D1;fu_D2=D2;fu_D3=D3;//将床位清零,并记录当前引脚状态com_1602(0x01);						//清屏dis_1602(7,1,4,2,0);				//显示I Know }else		//如果没有呼叫时bg_1602=0;	//只点亮背光}while(!key);	//按键释放delay(2000);com_1602(0x01);//清屏}
}void display()		//显示函数
{if((num_D0==0)&&(num_D1==0)&&(num_D2==0)&&(num_D3==0))	//当没有床位呼叫时dis_1602(16,0,0,3,0);									//显示Happy else							//有床位呼叫时{if(flag==0){flag=1;com_1602(0x01);//清屏}if(num_D0==1){dis_1602(1,0,2,0,num_D0);dis_1602(1,0,3,0,10);}if(num_D1==2){dis_1602(1,0,5,0,num_D1);dis_1602(1,0,6,0,10);}if(num_D2==3){dis_1602(1,0,8,0,num_D2);dis_1602(1,0,9,0,10);}if(num_D3==4){dis_1602(1,0,11,0,num_D3);dis_1602(1,0,12,0,10);}dis_1602(10,1,3,1,0);		//在对应床位显示床位号}
}void LED()		//背光函数
{if((D0!=fu_D0)||(D1!=fu_D1)||(D2!=fu_D2)||(D3!=fu_D3))	//如果有呼叫bg_1602=0;				//打开背光
}	

硬件设计

使用元器件:

单片机:STC89C51;

(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)

5*7万用板;7*9万用板;

LCD1602液晶;16p母座;

插针*20;315M无线可再生遥控模块;

315M无线可再生接收模块;

SC2272-M4;SC2262;12V电池;

18脚坐*2;4.7M电阻(贴片);

820k电阻(贴片);1N4148*4;

按键*6;10k排阻(103);

10k电阻*10 ;2.2k电阻*6 ;

1.5k电阻(200~1.5k之间);

9013*4;9012*2;

12M晶振;30pf电容*2;

10uf电容 ;40脚坐;

5V有源蜂鸣器;电源插口;

自锁开关;天线(23cm长导线)*2;

5mmLED(红);导线若干;

流程图:

设计资料

01 仿真图

本设计使用proteus8.9版本设计,资料中有软件安装教程,无需担心!具体如图!

02 原理图

本系统原理图采用Altium Designer19设计,具体如图!

03 程序

本设计使用软件keil5版本编程设计,资料中有软件安装教程,无需担心!具体如图!

04 设计报告

九千字设计报告,具体如下!

05 设计资料

        资料获取请关注同名公众号,全部资料包括仿真源文件 、程序(含注释)、AD原理图、开题报告、参考论文、流程图、任务书、元件清单、视频讲解等。具体内容如下,全网最全! !

资料获取请观看前面演示视频!

点赞分享一起学习成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/309054.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 使用 three.js 加载 gltf 3D模型 | three.js 入门

系列文章 React 使用 three.js 加载 gltf 3D模型 | three.js 入门React three.js 3D模型骨骼绑定React three.js 3D模型面部表情控制React three.js 实现人脸动捕与3D模型表情同步结合 react-webcam、three.js 与 electron 实现桌面人脸动捕应用 示例项目(gitcode)&#xf…

开源博客项目Blog .NET Core源码学习(15:App.Hosting项目结构分析-3)

本文学习并分析App.Hosting项目中前台页面的关于本站页面和点点滴滴页面。 关于本站页面 关于本站页面相对而言布局简单&#xff0c;与后台控制器类的交互也不算复杂。整个页面主要使用了layui中的面包屑导航、选项卡、模版、流加载等样式或模块。   面包屑导航。使用layui…

【C++]C/C++的内存管理

这篇博客将会带着大家解决以下几个问题 1. C/C内存分布 2. C语言中动态内存管理方式 3. C中动态内存管理 4. operator new与operator delete函数 5. new和delete的实现原理 6. 定位new表达式(placement-new) 1. C/C内存分布 我们先来看下面的一段代码和相关问题 int global…

第二证券策略:股指预计维持震荡格局 关注汽车、工程机械等板块

第二证券指出&#xff0c;指数自今年2月份阶段低点反弹以来&#xff0c;3月份持续高位整理。进入4月份之后面对年报和一季报的双重财报发表期&#xff0c;预计指数短期保持高位整理概率比较大。前期缺乏成绩支撑的概念股或有回落的危险&#xff0c;主张重视成绩稳定、估值低、分…

快速入门深度学习9.1(用时20min)——GRU

速通《动手学深度学习》9.1 写在最前面九、现代循环神经网络9.1 门控循环单元&#xff08;GRU&#xff09;9.1.1. 门控隐状态9.1.1.1. 重置门和更新门9.1.1.2. 候选隐状态9.1.1.3. 隐状态 9.1.3 API简洁实现小结 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 20…

HTML图片

图片标签&#xff1a; ~img图片标签 ~是自结束标签 ~属性 ~src表示要引入图片的位置 ~src需要一个路径作为参数 ~alt是对图片的描述 ~帮助搜索引擎来识别图片 ~如果不写alt则搜索引擎不会收录图片 ~width与height只有一个时是同步改变的&#xff0c;但两者同时存在时则是两者按…

头歌-机器学习 第11次实验 softmax回归

第1关&#xff1a;softmax回归原理 任务描述 本关任务&#xff1a;使用Python实现softmax函数。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.softmax回归原理&#xff0c;2.softmax函数。 softmax回归原理 与逻辑回归一样&#xff0c;softmax回归同样…

MySQL学习笔记(数据类型, DDL, DML, DQL, DCL)

Learning note 1、前言2、数据类型2.1、数值类型2.2、字符串类型2.3、日期类型 3、DDL总览数据库/表切换数据库查看表内容创建数据库/表删除数据库/表添加字段删除字段表的重命名修改字段名&#xff08;以及对应的数据类型&#xff09; 4、DML往字段里写入具体内容修改字段内容…

杰发科技AC7840——CAN通信简介(3)_时间戳

0. 时间戳简介 时间戳表示的是收到该CAN消息的时刻&#xff0c;通过连续多帧的时间戳&#xff0c;可以计算出CAN消息的发送周期&#xff0c;也可以用于判断CAN消息是否被持续收到。 1. 使用步骤 注意分别是发送和接收的功能&#xff1a; 2. 现象分析_接收时间戳 看下寄存器的…

机器学习(31)PINN

文章目录 摘要Abstract一、监督学习二、文献阅读1. 题目2. abstract3. 偏微分方程的数据驱动解3.1连续时间模型example(Schrodinger equation)&#xff1a; 3.2离散时间模型Example (Allen–Cahn equation)&#xff1a; 4. 文献解读4.1 Introduction4.2 创新点 三、实验内容1.实…

Eigen库从入门到放弃(2. Getting Started)

Eigen的头文件定义了多种类型&#xff0c;但是对于简单的来说&#xff0c;使用MatrixXd就足够了&#xff0c;MatrixXd表示任意尺寸的矩阵&#xff0c;但是要注意数据类型是double的。Eigen/Dense的头文件定义了所有MatrixXd和相关类型的成员函数。所有头文件中定义的函数都是在…

华为2024年校招实习硬件-结构工程师机试题(四套)

华为2024年校招&实习硬件-结构工程师机试题&#xff08;四套&#xff09; &#xff08;共四套&#xff09;获取&#xff08;WX: didadidadidida313&#xff0c;加我备注&#xff1a;CSDN 华为硬件结构题目&#xff0c;谢绝白嫖哈&#xff09; 结构设计工程师&#xff0c;结…

基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的应用

熟悉蒸散发ET及其组分&#xff08;植被蒸腾Ec、土壤蒸发Es、冠层截留Ei&#xff09;、植被总初级生产力GPP的概念和碳水耦合的基本原理&#xff1b;掌握利用Python与ArcGIS工具进行课程相关的操作&#xff1b;熟练掌握国际上流行的Penman-Monteith模型&#xff0c;并能够应用该…

大语言模型总结整理(不定期更新)

《【快捷部署】016_Ollama&#xff08;CPU only版&#xff09;》 介绍了如何一键快捷部署Ollama&#xff0c;今天就来看一下受欢迎的模型。 模型简介gemmaGemma是由谷歌及其DeepMind团队开发的一个新的开放模型。参数&#xff1a;2B&#xff08;1.6GB&#xff09;、7B&#xff…

BLIP 算法阅读记录---一个许多多模态大语言模型的基本组件

论文地址&#xff1a;&#x1f608; 目录 一、环境配置以及数据集准备 数据集准备 数据集格式展示 环境配置&#xff0c;按照官网所述即可 二、一些调整 vit_base的预训练模型 远程debug的设置 Tokenizer初始化失败 读入网络图片的调整 三、训练过程 Image Encoder …

[leetcode] all-nodes-distance-k-in-binary-tree 二叉树中所有距离为 K 的结点

. - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff08;具有根结点 root&#xff09;&#xff0c; 一个目标结点 target &#xff0c;和一个整数值 k 。 返回到目标结点 target 距离为 k 的所有结点的值的列表。 答案可以以 任何顺序 返回。 示例 1&#xff1a…

服务器主机关机重启告警

提取时间段内系统操作命名&#xff0c;出现系统重启命令&#xff0c;若要出现及时联系确认 重启命令&#xff1a; reboot / init 6 / shutdown -r now&#xff08;现在重启命令&#xff09; 关机命令&#xff1a; init 0 / shutdown -h now&#xff08;关机&#…

Element-UI 自定义-下拉框选择年份

1.实现效果 场景表达&#xff1a; 默认展示当年的年份&#xff0c;默认展示前7年的年份 2.实现思路 创建一个新的Vue组件。 使用<select>元素和v-for指令来渲染年份下拉列表。 使用v-model来绑定选中的年份值。 3.实现代码展示 <template><div><el-…

ping命令返回无法访问目标主机和请求超时浅析

在日常经常用ping命令测试网络是否通信正常&#xff0c;使用ping命令时也经常会遇到这两种情况&#xff0c;那么表示网络出现了问题。 1、请求超时的原因 可以看到“请求超时”没有收到任何回复。要知道&#xff0c;IP数据报是有生存时间的&#xff0c;当其生存时间为零时就会…

医院预约系统微信小程序APP前后端

医院预约系统具体功能介绍&#xff1a;展示信息、可以注册和登录&#xff0c; 预约&#xff08;包含各个科室的预约&#xff0c;可以预约每个各个医生&#xff09;&#xff0c;就诊引导包含预约的具体信息&#xff0c;包含就诊时间、就诊科室、就诊医生以及就诊人信息、和支付状…