基于單片機的無線病床呼叫系統(tǒng)_第1頁
基于單片機的無線病床呼叫系統(tǒng)_第2頁
基于單片機的無線病床呼叫系統(tǒng)_第3頁
基于單片機的無線病床呼叫系統(tǒng)_第4頁
基于單片機的無線病床呼叫系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、無線病床呼叫系統(tǒng)專 業(yè) 電 氣 自 動 化 學生姓名 匡 策 意 班 組 13自動化01 學 號 201310070115 指導教師 袁 泉 完成日期 目 錄第一章 緒 論11.1課題設計的背景及意義11.2設計要求及預期目標11.3設計可行性11.4 設計方案及步驟2第二章 系統(tǒng)硬件設計32.1 系統(tǒng)原理框圖32.2 單片機STC89C51芯片簡介32.3 硬件模塊設計7無線發(fā)射模塊7無線接收模塊9液晶顯示模塊11聲音報警模塊12應答電路13第三章 系統(tǒng)軟件設計153.1設計的軟件環(huán)境簡介153.1.1 Keil_c51153.1.2 Protel99SE153.2 主函數(shù)程序設計183.3

2、 初始化程序設計183.4 延時子程序設定223.5 液晶顯示子程序22結束語24參考文獻25致謝26附錄27附錄一:Protel原理圖27附錄二:C語言源程序28基于單片機的無線病床呼叫系統(tǒng)摘 要隨著科技的發(fā)展,無線應用技術已經滲透到生活的各個領域,無線傳輸技術也越來越成熟。本設計是將無線傳輸技術應用到臨床上的研究型課題,實現(xiàn)基于單片機的無線傳輸模塊構成的無線多路病床呼叫系統(tǒng)。本文以STC89C51單片機為控制核心,通過無線發(fā)射模塊發(fā)射傳輸信號,無線接收模塊接收信號,經STC89C51處理后顯示輸出,從而實現(xiàn)病人與醫(yī)護的無線遠距離溝通。本病床呼叫系統(tǒng)能夠實現(xiàn)100米的遠距離發(fā)射接收,也能繞過

3、障礙物傳輸,其性能穩(wěn)定、占用空間小、使用材料少、傳輸速度快、距離遠,能夠滿足臨床應用的要求。關鍵詞: 單片機STC89C51,無線傳輸模塊,病床呼叫第一章 緒 論1.1課題設計的背景及意義目前大多醫(yī)院的病床呼叫系統(tǒng)采用有線傳輸方式,有線傳輸占用空間較大,耗材多,而且不易移動,因此現(xiàn)今需要對病床呼叫系統(tǒng)進行升級,近年來在我國無線領域有了大的進展,這為此提供了有力的技術支持。有的一些簡易無線發(fā)射接收模塊傳輸距離近,效率低,可靠性差,不適合用于產品的設計。本設計是基于單片機實現(xiàn)的醫(yī)用無線多路病床呼叫系統(tǒng),分為無線發(fā)射模塊、無線接收模塊、單片機控制模塊、顯示模塊、呼叫報警部分和復位應答部分。本系統(tǒng)通過

4、無線電實現(xiàn)信號的傳遞,單片機作為控制部件協(xié)調處理整個系統(tǒng)的工作,實現(xiàn)無線信號的遠距離傳輸,減少了材料的耗費,安裝簡單,使醫(yī)患溝通更加靈活,是無線網絡技術在醫(yī)學臨床上的大膽應用,具有創(chuàng)新性。1.2設計要求及預期目標設計要求:設計出穩(wěn)定高效的運行系統(tǒng),并且有一定的抗干擾能力,能夠實現(xiàn)多路呼叫且互不干擾。距離在100m范圍內,實現(xiàn)多路無線病床呼叫,并留有擴展空間。預期目標:病人按呼叫鍵時,無線發(fā)射器發(fā)射信號,無線接收器接收無線信號,通過單片機控制處理,護士值班室發(fā)出呼叫警報,同時1602液晶上顯示相應的床位號,當護士按鍵應答,呼叫報警停止,液晶顯示以應答,警報由定時器控制關閉。當有多個病人呼叫沒有及

