單片機(jī)課程設(shè)計(jì)單片機(jī)病房呼叫系統(tǒng)分享_第1頁
單片機(jī)課程設(shè)計(jì)單片機(jī)病房呼叫系統(tǒng)分享_第2頁
單片機(jī)課程設(shè)計(jì)單片機(jī)病房呼叫系統(tǒng)分享_第3頁
單片機(jī)課程設(shè)計(jì)單片機(jī)病房呼叫系統(tǒng)分享_第4頁
單片機(jī)課程設(shè)計(jì)單片機(jī)病房呼叫系統(tǒng)分享_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。 單片機(jī) 課程設(shè)計(jì) 設(shè)計(jì)題目: 單片機(jī)病房呼叫系統(tǒng) 專 業(yè): 電氣工程及其自動(dòng)化 年 級: 08 級 學(xué) 號: 20084450427 姓 名: 指導(dǎo)教師: 徐 祖 華 2012 年 01 月 01 日22 / 22摘要 病床呼叫系統(tǒng)是一種應(yīng)用于醫(yī)院病房、養(yǎng)老院等地方,用來XXX溝通醫(yī)護(hù)人員和病員的專用呼叫系統(tǒng),是提高醫(yī)院水平的必備設(shè)備之一。病床呼叫系統(tǒng)的優(yōu)劣直接影響到病員的安危,歷來受到各大醫(yī)院的普遍重視。它要求及時(shí)、準(zhǔn)確可靠、簡便可行、利于推廣。目前市場上存在著許多種型號不一功能各異的醫(yī)院病房呼叫系統(tǒng),主要為兩大類:有線式和無線式。無線式病房

2、呼叫系統(tǒng)不存在鋪設(shè)線路的問題,但是可靠性差,而且無線電波會(huì)干擾其他醫(yī)療儀器設(shè)備。有線式的病房呼叫系統(tǒng)適合較小的醫(yī)院病房使用,具有成本低,易于操作、安裝和維護(hù),而且具有可靠穩(wěn)定,對其他醫(yī)療設(shè)備不會(huì)產(chǎn)生干擾的特點(diǎn);但受到布線較多,影響美觀,故不適宜較大的醫(yī)院。病床呼叫管理系統(tǒng)便于病員快捷的呼叫護(hù)士,縮短人工呼叫的時(shí)間。當(dāng)今病房呼叫系統(tǒng)正在逐步地向智能化發(fā)展,它可以和錄像機(jī)一起使用,當(dāng)病人按下開關(guān)時(shí),在護(hù)士值班室的大屏幕能夠觀察病人的需要。并且可以配備對講機(jī)等設(shè)備,能夠使病員及時(shí)快捷地與醫(yī)護(hù)人員進(jìn)行溝通。 本課程設(shè)計(jì)是基于AT89C52核心單片機(jī)的有線式病房呼叫系統(tǒng)。為了便于操作僅僅開設(shè)了四個(gè)病房,

3、但是其功能大致相同,都考慮了高優(yōu)先級和低優(yōu)先級,因此可以稱為一個(gè)簡易病房呼叫系統(tǒng)。每個(gè)病床有一個(gè)呼叫開關(guān)按鍵,當(dāng)病人有需要的時(shí)候,按下按鍵,此時(shí)監(jiān)護(hù)室就會(huì)得到響應(yīng)信號,在數(shù)碼管顯示相應(yīng)的床位號,并且有警示燈亮起。本次設(shè)計(jì)有運(yùn)行簡單,安裝方便,成本低,穩(wěn)定可靠的優(yōu)點(diǎn)。最后通過設(shè)計(jì)的系統(tǒng)還經(jīng)過proteus軟件的仿真,仿真結(jié)果證明了此設(shè)計(jì)的正確性和實(shí)用性。關(guān)鍵字:AT89C52、病房呼叫、優(yōu)先級、實(shí)驗(yàn)仿真。目 錄摘要 21 單片機(jī)的相關(guān)知識 4 1.1 單片機(jī)89C52的介紹 42 硬件部分 6 2.1 整體硬件電路 6 2.1.1 復(fù)位電路 8 2.1.2 晶振電路 8 2.1.3 數(shù)顯電路 9

4、 2.1.4 指示電路 10 2.1.5 按鍵電路 103 軟件部分 11 3.1 Keil C軟件的介紹 11 3.2 程序的設(shè)計(jì)流程 12 3.3 源程序代碼 134 調(diào)試仿真 16 4.1 Proteus7 的簡單介紹 16 4.2 系統(tǒng)程序的調(diào)試及仿真 165 心得體會(huì) 21參考文獻(xiàn) 221 單片機(jī)的相關(guān)知識1.1 單片機(jī)89C52的介紹AT89C52 電源 P1口 P0口復(fù)位 P3口 P2口接地圖1.1 89C52芯片引腳圖引腳功能VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。

