找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1819|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)病房呼叫程序和仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:190577 發(fā)表于 2023-11-27 21:24 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

一、系統(tǒng)方案
1、本設(shè)計(jì)采用這51單片機(jī)作為主控器。
2、病房呼叫,液晶1602顯示。
3、護(hù)士站按鍵取消。
4、蜂鳴器報(bào)警。

二、硬件設(shè)計(jì)
原理圖如下:

三、單片機(jī)軟件設(shè)計(jì)
1、首先是系統(tǒng)初始化
void init()                                //初始化函數(shù)
{
        bg_1602=0;                        //開(kāi)啟背光
        TMOD=0x01;                        //定時(shí)器0工作方式1
        TH0=0x4b;
        TL0=0xff;                  //賦初值
        EA=1;                           //開(kāi)總中斷
        ET0=1;                           //定時(shí)器中斷開(kāi)
        TR0=1;                           //定時(shí)器0中斷開(kāi)
        D0=0;
        D1=0;
        D2=0;
        D3=0;                                //清零床號(hào)引腳
}
2、液晶顯示程序
/******LCD1602******/
void com_1602(uc com)        //寫(xiě)命令
{
        RS=0;
        P0=com;
        delay(1);
        E=1;
        delay(1);
        E=0;
        RS=1;
}
void data_1602(uc date)        //寫(xiě)數(shù)據(jù)
{
        RS=1;
        P0=date;
        delay(1);
        E=1;
        delay(1);
        E=0;
        RS=0;
}
3、按鍵程序
if(key==0)                //檢測(cè)按鍵
        {
                delay(5);
                if(key==0)
                {
                        if((num_D0!=0)||(num_D1!=0)||(num_D2!=0)||(num_D3!=0))//如果有呼叫時(shí)
                        {
                                bg_1602=0;                                                        //打開(kāi)背光
                                Beep=1;                                                                //關(guān)閉蜂鳴器
                                flag=0;                                                                //標(biāo)志位清零
                                num_D0=0;num_D1=0;num_D2=0;num_D3=0;
                                fu_D0=D0;fu_D1=D1;fu_D2=D2;fu_D3=D3;//將床位清零,并記錄當(dāng)前引腳狀態(tài)
                                com_1602(0x01);                                                //清屏
                                dis_1602(7,1,4,2,0);                                //顯示I Know
                        }
                        else                //如果沒(méi)有呼叫時(shí)
                        bg_1602=0;        //只點(diǎn)亮背光
                }
                while(!key);        //按鍵釋放
                delay(2000);
                com_1602(0x01);//清屏
        }
4、核心算法程序
void display()                //顯示函數(shù)
{
        if((num_D0==0)&&(num_D1==0)&&(num_D2==0)&&(num_D3==0))        //當(dāng)沒(méi)有床位呼叫時(shí)
        dis_1602(16,0,0,3,0);                                                                        //顯示Happy
        else                                                        //有床位呼叫時(shí)
        {
                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);                //在對(duì)應(yīng)床位顯示床位號(hào)
        }
}

四、 proteus仿真設(shè)計(jì)
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒(méi)有硬件平臺(tái)的基礎(chǔ)上通過(guò)自身的軟件仿真出硬件平臺(tái)的運(yùn)行情況,這樣就可以通過(guò)軟件仿真來(lái)驗(yàn)證我們?cè)O(shè)計(jì)的方案有沒(méi)有問(wèn)題,如果有問(wèn)題,可以重新選擇器件,連接器件,直到達(dá)到我們?cè)O(shè)定的目的,避免我們搭建實(shí)物的時(shí)候,如果當(dāng)初選擇的方案有問(wèn)題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測(cè)試,這樣會(huì)浪費(fèi)人力和物力,也給開(kāi)發(fā)者帶來(lái)一定困惑,Proteus仿真軟件就很好的解決這個(gè)問(wèn)題,我們?cè)谠O(shè)計(jì)之初,就使用該軟件進(jìn)行模擬仿真,測(cè)試,選擇滿足我們?cè)O(shè)計(jì)的最優(yōu)方案。最后根據(jù)測(cè)試沒(méi)問(wèn)題的仿真圖紙,焊接實(shí)物,調(diào)試,最終完成本設(shè)計(jì)的作品。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:491875 發(fā)表于 2023-11-28 07:42 | 只看該作者
現(xiàn)實(shí)中的病房呼叫器不會(huì)采用并聯(lián)設(shè)置按鈕的!因?yàn)楹艚衅髋c主機(jī)之間有一定的距離!并聯(lián)布線會(huì)大大增加布線成本和工程量!而且長(zhǎng)線效應(yīng)勢(shì)必會(huì)帶來(lái)干擾!所以,你的這個(gè)設(shè)計(jì)只能想當(dāng)然的用于實(shí)驗(yàn)室演示并無(wú)使用價(jià)值!
回復(fù)

使用道具 舉報(bào)

板凳
ID:276663 發(fā)表于 2023-11-28 10:07 | 只看該作者
去病房看看就知道了,簡(jiǎn)單的使用無(wú)線呼叫,復(fù)雜的要求高的都是做在床頭了
回復(fù)

使用道具 舉報(bào)

地板
ID:190577 發(fā)表于 2023-11-28 14:50 | 只看該作者
老愚童63 發(fā)表于 2023-11-28 07:42
現(xiàn)實(shí)中的病房呼叫器不會(huì)采用并聯(lián)設(shè)置按鈕的!因?yàn)楹艚衅髋c主機(jī)之間有一定的距離!并聯(lián)布線會(huì)大大增加布線成 ...

我這個(gè)就是學(xué)校的實(shí)驗(yàn)而已,練習(xí)編程。
回復(fù)

使用道具 舉報(bào)

5#
ID:190577 發(fā)表于 2023-11-28 16:50 | 只看該作者
IdeaMing 發(fā)表于 2023-11-28 10:07
去病房看看就知道了,簡(jiǎn)單的使用無(wú)線呼叫,復(fù)雜的要求高的都是做在床頭了

我這個(gè)就是學(xué)校的實(shí)驗(yàn)而已,練習(xí)編程。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表