畢業設計基于AT89C51單片機的病房呼叫系統設計_第1頁
畢業設計基于AT89C51單片機的病房呼叫系統設計_第2頁
畢業設計基于AT89C51單片機的病房呼叫系統設計_第3頁
畢業設計基于AT89C51單片機的病房呼叫系統設計_第4頁
畢業設計基于AT89C51單片機的病房呼叫系統設計_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、大慶師范學院 本科生畢業論文基于單片機的病房呼叫系統院 (系) 物理與電氣信息工程學院 專 業電子信息工程(自動化方向)研 究 方 向 控制 學 生 姓 名 學 號 200901071825 指導教師姓名 劉宇 指導教師職稱 副教授 2013年 5月 20 日摘 要病房呼叫系統是住院病人及其家屬在需要醫務人員幫助時,請求值班護士進行護理的重要呼叫工具,它主要用于協助醫院里的病人在病床上方便地呼叫值班人員,可以快速的將病人的請求傳送給值班人員,是提高醫院的病房護理水平的必備設備之一。隨著社會節奏的不斷加快,醫院行業的競爭越來越激烈,對經濟效益的追逐成為很多私立醫院的生存第一要位,提升服務水平和服

2、務質量迫在眉睫,陪護問題一直是醫患矛盾的主要體現,也是長期以來困擾廣大醫務服務者的大問題,使用病房呼叫系統,方便患者迅速而快捷的找到醫生,以節約患者的珍貴時間系統的核心是at89c51單片機。還有其它輔助硬件電路,矩陣鍵盤、led顯示電路.地址鎖存器以及譯碼器等。個個房間的病人要呼叫護士可以按自己床邊的按鍵,此時值班室會有蜂鳴器響,相應的指示燈亮,并且在值班室的數碼管上顯示床位號。信號通過矩陣鍵盤進行輸入,在用高級語言編寫程序時,對鍵盤信號的獲取非常重要。在本篇論文之中每個病房的病床旁都有一個呼叫按鈕,當患者有需要醫務人員幫助時,按下呼叫鍵,此時 值班室的顯示屏可顯示此患者的床位號,多人使用時

3、可以根據病人是否是重癥病床而產生優先級別,醫護人員按下“響應”鍵取消當前呼叫。關鍵詞:at89c51;矩陣鍵盤;led;病床呼叫;蜂鳴器abstractward call system inpatient request the duty doctor or nurse care emergency call communication tools, it is mainly used to assist patients in hospitals to easily call the duty officer in the bed, the patients request sent to

4、the staff on duty, necessary equipment to improve the level of hospital ward care. with the accelerating pace of social, increasingly fierce competition in the hospital industry, the pursuit of money to the survival of many private hospitals first, improve service levels and quality of service is im

5、minent accompany the issue has been the main manifestation of the doctor-patient conflicts , is also a big problem has long plagued the majority of medical services, ward call system to facilitate the quick and fast patients to find a doctor to save the patients precious timethe core of the system i

6、s the at89c51 microcontroller. as well as other auxiliary hardware circuit, matrix keyboard, led display circuit address latch and decoder. patients in all the room you want to call the nurse by his bedside button, the duty room will be the buzzer sounds, the corresponding indicator light, and the n

7、umber of beds in the duty room of the digital tube display. matrix keyboard input signal, which is the key to programming.in this design, each bed has a button, when patients are in urgent need, press the button, the display of the duty room to display the patients bed number, people can use is base

8、d on the patient to the intensive care bed a priority, health care workers response key is pressed to cancel the current call.keywords: at89c51; matrix keyboard; led; call of beds; buzzer 目 錄第一章 前 言5第二章 系統整體設計72.1 功能與方案確定72.1.1 功能要求72.1.2 方案論證72.1.3 總體結構框圖8第三章 系統硬件設計93.1 硬件構成示意圖93.2 單片機簡介93.3 主要單元模塊

9、介紹103.3.1 控制器at89c51103.3.2鍵盤電路設計133.3.3顯示電路設計143.3.4報警電路設計183.3.5控制電路設計19第四章 系統軟件設計194.1 系統軟件環境介紹194.1.1 keil_c194.2 系統程序設計204.2.1 系統主程序流程圖204.2.2 線反轉法流程圖21第五章 系統調試與結果225.1 硬件組成圖及其功能說明235.2 功能實現組成圖及其功能說明24結 論27參考文獻28謝辭28附 錄29第一章 前 言病床呼叫系統是一種緊急呼叫工具,在醫院等公共場所有著廣泛的應用,用來保持住院病人和醫務人員取得聯系的重要呼叫工具,能夠在很大程度上提高

