畢業設計(論文)基于單片機的模擬病房呼叫系統設計_第1頁
畢業設計(論文)基于單片機的模擬病房呼叫系統設計_第2頁
畢業設計(論文)基于單片機的模擬病房呼叫系統設計_第3頁
畢業設計(論文)基于單片機的模擬病房呼叫系統設計_第4頁
畢業設計(論文)基于單片機的模擬病房呼叫系統設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、模擬病房呼叫系統摘 要:病房呼叫系統是病人請求值班醫生或護士進行診斷、護理的緊急呼叫工具,它主要用于協助醫院病員在病床上方便地呼叫醫務人員,可將病人的請求快速傳送給值班醫生或護士,是提高醫院和病房護理水平的必備設備之一。醫院的競爭越來越激烈,商業醫院的生存是第一位的,提升檔次和服務質量迫在眉睫,陪護問題一直是醫患矛盾的主體,也是長期困擾衛生系統服務質量的大問題,使用病房呼叫系統,方便病人更快找到醫生,以節約病人的寶貴時間。病房呼叫系統主要是指當呼叫源有呼叫信號時,在系統上有相應的聲、光呼叫信號指示,并能顯示出呼叫號碼。此系統主要由s51單片機,四個按鍵,四個數碼管,四個指示燈,四個蜂鳴器組成。

2、每個病房有 4 個床位,每個病人要呼叫可以按鍵,同時會有不同的蜂鳴器響,不同的數碼管顯示床位號,相應的指示燈亮。這里主要想用其它 i/o 口模擬串口顯示,這是編程的關鍵。關鍵詞: 病房呼叫、 單片機、 串口顯示目 錄1引言12系統硬件設計22.1系統原理框圖22.2單片機介紹22.3主要元器件介紹32.3.1單片機at89s51介紹32.3.251單片機與74hc164靜態顯示接口52.4各模塊設計62.4.1led顯示模塊設計62.4.2鍵盤模塊設計62.4.3聲音模塊設計62.4.4接口電路設計62.5單片機控制線路圖73系統軟件設計83.1系統總流程圖83.2各模塊功能設計93.3系統平

3、臺介紹113.3.1匯編語言介紹113.3.2偉福軟件簡介123.4計數器延時設定133.4.1計數器硬件延時133.4.2軟件延時134系統測試144.1單片機應用系統的硬件調試144.2單片機應用系統的軟件調試145結論156致謝157參考文獻168程序清單171引言 伴隨著醫療體制改革的不斷深化和醫療事業的飛速發展,越來越多的人們需要迅捷、方便地得到醫院的各種各樣的醫療服務,這必將使醫院之間的競爭日趨激烈。這使得衡量一個醫院的綜合水平高低,不再僅僅局限于軟、硬件的建設上,更要比服務。原有的服務體系已不足以適應現代社會需求,謀求適合現代社會需求的客戶服務系統,是所有企事業單位計劃做或正在做

4、的工作。這些工作有利于改善服務量,提高效率并增加企業效益,從而贏得良好的社會聲譽。如何利用先進的信息技術為醫院服務,更大程度的提高醫院的服務質量及利潤,是醫院信息化建設中的一個重要著眼點。 醫院的競爭越來越激烈,商業醫院的生存是第一位的,提升檔次和服務質量迫在眉睫,陪護問題一直是醫患矛盾的主體,也是長期困擾衛生系統服務質量的大問題,使用病房呼叫系統,方便病人更快找到醫生,以節約病人的寶貴時間。 病床呼叫系統是病人請求值班醫生或護士進行診斷或護理的緊急呼叫工具。可將病人的請求快速傳送給值班醫生或護士,是提高醫院和病室護理水平的必備設備之一。系統的建設將本著“以患者為中心”的原則,以方便患者,提高

