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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、但是其功能大致相同,都考慮了高優(yōu)先級和低優(yōu)先級,因此可以稱為一個簡易病房呼叫系統(tǒng)。每個病床有一個呼叫開關按鍵,當病人有需要的時候,按下按鍵,此時監(jiān)護室就會得到響應信號,在數(shù)碼管顯示相應的床位號,并且有警示燈亮起。本次設計有運行簡單,安裝方便,成本低,穩(wěn)定可靠的優(yōu)點。最后通過設計的系統(tǒng)還經過proteus軟件的仿真,仿真結果證明了此設計的正確性和實用性。關鍵字:AT89C52、病房呼叫、優(yōu)先級、實驗仿真。目 錄摘要 21 單片機的相關知識 4 1.1 單片機89C52的介紹 42 硬件部分 6 2.1 整體硬件電路 6 2.1.1 復位電路 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 程序的設計流程 12 3.3 源程序代碼 134 調試仿真 16 4.1 Proteus7 的簡單介紹 16 4.2 系統(tǒng)程序的調試及仿真 165 心得體會 21參考文獻 221 單片機的相關知識1.1 單片機89C52的介紹AT89C52 電源 P1口 P0口復位 P3口 P2口接地圖1.1 89C52芯片引腳圖引腳功能VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。

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

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

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

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

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

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

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

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

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

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

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

16、單片機給定接口sbit key3=P31;sbit key2=P32;sbit key1=P33;sbit reset=P34;/復位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;復位程序,當reset為高電平時復位void clean() if(reset=1)ring=0;P0=0x3f;保持

18、程序,當reset為低電平時指示燈一直亮void delay() while(!reset)ring();指示子程序,在相應條件下燈亮。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;延時子程序,可以在程序中任意調用延時。void de(unit xms) uint i,j; for(i=xms;i0;i-) for (j=110;j0;j-);4 調試仿真4.1 Proteus7 的簡單介紹Proteus7軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛

20、好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工XXX的青睞。Proteus是世界上著名的EDA工具仿真軟件,從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持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、的調試及仿真在軟件編程的過程中,用keilC軟件編譯,形成仿真軟件中89C52能識別的Hex文件,進行proteus仿真。下面給出仿真截圖:KEIL軟件編譯圖:菜單工具欄管理窗口工作窗口信息窗口圖4.2 keil軟件編譯圖4.2.1 未通電:圖4.2.1 未通電時4.2.2 通電:圖4.2.2 通電時4.2.3 低優(yōu)先級的先呼叫A:開關4按下圖4.2.3 按鍵四按下時4.2.4 高優(yōu)先級的后呼叫A:開關3按下圖4.2.4 按鍵三按下時4.2.5 高優(yōu)先級的先呼叫B:開關1按下圖4.2.5 按鍵一按下時4.2.6 低優(yōu)先級的后呼叫B:開關2按下圖4.2.6 開關二按下時4.2.7 高低優(yōu)先級同時呼叫:開關1和4同時按下圖4.2.7 按鍵一四同時按下時小結 此次課程在開始程序只能保證第一次呼叫,也就是當有一個病人呼叫后其他病人不能呼叫,在

溫馨提示

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

評論

0/150

提交評論