5、時應答時,對應顯示各床床位號,同時報警。1.3設計可行性有線呼叫器受位置的制約不能很好的達到醫(yī)患溝通,無線呼叫系統(tǒng)就顯示其很大的優(yōu)越性,可移動,不受位置制約,現(xiàn)今無線傳輸技術有了突飛猛進的發(fā)展,技術越來越成熟,普遍應用到生活、娛樂、學習和軍工等領域,這為無線傳輸技術與醫(yī)學臨床的結合提供了技術支持。在校期間也學習了與單片機相關的課程,有了一定的理論基礎。因此,本課題具有可行性,能夠得到實現(xiàn)。1.4 設計方案及步驟針對單片機的無線病床呼叫系統(tǒng),制定以下方案及步驟:第一步,根據設計目的構想設計的原理圖框架,學習設計中要用到的知識,如無線發(fā)射模塊的原理、編碼解碼,單片機C語言編程設計,液晶1602的顯

6、示,使用的芯片引腳工作原理, Protel軟件使用等。第二步,對硬件模塊進行設計。如無線發(fā)射模塊、無線接收模塊、1602顯示模塊、聲音呼叫模塊。在Protel中繪制原理圖。第三步,對系統(tǒng)軟件進行設計。如主函數(shù)程序設計、初始化程序設計、延時子程序設計、液晶顯示子程序設計、定時器中斷服務子程序設計。第二章 系統(tǒng)硬件設計2.1 系統(tǒng)原理框圖根據單片機的無線病床呼叫系統(tǒng)要求初步繪制出系統(tǒng)原理框圖如圖2-1所示。應答按鍵發(fā)射模塊接收模塊液晶顯示單片機聲音報警圖2-1 系統(tǒng)原理框圖2.2 單片機STC89C51芯片簡介STC89C51是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Fla

7、sh 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口。另外 STC89X51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個

8、中斷或硬件復位為止。最高運作頻率35Mhz,6T/12T可選。圖2-2 STC89C51單片機引腳圖單片機是美國STC公司最新推出的一種新型51內核的單片機。片內含有Flash程序存儲器、SRAM、UART、SPI、PWM等模塊。(一)STC89C51主要功能、性能參數(shù)如下:(1)內置標準51內核,機器周期:增強型為6時鐘,普通型為12時鐘;(2)工作頻率范圍:040MHZ,相當于普通8051的080MHZ;(3)STC89C51RC對應Flash空間:4KB;(4)內部存儲器(RAM):512B;(5)定時器計數(shù)器:3個16位;(6)通用異步通信口(UART)1個;(7)中斷源:8個;(8)

9、有ISP(在系統(tǒng)可編程)IAP(在應用可編程),無需專用編程器仿真器;(9)通用IO口:3236個;(10)工作電壓:3.85.5V;(11)外形封裝:40腳PDIP、44腳PLCC和PQFP等。(二)STC89C51單片機的引腳說明:VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據存儲器,它可以被定義為數(shù)據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內部提供上拉電阻

10、的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址

11、數(shù)據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 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 /

