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