5、就診效率為目的,力爭為患者提供最滿意的服務,同時也將提高醫療的社會效益和經濟效益。呼叫系統的優劣直接關系到病員的安危,也可減少醫護人員巡視病床的辛勞,能放心地、高效地處理其它醫護問題,歷來受到各大醫院的普遍重視,已成為各醫院現代化的標志。鑒于此,設計及時、準確、可靠、簡便可行、利于推廣的呼叫系統有很高的應用價值和意義。病房呼叫系統只是醫院管理系統中的一小部分,隨著醫療技術的發展以及計算機的發展,醫院管理系統也向標準化,系統化,局域網絡,集中式數據庫,自頂向下的一體化設計和數據的共享以及電子病例等方面發展。醫院管理系統的發展要適應醫療制度改革形勢的需要提供支持醫療保險賬目核算,藥品醫療分開管理,

6、分別核算,營利性醫院與非營利性醫院的不同管理算法。2系統硬件設計2.1系統原理框圖如圖1所示:圖1 系統原理框圖2.2單片機介紹單片機全稱為單片微型計算機(single chip microcomputer),又稱為微控制器(micro controller unit)或嵌入式控制器(embedded controller)。它是將計算機的基本部件微型化并集成到一塊芯片上的微型計算機,通常片內都含有cpu、rom、ram、并行i/o、串行i/o、定時器/計數器、中斷控制、系統時鐘及系統總線等。隨著技術的發展,單片機片內集成的功能越來越強大,并朝著片上系統方向發展。 單片機有著體積小、功耗低、功

7、能強、性能價格比高、易于推廣應用等顯著優點,在自動化裝置、智能儀器儀表、過程控制、通信、家用電器等許多領域得到日益廣泛的應用。2.3主要元器件介紹 本課題主要用到了:at89s51單片機和74hc164芯片。2.3.1 單片機at89s51介紹at89s51是一個低功耗,高性能cmos 8位單片機,片內含4k bytes isp(in-system programmable)的可反復擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術制造,兼容標準mcs-51指令系統及80c51引腳結構,芯片內集成了通用8位中央處理器和isp flash存儲單元,功能強大

8、的微型計算機的at89s51可為許多嵌入式控制應用系統提供性價比高的解決方案。at89s51具有如下特點:40個引腳,4k bytes flash片內程序存儲器,128 bytes的隨機存取數據存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(wdt)電路,片內時鐘振蕩器。此外,at89s51設計和配置了振蕩頻率可為0hz并可通過軟件設置省電模式。空閑模式下,cpu暫停工作,而ram定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存ram的數據,停止芯片其它功能直至外中斷激活或硬件復

9、位。同時該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應不同產品的需求。(1)主要功能特性:兼容mcs-51指令系統 4k可反復擦寫(1000次)isp flash rom32個雙向i/o口4.5-5.5v工作電壓2個16位可編程定時/計數器時鐘頻率0-33mhz全雙工uart串行中斷口線128x8bit內部ram2個外部中斷源低功耗空閑和省電模式中斷喚醒省電模式3級加密位看門狗(wdt)電路軟件設置空閑和省電功能靈活的isp字節和分頁編程雙數據寄存器指針(2)at89s51與at89c51比較:89s51相對于89c51而言:新增加了很多功能,性能有了較大提升,價格基本不變,甚

10、至比89c51更低! isp在線編程功能,這個功能的優勢在于改寫單片機存儲器內的程序不需要把芯片從工作環境中剝離。是一個強大易用的功能。 最高工作頻率為33mhz,大家都知道89c51的極限工作頻率是24m,就是說s51具有更高工作頻率,從而具有了更快的計算速度。 內部集成看門狗計時器,不再需要像89c51那樣外接看門狗計時器單元電路。 全新的加密算法,這使得對于89s51的解密變為不可能,程序的保密性大大加強,這樣就可以有效的保護知識產權不被侵犯。 兼容性方面:向下完全兼容51全部字系列產品。比如8051、89c51等等早期mcs-51兼容產品。也就是說所有教科書、網絡教程上的程序(不論教科

11、書上采用的單片機是8051還是89c51還是mcs-51等等),在89s51上一樣可以照常運行,這就是所謂的向下兼容。 比較結果:就如同intel的p3向p4升級一樣,雖然都可以跑windows98,不過速度是不同的。從at89c51升級到at89s51 ,也是同理。和s51比起來,c51就要遜色一些,實際應用市場方面技術的進步是永遠向前的。 (3)at89s51各引腳功能介紹:引腳如圖2所示,以下是各引腳的說明.vcc:at89s51 電源正端輸入,接+5v。 vss:電源地端。xtal1:單芯片系統時鐘的反相放大器輸入端。xtal2:系統時鐘的反向放大器輸出端,一般在設計上只要在 xtal