12、RD(外部數(shù)據存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數(shù)據,而是把端口鎖存器的內容讀入到內部總線,經過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數(shù)據讀入到內部總線。上面圖中的兩個三角形表示的就是輸入緩沖器CPU將根據不同的指令分別發(fā)出讀端口或讀引腳信號以完成不同的操作。這是由硬件自動完成的,不需要我們操心,1然后再實行讀引腳操作,否則就可能讀入出錯,為什么看上面的圖,如果不對端口置1端口鎖存器原來的狀態(tài)有可能為0Q端為0Q為1加到場效應管柵極的信號為1,該場效

13、應管就導通對地呈現(xiàn)低阻抗,此時即使引腳上輸入的信號為1,也會因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1。若先執(zhí)行置1操作,則可以使場效應管截止引腳信號直接加到三態(tài)緩沖器中實現(xiàn)正確的讀入,由于在輸入操作時還必須附加一個準備動作,所以這類I/O口被稱為準雙向口。89C51的P0/P1/P2/P3口作為輸入時都是準雙向口。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為

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

15、方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。(三)STC89C51單片機最小系統(tǒng):最小系統(tǒng)包括單片機及其所需的必要的電源、時鐘、復位等部件,能使單片機始終處于正常的運行狀態(tài)。電源、時鐘等電路是使單片機能運行的必備條件,可以將最小系統(tǒng)作為應用系統(tǒng)的核心部分,通過對其進行存儲器擴展、A/D擴展等,使單片機完成較復雜的功能。STC89C51是片內有ROM/EPROM的單片機,因此,這種芯片構成的最小系統(tǒng)

16、簡單可靠。用STC89C52單片機構成最小應用系統(tǒng)時,只要將單片機接上時鐘電路和復位電路即可,結構如圖2-3所示,由于集成度的限制,最小應用系統(tǒng)只能用作一些小型的控制單元。時鐘電路復位電路51系列單片機I/O接口時鐘電路復位電路STC89C51單片機I/O口圖2-3 單片機最小系統(tǒng)原理框圖(1) 時鐘電路STC89C51單片機的時鐘信號通常有兩種方式產生:一是內部時鐘方式,二是外部時鐘方式。內部時鐘方式如圖2-4所示。在STC89C51單片機內部有一振蕩電路,只要在單片機的XTAL1(18)和XTAL2(19)引腳外接石英晶體(簡稱晶振),就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號。圖中

17、電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在530pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.212MHz間選擇,典型值為12MHz和6MHz。圖2-4 STC89C51內部時鐘電路(2) 復位電路當在STC89C51單片機的RST引腳引入高電平并保持2個機器周期時,單片機內部就執(zhí)行復位操作(若該引腳持續(xù)保持高電平,單片機就處于循環(huán)復位狀態(tài))。復位電路通常采用上電自動復位和按鈕復位兩種方式。最簡單的上電自動復位電路中上電自動復位是通過外部復位電路的電容充放電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復位。除了上電復位外,有時還需要按鍵手動復位。本設計就是用的

18、按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST(9)端與電源Vcc接通而實現(xiàn)的。按鍵手動復位電路見圖2-5。時鐘頻率用11.0592MHZ時C取10uF,R取10k。圖2-5 STC89C51復位電路(四) STC89C51中斷技術概述中斷技術主要用于實時監(jiān)測與控制,要求單片機能及時地響應中斷請求源提出的服務請求,并作出快速響應、及時處理。這是由片內的中斷系統(tǒng)來實現(xiàn)的。當中斷請求源發(fā)出中斷請求時,如果中斷請求被允許,單片機暫時中止當前正在執(zhí)行的主程序,轉到中斷服務處理程序處理中斷服務請求。中斷服務處理程序處理完中斷服務請求后,再回到原來被中止的程序之處(斷點),繼

19、續(xù)執(zhí)行被中斷的主程序。圖2-6為整個中斷響應和處理過程。圖2-6 中斷響應和處理過程如果單片機沒有中斷系統(tǒng),單片機的大量時間可能會浪費在查詢是否有服務請求發(fā)生的定時查詢操作上。采用中斷技術完全消除了單片機在查詢方式中的等待現(xiàn)象,大大地提高了單片機的工作效率和實時性。 2.3 硬件模塊設計由圖2-1系統(tǒng)原理框圖可知,整個系統(tǒng)分為五個模塊:無線發(fā)射模塊、無線接收模塊、聲音報警模塊、液晶顯示模塊、按鍵應答模塊。下面將簡單的介紹各個模塊設計方案。2.3.1無線發(fā)射模塊PT2262是一種CMOS 工藝制造的低功耗低價位通用編碼電路,PT2262最多可有12 位(A0-A11)三態(tài)地址端管腳(懸空,接高電

20、平,接低電平),任意組合可提供531441 地址碼,PT2262 最多可有6 位(D0-D5)數(shù)據端管腳,設定的地址碼和數(shù)據碼從17 腳串行輸出,可用于無線遙控發(fā)射電路。PT2262 管腳說明如表2-4表2-4 PT2262管腳說明名稱管腳說明A0-A111-8,10-13 地址管腳,用于進行地址編碼,可置為“0”、 “1” 、“懸空”。 D0-D57-8,10-13數(shù)據輸入端,有一個為“1”即有編碼發(fā)出,內部下拉。VCC18電源正端()GND9電源負端()TE14編碼啟動端,用于多數(shù)據的編碼發(fā)射,低電平有效;OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率;OSC215振蕩電阻振蕩

21、器輸出端;DOUT17編碼輸出端(正常時為低電平)T10A發(fā)射模塊(如表2-5)采用SMD技術,在穩(wěn)頻處理上采用最先進聲表諧振器(SAW)元件,電路板(PCB)采用介質損耗最小的材料,體積小巧。表2-5 T10A發(fā)射模塊技術指標參數(shù)工作電壓3V-12V工作電流25mA(12V); 2mA(3V)諧振方式聲表諧振(SAW)調制方式AM/ASK/OOK工作頻率315MHz、433.92MHz可選頻率誤差±150kHz(max)發(fā)射功率25mW(315MHz, 12V時)圖2-6所示為無線發(fā)射模塊圖,由PT2262編碼,發(fā)射模塊的四個按鍵分別代表不同的病床號,按下表示病人呼叫。圖2-6 無

22、線發(fā)射模塊圖發(fā)射模塊有密碼保證功能,最多可以編6個數(shù)據碼和6561個地址碼,使重復的機會大大減少。其性能參數(shù)如下: 電源電壓: DC3VDC12V 靜態(tài)電流:0.02uA 發(fā)射頻率:315MHz 發(fā)射電流:550mA 發(fā)射距離:50800m 調制方式:ASK在通常使用中,一般采用8位地址碼和4位數(shù)據碼,這時編碼芯片PT2262和解碼芯片PT2272的第18腳為地址設定腳,有三種狀態(tài)可供選擇:懸空、接正電源、接地三種狀態(tài),3的8次方為6561,所以地址編碼不重復度為6561組,只有發(fā)射端PT2262和接收端PT2272的地址編碼完全相同,才能配對使用,一般生產廠家都把地址編碼端懸空,用戶可以自己

23、設置編碼。設置地址碼的原則是:同一個系統(tǒng)地址碼必須一致;不同的系統(tǒng)可以依靠不同的地址碼加以區(qū)分。2.3.2無線接收模塊解碼接收模塊包括接收頭和解碼芯片PT2272兩部分。接收頭將接收的信號輸入PT2272的14引腳(DIN),PT2272對接收到的信號解碼。無線接收模塊如圖2-7所示。圖2-7 無線接收模塊圖編碼芯片PT2262 發(fā)出的編碼信號由:地址碼、數(shù)據碼、同步碼組成一個完整的碼字,解碼芯片PT2272 接收到信號后,其地址碼經過兩次比較核對后,VT 腳才輸出高電平,與此同時相應的數(shù)據腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當發(fā)射機沒有按鍵按下時,PT2262 不接

24、通電源,其17 腳為低電平,所以315MHz 的高頻發(fā)射電路不工作,當有按鍵按下時,PT2262 得電工作,其第17 腳輸出經調制的串行數(shù)據信號,當17 腳為高電平期間315MHz 的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當17 腳為低平期間315MHz 的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262 的17 腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK 調制)相當于調制度為100的調幅。PT2272管腳說明如表2-9表2-8 PT2272管腳說明名稱管腳說明A0-A111-8,10-13地址管腳,用于進行地址編碼,可置為 “0”,“1”,“f”(懸空),必須與2262一