5、P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/XXX的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位XXX接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作

6、為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位XXX外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出XXX的高八位。在給出XXX“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位XXX數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位XXX信號和控制信號。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口作為AT89C51的一些特殊功能口

7、,管腳 備選功能 。P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)。P3.3 /INT1(外部中斷1) P3.4 T0(計(jì)時(shí)器0外部輸入)。P3.5 T1(計(jì)時(shí)器1外部輸入)。P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)。P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),XXX鎖存允許的輸出電平用于鎖存XXX的地位字節(jié)。 在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。

8、因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EHXXX上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲(chǔ)器的選通信號。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA / VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部

9、鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。2 硬件部分 2.1 整體硬件電路本呼叫系統(tǒng)基于AT89C52單片機(jī),振蕩電路的晶振采用12MHz,由控制核心AT89C52單片機(jī)、電源電路、晶振電路、復(fù)位電路、數(shù)顯電路、警示電路和程序等部分組成,系統(tǒng)框圖如下:電源電路晶振電路數(shù)顯電路89C52單片機(jī)復(fù)位電路警示電路數(shù)據(jù)程序圖2.1 系統(tǒng)硬件電路 對于硬件系統(tǒng)圖,由于沒有進(jìn)行實(shí)物XXX,硬件原理圖采用proteus軟件進(jìn)行繪制

10、,其圖如下所示2.1.1 復(fù)位電路RST 引腳是復(fù)位信號輸入端,高電平有效。上電加按鈕復(fù)位一般由RC電路組成,它響應(yīng)時(shí)間大約為10ms,當(dāng)按下復(fù)位按鈕后,系統(tǒng)會(huì)重新從0000H開始執(zhí)行程序,如下圖所示。圖2.1.1 復(fù)位電路2.1.2 晶振電路 晶振是晶體振蕩器的簡稱,在電氣上可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò),電工學(xué)上這個(gè)網(wǎng)絡(luò)有兩個(gè)諧振點(diǎn),以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體的特性使這兩個(gè)頻率的距離相當(dāng)?shù)慕咏谶@個(gè)極窄的頻率范圍內(nèi),晶振等效為一個(gè)電感,所以在晶振的兩端并聯(lián)合適的電容它就組成并聯(lián)諧振電路。單片機(jī)內(nèi)部有個(gè)高增益反向放大器,

11、當(dāng)外接晶振后,就構(gòu)成了自激振蕩器,并產(chǎn)震蕩時(shí)鐘,為單片機(jī)提供穩(wěn)定的時(shí)鐘。圖2.1.2 晶振電路2.1.3 數(shù)顯電路數(shù)碼管顯示其實(shí)本質(zhì)就是由七個(gè)發(fā)光二極管組成,通過其中的某一段或者幾段導(dǎo)通而形成不同的數(shù)字。數(shù)碼管有共陰極和共陽極兩種,本設(shè)計(jì)都采用的是共陰極的數(shù)碼管。圖2.1.3 數(shù)顯電路2.1.4 警示電路 本設(shè)計(jì)的指示電路其實(shí)就是一個(gè)發(fā)光二極管,它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能;常簡寫為LED。發(fā)光二極管與普通二極管一樣是由一個(gè)PN結(jié)組成,也具有單向?qū)щ娦?。?dāng)給發(fā)光二極管加上正向電壓后,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米內(nèi)分別與N區(qū)的電子和P區(qū)的空穴

12、復(fù)合,產(chǎn)生自發(fā)輻射的熒光。不同的半導(dǎo)體材料中電子和空穴所處的能量狀態(tài)不同。當(dāng)電子和空穴復(fù)合時(shí)釋放出的能量多少不同,釋放出的能量越多,則發(fā)出的光的波長越短。常用的是發(fā)紅光、綠光或黃光的二極管。 發(fā)光二極管的反向擊穿電壓約5伏。它的正向伏安特性曲線很陡,使用時(shí)必須串聯(lián)限流電阻以控制通過管子的電流。圖2.1.4 指示電路2.1.5 按鍵電路單片機(jī)檢測按鍵的原理是:單片機(jī)的IO接口既可以作為輸出也可以作為輸入使用,當(dāng)檢測按鍵時(shí)用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機(jī)的P3口相接,開始時(shí)先給該IO口賦一高電平,然后讓單片機(jī)不斷的檢測該接口是否變成低電平,當(dāng)按鍵閉合時(shí),即相當(dāng)于該IO口通過

13、按鍵與地相連接變成低電平,程序一旦檢測到接口變成了低電平說明按鍵被按下,然后執(zhí)行相應(yīng)的指令。圖2.1.5 按鍵電路3 軟件部分3.1 Keil C軟件的介紹 Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使

