基于51單片機的病號呼叫系統(tǒng)設(shè)計與制作_第1頁
基于51單片機的病號呼叫系統(tǒng)設(shè)計與制作_第2頁
基于51單片機的病號呼叫系統(tǒng)設(shè)計與制作_第3頁
基于51單片機的病號呼叫系統(tǒng)設(shè)計與制作_第4頁
基于51單片機的病號呼叫系統(tǒng)設(shè)計與制作_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

目錄

1產(chǎn)品功能分析.........................................................................................................1

2設(shè)計方案遴選.........................................................................................................1

2.1單片機的選擇..........................................................................................1

2.2通訊方式的選擇......................................................................................1

2.3系統(tǒng)框圖設(shè)計..........................................................................................1

3產(chǎn)品硬件設(shè)計.........................................................................................................2

3.1STC89C52RC單片機核心電路設(shè)計.............................................................2

3.2按鍵電路設(shè)計..........................................................................................3

3.3LCD1602液晶顯示模塊電路.......................................................................4

4產(chǎn)品軟件設(shè)計.........................................................................................................4

4.1主程序流程圖..........................................................................................5

4.2LCD1602液晶顯示程序設(shè)計.......................................................................6

4.3產(chǎn)品程序清單..........................................................................................6

5產(chǎn)品使用說明.........................................................................................................7

5.1產(chǎn)品裝配圖..............................................................................................7

5.2產(chǎn)品調(diào)試..................................................................................................9

5.3產(chǎn)品使用說明..........................................................................................9

6、產(chǎn)品設(shè)計技術(shù)標準.................................................................................................9

7參考資料.................................................................................................................10

附錄.............................................................................................................................11

附錄1元器件清單.............................................................................................11

附錄2原理圖.....................................................................................................12

附錄3PCB設(shè)計圖...............................................................................................13

附錄4產(chǎn)品實物圖.............................................................................................14

附錄5主程序代碼.............................................................................................15

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

基于51單片機的病號呼叫系統(tǒng)設(shè)計與制作

1產(chǎn)品功能分析

病人按下按鍵時,護士值班室通過單片機接收到指令,發(fā)出呼叫警報,同

時液晶上顯示對應(yīng)的病床號,當護士按鍵應(yīng)答,停止呼叫警報,液晶顯示已應(yīng)

答,警報由定時器控制關(guān)閉。當有多個病人呼叫沒有及時答應(yīng)時,對應(yīng)顯示各

床床位號,同時報警。

2設(shè)計方案遴選

以原理圖為基礎(chǔ),在萬能板上搭建最簡易的電路,合適產(chǎn)品的零件位置,

需要發(fā)揮各零件的基本功能。在考慮產(chǎn)品最基本的功能效果之后,要考慮他的

經(jīng)濟成本,做到物美價廉。

2.1單片機的選擇

本設(shè)計是基于STC89C52單片機設(shè)計的病房呼叫系統(tǒng)設(shè)計,該系統(tǒng)就是以

Atmel公司的STC89C52單片機作為主控器,包括鍵盤輸入電路,顯示電路,

以及晶振復位電路等來實現(xiàn)病房呼叫系統(tǒng)。

2.2通訊方式的選擇

系統(tǒng)以STC89C52單片機為核心輔以矩陣鍵盤、LCD1602示電路和部分簡

單模擬和數(shù)字電路組成的能夠?qū)崿F(xiàn)病人和醫(yī)護人員之間信息。

2.3系統(tǒng)框圖設(shè)計

1

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

應(yīng)答按鍵

聲音報警

按鍵模塊指示燈單片機

液晶顯示

圖2.1系統(tǒng)框圖

3產(chǎn)品硬件設(shè)計

由STC89C52單片機所組成的系統(tǒng),其中按鍵模塊、指示燈模塊、1602顯

示模塊、蜂鳴器模塊。

3.1STC89C52RC單片機核心電路設(shè)計

功能強大STC89C52單片機可為您提供許多高性價比的應(yīng)用場合,可靈