25、致,否則不解碼D0-D57-8,10-13地址或數(shù)據管腳,當做為數(shù)據管腳時,只有在地址碼與2262一致一致,數(shù)據管腳才能輸出與2262數(shù)據端對應的高電平,否則輸出為低電平,鎖存型只有在接收到下一數(shù)據才能轉換VCC18電源正端()GND9電源負端()DIN14數(shù)據信號輸入端,來自接收模塊輸出端OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率;OSC215振蕩電阻振蕩器輸出端;VT17解碼有效確認 輸出端(常低)解碼有效變成高電平(瞬態(tài))PT2262和PT2272除地址編碼必須完全一致外,振蕩電阻還必須匹配,一般要求譯碼器振蕩頻率要高于編碼器振蕩頻率的2.58倍,否則接收距離會變近甚至無

26、法接收,隨著技術的發(fā)展市場上出現(xiàn)一批兼容芯片,在實際使用中只要對振蕩電阻稍做改動就能配套使用。在具體的應用中,外接振蕩電阻可根據需要進行適當?shù)恼{節(jié),阻值越大振蕩頻率越慢,編碼的寬度越大,發(fā)碼一幀的時間越長。市場上大部分產品都是用2262/1.2M2272/200K組合的,少量產品用2262/4.7M2272/820K。解碼接收模塊包括接收頭和解碼芯片PT2272兩部分組成。接收頭將收到的信號輸入PT2272的14腳(DIN),PT2272再將收到的信號解碼。 接收板工作電壓為DC 5V,接收靈敏度: -103dBm ,尺寸(mm): 49*20*7 ,工作頻率:315MHz,工作電流:5mA

27、,編碼類型:固定碼(板上焊盤跳接設置) 應用說明:與各類型遙控器配合使用,解碼輸出后進行相應控制,在通常使用中,我們一般采用8位地址碼和4位數(shù)據碼,這時編碼芯片PT2262和解碼芯片PT2272的第18腳為地址設定腳,有三種狀態(tài)可供選擇:懸空、接正電源、接地三種狀態(tài),地址編碼不重復度為38=6561組,只有發(fā)射端PT2262和接收端PT2272的地址編碼完全相同,才能配對使用,遙控模塊的生產廠家為了便于生產管理,出廠時遙控模塊的PT2262和PT2272的八位地址編碼端全部懸空,這樣用戶可以很方便選擇各種編碼狀態(tài),用戶如果想改變地址編碼,只要將PT2262和PT2272的18腳設置相同即可,例

28、如將發(fā)射機的PT2262的第2腳接地,第3腳接正電源,其它引腳懸空,那么接收機的PT2272只要也第2腳接地,第3腳接正電源,其它引腳懸空就能實現(xiàn)配對接收。當兩者地址編碼完全一致時,接收機對應的D1D4端輸出約4V互鎖高電平控制信號,同時VT端也輸出解碼有效高電平信號。2.3.3液晶顯示模塊圖2-10 1602實物圖1602LCD的基本參數(shù)及引腳功能1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,兩者尺寸差別如下圖10-54所示:圖2-11 1602LCD尺寸圖1602LCD主要技術參數(shù):顯示容量:16×2個

29、字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm引腳功能說明1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表10-13所示:編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據2VDD電源正極10D3數(shù)據3VL液晶顯示偏壓11D4數(shù)據4RS數(shù)據/命令選擇12D5數(shù)據5R/W讀/寫選擇13D6數(shù)據6E使能信號14D7數(shù)據7D0數(shù)據15BLA背光源正極8D1數(shù)據16BLK背光源負極表2-12:引腳接口說明表第1腳:VSS為地電源。第2腳:VDD接5V正電源。

30、第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據線。第15腳:背光源正極。第16腳:背光源負極。2.3.4聲音

31、報警模塊該設計有聲音報警,當有病人呼叫時,蜂鳴器就會大聲提示,直到護士應答回復,才會停止鳴叫,控制引腳接在P3.4引腳上,利用三極管當做開關電路可以保護單片機,還可以起到放大電流的作用,當三極管基極為高電平時,發(fā)射極截止,為低電平時,發(fā)射極導通。報警模塊如圖2-13所示。圖2-13聲音報警模塊2.3.5應答電路本設計中四個床位使用一個應答按鈕,接在P3.3引腳上,當有病人按下按鈕,報警開始時,按下應答按鈕,即可停止報警,聲音模塊圖如圖2-14所示圖2-14應答電路第三章 系統(tǒng)軟件設計3.1設計的軟件環(huán)境簡介 Keil_c51Keil C51是美國Keil Software公司出品的51系列兼容

32、單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 Keil_c軟件界面如圖3-1-1:圖3-1-1Keil_c軟件界面該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C

33、語言及二者的混合編程。3.1.2 Protel99SEProtel99SE是PORTEL公司在80年代末推出的EDA軟件。Protel99SE是應用于Windows9X/2000/NT操作系統(tǒng)下的EDA設計軟件,采用設計庫管理模式,可以網設計,具有很強的數(shù)據交換能力和開放性及3D模擬功能,是一個32位的設計軟件,可以完成電路原理圖設計,印制電路板設計和可編程邏輯器件設計等工作,可以設計32個信號層,16個電源-地層和16個機加工層。Protel99SE軟件的特點:(1) 可生成30多種格式的電氣連接網絡表; (2) 強大的全局編輯功能; (3) 在原理圖中選擇一級器件,PCB中同樣的器件也將被

34、選中; (4) 同時運行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網絡 (5) 既可以進行正向注釋元器件標號(由原理圖到PCB),也可以進行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設計上的一致性; (6) 滿足國際化設計要求(包括國標標題欄輸出,GB4728國標庫); * 方便易用的數(shù)?;旌戏抡妫嫒軸PICE 3f5); (7) 支持用CUPL語言和原理圖設計PLD,生成標準的JED下載文件; * PCB可設計32個信號層,16個電源-地層和16個機加工層; (8) 強大的“規(guī)則驅動”設計環(huán)境,符合在線的和批處理的設計規(guī)則檢查; (9) 智能覆銅

