基于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.mzph.cn/news/816090.shtml

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

相关文章

文献阅读:Viv:在 web 上多尺度可视化高分辨率多重生物成像数据

文献介绍 「文献题目」 Viv: multiscale visualization of high-resolution multiplexed bioimaging data on the web 「研究团队」 Nils Gehlenborg&#xff08;美国哈佛医学院&#xff09; 「发表时间」 2022-05-11 「发表期刊」 Nature Methods 「影响因子」 47.9 「DOI…

第17天:信息打点-语言框架开发组件FastJsonShiroLog4jSpringBoot等

第十七天 本课意义 1.CMS识别到后期漏洞利用和代码审计 2.开发框架识别到后期漏洞利用和代码审计 3.开发组件识别到后期漏洞利用和代码审计 一、CMS指纹识别-不出网程序识别 1.概念 CMS指纹识别一般能识别到的都是以PHP语言开发的网页为主&#xff0c;其他语言开发的网页识…

Unix环境高级编程-学习-09-多线程之读写锁与条件变量(包含线程池的部分实现与测试验证)

目录 一、多线程相关文章链接 二、自由抒发 1、读写锁 2、条件变量 三、函数介绍 1、pthread_rwlock_init &#xff08;1&#xff09;声明 &#xff08;2&#xff09;作用 &#xff08;3&#xff09;参数 &#xff08;4&#xff09;返回值 &#xff08;5&#xff09;…

深度学习学习日记4.14 数据增强 Unet网络部分