12、1 和 xtal2 上接上一只石英振蕩晶體系統就可以動作了,此外可以在兩個引腳與地之間加入一 20pf 的小電容,可以使系統更穩定,避免噪聲干擾而死機。reset:at89s51的重置引腳,高電平動作,當要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,at89s51便能完成系統重置的各項動作,使得內部特殊功能寄存器之內容均被設成已知狀態,并且至地址0000h處開始讀入程序代碼而執行程序。ea/vpp:ea為英文external access的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當引腳為低電平后,系統會調用外部的程序代碼(存于外部eprom中)來執行程序

13、。因此在8031及8032中,ea引腳必須接低電平,因為其內部無程序存儲器空間。如果是使用 8751 內部程序空間時,引腳要接成高電平。此外,在將程序代碼燒錄至8751內部eprom時,可以利用此引腳來輸入21v的燒錄高壓(vpp)。 ale/prog:ale是英文address latch enable的縮寫,表示地址鎖存器啟用信號。at89s51可以利用這個引腳來觸發外部的8位鎖存器(如74ls373),將端口0的地址總線(a0a7)鎖進鎖存器中,因為at89s51是以多工的方式送出地址及數據。平時在程序執行時ale引腳的輸出頻率約是系統工作頻率的1/6,因此可以用來驅動其他周邊晶片的時基

14、輸入。此外在燒錄8751程序代碼時,此引腳會被當成程序規劃的特殊功能來使用。psen:此為program store enable的縮寫,其意為程序儲存啟用,當8051被設成為讀取外部程序代碼工作模式時(ea=0),會送出此信號以便取得程序代碼,通常這支腳是接到eprom的oe腳。at89s51可以利用psen及rd引腳分別啟用存在外部的ram與eprom,使得數據存儲器與程序存儲器可以合并在一起而共用64k的定址范圍。port0(p0.0p0.7):端口0是一個8位寬的開路電極(open drain)雙向輸出入端口,共有8個位,p0.0表示位0,p0.1表示位1,依此類推。其他三個i/o端口

15、(p1、p2、p3)則不具有此電路組態,而是內部有一提升電路,p0在當作i/o用時可以推動8個ls的ttl負載。如果當ea引腳為低電平時(即取用外部程序代碼或數據存儲器),p0就以多工方式提供地址總線(a0a7)及數據總線(d0d7)。設計者必須外加一個鎖存器將端口0送出的地址鎖住成為a0a7,再配合端口2所送出的a8a15合成一個完整的16位地址總線,而定位地址到64k的外部存儲器空間。port2(p2.0p2.7):端口2是具有內部提升電路的雙向i/o端口,每一個引腳可以推動4個ls的ttl負載,若將端口2的輸出設為高電平時,此端口便能當成輸入端口來使用。p2除了當作一般i/o端口使用外,

16、若是在at89s51擴充外接程序存儲器或數據存儲器時,也提供地址總線的高字節a8a15,這個時候p2便不能當作i/o來使用了。port1(p1.0p1.7):端口1也是具有內部提升電路的雙向i/o端口,其輸出緩沖器可以推動4個ls ttl負載,同樣地,若將端口1的輸出設為高電平,便是由此端口來輸入數據。如果是使用8052或是8032的話,p1.0又當作定時器2的外部脈沖輸入腳,而p1.1可以有t2ex功能,可以做外部中斷輸入的觸發引腳。port3(p3.0p3.7):端口3也具有內部提升電路的雙向i/o端口,其輸出緩沖器可以推動4個ttl負載,同時還多工具有其他的額外特殊功能,包括串行通信、外

17、部中斷控制、計時計數控制及外部數據存儲器內容的讀取或寫入控制等功能。其引腳分配如下: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:外部數據存儲器的寫入信號。p3.7:rd,外部數據存儲器的讀取信號。2.3.2 51單片機與74hc164靜態顯示接口在單片機應用系統中,顯示器顯示常用兩種方法:靜態顯示和動態掃描顯示。所謂靜態顯示,就是每一個顯示器都要單獨占用具有鎖存功能的i/o接口用于筆劃段字形代碼。這樣單片機只要把要顯示的

