基于51单片机64位病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0095

1. 主要功能:

基于51单片机的病床呼叫系统proteus仿真设计

1、设计一个可容64张床位的病房呼叫系统;

2、每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮;

3、护士值班室LCD1602显示呼叫床位号,并响铃3秒;

4、当护士按下"响应"键时,取消当前处理的病床呼叫;

5、按照病床呼叫先后时间处理患者需求;

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

以下为本设计资料展示图:

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

3. 仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示Bed call。

每个床位都有一个按钮,当患者需要呼叫护士时,病床按键呼叫护士台。护士值班室LCD1602面板上显示呼叫床位号,并响铃3秒;

Call num显示的是当下需要处理的床位号,ALL显示的是等待处理的剩余床位总数。

护士站处理完当前病床后按下,回应按键,LCD显示下一个呼叫的病床床号,按照病床呼叫先后时间处理患者需求。

4. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。

#include "reg51.h"
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
sbit k1=P1^0;//按钮
sbit beep=P1^7;//蜂鸣器

uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0,sec=0;
uchar xian1[]="Call num:00";//显示数组
uchar xian2[]="All:00";
uchar key=0,all=0;
//按键存储
uchar num[64]={0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
};

void key_scan() // 定义一个名为key_scan的函数,用于搜索矩阵键盘上的按键状态
{
    uchar i, j; // 定义两个uchar类型(通常为8位无符号字符型)变量i和j,分别用作行和列的计数器

    for(i = 0; i < 8; i++) // 通过循环遍历键盘的8行
    {
        P3 = ~(1<<i); // 将P3口设置为行线输出,这里对P3口进行操作,将第i位置为低电平,其他位不变,实现逐行扫描
                           // 即置低当前行,让这一行的键处于可检测状态

        for(j = 0; j < 8; j++) // 再通过内部循环遍历键盘的8列
        {
            if((P2 & (1<<j)) == 0) // 检查P2口的状态,如果第j位为0,表示对应的列线上有按键被按下
            {
                if(!num[i*8+j]) // 如果当前位置的按键尚未记录为已按过(num数组对应元素为0)
                {
                    time = 60; //时间变量time为60,用于蜂鸣器提醒倒计时
                    num[i*8+j] = 1; // 在num数组中记录此次按键按下,将对应行列号的数组元素置为1
                    all++; // 增加全局按键按下总数统计all
                }
            }
        }
    }
}
void search() // 定义一个名为search的函数,用于搜索下一个被呼叫的位置
{
    uchar i; // 定义一个uchar类型变量i,用作循环计数器

    for(i = 0; i < 64; i++) // 遍历num数组(大小为64,对应8x8矩阵键盘的所有按键位置)
    {
        if(num[i]) // 检查num数组中当前位置的元素是否非零,即判断该位置是否有按键被按下并已记录
        {
            key = i + 1; // 若找到已按下的按键,将其位置索引加1后赋值给全局变量key。通常情况下,矩阵键盘的位置索引是从0开始的,这里加1可能是因为实际应用中从1开始编号
            break; // 找到第一个被呼叫的按键后立即跳出循环,避免不必要的额外遍历
        }
    }
}
void main()
{
	init_1602();
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		 key_scan();
		 search();
		 if(!k1) //清除呼叫
		 {		 	
			if(all>0)
			{
				all--;
				num[key-1]=0;
			}
			while(!k1);
		 }
	}
}
完整代码见文章压缩包下载链接

5. 设计报告

7464字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等

随着现代医疗技术的飞速发展,医院日常运营中的各个环节都在不断地得到优化和完善。其中,病房管理作为医院运营体系中的核心环节之一,其重要性日益凸显。一个高效、有序的病房管理系统不仅能够提升医院的运营效率,更能为患者提供更加舒适、安全的就医环境。

在病房管理的众多组成部分中,病床呼叫系统占据着举足轻重的地位。它不仅是医护人员与患者之间沟通的重要桥梁,更是保障患者及时就医、提高医疗服务质量的关键所在。然而,传统的病床呼叫系统往往存在诸多弊端,如响应速度慢、误报率高等问题,这些问题不仅影响了患者的就医体验,也给医护人员的日常工作带来了诸多不便。

为了解决上述问题,提高病床呼叫的准确性和效率,我们提出了一种基于51单片机的病床呼叫系统设计方案。通过利用51单片机的强大功能和灵活性,我们可以实现对病床呼叫信号的快速响应和准确处理。同时,结合Proteus仿真设计平台,我们可以在虚拟环境中对系统进行全面的测试和优化,从而确保系统的稳定性和可靠性。

6. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。

元器件清单:

元件 型号 数量
单片机 AT89C51 1
电容 30pf 2
电容 10uf 1
晶振 12MHz 1
按钮 65
蜂鸣器 有源 1
三极管 PNP 1
电阻 1k 1
显示器 LCD1602 1
排阻 10k 1
电源部分
排针 2P 1
电容 0.1uf 2
电容 100uf 2
稳压器 7805 1

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

7. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法--必读!!!!

1、程序

2、proteus仿真

3、功能要求

4、软硬件流程图

5、开题报告

6、设计报告

7、原理图

8、元器件清单

9、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

资料下载链接(可点击):

https://docs.qq.com/doc/DS1NFaWxPbkZySFBC

更多资源 点击下方链接:

https://docs.qq.com/sheet/DS0xIa0llTmtNakRW

us 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

资料下载链接:

KEY_S0095 51单片机病床呼叫(64位)系统仿真设计

链接:https://pan.baidu.com/s/1NESTRRudd6KQLf9NPT6I4Q?pwd=mrl6

提取码:mrl6

相关推荐
wenchm12 小时前
细说STM32F407单片机SPI基础知识
stm32·单片机·嵌入式硬件
jikuaidi6yuan12 小时前
STM32 ADC 配置
stm32·单片机·嵌入式硬件
Be Legendary-CGK14 小时前
有源模拟滤波器的快速设计
嵌入式硬件·硬件工程
Anin蓝天(北京太速科技-陈)14 小时前
204-基于Xilinx Virtex-6 XC6VLX240T 和TI DSP TMS320C6678的信号处理板
嵌入式硬件·fpga开发·信号处理
Jack电子实验室15 小时前
STM32 出租车计价器系统设计(一) 江科大源码改写
c语言·stm32·单片机·嵌入式硬件·嵌入式
腾飞的信仰15 小时前
51单片机 串口UART
单片机·嵌入式硬件·51单片机
电子科技圈15 小时前
XMOS将在CES 2025上展出多款由边缘AI驱动的创新音效、音频、识别和处理解决方案
人工智能·科技·嵌入式硬件·mcu·物联网·音视频·iot
lantiandianzi16 小时前
基于单片机的输液速度监控系统设计
单片机·嵌入式硬件
紫阡星影17 小时前
【模块系列】STM32&PCF8563
c语言·stm32·单片机·嵌入式硬件
憧憬一下18 小时前
深入解析PCIe设备事务层与配置过程
arm开发·嵌入式硬件·嵌入式·pcie·linux驱动开发