畢業(yè)設(shè)計單片機患者自動呼救系統(tǒng)_第1頁
畢業(yè)設(shè)計單片機患者自動呼救系統(tǒng)_第2頁
畢業(yè)設(shè)計單片機患者自動呼救系統(tǒng)_第3頁
畢業(yè)設(shè)計單片機患者自動呼救系統(tǒng)_第4頁
畢業(yè)設(shè)計單片機患者自動呼救系統(tǒng)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本科生畢業(yè)設(shè)計(論文)摘 要計算機通訊技術(shù)在病房呼救系統(tǒng)中的應(yīng)用,為醫(yī)護(hù)人員及時掌握突發(fā)急病患者、高?;颊叩臏?zhǔn)確呼救信息,對迅速到達(dá)現(xiàn)場實施搶救提供了技術(shù)保障,尤其是無人陪護(hù)的疾病患者。對于普通患者的呼叫,也能得到及時的護(hù)理,以免延誤治療的最佳時間。此外,它也為提高醫(yī)院的護(hù)理水平,減輕護(hù)士的勞動強度、提高病人的舒適度,實現(xiàn)醫(yī)院醫(yī)療管理體系提供了技術(shù)支持。本文設(shè)計研究了患者自動呼救系統(tǒng)。在單片機最小系統(tǒng)的基礎(chǔ)上,擴展了相應(yīng)的外部電路。系統(tǒng)具有檢測、顯示、報警等功能,能夠確定房間數(shù)和每個房間的床位。設(shè)計出了下位機與上位機通訊的接口電路。在每層病房設(shè)立護(hù)士值班室,用于監(jiān)測本層的病房發(fā)出的呼救信號,以

2、便采取相應(yīng)救護(hù)措施。在住院處總部裝有護(hù)理總機,作為值班記錄和用于記錄發(fā)生事故的時間和床位號。當(dāng)患者有呼救請求時,通過拉動呼救按鈕,護(hù)士值班室的led顯示屏顯示房間號和床位號,并發(fā)出報警響聲,護(hù)士按下復(fù)位按鈕后,去病房執(zhí)行護(hù)理任務(wù)。以上信息可通過與護(hù)理總機相連的總線傳送給護(hù)理總機的上位機,以便記錄和查詢。系統(tǒng)由護(hù)士總站和護(hù)士分站兩部分組成。關(guān)鍵詞:at89c51;呼救系統(tǒng);led顯示器;并行i/o口擴展 , , , , , , , , . , , , , , , . , , . , , ; , , , , . for , , , , , , , led , , , , . , . :at89c5

3、1; ;led ;i/o 目 錄第1章 緒 論11.1 醫(yī)院患者自動呼救系統(tǒng)的產(chǎn)生11.1.1 呼救系統(tǒng)的產(chǎn)生11.1.2 單片機在呼救系統(tǒng)中的應(yīng)用11.2 自動呼救系統(tǒng)的發(fā)展與應(yīng)用2第2章 方案論證3第3章 硬件電路設(shè)計53.1 中央處理器at89c5153.1.1 at89c51的功能簡介53.1.2 at89c51的最小系統(tǒng)93.1.3 帶手動復(fù)位的看門狗復(fù)位電路103.2 8155并行i/o接口擴展芯片的應(yīng)用113.2.1 8155芯片的結(jié)構(gòu)123.2.2 8155芯片的引腳功能123.2.3 8155的ram和i/o口的編址143.2.4 8155的工作原理153.2.5 at89c

4、51和8155的接口方法和應(yīng)用193.3 蜂鳴器報警電路設(shè)計203.4 鍵盤顯示器電路設(shè)計213.4.1 顯示器電路設(shè)計213.4.2 鍵盤復(fù)位電路設(shè)計253.5 pc機與單片機的串行通信接口273.6 檢測電路設(shè)計293.7 系統(tǒng)硬件的總體實現(xiàn)29第4章 系統(tǒng)的軟件設(shè)計314.1 系統(tǒng)程序整體設(shè)計314.2 系統(tǒng)的初始化程序設(shè)計324.3 系統(tǒng)的循環(huán)檢測程序設(shè)計334.4 呼救顯示報警和按鍵復(fù)位程序設(shè)計34第5章 結(jié) 論36參考文獻(xiàn)37致 謝38附 錄39附 錄49iv第1章 緒 論1.1 醫(yī)院患者自動呼救系統(tǒng)的產(chǎn)生1.1.1 呼救系統(tǒng)的產(chǎn)生醫(yī)院患者呼救系統(tǒng)就是利用電子電路實現(xiàn)的呼叫系統(tǒng),呼