10、醫院的人文服務質量,有利于創建和諧醫院。病床呼叫系統的優劣直接影響到病員的安危,以及病人對醫院服務的滿意程度,對于服務是否到位的問題受到了許多醫院的廣泛關注。它要求及時、準確可靠、簡便可行、利于推廣。現在國內一些大型醫院都有了比較智能的病房呼叫系統,但是有些小醫院還沒有安裝病房呼叫系統,這不僅僅影響了醫院的服務質量,也給住院人及他們的家屬帶來了很多的弊端。有時甚至出現病人緊急情況時,而找不到值班醫生或護士,在醫院重癥住院的病人,在家人不在身邊的一段時間內想在點滴后尋找人來拔針,如果這時沒有病房呼叫系統,病人將會出現血液倒流的現象,將會及其危險。病房呼叫系統一般分為兩大類,一類是接線的,一類是無

11、線的,無線的病房呼叫系統由于沒有線路連接的問題,使得接線變得極其簡單,但是由于其沒有線路連接,可靠性較差,而且對于一些小型醫院使用無線呼叫系統也是比較昂貴的一種手段,并且無線電波會干擾其他醫療儀器設備。該篇文章采用有線病房呼叫系統,成本較低,對于一些收入較少的小型醫院,是非常好的選擇之一,但受到布線較多,影響外觀觀察效果,故不適宜較大的醫院進行使用。病床呼叫系統方便住院病人能夠在第一時間找到護士,極大的減少了等待的時間。以便病人能夠在第一時間得到最有效的幫助,當今病房呼叫系統正在逐步地向智能化發展,它可以和攝像機,以及通話機一起使用,當病人按下開關時,在護士值班室的屏幕上第一時間看到病以及其周

12、邊的情況,并且可以通過對講機等設備,直接和住院人員進行及時快捷溝通。第二章 系統整體設計2.1 功能與方案確定2.1.1 功能要求本課設希望病床呼叫系統實現以下功能:1任一病房的任意病床呼叫,護士值班室馬上能顯示其房間號.病床號,并且蜂鳴器響。2若有多個病床呼叫就循環顯示;如是重癥室患者按鈴則可以優于其他普通患者。3護士按下接收鍵后數碼管熄滅,鈴聲停止。2.1.2 方案論證方案一:使用at89c51單片機外加作地址鎖存用的兩塊地址鎖存器74hc573芯片,以及兩塊共陰極八段數碼管,可構成一個基本的顯示電路。再配32個獨立按鍵構成的輸入電路,數碼管采用靜態驅動方式,所謂靜態驅動方式是指,每一個數

13、碼管連接一個地址鎖存器,而每一個地址鎖存器又占用了8個io口,兩個地址鎖存器就占用了16個io口,led顯示器工作在靜態顯示方式時,各位的共陰極連接在一起并接地,每位的8個斷碼線分別與一個8位的輸出鎖存器相連接。對于鍵盤采用獨立式鍵盤接口,對于該種接法,使得編程變得非常簡單,但是由于我們在該次課設中需要大量按鍵,所以我們還要使用大量外擴電路來增加io口的數目。方案二:用at89c511自身身接口實現數碼管靜態顯示和鍵盤掃描,使用at89c51單片機外加一片地址鎖存用的三態地址鎖存器鎖存器74hc573以及一片3,8譯碼器74ls138芯片,以及一塊兩位一體的共陰極數碼管,可構成一個完整的顯示電

14、路。以此為基礎,以配置以4行4列矩陣鍵盤的輸入電路,數碼管以動態形式顯示,不但可以節約外部芯片而且還可以節省io口,只是在軟件編程較靜態顯示方式較難一些,同時鍵盤變為矩陣鍵盤可以將原來由16個io口控制的獨立按鍵,來變成由8個io口控制的行列式4*4矩陣鍵盤,在按鍵的識別的方法上來使用線反轉發,這樣的話就可以不擴展i/o芯片而由at89c51自身i/o口實現上述功能, 即用p1口的八個端口作為led的段選,用p2口的做鍵盤電路的接口。用p35,p36,p37作為數碼管的片選線。綜上所述,方案一中鍵盤顯示采用獨立按鍵形式,其軟件實現起來比較簡單,但硬件電路過于復雜,沒有合理利用單片機的i/o2在