18、字形代碼發送到接口電路,就不用管它了,直到要顯示新的數據時,再發送新的字形碼,因此,使用這種方法單片機中cpu的開銷小。可以提供單獨鎖存的i/o接口電路很多,這里以常用的串并轉換電路74hs164為例,介紹一種常用靜態顯示電路,以使大家對靜態顯示有一定的了解。 mcs-51單片機串行口方式0為移位寄存器方式,外接6片 74hs164作為6位led顯示器的靜態顯示接口,把8031的rxd作為數據輸出線,txd作為移位時鐘脈沖。74hs164為ttl單向8位移位寄存器,可實現串行輸入,并行輸出。其中a、b(第1、2腳)為串行數據輸入端,2個引腳按邏輯與運算規律輸入信號,共一個輸入信號時可并接。t(

19、第8腳)為時鐘輸入端,可連接到串行口的txd端。每一個時鐘信號的上升沿加到t端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進制數全部移入74ls164 中。r(第9腳)為復位端,當r=0時,移位寄存器各位復0,只有當r=1時,時鐘脈沖才起作用。q1q8(第3-6和10-13引腳)并行輸出端分別接led顯示器的hga各段對應的引腳上。2.4各模塊設計該系統主要包括顯示模塊,鍵盤模塊,聲音模塊,接口電路四部分組成。2.4.1led顯示模塊設計主要由74hc164和數碼管組成的,通過串口輸入和串口輸出把號碼顯示到數碼管上。通過74hc164來實現,在程序中主要是用循環來實現給一個時鐘信號,輸入一個

20、數據,當有按鍵按下時,數碼管將顯示出是幾號床位上的病人呼叫,而且一直在顯示,直到有護士發現。2.4.2鍵盤模塊設計四個按鍵占用了四個i/o口,分別接在at89s51單片機最小系統p1口的p1.4-p1.5引腳上。通過不斷的掃描 i/o口是高電平還是低電平來判斷是否有病人呼叫,是通過循環實現的。同時還需要考慮到一些問題,例如,當有多個病人同時呼叫時,能使互不干擾。 2.4.3聲音模塊設計利用蜂鳴器來實現,蜂鳴器報警占用了四個i/o口, 分別接在p2口的p2.4-p2.7引腳上.蜂鳴器如圖所示:圖3 蜂鳴器2.4.4接口電路設計假設病房有4 個床位(要占用8個i/o口),就需要4個數碼顯示管,4個

21、74hc164(是8位移位寄存器,利用51單片機串行口,結合74hc164為驅動的數碼管串口顯示。主要實現順序移動,有串行輸入口和串行輸出口,分別接在at89s51芯片的p1.0,p2.0 p1.1,p2.1 p1.2,p2.2 p1.3,p2.3),4個按鈕(要占用4個i/o口p1.4-p1.7),4個指示燈(要占用4個i/o口p3.4-p3.7),4個蜂鳴器報警(p2.4-2.7)。2.5單片機控制線路圖控制線路圖如圖4所示:圖4 系統控制線路圖3系統軟件設計3.1系統總流程圖系統流程圖如圖5所示:圖5 系統流程圖通過不斷地循環掃描按鍵,檢查是否有病人呼叫。3.2各模塊功能設計1. 顯示模

22、塊功能設計當有按鍵按下時,就會調用顯示子程序,在電路圖中使用的是:串行方式,假如現在是2號床位上的病人呼叫,則在數碼管上應顯示“2”,串行方式中,數碼管上顯示的數字是先成二進制數,再一位一位地輸進去的,然后才顯示數字。這里是在模擬串口,因為該單片機中只有一個串口,而這里要用多個串口。當這段程序執行完以后,再進入循環。十進制數與相應二進制數的轉換表如表1所示。顯示數值dop g f e d c b a 驅動代碼(16進制)01 1 1 1 1 1 0 00fch1 0 1 1 0 0 0 0 060h2 1 1 0 1 1 0 1 00dah3 1 1 1 1 0 0 1 00f2h4 0 1