5、叫系統(tǒng)的基本功能就是通過一種簡便的途徑使護(hù)理對象與醫(yī)護(hù)人員達(dá)成溝通。喊話是一種溝通,護(hù)理對象大聲呼叫護(hù)理員,就是一種最直接的呼叫體現(xiàn)。但有時,護(hù)理對象因疾病或體力,未必能發(fā)出響亮的呼叫,即使可以發(fā)出響亮的喊聲,護(hù)理員因不在附近,也未必能夠聽得到,因此,靠直接喊話達(dá)成溝通,并不是一個理想的途徑。于是,有人想到用打鈴的方式進(jìn)行呼叫,這就相當(dāng)于小學(xué)生課間十分鐘休息結(jié)束后,往往是鈴聲宏亮地響幾下,大家便獲得了信號,知道要上課了。只不過,學(xué)校打鈴是一對多的呼叫(一個鈴聲通知所有學(xué)生),而醫(yī)院需要的是多對一的呼叫,即若干個護(hù)理對象發(fā)出呼叫,由一個或幾個護(hù)理員獲得信息。這個就是最簡單的呼叫模型。于是,有人想

6、到通過一個簡單的模擬電路實現(xiàn)這樣的功能,如一個床位設(shè)一個開關(guān),將這個開關(guān)與護(hù)理站的鈴聲或燈光一一對應(yīng),當(dāng)護(hù)理對象有事情找護(hù)理員時,只要拉一下開關(guān),護(hù)理站就有對應(yīng)的聲音或燈光閃爍,護(hù)理員一看就知道有人呼叫了。其實,這就是最簡單的一套呼叫系統(tǒng),目前在許多老式的醫(yī)院仍然可以看到。1.1.2 單片機在呼救系統(tǒng)中的應(yīng)用隨著醫(yī)院規(guī)模的擴大,這種簡單的模擬電路也有問題,一是當(dāng)床位數(shù)足夠多時,護(hù)理站要安裝這樣一個顯示板需要占很大的空間,而且布線費事,樣子也不會好看。于是人們開始基于這種想法開發(fā)各種新型的產(chǎn)品,其目的就是使呼救系統(tǒng)布線簡易、外型美觀、功能實用。于是,人們把單片機應(yīng)用在呼叫系統(tǒng)中?,F(xiàn)在出現(xiàn)了許多類

7、似的產(chǎn)品,這些產(chǎn)品大多具有這樣的功能,即護(hù)理對象啟動呼救時方便容易,并且心理體驗要好,而護(hù)理站確保能夠收到每一個信號。市場上各家公司目前都解決了這個問題,即護(hù)理對象按一下或拉一下按鍵,護(hù)理站護(hù)理主機上可方便顯示哪一床發(fā)生呼叫。有的為了方便護(hù)理員及時了解情況,又設(shè)置了對講功能,即護(hù)理員可以和護(hù)理對象進(jìn)行通話。有的呼救系統(tǒng)為了方便護(hù)理員方便看到呼救信息,又考慮在走廊上添加了顯示吊屏,在房間門口安裝了報警紅燈。第1章 tc0從上面介紹可以看出,呼救按鈕(有的帶對講功能)和護(hù)理主機是一個呼救系統(tǒng)必備的組件,而走廊顯示吊屏及門口報警紅燈則要起到錦上添花的作用。目前所有的呼救系統(tǒng)最基本的組件就是呼救按鈕及

8、護(hù)理主機,稍好一些的產(chǎn)品,可以接走廊吊屏及門口報警紅燈。有以上這些組件,一個完整的呼救系統(tǒng)就算實現(xiàn)了。1.2 自動呼救系統(tǒng)的發(fā)展與應(yīng)用人們對呼救系統(tǒng)的期望遠(yuǎn)不止上述這些,不僅要求呼救系統(tǒng)具有一般的呼救功能,還希望具有一定的輔助管理功能。因此,一些稍好的呼救系統(tǒng),開始在功能細(xì)化上下功夫,如呼救清零鍵設(shè)置在呼救按鈕上,這樣可逼迫護(hù)理員到病床前清零(消除呼救報警),從而保證護(hù)理員無法偷懶。有的呼救系統(tǒng),主機上設(shè)備多個led光電管,這些光電管同呼救按鈕一一對應(yīng),當(dāng)呼救信號發(fā)生時,對應(yīng)的led光電管閃亮,從而使護(hù)理人員快速識別呼救發(fā)生的位置;當(dāng)有多個呼救信號同時發(fā)生時,則多個led光電管同時點亮,這樣可