15、用靜態方式驅動數碼管時,也有過多的外圍硬件,雖然編程方面簡單了許多,但是大量的外圍電路,為系統的設計增加了不少障礙,而方案二外圍電路非常簡單易懂,雖然軟件實現起來比較困難,但是這有利于我們對編程語言的學習,綜合比較幾個方面來看本文選取第二個方案。2.1.3 總體結構框圖輸入部分鍵盤輸入 控制器at89c511輸出部分led顯示圖2-1 病房呼叫系統結構框圖框架模塊功能描述:1.輸入部分包括矩陣鍵盤輸入,病人按鍵輸入相當于一個外界的信號,用于向單片機傳輸命令。2微處理器采用常見的at89c51單片機為控制核心,通過c語言軟件3編程,對即刻收集到片外信息進行處理,分析,同時對外部電路進行驅動和控制

16、。3輸出部分包括兩位一體的數碼管顯示電路,將從鍵盤上輸入的信號顯示出來,給人以直觀的印象,并且輔助以由蜂鳴器組成的報警電路。4系統過程的綜述:矩陣鍵盤在外部向單片機內部輸入信號,at89c51單片機收到信號后進行精細的處理,通過輸出系統將信號顯示在兩位一體數碼管上,并且驅動蜂鳴器4來形成報警電路,此時值班室的護士可以通過按鍵進行中斷調節,來終止剛才的呼叫。第三章 系統硬件設計3.1 硬件構成示意圖圖3-1 硬件構成示意圖3.2 單片機簡介單片機也被稱作“單片微型計算機”、“微控制器”和“嵌入式微控制器”,單片機一詞最初源于“single chip microcomputer”,簡稱scm5。隨

17、著單片機在整體技術層面和內部結構上的進步,其控制能力與日劇曾,國際上逐漸采用“mcu”(micro controller unit,微控制器)來代替scm。單片機的發展歷史大致分為4個階段。第一階段:單片機的艱難的摸索階段。這一階段主要過程是摸索如何把計算機的一些重要部件嵌入在芯片上。第二階段:單片機的完善階段。intel公司在mcs-48的基礎上推出了完善的、典型的mcs-51單片機系列。它在很多方面都奠定了非常典型的以及非常通用的總線型單片機:第三階段:向微控制器發展的階段。這一階段主要是為了滿足測控系統要求的各種外圍電路和接口電路,突出其職能化控制能力5。第四階段:單片機的全方位全面發展

18、階段。由于許多大型的廠商包括大半導體以及大電氣廠商都開始積極的參與到單片機的研制和開發過程中來。隨著單片機在工業商業等領域內深入的發展和應用,隨著時間的推移,逐漸出現了大尋址范圍、高強運算能力的8位、16位、32位等通用型單片機以及價格比較便宜的專用型不能軟件編程的單片機,還有功能及其全面的各種單片機系統模塊。3.3 主要單元模塊介紹3.3.1 控制器at89c51 at89c51是美國atmel公司生產的低電壓,高性能cmos8位單片機,片內含4k bytes的可反復擦寫的只讀程序存儲器(perom)和128 bytes的隨機存取數據存儲器(ram),器件采用atmel公司的高密度,非易失性

19、存儲技術生產,兼容標準mcs-51指令系統,片內置通用8位中央處理器(cpu)和flash存儲單元,功能強大at89c51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域6。主要特性:1與mcs-51產品指令系統完全兼容;24k字節可重擦寫flash閃速存儲器;31000次擦寫周期 三全靜態操作:0hz-24mhz ;4三級加密程序存儲器; 51288字節內部ram; 632個可編程i/o口線;72個16位定時/計數器; 85個中斷源,兩級中斷優先權 輸入輸出引腳at89c51引腳如圖3-2示:圖2-2 at89c51引腳圖圖3-2at89c51引腳p0:p0口在擴展外部存貯器

20、以及i/o口接口芯片時,p0口作為地址總線的低八位以及數據總線的分時復用端口,p0口也可以作為通用的i/o端口來使用,但需要加上上拉電阻,大約在5-8k。p1:p1口8位為準雙向i/o口,具有自己的拉電阻。p2:p2口8位準雙向i/o口,具有內部上拉電阻,當單片機外部擴展存貯器以及io口時,p2可以將高8位地址輸出進行使用。p3:p2口8位準雙向i/o口,具有內部上拉電阻,并且具有比較強大的第二功能,第二功能見下表所示。引腳第二功能說明p3.0rxd串行數據輸入口p3.1txd串行數據輸出口p3.2into外部中斷0輸入p3.3int1外部中斷1輸入p3.4t0定時器0外部計數輸入p3.5t1