23、1 0 0 1 1 066h5 1 0 1 1 0 1 1 0b6h表1 轉換表顯示子程序如下所示:start:clr c;病床數碼管顯示mov dptr,#tabmov a,r0movc a,a+dptrmov r1,#9s1: cjne r0,#1,s2sjmp ss1s2: cjne r0,#2,s3sjmp ss2s3: cjne r0,#3,s4sjmp ss3s4: cjne r0,#4,s1ljmp ss4fh1: ljmp beginss1:lcall ys10msjb p1.4,fh1sss1:clr txd3rrc asetb txd3mov rxd3,clcall yan

24、shi;833usdjnz r1,sss1clr p2.4clr p3.4ws1:mov a,r7add a,#200mov 31h,asetb bc1setb flag1ljmp tt2fh2:ljmp beginss2:lcall ys10msjb p1.5,fh2sss2:clr txd4rrc asetb txd4mov rxd4,clcall yanshi;833usdjnz r1,sss2clr p2.5clr p3.5ws2:mov a,r7add a,#200mov 32h,asetb bc2setb flag2ljmp tt3fh3:ljmp beginss3:lcall y

25、s10msjb p1.6,fh3sss3:clr txd1rrc asetb txd1mov rxd1,clcall yanshi;833usdjnz r1,sss3clr p2.6clr p3.6ws3:mov a,r7add a,#200mov 33h,asetb bc3setb flag3ljmp tt4fh4:ljmp beginss4:lcall ys10msjb p1.7,fh4sss4:clr txd2rrc asetb txd2mov rxd2,clcall yanshi;833usdjnz r1,sss4clr p2.7clr p3.7ws4:mov a,r7add a,#2

26、00mov 34h,asetb bc4setb flag4ljmp tt1tti1:ljmp ttt12. 聲音模塊功能設計如果有病人呼叫,即有按鍵按下,那么相應的蜂鳴器所接的i/o口也設置為高電平,而且每一個蜂鳴器發出的聲音是不一樣的,同時與床位號對應的指示燈也會亮。在程序中只用一條語句即可實現:clr p2.4,因為在本電路設計時,每個引腳都是低電平有效的,所以在清零時蜂鳴器才能發出聲音。3. 鍵盤模塊功能設計通過不斷的掃描按鍵所接的 i/o口是高電平還是低電平來判斷是否有病人呼叫,是通過循環實現的。同時還需要考慮到一些問題,例如,當有多個病人同時呼叫時,怎樣能使互不干擾,這時是通過一個標

27、志位來控制的。3.3系統平臺介紹3.3.1 匯編語言介紹程序設計語言可以分為:符號語言,機器語言,匯編語言,高級語言。符號語言己經具有很多優點,但符號語言中的每一個符號(這里稱作助記符)可以是用戶根據辨認或者記憶的需要自己來決定的。這樣,通用性不是很強。就是說,按某一個人的想法編寫的符號語言程序,另外一個人是無法看懂的。匯編語言克服了上述的缺點,它是在符號語言的基礎上發展起來的。它是針對一類(甚至幾類)計算機,抽象出來的一種符號語言并把這些符號加以統一規定,使得使用同類計算機的人都了解這些符號的意義,這樣,使得用匯編語言編寫的程序可以在這一類型的任何一臺計算機上使用。這就有了極大的靈活性,當然

28、不同類型的計算機的匯編語言也不同。它們都必須由生產廠家提供的匯編語言來編寫。另外匯編語言還增加了宏指令的功能。讓我們比較一下匯編語言和高級語言的特點。首先,匯編語言與處理器關系密切。每種處理器都有自己的指令系統,相應的匯編語言也各自不同。因而匯編語言程序的通用性、可移植性較差。而高級語言與具體計算機無關,高級語言程序可以在多種計算機上編譯啟執行。其次,匯編語言編程涉及寄存器、內存等硬件細節,程序繁瑣,調試也比較困難而高級語言采用類似自然語言的語法,容易被掌握和使用,也不必關心諸如標志、堆棧等。但是,匯編語言本質上就是機器語言,它可以直接有效地控制計算機硬件,因而可以產生運行速度快、指令序列短的