9、使護(hù)理員同時看到多個呼救信息。有的呼救系統(tǒng),為了有更好的顯示效果,采用了數(shù)碼管或點陣屏,實現(xiàn)數(shù)字顯示。應(yīng)當(dāng)講,具有數(shù)碼管或點陣顯示屏的護(hù)理主機(最好與led光電管結(jié)合),是目前呼救系統(tǒng)的主流產(chǎn)品形態(tài),而清零鍵設(shè)置在病房,也是一種先進(jìn)的設(shè)計思想。第2章 方案論證本文的設(shè)計是較為簡單的設(shè)計,在每層病房設(shè)立護(hù)士值班室,用于監(jiān)測本層的病房發(fā)出的呼救信號,以便采取相應(yīng)救護(hù)措施,共有10層病房。在住院處總部裝有護(hù)理總機,作為值班記錄和用于記錄發(fā)生事故的時間和床位號。當(dāng)患者有呼救請求時,通過拉動呼救按鈕,護(hù)士值班室的led顯示屏顯示房間號和床位號,并發(fā)出報警響聲,護(hù)士按下復(fù)位按鈕后,去病房執(zhí)行護(hù)理任務(wù)。以上

10、信息通過與護(hù)理總機相連的總線傳送給護(hù)理總機的上位機,以便記錄和查詢。系統(tǒng)由護(hù)士總站和每層護(hù)士分站兩部分組成。護(hù)士總站分別與每層護(hù)士分站用總線相連,如圖2.1所示。護(hù)士總站pc機。第三層護(hù)士分站第二層護(hù)士分站第一層護(hù)士分站圖2.1 護(hù)士分站與護(hù)士總站連接圖每層的各個病房與該層的護(hù)士分站相連,圖2 護(hù)理分站系統(tǒng)組成護(hù)士分站系統(tǒng)由以下部分組成:單片機at89c51、7段led顯示塊、報警喇叭、復(fù)位按鈕、8155i/o口擴展芯片等,如圖2.2所示。呼救復(fù)位按鍵報警蜂鳴器led顯示器at89c51與上位機相連病房呼救圖2.2 護(hù)士分站的結(jié)構(gòu)組成第3章 硬件電路設(shè)計為使醫(yī)院患者自動呼救系統(tǒng)在醫(yī)院具有較好的

11、實用性,并且具有較高的性能/價格比,我們對該系統(tǒng)的硬件電路作了精心設(shè)計。該系統(tǒng)的硬件設(shè)計采用了模塊化的設(shè)計方法。按實現(xiàn)的功能來分,可分為以下幾個部分。其中,at89c51單片機是整個電路的核心,它控制其它模塊來完成各種復(fù)雜的操作。外圍電路包括檢測電路、鍵盤顯示器電路、蜂鳴器報警電路等等。具體電路圖詳見附錄。在本章下面幾個小節(jié)中將根據(jù)電路圖的硬件設(shè)計電路,對各個模塊電路進(jìn)行詳細(xì)的設(shè)計與分析。3.1 中央處理器at89c51 at89c51是由美國atmel公司生產(chǎn)的現(xiàn)在世界上較為新型的高性能八位單片機。3.1.1 at89c51的功能簡介at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(

12、fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能八位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器。at89c單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖3.1 at89c51的管腳圖1. 主要特性:與mcs-

13、51兼容 4k字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0hz-24hz三級程序存儲器鎖定128*8位內(nèi)部ram32可編程i/o線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 2管腳說明:vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏極開路雙向i/o口,每腳可吸收8ttl門電流。 當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在flash編程時,p0口作為原碼輸入口,當(dāng)flash進(jìn)行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:

14、p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能 接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收, 輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用

15、內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill),這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下所示:口管腳 備選功能p3.0 rxd 串行輸入口p3.1 txd 串行輸出口p3.2 外部中斷0p3.3 外部中斷1p3.4 t0 記時器0外部輸入p3.5 t1 記時器1外部輸入p

16、3.6 外部數(shù)據(jù)存儲器寫選通p3.7 外部數(shù)據(jù)存儲器讀選通p3口同時為閃爍編程和編程校驗接收一些控制信號。reset:復(fù)位輸入。當(dāng)振蕩器作為復(fù)位器件時,要保持rst腳兩個機器周期的高電平時間。ale/:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出,可在sfr8eh地址上置0。此時,ale只有在執(zhí)行movx,movc指令時才起作

17、用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)時ale被禁止,置位無效。:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)。/vpp:當(dāng)保持低電平時,在此期間訪問外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,將內(nèi)部鎖定為reset;當(dāng)端保持高電平時,此期間訪問內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3振蕩器特性:xtal1和xtal2分別為

18、反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應(yīng)不接。剩余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平與要求的寬度相同。4芯片擦除:整個eprom陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms來完成。在芯片擦除操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram

19、定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其它芯片功能,直到下一個硬件復(fù)位為止。3.1.2 at89c51的最小系統(tǒng)at89c51內(nèi)部有4kb閃爍存儲器,芯片本身就是一個最小系統(tǒng)。在能滿足系統(tǒng)的性能要求的情況下,可優(yōu)先考慮采用此種方案。用這種芯片構(gòu)成的最小系統(tǒng)簡單、可靠。用at89c51單片機構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機接上時鐘電路和復(fù)位電路即可,如圖3.2所示。與8031外擴展程序存儲器的最小應(yīng)用系統(tǒng)相比,該系統(tǒng)省去了外擴程序存儲器的工作。該最小應(yīng)用系統(tǒng)只能用作一些小型的數(shù)字量的測控單元。 圖3.2 at89c51的最小系統(tǒng)3.1.3

20、帶手動復(fù)位的看門狗復(fù)位電路在實際應(yīng)用系統(tǒng)中,為了保證復(fù)位電路可靠的工作,常將rc電路接施密特電路后再接入單片機復(fù)位端;或采用專用的復(fù)位電路芯片。max813l是maxin公司生產(chǎn)的一種體積小、功耗低、性價比高的帶看門狗和電源監(jiān)控功能的復(fù)位芯片,其引腳圖如圖3.3所示,引腳功能如下:(1):手動復(fù)位輸入端,低電平有效。當(dāng)該端輸入低電平保持140ms以上,max813l就輸出復(fù)位信號。(2)reset:復(fù)位信號輸出端。上電時,自動產(chǎn)生200ms的復(fù)位脈沖(高電平);手動復(fù)位端輸入低電平時,該端也產(chǎn)生復(fù)位信號輸出。(3)wdi:看門狗輸入端。程序正常運行時,必須在小于1.6s的時間間隔內(nèi)該輸入端發(fā)送

21、一個脈沖信號,以清除芯片內(nèi)部的看門狗定時器,端輸出低電平。(4):看門狗信號輸出端。正常工作時輸出保持高電平,看門狗輸出時,該端輸出信號由高電平變?yōu)榈碗娖?。?)pfi:電源故障輸入端。當(dāng)該端輸入電壓低于1.25v時,端輸出低電平。(6):電源故障輸出端。電源正常時輸出保持高電平,電源電壓變低或掉電時,輸出由高電平變?yōu)榈碗娖?。?)vcc:工作電源,接+5v。(8)gnd:接地端。圖3.3 max813l引腳圖max813l與單片機的連接電路如圖3.4所示,該電路可以實現(xiàn)上電復(fù)位,程序運行出現(xiàn)“死機”時的自動復(fù)位和隨時的手動復(fù)位。為實現(xiàn)單片機死機時自動復(fù)位功能,需要在軟件設(shè)計中,p1.7不斷輸

22、出脈沖信號(時間間隔小于1.6s),如果因某種原因單片機進(jìn)入死循環(huán),則p1.7無脈沖輸出。于是1.6s后在max813l的端輸出低電平,該電平加到端,使max813l產(chǎn)生一個200ms的復(fù)位脈沖輸出,使單片機有效復(fù)位,系統(tǒng)重新開始工作。圖3.4 帶手動復(fù)位的看門狗復(fù)位電路3.2 8155并行i/o接口擴展芯片的應(yīng)用在本系統(tǒng)中,由于涉及的外圍電路比較多,at89c51芯片的i/o口不能滿足系統(tǒng)的需要,因此,需要i/o口的擴展芯片。在這里選用8155并行i/o接口擴展芯片。8155芯片內(nèi)具有256個字節(jié)的ram,兩個8位、一個6位的可編程并行i/o接口和一個14位的計數(shù)器,與mcs-51單片機接口

23、簡單,是單片機應(yīng)用系統(tǒng)中廣泛使用的芯片。3.2.1 8155芯片的結(jié)構(gòu)按照器件的功能,8155可由下列三部分組成:1. 隨機存儲器部分:容量為256×8位的靜態(tài)ram。2. i/o接口部分: 端口a:可編程序8位i/o端口pa07; 端口b:可編程序8位i/o端口pb07; 端口c:可編程序6位i/o端口pc05; 命令寄存器,8位寄存器,只允許寫入; 狀態(tài)寄存器,8位寄存器,只允許讀出;3. 計數(shù)器/計時器部分:二個14位的二進(jìn)制減法計數(shù)器/計時器。3.2.2 8155芯片的引腳功能8155具有40個采用雙列直插式封裝,引腳分布圖如圖3.5(b)所示,其功能定義如下:1. ad07

24、(三態(tài))ad07是地址/數(shù)據(jù)總線,可以直接與at89c51的p0口相連接。在允許地址鎖存信號ale的后沿(即下降沿),將8位地址鎖存在內(nèi)部地址寄存器中。該地址可作為存儲器部分的低8位地址,也可是i/o接口的通道地址,這將由輸入的io/信號的狀態(tài)來決定。在ad07引腳上出現(xiàn)的數(shù)據(jù)信息是讀出還是寫入8155,由系統(tǒng)控制信號或來決定。2. reset這是由at89c51提供的復(fù)位信號,作為總清器件使用。reset信號的脈沖寬度一般為600ns。當(dāng)器件被總清后,各轉(zhuǎn)接口被置成輸入工作方式。veevcc256×8rampa7pa08位數(shù)據(jù)線a0a7abpb7pb0控制寄存器alecpc5pc0

