基于51單片機(jī)病床呼叫系統(tǒng)設(shè)計(jì)( proteus仿真+程序+設(shè)計(jì)報(bào)告+原理圖+講解視頻)
仿真圖proteus7.8及以上
程序編譯器:keil 4/keil 5
編程語(yǔ)言:C語(yǔ)言
設(shè)計(jì)編號(hào):S0095
1. 主要功能:
基于51單片機(jī)的病床呼叫系統(tǒng)proteus仿真設(shè)計(jì)
1、設(shè)計(jì)一個(gè)可容64張床位的病房呼叫系統(tǒng);
2、每個(gè)床位都有一個(gè)按鈕,當(dāng)患者需要呼叫護(hù)士時(shí),按下按鈕;
3、護(hù)士值班室LCD1602顯示呼叫的床位號(hào),并響鈴3秒;
4、當(dāng)護(hù)士按下“響應(yīng)”鍵時(shí),取消當(dāng)前處理的病床呼叫;
5、按照病床呼叫先后時(shí)間處理患者需求;
需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。
以下為本設(shè)計(jì)資料展示圖:
2. 講解視頻:
講解視頻包含仿真運(yùn)行講解和代碼講解
3. 仿真
打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。開始仿真后LCD1602顯示Bed call。
每個(gè)床位都有一個(gè)按鈕,當(dāng)患者需要呼叫護(hù)士時(shí),病床按鍵呼叫護(hù)士臺(tái)。護(hù)士值班室LCD1602面板上顯示呼叫的床位號(hào),并響鈴3秒;
Call num顯示的是當(dāng)下需要處理的床位號(hào),ALL顯示的是等待處理的剩余床位總數(shù)。
護(hù)士站處理完當(dāng)前病床后按下,回應(yīng)按鍵,LCD顯示下一個(gè)呼叫的病床床號(hào),按照病床呼叫先后時(shí)間處理患者需求。
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。
#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";//顯示數(shù)組
uchar xian2[]="All:00";
uchar key=0,all=0;
//按鍵存儲(chǔ)
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() // 定義一個(gè)名為key_scan的函數(shù),用于搜索矩陣鍵盤上的按鍵狀態(tài)
{
uchar i, j; // 定義兩個(gè)uchar類型(通常為8位無(wú)符號(hào)字符型)變量i和j,分別用作行和列的計(jì)數(shù)器
for(i = 0; i < 8; i++) // 通過(guò)循環(huán)遍歷鍵盤的8行
{
P3 = ~(1<<i); // 將P3口設(shè)置為行線輸出,這里對(duì)P3口進(jìn)行操作,將第i位置為低電平,其他位不變,實(shí)現(xiàn)逐行掃描
// 即置低當(dāng)前行,讓這一行的鍵處于可檢測(cè)狀態(tài)
for(j = 0; j < 8; j++) // 再通過(guò)內(nèi)部循環(huán)遍歷鍵盤的8列
{
if((P2 & (1<<j)) == 0) // 檢查P2口的狀態(tài),如果第j位為0,表示對(duì)應(yīng)的列線上有按鍵被按下
{
if(!num[i*8+j]) // 如果當(dāng)前位置的按鍵尚未記錄為已按過(guò)(num數(shù)組對(duì)應(yīng)元素為0)
{
time = 60; //時(shí)間變量time為60,用于蜂鳴器提醒倒計(jì)時(shí)
num[i*8+j] = 1; // 在num數(shù)組中記錄此次按鍵按下,將對(duì)應(yīng)行列號(hào)的數(shù)組元素置為1
all++; // 增加全局按鍵按下總數(shù)統(tǒng)計(jì)all
}
}
}
}
}
void search() // 定義一個(gè)名為search的函數(shù),用于搜索下一個(gè)被呼叫的位置
{
uchar i; // 定義一個(gè)uchar類型變量i,用作循環(huán)計(jì)數(shù)器
for(i = 0; i < 64; i++) // 遍歷num數(shù)組(大小為64,對(duì)應(yīng)8x8矩陣鍵盤的所有按鍵位置)
{
if(num[i]) // 檢查num數(shù)組中當(dāng)前位置的元素是否非零,即判斷該位置是否有按鍵被按下并已記錄
{
key = i + 1; // 若找到已按下的按鍵,將其位置索引加1后賦值給全局變量key。通常情況下,矩陣鍵盤的位置索引是從0開始的,這里加1可能是因?yàn)閷?shí)際應(yīng)用中從1開始編號(hào)
break; // 找到第一個(gè)被呼叫的按鍵后立即跳出循環(huán),避免不必要的額外遍歷
}
}
}
void main()
{
init_1602();
TMOD|=0X01;
TH0=0X3C;
TL0=0XB0;
ET0=1;//打開定時(shí)器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時(shí)器
while(1)
{
key_scan();
search();
if(!k1) //清除呼叫
{
if(all>0)
{
all--;
num[key-1]=0;
}
while(!k1);
}
}
}
完整代碼見(jiàn)文章壓縮包下載鏈接
5. 設(shè)計(jì)報(bào)告
7464字設(shè)計(jì)報(bào)告,內(nèi)容包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件框圖、調(diào)試、結(jié)論等
隨著現(xiàn)代醫(yī)療技術(shù)的飛速發(fā)展,醫(yī)院日常運(yùn)營(yíng)中的各個(gè)環(huán)節(jié)都在不斷地得到優(yōu)化和完善。其中,病房管理作為醫(yī)院運(yùn)營(yíng)體系中的核心環(huán)節(jié)之一,其重要性日益凸顯。一個(gè)高效、有序的病房管理系統(tǒng)不僅能夠提升醫(yī)院的運(yùn)營(yíng)效率,更能為患者提供更加舒適、安全的就醫(yī)環(huán)境。
在病房管理的眾多組成部分中,病床呼叫系統(tǒng)占據(jù)著舉足輕重的地位。它不僅是醫(yī)護(hù)人員與患者之間溝通的重要橋梁,更是保障患者及時(shí)就醫(yī)、提高醫(yī)療服務(wù)質(zhì)量的關(guān)鍵所在。然而,傳統(tǒng)的病床呼叫系統(tǒng)往往存在諸多弊端,如響應(yīng)速度慢、誤報(bào)率高等問(wèn)題,這些問(wèn)題不僅影響了患者的就醫(yī)體驗(yàn),也給醫(yī)護(hù)人員的日常工作帶來(lái)了諸多不便。
為了解決上述問(wèn)題,提高病床呼叫的準(zhǔn)確性和效率,我們提出了一種基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計(jì)方案。通過(guò)利用51單片機(jī)的強(qiáng)大功能和靈活性,我們可以實(shí)現(xiàn)對(duì)病床呼叫信號(hào)的快速響應(yīng)和準(zhǔn)確處理。同時(shí),結(jié)合Proteus仿真設(shè)計(jì)平臺(tái),我們可以在虛擬環(huán)境中對(duì)系統(tǒng)進(jìn)行全面的測(cè)試和優(yōu)化,從而確保系統(tǒng)的穩(wěn)定性和可靠性。
6. 原理圖
原理圖使用AD繪制,可供實(shí)物參考,仿真不同于實(shí)物,經(jīng)驗(yàn)不足不要輕易搞實(shí)物。
元器件清單:
元件 | 型號(hào) | 數(shù)量 |
---|---|---|
單片機(jī) | 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 |
穩(wěn)壓器 | 7805 | 1 |
Proteus仿真和實(shí)物作品的區(qū)別:
1.運(yùn)行環(huán)境:Proteus仿真是在計(jì)算機(jī)上運(yùn)行的,而實(shí)物則是在硬件電路板上運(yùn)行。
2.調(diào)試方式:在Proteus仿真中,可以方便地進(jìn)行單步調(diào)試和觀察變量值的變化,而在實(shí)物中則需要通過(guò)調(diào)試器或者串口輸出等方式進(jìn)行調(diào)試。
電路連接方式:在Proteus仿真中,可以通過(guò)軟件設(shè)置進(jìn)行電路連接的修改,而在實(shí)物中則需要通過(guò)硬件電路板和連接線進(jìn)行修改。
3.運(yùn)行速度:Proteus仿真通常比實(shí)物運(yùn)行速度快,因?yàn)榉抡媸腔谟?jì)算機(jī)運(yùn)行的,而實(shí)物則需要考慮電路板上的物理限制和器件的響應(yīng)時(shí)間等因素。
4.功能實(shí)現(xiàn):在Proteus仿真中,可以通過(guò)軟件設(shè)置實(shí)現(xiàn)不同的功能,而在實(shí)物中則需要根據(jù)電路設(shè)計(jì)和器件的性能進(jìn)行實(shí)現(xiàn)。
7. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接
資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。
0、常見(jiàn)使用問(wèn)題及解決方法–必讀?。。。?/p>
1、程序
2、proteus仿真
3、功能要求
4、軟硬件流程圖
5、開題報(bào)告
6、設(shè)計(jì)報(bào)告
7、原理圖
8、元器件清單
9、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url
資料下載鏈接(可點(diǎn)擊):
https://docs.qq.com/doc/DS1NFaWxPbkZySFBC
更多資源 點(diǎn)擊下方鏈接:
https://docs.qq.com/sheet/DS0xIa0llTmtNakRW
us 單片機(jī)仿真設(shè)計(jì)教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url
資料下載鏈接:
KEY_S0095 51單片機(jī)病床呼叫(64位)系統(tǒng)仿真設(shè)計(jì)
鏈接:https://pan.baidu.com/s/1NESTRRudd6KQLf9NPT6I4Q?pwd=mrl6
提取碼:mrl6