35、功能,覆鈾可以自動重鋪; (10) 提供大量的工業(yè)化標準電路板做為設計模版; (11) 放置漢字功能; (12) 可以輸入和輸出DXF、DWG格式文件,實現(xiàn)和AutoCAD等軟件的數(shù)據交換; (13) 智能封裝導航(對于建立復雜的PGA、BGA封裝很有用); (14) 方便的打印預覽功能,不用修改PCB文件就可以直接控制打印結果; (15) 獨特的3D顯示可以在制板之前看到裝配事物的效果; (16) 強大的CAM處理使您輕松實現(xiàn)輸出光繪文件、材料清單、鉆孔文件、貼片機文件、測試點報告等; (17) 經過充分驗證的傳輸線特性和仿真精確計算的算法,信號完整性分析直接從PCB啟動; (18) 反射和

36、串擾仿真的波形顯示結果與便利的測量工具相結合; Protel99SE的工作界面是一種標準的Windows界面,如圖所示,包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。Protel99SE軟件界面如圖3-1-2。圖3-1-2Prtel99SE軟件界面運行Protel99SE程序后,進入軟件的主界面。通過左側工具欄中的Browse(從庫中選擇元件命令)命令。3.2 主函數(shù)程序設計一個完整的程序中只有一個main函數(shù),首先調用初始化函數(shù)進行初始化,然后判斷并調用顯示子程序使液晶1602顯示、蜂鳴器鳴