29、高效率目標程序。而高級語言不易直接控制計算機的各種操作,編譯程序產生的目標程序龐大、程序難以優化、運行速度慢. 總的來說,匯編語言的主要優點就是可以直接控制計算機硬件,可以編寫在時間和空間兩方面更有效的程序。這些優點使得匯編語言在程序設計中占有重要的地位。是不可取代的。 但匯編語言的缺點也是明顯的,它與處理器密切相關,要求程序員熟悉計算機硬件系統,考慮許多細節問題,所以程序繁瑣,調試、維護、交流和移植困難。因此,有時可以采用高級語言和匯編語言混合編程的方法,互相取長補短,更好地解決實際問題。匯編語言生要應用場合有以下幾種:l.程序要具有較短的運行時問,或者只能占用較小的存儲客量。例如操作系統的

30、核心 程序段,實時控制系統的軟件等。2.程序與計算機硬件密切相關,程序要直接控制硬件。例如to接口電路的初始化程序段,外部設備的底層驅動程序等63.大型軟件需要提高性能、優化處理的部分。例如計算機系統頻繁調用的子程序、動態鏈接庫等。4.沒有適合的高級語言的時候。例如開發最新的處理器程序時。3.3.2 偉福軟件簡介偉福系列仿真器品種多、功能強,特點如下:3. 主機+pod組合,通過更換pod,可以對各種cpu進行仿真。對待不同的應用場合,用戶往往會選擇不同的cpu,從而需要更換仿真器,偉福仿真軟件windows版本支持本公司多種仿真器。支持多類cpu仿真。4. 雙平臺dos版本,windows版

31、本。其中windows版本功能強大。5. 雙工作模式軟件模擬仿真(不要仿真器也能模擬仿真)和硬件仿真。8. 雙cpu結構,100% 不占用戶資源。全空間硬件斷點,不受任何條件限制,支持地址、數據、外部信號、事件點、支持實時斷點計數、軟件運行時間統計。9. 雙集成環境編輯、編譯、下載、調試全部集中在一個環境下。多種仿真器,多類cpu仿真全部集成在一個環境下。可仿真51系列,196系列,pic系列,飛利蒲公司的552、lpc764、dallas320,華邦438等51增強型cpu。為了跟上形勢,現在很多工程師需要面對和掌握不同和項目管理器、編輯器、編譯器。偉福 windows調試軟件為您提供了一個

32、全集成環境,統一的界面,包含一個項目管理器,一個功能強大的編輯器,匯編make、build和調試工具并提供一個與第三方編譯器的接口。由于風格統一,從而大大節省了您的精力和時間。10. 強大的邏輯分析儀綜合調試功能。隨著科學技術的發展,單片機通訊方面的運用越來越多。有了邏輯儀,用它可以分別或者同時對發送方、接收方的輸入或者輸出波形進行記錄、存儲、對比、測量等各種直觀的分析,可以將實際輸出通訊報文的波形與源程序相比較,可立即發現問題所在。從而極大地方便了調試。11. 強大的追蹤器功能追蹤功能以總線周期為單位,實時記錄仿真過程中cpu發生的總線事件,其觸發條件方式同邏輯分析儀。追蹤窗口在仿真停止時可

33、收集顯示追蹤的cpu指令記憶信息,可以以總線反匯編碼模式、源程序模式對應顯示追蹤結果。屏幕窗口顯示波形圖最多追蹤記憶指令32k并通過仿真器的斷點、單步、全速運行或各種條件組合斷點來完成追蹤功能。總線跟蹤可以跟蹤程序的運行軌跡。可以統計軟件運行時間。3.4計數器延時設定3.4.1 計數器硬件延時定時器工作時必須給計數器送計數器初值,這個值是送到th和tl中的。他是以加法記數的,并能從全1到全0時自動產生溢出中斷請求。因此,我們可以把計數器記滿為零所需的計數值設定為c和計數初值設定為tc 可得到如下計算通式: tc=m-c式中,m為計數器模值,該值和計數器工作方式有關。該系統中,選用的是方式1,計