活應(yīng)用于各種控制領(lǐng)域,其主要功能有:

①與MCS-51產(chǎn)品指令系統(tǒng)完全兼容

②全靜態(tài)操作:0Hz-24MHz

③三級加密程序存儲器

④128×8字節(jié)內(nèi)部RAM

⑤32個可編程I/O口線

⑥2個16位定時/計數(shù)器

⑦5個中斷源

⑧可編程串行UART通道

2

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖3.1STC89C52RC單片機原理圖

圖3.2STC89C52RC單片機實物圖

3.2按鍵電路設(shè)計

獨立式按鍵是指直接用I/O口線構(gòu)成的單個按鍵電路。每個獨立式按鍵單

獨占有一根I/O口線,每根I/O口線的工作狀態(tài)都不會影響其他I/O口線的工

作狀態(tài)。

3

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

圖3.3獨立按鍵原理圖

3.3LCD1602液晶顯示模塊電路

液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電

子表及很多家用電子產(chǎn)品中都可以看到,液晶顯示器都是數(shù)字式的,和單片機

系統(tǒng)的接口更加簡單可靠,操作更加方便。這也是此系統(tǒng)選用LCD1602液晶的

原因。

圖3.4液晶顯示器原理圖

圖3.5液晶顯示器實物圖

4產(chǎn)品軟件設(shè)計

對于STC89C52的控制設(shè)計,以Keilc軟件編程環(huán)境,以proteus軟件為

4

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

電路仿真設(shè)計環(huán)境。二者的結(jié)合為該系統(tǒng)的設(shè)計提供有利條件。

4.1主程序流程圖

主程序

初始化

N

清零鍵按下否?按

Y總

數(shù)

顯示屏清零顯

調(diào)鍵盤子程序流

調(diào)按鍵總數(shù)子程序

N

1S定時到否?

Y

清除1S定時標志

調(diào)循環(huán)顯示床號子程序

圖4.1主程序流程圖

5

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

4.2LCD1602液晶顯示程序設(shè)計

開始

N

標志位是

否為?

1

N

Y

定時是否

達到

1S?

Y

調(diào)顯示子程序

循環(huán)顯示病床號

圖4.21602顯示子程序流程圖

4.3產(chǎn)品程序清單

6

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

頭文件Reg51.h

定時器初始

主程序

voidinit_1602()Main.c

lo口定義

lcd1602初始

化voidtime0()interrupt1

LED燈控

定時器0中斷程序制lo口

圖4.3軟件程序清單

5產(chǎn)品使用說明

5.1產(chǎn)品裝配圖

產(chǎn)品是以單片機,LCD1602液晶顯示模塊、按鍵模塊、指示燈模塊、蜂鳴

器模塊組成。

7

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

電源

獨立按鍵

自鎖開關(guān)

發(fā)光二極管

蜂鳴器

電容

單片機

晶振

1602液晶

圖5.1產(chǎn)品裝配圖

8

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

5.2產(chǎn)品調(diào)試

圖5.2產(chǎn)品軟件編譯圖

5.3產(chǎn)品使用說明

病人按呼叫鍵時,通過單片機控制處理,護士值班室發(fā)出呼叫警報,同時

1602液晶上顯示相應(yīng)的床位號;

當護士按鍵應(yīng)答,呼叫報警停止,液晶顯示以應(yīng)答,警報由定時器控制關(guān)

閉;

當有多個病人呼叫沒有及時應(yīng)答時,對應(yīng)顯示各床床位號,同時報警。

6、產(chǎn)品設(shè)計技術(shù)標準

[1]J-STD-001E電氣與電子組件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求

[3]IPC-7711/21電子組件和電路板的返工&返修

[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語;

[5]GB/T8566-2007信息技術(shù)軟件生存周期過程標準;

[6]GB/T8567-2006計算機軟件文檔編制規(guī)范。

9

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

7參考資料

1]王意崗.病房呼叫系統(tǒng)[J].建筑電氣,2004

[2]朱艷華,田行軍,李夏青.基于PL3105的病床呼叫系統(tǒng)設(shè)計[J].北京石油化工學院學