21、定時器1外部計數輸入p3.6wr外部數據存儲器寫選通輸出p3.7rd外部數據存儲器讀選通輸出表3-1vcc:電源端,一般接5v;gnd:電源地;xtal1,xtal2:外接晶體振蕩器,常常選擇12m;需加微調電容,一般選擇為30pf;rst/vpd:復位端,平時為低電平;ale/prog:地址鎖存允許信號端;ea/vpp:外部程序存儲器地址允許輸入端/固化編程電壓輸入端7。復位電路:rst管腳是復位信號使能端,高電平有效。當持續給予高于兩個周期的高電平時就能達到復位的效果,采用按鍵復位。進行手動復位,以節省資源,圖3-3 復位設計時鐘電路:時鐘定時,at89c51核的片上振蕩器的基礎上,構成一

22、個反相放大器,它可以產生時鐘和內部模式和外部模式,時鐘可以由兩種方式產生。該系統采用內部xtal1和xtal2外部石英晶體作為計時元素,內部反相放大器自激振蕩產生時鐘。振蕩脈沖頻率的時鐘發生器。電容30pf。如圖3-4所示。圖3-4 時鐘電路3.3.2鍵盤電路設計1矩陣式鍵盤本次課設中沒有使用獨立式鍵盤,由于其占用過多的io口,我們采用矩陣鍵盤,如果存在n*n個按鍵鍵,則采用矩陣式結構以后,那么久只需要要n+n條引線就可以了。如果我們需要一個4*4個鍵,那么,只要用一個并行端口和8條引線便可以了。2鍵的識別按鍵的識別方法有掃描法和線反轉法,本文采用線反轉發。線反轉法的原理:線反轉法與掃描法相比

23、非常簡單無論按鍵是處于第一列還是最后一列,均只需兩步就可以精確的確定按鍵的位置了,它的原理簡要說明如下。這里為了敘述方便,敘述44=16鍵的鍵盤。圖3-5是行反轉法的工作示意圖8。 圖3-5 線反轉法連接圖從圖中可以看到,用行反轉法識別閉合鍵時,要將行線1.2.3.4接四個并行i/o口,p2.0,p2.1 ,p2.2 ,p2.3,讓列線5.6.7.8接四個并行i/o口p2.0 p2.4. p2.5.p2.6. p2.7.采用線反轉法的具體操作步驟如下,先讓行線編程為輸入線,列線編程為輸出線,將輸入線全設置為高電平,將輸出線設置為低電平,那么當有某一個按鍵被按下時,則該按鍵所在的行線電平由高電平

24、變化到低電平,然后可精確的找到按鍵所在的行數,然后再將輸入輸出線進行反轉,將列線作為高電平的輸入線,將行線作為低電平的輸出線,那么當有某一個按鍵被按下時,則該按鍵所在的列線電平由高電平轉化到低電平,然后可確定該按鍵所在的列,經過上述兩步,就可以精確的的確定按鍵位置。3.3.3顯示電路設計1led顯示原理 led即發光二極管,它是一種由某種半導體材料制成的pn結,由于摻雜濃度很高,當pn結正相偏置時,會產生許多的電子和空穴,電子和空穴復合后把多余的電能轉化成光能釋放出來。led的正向工作電壓降一般在1.2-2.6v,發光工作電流在5ma-20ma,發光強度基本上與正向的電流成一定的正比例,所以電

25、路使用過程中需要串講電阻。led對脈沖工作狀態比較適合,在平均電流差距不大的情況下,脈沖狀態比一般的直流工作情況下產生的亮度增強大約15%左右。led顯示器有單個、七段,8段和點陣式幾種類型,本設計將使用8段led顯示器。2兩位一體八段共陰數碼管八段led數碼管由數個led組成一個陣列,并封裝與一個標準外殼中。為適用于不同電路進行使用,為了方便高低電平的驅動,有共陰,共陽極兩種結構,如圖所示。用七段led數碼管可組成0-9數字和a-f字母9,圖3-6 led顯示器的兩種結構為了顯示某個數字或者字母,就要點亮對應的數碼管段,這就需要譯成二進制碼。譯碼有硬件和軟件之差別,硬件譯碼的優點是計算機時間