25、定時器reset定時器clk定時器輸出(a)(b)圖3.5 8155的內(nèi)部結(jié)構(gòu)及引腳3. ale允許地址鎖存信號。該控制信號由at89c51發(fā)出,在該信號的后沿,將ad07上的低8位地址、片選信號以及io/信號鎖存在片內(nèi)的鎖存器內(nèi)。4. 這是低電平有效的片選信號。當(dāng)8155的引腳=0時,器件才允許被啟用,否則為禁止使用。5. io/這是個i/o轉(zhuǎn)接口或存儲器的選擇信號。當(dāng)io/=1時,選擇i/o電路;當(dāng)io/=0時,選擇存儲器件。6. (寫)在片選信號有效的情況下(即=0),該引腳上輸入一個低電平信號(=0)時,將d07線上的數(shù)據(jù)寫入ram某單元內(nèi)(當(dāng)io/=0時),或?qū)懭肽砳/o端口電路(當(dāng)

26、io/=1時)。7. (讀)在片選信號有效的情況下(即=0),如果該引腳上輸入一個低電平信號(=0)時,8155ram某單元的內(nèi)容讀至數(shù)據(jù)總線。若輸入一個高電平(=1),則將某i/o轉(zhuǎn)接電路的內(nèi)容讀至數(shù)據(jù)總線。由于系統(tǒng)控制的作用,而(寫)和(讀)信號不會同時有效。根據(jù)上面分析:a. 寫ram的必要條件是:(io/=0)·(=0)·(=0);b. 寫i/o端口電路的必要條件是:(io/=1)·(=0)·(=0);c. 讀ram的必要條件是:(io/=0)·(=0)·(=0);d. 讀i/o端口電路的必要條件是:(io/=1)·

27、(=0)·(=0)。8. pa07:一組8根通用的i/o端口線,其數(shù)據(jù)輸入或輸出的方向由可編程序的命令寄存器的內(nèi)容決定。9. pb07:一組8位的通用i/o端口,其數(shù)據(jù)輸入或輸出的方向由可編程序的命令寄存器的內(nèi)容所決定。10. pc05:一組6 位的既具有通用i/o端口功能,又具有對pa和pb起某種控制作用的i/o電路。各種功能的實現(xiàn)均由可編程序的命令寄存器的內(nèi)容所決定。pa,pb和pc各i/o端口的狀態(tài),可由讀出狀態(tài)寄存器的內(nèi)容而得到。11. timer:14位二進(jìn)制減法計數(shù)器的輸入端。12. timer out:是一個計時器的輸出引腳??捎捎嫊r器的工作方式?jīng)Q定該輸出信號的波形。1

28、3. vcc:為+5v電源引腳。14. vss:為+5v電源的地線。3.2.3 8155的ram和i/o口的編址8155 芯片中的ram和i/o口均占用單片機系統(tǒng)片外ram的地址,其中高8位地址由和io/決定。當(dāng)=0且io/0時,低8位的00h、ffh為ram的有效地址;當(dāng)=0,且io/1時,由低8位地址中的末3位(a2a1a0)來決定各個口的地址,詳見表3.1。表3.1 8155端口地址表a7a6a5a4a3a2a1a0選中的口或寄存器xxxxx000命令狀態(tài)字寄存器xxxxx001a口xxxxx010b口xxxxx011c口xxxxx100定時器低8位寄存器xxxxx101定時器高6位和操

29、作方式寄存器3.2.4 8155的工作原理8155的結(jié)構(gòu)框圖見圖3.5(a)。這里主要介紹它的三組i/o端口電路及14位二進(jìn)制減法器的工作原理。1. 8155i/o端口工作原理8155的三組i/o端口電路的工作方式,均由可編程序的命令寄存器的內(nèi)容所規(guī)定,而其狀態(tài)可由讀出狀態(tài)寄存器的內(nèi)容所獲得。上面已經(jīng)敘述,8155的命令寄存器和狀態(tài)寄存器分別為各自獨立的8位寄存器。在8155的器件內(nèi)部,從邏輯上來說,是只允許寫入命令寄存器和讀出狀態(tài)寄存器內(nèi)容的。而實際上,讀命令寄存器內(nèi)容及寫入狀態(tài)寄存器的操作是既不允許、也不可能實現(xiàn)的。因此完全可將命令寄存器和狀態(tài)寄存器的地址合用一個通道地址,以減少器件占用的