報,2009

[3]鄔春明,王艷茹.基于低壓線載波技術(shù)的病床呼叫系統(tǒng)[J].電子技術(shù)應(yīng)用,2005

[4]何立民.《單片機初級教程-單片機基礎(chǔ)》[M].北京:北京航空航天大學出版社,2006

[5]李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學出版社,2005

10

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄

附錄1元器件清單

11

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄2原理圖

12

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄3PCB設(shè)計圖

13

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄4產(chǎn)品實物圖

14

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

附錄5主程序代碼

#include<reg52.h>//調(diào)用單片機頭文件

#defineucharunsignedchar//無符號字符型宏定義變量范圍0~255

#defineuintunsignedint//無符號整型宏定義變量范圍0~65535

sbitrs=P2^7;//寄存器選擇信號H:數(shù)據(jù)寄存器L:指令寄存器

sbitrw=P2^6;//寄存器選擇信號H:數(shù)據(jù)寄存器L:指令寄存器

sbite=P2^5;//片選信號下降沿觸發(fā)

sbitbeep=P2^4;//蜂鳴器IO口定義

sbitkey_quxiao=P2^0;//取消鍵IO口定義

bitflag_300ms;//300ms的標志位

sbitled1=P1^0;//第1號病房指示燈

sbitled2=P1^1;//第2號病房指示燈

sbitled3=P1^2;//第3號病房指示燈

sbitled4=P1^3;//第4號病房指示燈

sbitled5=P1^4;//第5號病房指示燈

sbitled6=P1^5;//第6號病房指示燈

sbitled7=P1^6;//第7號病房指示燈

sbitled8=P1^7;//第8號病房指示燈

sbitkey1=P3^0;//按鍵1定義

sbitkey2=P3^1;//按鍵2定義

sbitkey3=P3^2;//按鍵3定義

sbitkey4=P3^3;//按鍵4定義

sbitkey5=P3^4;//按鍵5定義

sbitkey6=P3^5;//按鍵6定義

sbitkey7=P3^6;//按鍵7定義

sbitkey8=P3^7;//按鍵8定義

uchardis_lcd[8];//8個病房數(shù)據(jù)顯示的緩沖區(qū)

ucharbr_geshu;//報警病人數(shù)

/********************************************************************

*名稱:delay_1ms()

*功能:延時1ms函數(shù)

*輸入:q

*輸出:無

***********************************************************************/

15

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

voiddelay_1ms(uintq)

{

uinti,j;

for(i=0;i<q;i++)

for(j=0;j<120;j++);

}

/***********************延時函數(shù)************************/

voiddelay_uint(uintq)

{

while(q--);

}

/***********************lcd1602寫命令函數(shù)************************/

voidwrite_com(ucharcom)

{

rs=0;//寫命令

rw=0;//對1602寫操作

P0=com;//P0口對1602寫命令數(shù)據(jù)

delay_uint(25);

e=1;//e=1使能信號

delay_uint(100);//延時一下等1602完成操作

e=0;

}

/***********************lcd1602寫數(shù)據(jù)函數(shù)************************/

voidwrite_data(uchardat)

{

rs=1;//寫數(shù)據(jù)

rw=0;//對1602寫操作

P0=dat;//P0口對1602寫數(shù)據(jù)

delay_uint(25);

e=1;//e=1使能信號

delay_uint(100);//延時一下等1602完成操作

e=0;

}

/***********************lcd1602上顯示這字符串函數(shù)************************/

voidwrite_string(ucharhang,ucharadd,uchar*p)

{

if(hang==1)

write_com(0x80+add);//1602寫第一行的地址

16

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

else

write_com(0x80+0x40+add);//1602寫第二行的地址

while(1)

{

if(*p=='\0')break;//\0字符串的結(jié)尾標志break結(jié)束while循環(huán)結(jié)束

寫字符

write_data(*p);//寫數(shù)據(jù)

p++;//指針地址加1

}

}

/***********************lcd1602上顯示這字符函數(shù)************************/