37、響報警。程序流程如圖3-2所示。開始調用初始化子程序液晶顯示歡迎語否判斷是否有床位報警是報警器打開,液晶顯示對應床位號否判斷應答按鍵是否按下是關閉報警器液晶顯示知曉結束圖3-2 主程序流程圖3.3 初始化程序設計初始化程序包括液晶初始化顯示、定時器中斷系統(tǒng)初始化。(一)、液晶初始化根據液晶使用手冊,在液晶使用之前,要對其設置顯示模式,光標設置,然后進行清屏操作。方便之后使用。(二)、定時器中斷系統(tǒng)初始化STC89C51有兩個定時/計數(shù)器,都有定時和計數(shù)兩種工作模式,四種工作方式(方式0、方式1、方式2、方式3),屬于增一計數(shù)器。特殊功能寄存器TMOD用于選擇定時器/計數(shù)器T0、T1的工作模式和

38、工作方式。但無論是工作在定時器模式還是計數(shù)器模式,實質都是對脈沖信號進行計數(shù),只是計數(shù)的來源不同,計數(shù)器模式是對加在T0(P3.4)和T1(P3.5)兩個引腳的外部脈沖進行計數(shù),而定時器模式是對單片機的時鐘振蕩器信號經片內12分頻后的內部脈沖信號計數(shù)。3、 工作方式控制寄存器TMOD,不能位尋址,其格式如圖3-3所示。 圖3-3 寄存器TMOD的格式(1) GATE :門控位。(2) M0、M1:工作方式選擇位。(3) C/T:計數(shù)器和定時器模式選擇位。C/T=0,為定時器模式;C/T=1為計數(shù)器模式。M0、M1共有4種編碼,對應于4種工作方式的選擇,見表3-4。表3-4 M1、M0工作方式選

39、擇M1 M0工作方式0 0方式0,為13位定時器/計數(shù)器0 1方式1,為16位定時器/計數(shù)器1 0方式2,8位的常數(shù)自動重裝的定時器/計數(shù)器1 1方式3,僅用于T0,此時T0分為兩個8位計數(shù)器,T1停止計數(shù)定時器的工作方式設置好以后就要給定時器裝入初值,工作方式不同初值也不同。1、下面介紹一下單片機的時鐘周期、機器周期和指令周期。(1) 時鐘周期是單片機時鐘控制信號的基本時間單位。若時鐘晶體的震蕩頻率為f0sc ,則時鐘周期Tosc=1/fosc 。(2) 機器周期是CPU完成一個基本操作所需要的時間。AT89C51單片機的每12個時鐘周期為一個機器周期,即TCY=12/fOSC 。(3) 指