34、數器的初值為:15536,溢出是為:65536,而晶振為:12hz,根據公式計算, 計算公式 t=(mtc)t計數 或t計數t計數是單片機時鐘周期的12倍,為定時初值,單片機的主脈沖頻率為12mhz,可得定時時間為:50ms。 相應的程序代碼為:(1)begin: mov tmod,#10h ;定時器/計數器方式控制 mov th1,#3ch mov tl1,#0b0hsetb et1 ;將所指位置1 setb tr1;et1:定時器1(t1)的溢出中斷允許位;tr1:t1的運行控制位,置1表示啟動(2)中斷服務程序:dsd:mov th1, #3ch mov tl1, #0b0hinc r7

35、 ;r7的值給了a,也是為了保證報警時間的準確性 clr tf0 ;定時器0的溢出中斷標志位 reti3.4.2 軟件延時mcs-51的工作頻率為2-12mhz,我們選用的8031單片機的工作頻率為12mhz。機器周期與主頻有關,機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/12m)=1us。我們可以知道具體每條指令的周期數,這樣我們就可以通過指令的執行條數來確定1秒的時間。具體的延時程序分析:(1)yanshi:mov r5,#210 ;延時420 us子程序 djnz r5, $ ret(2)ys10ms:mov r3,#20 ;延時10毫秒子程序sgl: mov r4, #

36、250 djnz r4, $ djnz r3, sgl ret每條指令的執行時間為:2us。yanshi子程序中,210*2=420,所以延時為420 us。在ys10ms子程序中,是個雙重循環,循環次數為:20*250=5000,所以延時時間為:5000*2=10000us,約是:10ms。由于單片機的運行速度很快其他的指令執行時間可以忽略不計。4系統測試單片機應用系統的調試包括硬件調試和軟件調試,下面分2部分進行討論4.1單片機應用系統的硬件調試單片機應用系統的硬件調試主要是排查印刷電路板的問題和連接上的一些問題。由干硬件電路變化很多,不同類型的電路可能出現的問題也不一樣,所以沒有固定的程

37、序可以投用,所以,在該系統中,首先通過了仔細地推敲系統原理,確認無誤;其次對照設計圖紙查印制電路板,看是否有粘接等工藝現象;最后,檢查外圍連接是否有誤,通過這幾個方面的反復調試,可確保電路板的無誤性。在本系統的硬件調試過程中,出現了電壓不穩定而導致程序無法寫入的情況,使電壓穩定的方法是改用新的電池,或者是再次設計電源方案,在這里是用電源接通教學實驗板,然后再把教學實驗板與本系統相連接,這樣,就可以得到穩定的電壓了。4.2單片機應用系統的軟件調試單片機應用系統的軟件調試也沒有規律可循,調試時更多的是憑經驗。軟件調試的主要任務是排查錯誤。通過在wave e2000編譯器下調試程序,有兩種錯誤,一種

38、邏輯錯誤,也就是語法錯誤,是很容易被發現的,另一種是功能錯誤,是指在沒有語法錯誤的基礎上,由于設計思想或算法的問題導致不能實現軟件功能的一種錯誤。通過這兩方面錯誤,不斷地調試,以及對各模塊的調試,最后組成一個完整的程序。在軟件設計中用了定時器而的原因是: 中斷一開,定時器就開始計時,當到了中斷時間時,就調用中斷程序,其實定時器的作用和延時程序的作用是一樣的,只不過,定時器有一個好處就是,相等于是兩個cpu在動作,互不干擾,定時器一直在計時,程序也一直在運行;而延時程序是沒有這個作用的,在運行延時程序的同時是不能有其它操作的,延時程序的作用是讓前面的操作徹底運行完。為了避免呼叫時互相干擾,在本系

39、統中使用了標志位flag1-flag4,由標志位和按鍵來控制。5結論本系統主要利用了at89s51單片機以及74hc164芯片的串口顯示來實現病房呼叫的,主要包括顯示模塊,鍵盤模塊,聲音模塊,單片機系統,接口模塊等幾部分,本文介紹的病房呼叫系統具體是說,醫院的病房里每個床位邊都裝有一個呼叫按鈕,當病人需要幫助時,按下呼叫按鈕,護士辦公室里呼叫顯示板上相應房間號的指示燈亮,然后報警,報警時間為10s(可以變化),值班護士一看就知道哪個房間的病人需要幫助或需要進行搶救。當同時有兩個或多個以上的病人呼叫時,彼此互不干擾。系統的不足之處首先是沒能實現循環顯示,循環顯示就是只有一個數碼管顯示,通過各個病