voidwrite_string_ge(ucharhang,ucharadd,uchar*p,ucharge)

{

uchari;

if(hang==1)

write_com(0x80+add);//1602寫第一行的地址

else

write_com(0x80+0x40+add);//1602寫第二行的地址

for(i=0;i<ge;i++)

{

write_data(0x30+*p);//寫數(shù)據(jù)

p++;//指針地址加1

}

}

/***********************lcd1602初始化設(shè)置************************/

voidinit_1602()//lcd1602初始化設(shè)置

{

write_com(0x38);//顯示模式設(shè)置:16×2顯示,5×7點陣,8位數(shù)據(jù)接口不檢測

忙信號

write_com(0x0c);//開顯示不顯示光標

write_com(0x06);//當寫一個字符是,地址指針加1

write_string(1,0,"bingfanghujiao");//初始化顯示

write_string(2,0,"wubingren");//初始化顯示

}

/*********************定時器0、定時器1初始化******************/

voidtime0_init()

{

EA=1;//開總中斷

TMOD=0X01;//定時器0、工作方式1

ET0=1;//開定時器0中斷

17

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

TR0=1;//允許定時器0定時

TH0=0X3C;

TL0=0XB0;//50ms

}

/********************獨立按鍵程序*****************/

ucharkey_can;//按鍵值

voidkey()//獨立按鍵程序

{

key_can=0;//按鍵值還原

if(key1==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key1==0)//確認是按鍵按下

key_can=1;//得到按鍵值

}

if(key2==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key2==0)//確認是按鍵按下

key_can=2;//得到按鍵值

}

if(key3==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key3==0)//確認是按鍵按下

key_can=3;//得到按鍵值

}

if(key4==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key4==0)//確認是按鍵按下

key_can=4;//得到按鍵值

}

if(key5==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key5==0)//確認是按鍵按下

key_can=5;//得到按鍵值

}

if(key6==0)//按鍵按下

18

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

{

delay_1ms(1);//延時按鍵消抖動

if(key6==0)//確認是按鍵按下

key_can=6;//得到按鍵值

}

if(key7==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key7==0)//確認是按鍵按下

key_can=7;//得到按鍵值

}

if(key8==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key8==0)//確認是按鍵按下

key_can=8;//得到按鍵值

}

}

voidkey_qx()//取消按鍵程序

{

if(key_quxiao==0)//按鍵按下

{

delay_1ms(1);//延時按鍵消抖動

if(key_quxiao==0)

{//確認是按鍵按下

key_can=9;//得到按鍵值

while(key_quxiao==0);//等待按鍵松手

}

}

}

/**********************按鍵處理函數(shù)************************/

voidkey_with()

{

uchari;

if((key_can>0)&&(key_can<9))

{

if(key_can==1)

led1=1;//1號病房燈亮

if(key_can==2)

led2=1;//2號病房燈亮

19

湖南商務(wù)職業(yè)技術(shù)學院畢業(yè)設(shè)計

if(key_can==3)

led3=1;//3號病房燈亮

if(key_can==4)

led4=1;//4號病房燈亮

if(key_can==5)

led5=1;//5號病房燈亮

if(key_can==6)

led6=1;//6號病房燈亮

if(key_can==7)

led7=1;//7號病房燈亮

if(key_can==8)

led8=1;//8號病房燈亮

if(br_geshu<8)

{

if(br_geshu==0)//第一次清除顯示屏

write_string(2,0,"");

br_geshu++;//呼叫病人的人數(shù)加1

for(i=7;i>0;i--)

dis_lcd[i]=dis_lcd[i-1];//把病人的數(shù)據(jù)向后移一位

dis_lcd[0]=key_can;//把病人的號碼保存起來

write_string_ge(2,0,dis_lcd,br_geshu);//顯示出來

}

}

if(key_can==9)//取消鍵的處理

{

if(br_geshu>0)

{

if(dis_lcd[br_geshu-1]==1)

led1=0;//1號病房燈滅

if(dis_lcd[br_ges

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論