30、通道地址;同時將兩個寄存器簡稱為命令/狀態(tài)寄存器,有時以c/s寄存器來表示。a8155的命令字格式。命令寄存器由8位組成,每一位都能鎖存。其中低4位(03位)用來定義pa、pb和pc接口的工作方式;當(dāng)pc用作控制pa或pb的端口工作時,第4、5兩位分別用來允許或禁止pa和pb的中斷;而最高兩位(第6、7兩位)則用來定義計數(shù)器/計時器的工作方式。利用輸出指令,可以將對命令寄存器的各位編碼打入其中。8155命令寄存器各位的定義見表3.2。表3.2 8155命令寄存器定義d7d6d5d4d3d2d1d0tm2tm1iebieapcpcpbpa定時器命令00方式101方式210方式311方式4定義pa

31、070輸入1輸出允許端口b中斷0禁止1允許允許端口a中斷0禁止1允許定義pb070輸入1輸出定義pc0500方式101方式210方式311方式41) 第0位(pa):定義pa07數(shù)據(jù)信息傳送的方向?!?”輸入方式;“1”輸出方式。2) 第1位(pb):定義pb07數(shù)據(jù)信息傳送方向。“0”輸入方式;“1”輸出方式。3) 第3,2位(pcii,pci):定義pc05的工作方式?!?0”方式1;“11”方式2;“01”方式3;“10”方式4。方式14時,pc05的各位功能見表3.3。表3.3 端口c控制分配表pciipci00011011方式1234pc0輸入輸出intraintrapc1輸入輸出b

32、fabfapc2輸入輸出pc3輸入輸出輸出intrbpc4輸入輸出輸出bfbpc5輸入輸出輸出4) 第4位(iea):在端口c對pa07,起控制作用的工作方式時,iea位用來定義允許端口a的中斷?!?”禁止;“1”允許。5) 第5位(ieb):當(dāng)端口c工作在對pb07起控制作用的工作方式時,ieb位用來定義允許端口b的中斷。“0”禁止;“1”允許。6) 第7,6位(tm2,tm1):用來定義計時器/計數(shù)器工作的命令。有四種情況,分別列于表3.4。表3.4 計時器/計數(shù)器工作方式定義表tm2 tm1方 式00不影響定時器工作01若計數(shù)器未啟動,則無操作;若計數(shù)器已運行,則停上計數(shù)10當(dāng)達(dá)到當(dāng)前計

33、數(shù)tc后,立即停止若未啟動定時器,則無操作11裝入方式和計數(shù)值后,立即啟動定時器,若定時器己在運行,則達(dá)到當(dāng)前計數(shù)值后,按新的方式和長度予以啟動b8155的狀態(tài)字格式。狀態(tài)寄存器為8位,各位均可鎖存,其中最高位為任意位,低6位用于指定轉(zhuǎn)接口的狀態(tài),另一位用作指示定時器/計數(shù)器的狀態(tài)之用。通過讀c/s寄存器的操作(即用指令系統(tǒng)的輸入指令),可讀出狀態(tài)寄存器的內(nèi)容。8155的狀態(tài)字格式如表3.5所示。表3.5 8155的狀態(tài)字d7d6d5d4d3d2d1d0xtimerintebbfbintrbinteabfaintra定時器中斷標(biāo)志端口b中斷標(biāo)志端口b中斷請求標(biāo)志端端口a中斷標(biāo)志端口a中斷請求標(biāo)

34、志端口b緩沖器空/滿標(biāo)志端口a緩沖器空/滿標(biāo)志c8155的端口電路。8155器件的i/o部件由五個寄存器組成。其中兩個是命令/狀態(tài)寄存器(c/s)地址為xxxx000。如前所述,當(dāng)寫操作期間選中c/s寄存器時,就把一個命令寫入命令寄存器中,并且命令寄存器的狀態(tài)信息不能通過其引腳來讀??;當(dāng)讀操作期間選中c/s寄存器時,將i/o端口和定時器的狀態(tài)信息讀出。另外兩個寄存器為pa和pb。根據(jù)c/s寄存器的內(nèi)容,分別對pa07和pb07編程,使相應(yīng)的i/o電路處于基本的輸入或輸出方式,或選通方式。最后一個寄存器是pc,該寄存器僅6位,可以對i/o 端口電路pc05進(jìn)行編程,或?qū)γ罴拇嫫髅钭值牡?,3