14、用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。 Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。3.2 程序的設(shè)計(jì)流程 啟動(dòng)

15、系統(tǒng)后,數(shù)碼管顯示0。當(dāng)有一個(gè)病人呼叫時(shí),數(shù)碼管顯示相應(yīng)病房號,同時(shí)指示燈亮起;當(dāng)有兩個(gè)病人同時(shí)呼叫時(shí),數(shù)碼管顯示優(yōu)先級高的,同時(shí)指示燈亮起;當(dāng)有一個(gè)病房呼叫后另一個(gè)病房呼叫,若后呼叫的病房優(yōu)先級低,則數(shù)碼管顯示不變,若后呼叫的病房優(yōu)先級高,則數(shù)碼管顯示后呼叫的,兩種情況下,指示燈一樣都會(huì)亮。開始賦初值N有兩病房呼叫有一病房呼叫NYY判斷優(yōu)先級 顯示病房號并響鈴 有病房再次呼叫NY 判斷優(yōu)先級 顯示病房號并響鈴結(jié)束 圖3.2 系統(tǒng)流程圖 52系列單片機(jī)頭文件3.3 源程序代碼#include #define uchar unsigned charsbit key4=P30;/定義按鍵位置 定義

16、單片機(jī)給定接口sbit key3=P31;sbit key2=P32;sbit key1=P33;sbit reset=P34;/復(fù)位sbit ring=P17;/定義指示燈端口uchar flag1,i;void choice();定義功能子程序void clean();void delay();void de();void ring();循環(huán)主程序void main()while(1)P3=0xff;reset=0;ring=0;flag1=0;choice();delay();clean(); 選擇子程序,確定病人的床位。void choice()/確定病人while(reset!=1&

17、flag=0)if(key1=0)de(20);if(key1=0)P0=0X86;flag=1; else if(key2=0)de(20);if(key2=0&key1!=0)P0=0Xdb;flag=1;else if(key3=0)de(20);if(key3=0&key1!=0&key2!=0)P0=0Xcf; flag=1;else if(key4=0)de(20);if(key4=0&key1!=0&key2!=0&key3!=0)P0=0Xe6; flag=1;復(fù)位程序,當(dāng)reset為高電平時(shí)復(fù)位void clean() if(reset=1)ring=0;P0=0x3f;保持

18、程序,當(dāng)reset為低電平時(shí)指示燈一直亮void delay() while(!reset)ring();指示子程序,在相應(yīng)條件下燈亮。void ring()for(i=0;reset=0;i+) de(); ring=!ring;if(key1=0|key2=0|key3=0)if(P0=0X86)P0=0X86;else if(P0=0Xdb&key1=0)P0=0X86;else if(P0=0Xcf&key1=0)P0=0X86;else if(P0=0Xcf&key1=1&key2=0)P0=0Xdb;else if(P0=0Xe6&key1=0)P0=0X86;else if(P0

19、=0Xe6&key1=1&key2=0)P0=0Xdb;else if(P0=0Xe6&key1=1&key2=1&key3=0)P0=0Xcf;延時(shí)子程序,可以在程序中任意調(diào)用延時(shí)。void de(unit xms) uint i,j; for(i=xms;i0;i-) for (j=110;j0;j-);4 調(diào)試仿真4.1 Proteus7 的簡單介紹Proteus7軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛

20、好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工XXX的青睞。Proteus是世界上著名的EDA工具仿真軟件,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。4.2 系統(tǒng)程序

21、的調(diào)試及仿真在軟件編程的過程中,用keilC軟件編譯,形成仿真軟件中89C52能識別的Hex文件,進(jìn)行proteus仿真。下面給出仿真截圖:KEIL軟件編譯圖:菜單工具欄管理窗口工作窗口信息窗口圖4.2 keil軟件編譯圖4.2.1 未通電:圖4.2.1 未通電時(shí)4.2.2 通電:圖4.2.2 通電時(shí)4.2.3 低優(yōu)先級的先呼叫A:開關(guān)4按下圖4.2.3 按鍵四按下時(shí)4.2.4 高優(yōu)先級的后呼叫A:開關(guān)3按下圖4.2.4 按鍵三按下時(shí)4.2.5 高優(yōu)先級的先呼叫B:開關(guān)1按下圖4.2.5 按鍵一按下時(shí)4.2.6 低優(yōu)先級的后呼叫B:開關(guān)2按下圖4.2.6 開關(guān)二按下時(shí)4.2.7 高低優(yōu)先級同時(shí)呼叫:開關(guān)1和4同時(shí)按下圖4.2.7 按鍵一四同時(shí)按下時(shí)小結(jié) 此次課程在開始程序只能保證第一次呼叫,也就是當(dāng)有一個(gè)病人呼叫后其他病人不能呼叫,在

溫馨提示

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

最新文檔

評論

0/150

提交評論