26、的開銷比較小,但硬件開支大。與硬件電路電路進行比較來看,軟件譯碼顯示省去了硬件譯碼器等一些硬件設施,本論文采用軟件譯碼的方式。對于共陰極數碼管來說,它們的所有陰極都接在一起,并且接地,當單片機給出高電平時,對應的發光二極管就會點亮,把需要點亮的二極管全部點亮就會出現需要的字符,8段共陰led的數碼管斷碼如表3-2所示.01234567893fh06h5bh4fh66h6dh7dh07h7fh6fh表3-2兩位一體共陰數碼管就是將兩個單個的八段數碼管封裝在一起,將8個段選用導線連接在一起,行成八跟線,用來外接信號來顯示相應的字符,然后將兩根公共線分別接出來作為數碼管的片選,也就是只有當片選信號有

27、效時,數碼管才會顯示我們出現的數字,當片選信號無效時,數碼管不會顯示我們出現的數字。3.數碼管驅動芯片介紹地址鎖存器74hc573管腳圖(如圖3-7所示)及其功能表(如表3-3所示)d0d1q1q0d7d6d5d4d3d2q7q6q5q3q4q2eagnd levcc圖3-7地址鎖存器74hc573管腳圖 輸入輸出輸出使能鎖存使能dqlhhhlhllllx不變hxxzx=不用關心z=高阻抗表3-3地址鎖存器74hc573功能表38譯碼器74ls138管腳圖及其真值表 a0a1y1y0stastcstbd4d3a2y7y6y5y3y4y274ls138圖3-8 74ls138管腳圖sta,stb

28、,stc是三個輸入選通控制端,當sta=0或者stb+stc=1時,譯碼被禁止,譯碼器的輸出端yo-y7,全為1,只有當sta=1和stb+stc=0,時,譯碼器才能正常運行,完成譯碼操作。表3-43.3.4報警電路設計采用三極管來控制蜂鳴器和發光二極管串聯電路的通斷,用單片機p3.1端口控制,當有低電平導通,顯示器顯示床號的同時蜂鳴器發出呼叫聲音。同時發光二極管發光,電路連接下圖所示。p3.110kvccgndspkled圖3-9 報警設計3.3.5控制電路設計醫護值班人員的響應按鍵,可以由單片機的復位鍵來充當,當有呼叫發出時,值班室人員收到相應信息后,可按下“響應按鈕”,通過編程令單片機執

29、行中斷程序,達到數碼管熄滅,振鈴停止發聲的目的。第四章 系統軟件設計4.1 系統軟件環境介紹4.1.1 keil_c于at89c51的控制設計,以keil_c為軟件編程環境。keil_c軟件界面如圖3-1所示:圖4-1 keil_c軟件界面該軟件是一款集編程和仿真于一體的軟件,它支持匯編、c語言及二者的混合編程,可以采用以下步驟來建立一個c文件并將其保存并生成hex文件,在菜單欄中單擊project選擇new project,然后命名文件并且將其儲存,然后在左側菜單欄中單擊新建,新建一個c文件,并且將其保存,這時工作區的左側出現了一個target1,鼠標左鍵單擊target1左側的+號,展開了

30、target1的下一級命令,source group1,用鼠標左鍵選定該圖標,單擊鼠標右鍵,選擇add files to group“source group1”然后彈出一個對話框,單擊剛才儲存的c文件,鼠標左鍵單擊add按鈕,然后再單擊close按鈕,然后進行程序的編寫,編寫好程序后進行編譯和匯編就可以了10。4.2 系統程序設計病房呼叫系統軟件設計均采用模塊化設計,整個程序設計可以包含以下幾個重要的方面,鍵盤掃描程序,主要通過線反轉發來獲得鍵值,數碼管顯示電路,采用數碼管動態顯示,同時還要用到兩塊芯片,74hc573地址譯碼器以及一片74ls138譯碼器芯片驅動程序,能夠顯示床位號以及房間