35、位(pci和pcii)行適當(dāng)編程,使其成pa和pb的控制信號,詳見表3.2。2. 8155的定時器8155的定時器是一個14位的減法計數(shù)器,它能對輸入定時器的脈沖進(jìn)行計數(shù),在達(dá)到最后計數(shù)值時,有一個矩形波或脈沖輸出。表3.6 8155定時器格式15141312111098m2m1t13t12t11t10t9t8計時器方式計數(shù)長度高六位76543210t7t6t5t4t3t2t1t0計數(shù)長度低八位為了對定時器進(jìn)行程序控制,首先裝人計數(shù)長度。由于計數(shù)長度為14位(第013位),因每次裝入的長度只能是8位,所以必須分兩次裝入。裝入計數(shù)長度寄存器的值為2h3fffh,而第14l5位用來規(guī)定定時器的輸出

36、方式。定時器格式見表3.6。表3.6中最高兩位(m2,m1)定義的定時器方式如表3.7所示。應(yīng)該注意,硬件復(fù)位信號的到達(dá),會使8155計數(shù)器停止計數(shù)、直至由ws寄存器發(fā)出啟動定時器命令為止。表3.7 定時器方式定義表m2m1方式波形000單方波011連續(xù)方波102單脈沖113連續(xù)脈沖應(yīng)該注意,硬件復(fù)位信號的到達(dá),會使8155計數(shù)器停止計數(shù)、直至由ws寄存器發(fā)出啟動定時器命令為止。3.2.5 at89c51和8155的接口方法和應(yīng)用at89c51單片機可以和8155直接連接,不需要任何外加電路,對系統(tǒng)增加256個字節(jié)的ram、22位i/o線及一個計數(shù)器,at89c51和8155的接口方法如圖3.

37、6所示。8155的端接p2.7,io/端接p2.6。當(dāng)p2.7=0、p2.6=1時,訪問8155的i/o端口。當(dāng)p2.7=0、p2.6=0時則訪問8155的ram。為此可得到此系統(tǒng)中8155各端口的地址。ram的地址:3f00h3fffh。i/o端口地址:7f00h(命令狀態(tài)口),7f01h(a口),7f02h(b口),7f03(c口),7f04h(定時器低8位),7f05h(定時器高6位)。在本次設(shè)計系統(tǒng)中a口定義為基本輸入方式,用于八路開關(guān)74ls151的z端的輸入端。b口定義為基本輸出方式,用于led顯示器的擴展,具體介紹將在led顯示器的介紹中作詳細(xì)說明。定時器作為方波發(fā)生器,對at8

38、9c51的晶振頻率進(jìn)行二十四分頻(但需注意8155的最高計數(shù)頻率約4mhz),則8155i/o口初始化程序如下:start: mov dptr,7fc4h ;定時器低8位送18h(24d)mov a,18hmovx dptr,a inc dptr ;dptr+1dptr=7f05hmov a,#40h ;定時高6位送000000b工作方式為連續(xù)方波movx dptr,a ;對f晶振24分頻mov dptr,7f00h ;命令狀態(tài)口mov a,002hmovx dptr,a圖3.6 at89c51和8155的連接3.3 蜂鳴器報警電路設(shè)計蜂鳴器報警電路是用于在有呼救信號發(fā)出后,蜂鳴器報警發(fā)音,以

39、便使護(hù)士聽見。蜂鳴音報警器接口電路的設(shè)計只需購買市售的壓電式蜂鳴器,然后通過at89c51的一根口線經(jīng)驅(qū)動器驅(qū)動蜂鳴器發(fā)聲。壓電式蜂鳴器約需10ma的驅(qū)動電流,可以使用ttl系列集成電路7406低電平驅(qū)動,如圖3-7所示。在圖3-7中,at89c51的口線p1.7接驅(qū)動器的輸入端。當(dāng)p1.7輸出高電平時,7406的輸出為低電平,在壓電蜂鳴器2條引線上加上近5v的直流電壓,由壓電效應(yīng)而發(fā)出蜂鳴音。當(dāng)p1.7端輸出低電平時,7406的輸出端高約+5v,壓電蜂鳴器的2條引線間的直流電壓降至接近于0v,發(fā)音停止。p1.7at89c517406+5v圖3.7 通過7406來驅(qū)動的蜂鳴器報警電路3.4 鍵

40、盤顯示器電路設(shè)計當(dāng)呼救信號發(fā)出后,需要知道呼救信號的來源:是哪個房間的哪個床位發(fā)出的呢?本文選用3組7段led顯示器作為房間號和床位號的顯示。本文又設(shè)計了呼救復(fù)位電路,護(hù)士在接收到呼救信息后,只需按一下復(fù)位按鍵,報警顯示和響聲就被消除了。3.4.1 顯示器電路設(shè)計顯示器是最常用的輸出設(shè)備,特別是發(fā)光二極管顯示器led,由于結(jié)構(gòu)簡單、價格廉價和接口容易,而得到廣泛的應(yīng)用,尤其是在單片機系統(tǒng)中大量應(yīng)用。下面介紹發(fā)光二極管顯示器led與at89c51的接口設(shè)計和相應(yīng)的程序設(shè)計。1.led結(jié)構(gòu)與原理發(fā)光二極管顯示器是單片機應(yīng)用產(chǎn)品中常用的廉價輸出設(shè)備。它是由若干個發(fā)光二極管組成顯示的字段。當(dāng)二極管導(dǎo)通