数据增强 transforms.Compose([&#xff1a;这表示创建一个转换组合&#xff0c;将多个数据转换操作串联在一起 transforms.RandomHorizontalFlip()&#xff1a;这个操作是随机水平翻转图像&#xff0c;以增加数据的多样性。它以一定的概率随机地水平翻转输入的图像。 transfo…

29、链表-删除链表的倒数第N个结点

思路: 首先找到倒数第N个结点 第一种方式 先统计链表的节点数&#xff0c;然后再次遍历len-N即可得到倒数第N个结点&#xff0c;然后将前一个节点的next指针指向next的下一个节点使用快慢指针&#xff0c;快指针先跑N个结点然后慢指针开始跑&#xff0c;等快指针到达尾节点后…

多因子模型的因子选取

经典的Alpha模型是一些多因子模型&#xff0c;用于预测Alpha模型的信息比率&#xff0c;从而来判断判断模型的好坏。这里我们所说的信息比率是相对收益率除以非系统性风险&#xff0c;所以当我们在进行因子选择的时候&#xff0c;我们一定不能选取系统性风险模型&#xff08;例…

免费VPS云服务器汇总,最长永久免费使用

目前云服务器市场竞争很激烈&#xff0c;为了方便吸引上云&#xff0c;很多云计算服务商提供免费试用云服务器&#xff0c;下面给大家整理汇总一下免费VPS云服务器&#xff0c;最长永久免费使用&#xff01; 一、雨云&#xff08;优惠码:ABC&#xff09; 活动地址&#xff1a;…

2D AI交互数字人:赋能文旅、金融、政务、教育行业数字化转型

AI交互数字人结合了语音合成、语音识别、语义理解、图像处理、机器翻译、虚拟形象驱动等多项AI核心技术&#xff0c;可以提供服务导览、业务咨询、语音互动交流、信息播报等智能服务。 其中&#xff0c;2D AI交互数字人是采集真人视频&#xff0c;通过AI训练&#xff0c;生成逼…

认识OpenEuler操作系统

引言 在信息技术日新月异的时代&#xff0c;开源软件已成驱动创新的核心动能&#xff0c;其中&#xff0c;OpenEuler作为一款冉冉升起的开源操作系统典范&#xff0c;凭借其对开源精神的坚守与技术创新的不懈追求&#xff0c;自亮相以来便引发了全球关注。本文将全方位深挖Open…

Xcode 15.0 新 #Preview 预览让 SwiftUI 界面调试更加悠然自得

概览 从 Xcode 15 开始&#xff0c;苹果推出了新的 #Preview 宏预览机制&#xff0c;它无论从语法还是灵活性上都远远超过之前的预览方式。#Preview 不但可以实时预览 SwiftUI 视图&#xff0c;而且对 UIKit 的界面预览也是信手拈来。 想学习新 #Preview 预览的一些超实用调试…

使用新一代一站式 AI Bot 开发平台扣子coze,搭建我的第一个AI Bot(前端魔法师) ,

目录 1.概述​ 2.功能与优势 3.使用扣子 4.人设与回复逻辑 5.添加插件 6.预览与调试 7.发布bot Store 8.环境大家体验&#xff08;给大家内置了比较屌的插件&#xff09; 9.推荐阅读&#xff1a; 1.概述​ 扣子是新一代一站式 AI Bot 开发平台。无论你是否有编程基础…

iOS------SDWebImage源码

一&#xff0c;简介 一个异步图片下载及缓存的库 特性&#xff1a; 一个扩展UIImageView分类的库&#xff0c;支持加载网络图片并缓存图片异步图片下载器异步图片缓存和自动图片有效期限管理支持GIF动态图片支持WebP背景图片减压保证同一个URL不会再次下载保证无效的URL不会…

Web前端 Javascript笔记3

1、垃圾回收机制 内存中的生命周期 1、内存分配 2、内存使用&#xff08;读写&#xff09; 3、内存回收&#xff0c;使用完毕之后&#xff0c;垃圾回收器完成 内存泄漏&#xff1a;该回收的&#xff0c;由于某些未知因素&#xff0c;未释放&#xff0c;叫做内存泄漏 栈&#xf…

Vue新手入门

1 Vue概述 官网:https://cn.vuejs.org/ 1、什么是Vue.js Vue.js 是目前最火的一个前端框架&#xff0c;React是最流行的一个前端框架&#xff08;React除了开发网站&#xff0c;还可以开发手机App&#xff0c; Vue语法也是可以用于进行手机App开发的&#xff0c;需要借助于W…

Bridge 桥接

意图 将抽象部分与其显示部分分离&#xff0c;使他们都可以独立地变化。 结构 其中&#xff1a; Abstraction定义抽象类的接口&#xff0c;维护一个指向Implementer类型对象的指针。RefinedAbstraction扩展由Abstraction定义的接口。Implementor定义实现类的接口&#xff0c…

React 19 的新增功能:Action Hooks

React 是前端开发领域最流行的框架之一。我喜欢 React 是因为它背后的团队和社区对它的热情。当社区提出新功能和改进的需求时&#xff0c;团队会倾听&#xff0c;React 的未来是令人兴奋和有趣的。 让我们来看一下 React 19 中令开发人员提升开发效率的新特性。对于每个钩子&…

关于项目打包

除了自己常用的那种方式&#xff0c;也可以直接在文件夹下执行命令。 如果当前项目聚合了其他子模块的话&#xff1a; 先清理&#xff0c;再打包&#xff0c;同时跳过测试 如果打包后&#xff0c;然后项执行某个模块&#xff0c;进入当前文件夹下直接java -jar 和jar包名执行就…

k8s:kubectl 命令设置简写启用自动补全功能

k8s&#xff1a;kubectl 命令设置简写&启用自动补全功能 1、设置kubectl命令简写2、启用kubectl自动补全功能 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; Kubernetes&#xff08;K8s&#xff09;是一个强大的容器编排平台&#xff0…

恢复MySQL!是我的条件反射,PXB开源的力量...

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

力扣面试150 分发糖果 分步贪心

Problem: 135. 分发糖果 思路 &#x1f468;‍&#x1f3eb; 参考&#xff1a;代码随想录 一次是从左到右遍历&#xff0c;只比较右边孩子评分比左边大的情况。一次是从右到左遍历&#xff0c;只比较左边孩子评分比右边大的情况。 复杂度 时间复杂度: O ( n ) O(n) O(n) …