31、號,以及蜂鳴器驅動程序,還有外部中斷程序,其中最為重要的是鍵盤掃描程序,因為程序的大部分時間都在掃描,通過掃描得到按鍵的鍵值之后我們才能去做其他事情。才能讓數碼管顯示或不顯示,或者讓蜂鳴器響或者是不響。4.2.1 系統主程序流程圖開始設定初值,程序初始化判斷分支語是否得到返回值掃描程序中得到鍵值在相應的case語句中顯示相對應的床位號碼 ny圖4-2 主程序流程圖主程序程序描述:首先進行初始化,對一些變量進行賦初值,然后開始switch(key)語句,并將其設為死循環,將掃描程序放在switch語句的后方,然后將掃描函數的返回值作為key值送到switch語句的各分支中去,而掃描函數就是用線反

32、轉法得到按鍵的鍵值,switch語句中的case語句包含了各種按鍵情況,當相應的鍵值與case語句后方的常值相同時,case語句就將使相應的數碼管點亮顯示病人所在的房間號和床位號碼,并使蜂鳴器發出聲音,并且經過軟件延時5秒鐘左右,跳出該case語句,繼續接受掃面函數的返回值,來響應其他的按鍵。4.2.2 線反轉法流程圖鍵盤電路我們按照上面所說的矩陣式來設計,在程序中可以先判斷是否有鍵按下,然后在再通過軟件獲取鍵值,最后由單片機送到數碼管進行顯示。設計流程圖如圖4-3所示。開始是否有鍵按下延時5ms是否有鍵按下獲取鍵值按鍵是否釋放修改對應按鍵運算y n yn yn圖4-3 鍵盤掃描線反轉法程序流

33、程圖結 論主要工作:熟悉at89c51單片機功能及工作特性,對矩陣鍵盤的硬件以及軟件編程有了更加升入的了解。掌握了采用地址鎖存器以及38譯碼器來實現兩位一體,以及四位一體共陰共陽數碼管的外部接線圖,及其單片機驅動程序,學會了采用三極管驅動蜂鳴器,以及對單片機的最小系統硬件結構有了更加深入的了解,同時通過長時間的實物焊接練習,使自己的焊接技術有了很大的提高。存在的問題:對硬件電路中某些芯片以及某些內部結構不夠深入的了解,導致有些問題解釋不了,如單片機的p0口不能作為普通i/0口,必須接5-10k的上拉電阻的原理。又如在軟件編程過程中發現在循環顯示病人床號時,當在響應某一個按鍵時,如何截獲另一個按

34、鍵啊鍵值的軟件編程還存在著很大的可改善之處,沒有擴展更多的外部電路,如時鐘電路等。至此,本次畢業設計的主要內容已經基本得以實現。此章對本次課設進行總結,并對將來更加智能的病床呼叫系統提出自己的構想,為將來的學弟學妹們提出一點點建議,選擇基于單片機的病房呼叫系統這個課設題目的難點之一在于軟件編程實現病床號碼動態循環顯示,這對我們對匯編語言或者是c語言的了解有極高的要求,這個在本篇論文中已經得到了實現,難點之二就在于在病床呼叫之上我們應該采取重癥病房特殊對待,也就是對她們的呼叫可以優先處理,利用中斷來實現,這個在本文中沒有得到實現,希望在不久的將來有學弟學妹們能夠實現這一功能。 參考文獻1 譚浩強

35、.mcs-51單片機應用教程.北京:清華大學出版社,2004:57_622 康華光.電子技術基礎.北京:高等教育出版社,2000:17_233 李伯成.單片機及嵌入式系統.北京:清華大學出版社,2005:337_3464 肖金球.單片機原理與接口技術.北京:清華大學出版社,2004:153_1595 康華光.電子技術基礎(模擬部分). 北京:高等教育出版社,1999:112_1196 李勛.單片機微型計算機大學讀本.北京:北京航空航天大學出版社,2002:75_777張培仁等.mcs-51單片機原理與應用.北京.清華大學出版社,2003:130_1458治剛.單片機應用技術與實訓.北京:清華大

36、學出版社,2004:130_1339胡漢才.單片機原理及接口技術.北京:清華大學出版社,1995:111_12310徐淑華等.單片機微機原理及應用.哈爾濱:哈爾濱工業大學出版社,1994:336_351謝辭四年的大學生活也將隨著論文結束而結束了。在這里我要向那些曾經給予我關心和幫助的老師、同學和朋友們致以誠摯的謝意。如果沒有你們的幫助,這篇論文將難以順利完成。首先要感謝我的指導老師劉宇的耐心指導,劉宇老師治學嚴謹,平易近人。從畢業設計工作的進行,到畢業論文的撰寫和修改,給我提供了許多十分有益的指導和建議,幫助我開拓思路,深入研究。同時劉宇老師在我考研以及調劑過程中也給予我大量的幫助,也向所有教