41、時相應(yīng)的一個點或一個筆劃發(fā)光,就能顯示出各種字符,常用的七段led顯示器的結(jié)構(gòu)如圖3.8所示。led數(shù)碼顯示器有兩種結(jié)構(gòu):將所有發(fā)光二極管的陽極連在一起,稱為共陽極接法,公共端com接高電平,當(dāng)某個字段的陰極接低電平時,對應(yīng)的字段就點亮;而將所有發(fā)光二極管的陰極連在一起,稱為共陰極接法,公共端com接低電平,當(dāng)某個字段的陽極接高電平時,對應(yīng)的字段就點亮。每段所需電流一般為515ma,實際電流視具體的led數(shù)碼顯示器而定。(a) (b)共陽極法 (c)共陰極法圖3.8 七段led 數(shù)碼顯示器下面介紹使用譯碼器或軟件譯碼的一些接口電路。點亮led顯示器有靜態(tài)和動態(tài)兩種方法。所謂靜態(tài)顯示,就是顯示某

42、一字符時,相應(yīng)的發(fā)光二極管恒定得導(dǎo)通或截止,這種方法,每一顯示位都需要一個8位的輸出口控制,占用的硬件較多,一般僅用于顯示位數(shù)較少的場合。而動態(tài)就是一位一位地輪流點亮各位顯示器,對每一位顯示器而言,每隔一段時間點亮一次,利用人的視覺感達(dá)到顯示的目的。顯示器的亮度跟導(dǎo)通的電流有關(guān),也和點亮的時間與間隔的比例有關(guān)。動態(tài)顯示器因其硬件成本較低,而得到廣泛的應(yīng)用。為了顯示字符和數(shù)字,要為led顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字形的7段,再加上一個小數(shù)點位,共計8段,因此提供led 顯示器的顯示段碼為1個字節(jié)。各段碼的對應(yīng)關(guān)系如表3.8:表3.8 段碼位與顯示段段碼位d7d6d5d4d

43、3d2d1d0顯示段dpgfedcba用led顯示器顯示十六進(jìn)制數(shù)和空白及p的顯示段碼,如表3.9所示。從led顯示器的顯示原理可知,為了顯示字母數(shù)字,必須最終轉(zhuǎn)換成相應(yīng)段選碼。這種轉(zhuǎn)換可以通過硬件譯碼器或軟件進(jìn)行譯碼。表3.9 十六進(jìn)制數(shù)及空白與p的顯示段碼字型共陽極段碼共陰極段碼字型共陽極段碼共陰極段碼0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3b0h4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h07h空白ffh00h880h7fhp8ch73h2.動態(tài)顯示led顯示器接口所謂動態(tài)顯

44、示,就是一位一位地輪流點亮各位顯示器,對每一位顯示器而言,每隔一段時間點亮一次。顯示器的亮度跟導(dǎo)通的電流有關(guān),也和點亮的時間與間隔的比例有關(guān)。動態(tài)顯示器因其硬件成本較低,而得到廣泛的應(yīng)用。在本次設(shè)計中,應(yīng)用的就是led的動態(tài)顯示,圖3.9所示是8155擴展i/o控制的3位共陰極led動態(tài)顯示器接口電路。當(dāng)有呼救信號發(fā)出時,圖3.9中的a、b顯示器就會顯示該層樓的房間號碼,c塊顯示器顯示床位號。圖3.9中的8155a口作字符段碼輸出口,用一片8路反向緩沖器74ls240驅(qū)動led的段選信號。c口作led數(shù)碼管的位選輸出口,使用7406反相驅(qū)動電路作為位選信號驅(qū)動口。3個led數(shù)碼管的共陰極端與7406的輸出端對應(yīng)相連。3個數(shù)碼管的8條段選線與74ls240輸出對應(yīng)相連。在這種動態(tài)顯示電路中,逐位輪流點亮各個led,每一位點亮1ms,在10ms20ms之間再點亮一次,重復(fù)不止。這樣利用人的視覺暫留,好像6只led是同時點亮的,并不覺察有閃爍現(xiàn)象。圖3.9 3只led動態(tài)顯示器接口這種動態(tài)led顯示接口由于各個數(shù)碼管共用一個段碼輸出口,分時輪流通電,從而簡化了硬件線路,降低了成本。3.led動態(tài)顯示器程序設(shè)計在動態(tài)顯示方式中,3個數(shù)碼管的

溫馨提示

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

評論

0/150

提交評論