40、床位的優先級的設置,最先顯示的是優先級高的病人的床位號碼;其次就是系統用到的器件的個數比較多,比如說數碼管以及蜂鳴器,指示燈都是四個,都比較繁瑣;再次就是沒有實現病人與護士之間的對話功能,如果能夠實現這個功能那么將為病人提供更好的服務。6致謝本文是在趙潤林老師的精心指導和嚴格要求下完成的,趙老師以其嚴謹求實的治學態度、高度的敬業精神、兢兢業業、孜孜以求的工作作風和大膽創新的進取精神對我產生重要影響。同時,還特別感謝朱勝利,李強同學還有物理系同學對我的無私幫助,使我得以順利完成論文。通過這次設計,使我獲得了豐富的理論知識,極大地提高了實踐能力。單片機領域這對我今后進一步學習計算機方面的知識有極大

41、的幫助。在此,我忠心感謝趙潤林老師以及計算機科學與技術系各位老師的指導和支持。在未來的工作和學習中,我將以更好的成績來回報各位領導和老師。7參考文獻2) 沈紅衛 單片機應用系統設計實例與分析北京:北京航空航天大學出版社,20033) 周航慈 單片機應用程序設計技術(修訂版)北京:北京航空航天大學出版社,20024) 張為民等,cs-51系列單片機系統及其應用北京:高等教育出版社,20045) 鮑小南 單片機基礎杭州:浙江大學出版社,20026) 林邦杰,陳明 匯編語言程序設計北京:中國鐵道出版社,20037) 劉守義 單片機應用技術 西安:西安電子科技大學出版社,20028) 秦實宏 單片機原

42、理與應用技術 北京:中國水利水電出版社,20059) 盧艷軍 單片機基本原理及應用系統北京:機械工業出版社,200510) 竇振中 單片機外圍器件實用手冊北京:北京航空學院出版社,199811) 夏繼強、沈德金 單片機實驗與實踐指導 二 北京:北京航空學院出版社,200112) 張毅剛 單片機原理及應用 北京:高等教育出版社,200413) 雷思孝 單片機原理及實用技術 西安:西安電子科技大學出版社,200414) 馮建華、趙亮 單片機應用系統設計與產品開發 北京:人民郵電出版社,200415) 肖來勝、馮建蘭、夏術泉 單片機技術實用教程 武漢:華中科技大學出版社,200416) 胡輝 單片機

43、原理及應用設計 北京:中國水利水電出版社,20058程序清單rxd1 bit p1.0txd1 bit p2.0rxd2 bit p1.1txd2 bit p2.1rxd3 bit p1.2txd3 bit p2.2rxd4 bit p1.3txd4 bit p2.3bc1 bit 31hbc2 bit 32hbc3 bit 33hbc4 bit 34hflag1 bit 00hflag2 bit 01hflag3 bit 02hflag4 bit 03horg 0000hljmp beginorg 001bhljmp dsdorg 0030hbegin:mov tmod,#10hmov th

44、1,#3chmov tl1,#0b0hsetb et1setb tr1clr bc1clr bc2clr bc3clr bc4clr flag1clr flag2clr flag3clr flag4mov dptr,#tabmov a,#0fchmov r1,#9a1: clr txd3rrc asetb txd3mov rxd3,clcall yanshi;833usdjnz r1,a1mov a,#0fchmov r1,#9a2: clr txd4rrc asetb txd4mov rxd4,clcall yanshi;833usdjnz r1,a2mov a,#0fchmov r1,#9a3: clr txd1rrc asetb txd1mov rxd1,clcall yanshi;833usdjnz r1,a3mov a,#0fchmov r1,#9a4: clr txd2rrc asetb txd2mov rxd2,clcall yanshi;833usdjnz r1,a4setb eatt1:jnb flag1,gg1ttt1:mov a,

溫馨提示

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

評論

0/150

提交評論