37、導和關心過我的領導老師致以最誠摯的謝意!衷心的希望老師們都能事業順利,桃李芬芳!感謝身邊的同學對我的幫助,他們使我在設計過程中得到許多啟示。我很榮幸生活學習在這個團結,健康,向上的集體中,我也要感謝我的室友們,是你們給予了很多的愛和關心,在大學度過的這四年給我留下了終生難忘的記憶。附 錄附錄一整體電路圖附錄二:源程序/*-矩陣鍵盤實驗程序 通過反轉法循環掃描矩陣鍵盤,并通過數碼管顯示數據-*/#include /*包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義*/#define uchar unsigned char#define uint unsigned intsbit k

38、ey0=p31;/蜂鳴器控制引腳,當其值為1時關閉,當其為低電平時響sbit key1=p35;sbit key2=p36;sbit key3=p37;/*數碼管片選控制信號35- p37由高位到低位000-011控制從左到又四個數碼管的片選*/*- 函數聲明-*/ uchar keyscan(void);/鍵盤掃描void delay(uint i); /演示程序unsigned char a;/定義一個字符形變量,用來有兩個人按鍵的循環顯示。unsigned long int j;/*- 主函數-*/void main() uchar key; key0=1;/將蜂鳴器控制端p31置為高電

39、平p1=0x00;/去影 while(1)/死循環,進入主程序后,將一直在這里循環 key=keyscan(); /調用鍵盤掃描, switch(key) case 0xee:/* 01號病房01號病人按鍵,顯示相對應的碼值,程序開始*/key0=0;/ 蜂鳴器發出聲音,蜂鳴器指示燈亮,for(j=1;j+20000;j+) key1=0; key2=0;key3=0;p1=0x3f; delay(300);key1=0; key2=0;key3=1;p1=0x06; delay(300);key1=0; key2=1;key3=0;p1=0x3f; delay(300);key1=0; ke

40、y2=1;key3=1;p1=0x06; delay(300);a=keyscan(); /*當一個病床正在呼叫時,另一個病床呼叫,將床號存在a中,程序后面的同理*/key0=1;/蜂鳴器停止發出聲音,蜂鳴器指示燈滅,程序下方同理p1=0x00;/將數碼管熄滅,以下同理break;/* 01號病房01號病人按鍵,顯示相對應的碼值,程序結束*/case 0xde:key0=0;for(j=1;j+20000;j+) key1=0; key2=0;key3=0;p1=0x3f; delay(300);key1=0; key2=0;key3=1;p1=0x06; delay(300);key1=0;

41、 key2=1;key3=0;p1=0x3f; delay(300);key1=0; key2=1;key3=1;p1=0x5b; delay(300);a=keyscan(); /調用鍵盤掃描,key0=1;p1=0x00;break;/ 01號病房02號病人按鍵,顯示相對應的碼值case 0xbe: key0=0;for(j=1;j+20000;j+) key1=0; key2=0;key3=0;p1=0x3f; delay(300);key1=0; key2=0;key3=1;p1=0x06; delay(300);key1=0; key2=1;key3=0;p1=0x3f; delay

42、(300);key1=0; key2=1;key3=1;p1=0x4f; delay(300);a=keyscan(); /調用鍵盤掃描,key0=1;p1=0x00; break;/0103case 0x7e:key0=0;for(j=1;j+20000;j+) key1=0; key2=0;key3=0;p1=0x3f; delay(300);key1=0; key2=0;key3=1;p1=0x06; delay(300);key1=0; key2=1;key3=0;p1=0x3f; delay(300);key1=0; key2=1;key3=1;p1=0x66; delay(300)

43、;a=keyscan(); /調用鍵盤掃描,key0=1;p1=0x00;break;/0104case 0xed:key0=0;for(j=1;j+20000;j+) key1=0; key2=0;key3=0;p1=0x3f; delay(300);key1=0; key2=0;key3=1;p1=0x5b; delay(300);key1=0; key2=1;key3=0;p1=0x3f; delay(300);key1=0; key2=1;key3=1;p1=0x06; delay(300);a=keyscan(); /調用鍵盤掃描,key0=1;p1=0x00;break;/0201case 0xdd:k

溫馨提示

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

評論

0/150

提交評論