40、令周期是執(zhí)行一條指令所需的時間。AT89C51單片機中指令按字節(jié)來分,可分為單字節(jié)、雙字節(jié)和三字節(jié)指令,單字節(jié)和雙字節(jié)指令一般為單機器周期和雙機器周期,三字節(jié)指令都是雙機器周期,只有乘、除指令占4個機器周期。本設計中,時鐘晶體的頻率為11.0592MHZ,所以時鐘周期為1/12M。T0作為定時器使用,工作方式為方式1,作為16位計數(shù)器。設計數(shù)個數(shù)為N,計數(shù)初值為X,那么X=216-N, 定時時間=N×12/晶振頻率,所以,定時時間=(216-X)×12/晶振頻率。本設計設置每隔50ms中斷一次,那么得出初值X=0x4BFF,定時器T0的高8位TH0賦值0x4B,低8位TL0

41、賦值0xFF。2、定時器/計數(shù)器控制寄存器TCON,可位尋址,其格式見表3-5。表3-5 特殊寄存器TCON的格式D7D6D5D4D3D2D1D0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH_8DH_8BH8AH89H88H TR0:定時器啟動位。TR0=0,關閉定時器0;TR0=1,開啟定時器0. IT0:選擇外部中斷0為跳沿觸發(fā)方式還是電平觸發(fā)方式。IT0=0,為電平觸發(fā)方式;IT0=1,為跳沿觸發(fā)方式。4、單片機對各中斷源的開放或屏蔽是由片內的中斷允許寄存器IE控制的,可位尋址,其格式見表3-6。表3-6 中斷允許寄存器IE的格式D7D6D5D4D3D2D1D0I

42、EEA_ESET1EX1ET0EX0位地址AFH_ACHANHAAHA9HA8H(1) EA:中斷允許總開關控制位。EA=0,所有的中斷請求被屏蔽;EA=1,所有的中斷請求被開放。(2) ES:串行口中斷允許位。ES=0,禁止串行口中斷;ES=1,允許串行口中斷。(3) ET0:定時器/計數(shù)器T0的溢出中斷允許位。ETO=0,禁止T0溢出中斷;ETO=1,允許T0溢出中斷。(4) EX0:外部中斷0中斷允許位。EX=0,禁止外部中斷0中斷;ES=1,允許外部中斷0中斷。STC89C51復位后,IE被清零,所有的中斷請求被禁止。所以在初始化時,要令EA=1,EX0=1,ET0=1,開放總中斷、允

43、許T0中斷。初始化程序如下:void init()bg_1602=0;TMOD=0x01; TL0=0x4b; TH0=0xff; EA=1; ET0=1; TR0=1;E=0;com_1602(0x38);com_1602(0x0c); com_1602(0x06);com_1602(0x80); com_1602(0x01);3.4 延時子程序設定延時子程序作為方便其他程序調用,避免程序繁瑣重復。我將延時子程序定為有參函數(shù),延時1ms,程序如下:void delay(ui x)ui i,j;for(i=0;i<x;i+)for(j=0;j<121;j+);3.5 液晶顯示子程序

44、void display()if(num_D0|num_D1|num_D2|num_D3)if(num_D0=1)dis_1602(1,0,2,0,1);dis_1602(1,0,3,0,10);if(num_D1=2)dis_1602(1,0,4,0,2);dis_1602(1,0,5,0,10);if(num_D2=3)dis_1602(1,0,6,0,3);dis_1602(1,0,7,0,10);if(num_D3=4)dis_1602(1,0,8,0,4);dis_1602(1,0,9,0,10);dis_1602(10,1,5,1,0);elsedis_1602(15,0,0,3,0);結束語至此,本設計的主要內容已經完成。本章是在對前面完成的工作進行總結的基礎上,提出今后進一步工作的建議和設想。選擇這個課題之后,我明白要解決的難點:病人都按開關時,在數(shù)碼顯示器能循環(huán)顯示病床,這也就是考驗我們對所學知識有比較透徹的了解和我們的耐心。接下來每天奔波在宿舍、餐廳三點一線的生活,雖然有點累,但很充實,在這之中還去請教老師和同學,他們耐心的教導讓我更加堅定了對該課題的研究,另外還有很多老師的幫助。在設計的過程中遇到了很多問題,可以說

溫馨提示

  • 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

提交評論