課程設(shè)計——基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計1_第1頁
課程設(shè)計——基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計1_第2頁
課程設(shè)計——基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計1_第3頁
課程設(shè)計——基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計1_第4頁
課程設(shè)計——基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計1_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、××大學(xué)××學(xué)院××系××課程設(shè)計報告××大學(xué)××學(xué)院××課程設(shè)計基于51單片機(jī)的病床呼叫系統(tǒng)設(shè)計 學(xué)生姓名學(xué) 號所 在 系專業(yè)名稱班 級指導(dǎo)教師成 績 ××大學(xué)××學(xué)院二一二年六月摘要:系統(tǒng)是基于51系列的單片機(jī)設(shè)計的病床呼叫系統(tǒng)。該系統(tǒng)以AT89C51單片機(jī)為核心輔以矩陣鍵盤、LED點陣顯示電路和部分簡單模擬和數(shù)字電路組成的能夠?qū)崿F(xiàn)病人和醫(yī)護(hù)人員之間信息的傳遞。在該設(shè)計中每個病房都有一個按鍵,當(dāng)患者有需要時,按下

2、按鍵,此時 值班室的顯示屏可顯示此患者的床位號,多人使用時可實現(xiàn)循環(huán)顯示,醫(yī)護(hù)人員按下“響應(yīng)”鍵取消當(dāng)前呼叫。此系統(tǒng)能夠為醫(yī)院提供一個成本低、效率高、操作方便和易于安裝維護(hù)的快捷系統(tǒng)。關(guān)鍵字:單片機(jī),矩陣鍵盤,LED顯示,呼叫系統(tǒng)。Abstract: System is based on 51 series single-chip design of beds call system. The system with AT89C51 microcontroller core complemented by matrix keyboard,LED dot-matrix display circu

3、it and some simple consisting of analog and digital circuits to achieve the passing of information between patients and health care professionals. Each ward has a key in the design, when the patient if necessary, press, round-the-clock display to display the patient beds, many people can achieve whe

4、n using circular display, medical staff by pressing the "respond" button to cancel the current call. This system is able to provide hospitals with a low cost, high efficiency, easy to operate and easy to shortcut the system installation and maintenance.Key words: Single-chip microcomputer

5、,Matrix keyboard ,LED display ,Calling system。目 錄1. 概述11.1 單片機(jī)的發(fā)展11.2 單片機(jī)的發(fā)展前景11.3 單片機(jī)的結(jié)構(gòu)原理21.4 單片機(jī)的實際應(yīng)用21.5 課題設(shè)計目標(biāo)32. 設(shè)計方案論述42.1 病床呼叫系統(tǒng)的控制要求42.2 病床呼叫系統(tǒng)的設(shè)計框圖43. 系統(tǒng)硬件設(shè)計實現(xiàn)43.1 控制器AT89C5153.2 鍵盤模塊6 3.2.1 鍵盤工作原理6 3.2.2 獨立式按鍵6 3.2.3 行列式鍵盤6 3.2.4 鍵盤電路設(shè)計7 3.3 顯示模塊9 3.3.1 液晶顯示器9 3.3.2 LED點陣顯示屏9 3.3.3 LED顯示電

6、路103.4 時鐘電路123.5 復(fù)位電路134. 程序設(shè)計134.1 軟件開發(fā)環(huán)境簡介134.2 主程序程序描述144.3 顯示程序描述155. 系統(tǒng)調(diào)試225.1 調(diào)試界面顯示225.2 結(jié)果分析236. 設(shè)計總結(jié)237. 參考文獻(xiàn)24前言自從人類有了電之后,各行各業(yè)都因為有了電而飛速發(fā)展,并出現(xiàn)了無數(shù)新型產(chǎn)業(yè),直至今日,各種的電氣設(shè)備已經(jīng)成了我們生活中不可缺少的一部分,給我們的生活帶來了極大的便利。智能儀器是計算機(jī)技術(shù)與測試技術(shù)相結(jié)合的產(chǎn)物,儀器內(nèi)部帶有處理能力很強(qiáng)的智能軟件。儀器儀表已不再是簡單的硬件實體,而是硬件、軟件相結(jié)合。近年來,智能儀器已開始從較為成熟的數(shù)據(jù)處理向知識處理發(fā)展,

7、使其功能向更高層次發(fā)展。病床呼叫系統(tǒng)是一種應(yīng)用于醫(yī)院病房、養(yǎng)老院等地方,用來聯(lián)系溝通醫(yī)護(hù)人員和病員的專用呼叫系統(tǒng),是提高醫(yī)院水平的必備設(shè)備之一。病床呼叫系統(tǒng)的優(yōu)劣直接影響到病員的安危,歷來受到各大醫(yī)院的普遍重視。它要求及時、準(zhǔn)確可靠、簡便可行、利于推廣。目前市場上存在著許多種型號不一功能各異的醫(yī)院病房呼叫系統(tǒng),主要為兩大類:有線式和無線式2。無線式病房呼叫系統(tǒng)不存在鋪設(shè)線路的問題,但是可靠性差,而且無線電波會干擾其他醫(yī)療儀器設(shè)備3。本文設(shè)計的是有線式的,適合較小的醫(yī)院病房使用,具有成本低,易于操作、安裝和維護(hù),而且具有可靠穩(wěn)定,對其他醫(yī)療設(shè)備不會產(chǎn)生干擾的特點;但受到布線較多,影響美觀,故不適

8、宜較大的醫(yī)院。病床呼叫管理系統(tǒng)便于病員快捷的呼叫護(hù)士,縮短人工呼叫的時間。當(dāng)今病房呼叫系統(tǒng)正在逐步地向智能化發(fā)展,它可以和錄像機(jī)一起使用,當(dāng)病人按下開關(guān)時,在護(hù)士值班室的大屏幕能夠觀察病人的需要。并且可以配備對講機(jī)等設(shè)備,能夠使病員及時快捷地與醫(yī)護(hù)人員進(jìn)行溝通。 1概述 本章節(jié)主要介紹論文研究的課題的由來與發(fā)展前景,以及它所涉及的相關(guān)技術(shù)理論。1.1 單片機(jī)的發(fā)展單片機(jī)也被稱作“單片微型計算機(jī)”、“微控制器”和“嵌入式微控制器”,單片機(jī)一詞最初源于“Single Chip Microcomputer”,簡稱SCM。隨著單片機(jī)在技術(shù)和體系結(jié)構(gòu)上的進(jìn)步,其控制功能不斷擴(kuò)展,國際上逐漸采用“MCU”

9、(Micro Controller Unit,微控制器)來代替SCM。單片機(jī)的發(fā)展歷史大致分為4個階段。第一階段:單片機(jī)的探索階段。這一階段主要是探索如何把計算機(jī)的主要部件集成在芯片上。第二階段:單片機(jī)的完善階段。Intel公司在MCS-48的基礎(chǔ)上推出了完善的、典型的MCS-51單片機(jī)系列。它在以下幾個方面奠定了典型的通用總線型單片機(jī)體系結(jié)構(gòu):設(shè)置了經(jīng)典、完善的8位單片機(jī)的并行總線結(jié)構(gòu);外圍功能單元由CPU集中管理的模式;體現(xiàn)控制特性的地址空間和位操作方式;指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。第三階段:向微控制器發(fā)展的階段。這一階段主要是為了滿足測控系統(tǒng)要求的各種外圍電

10、路和接口電路,突出其職能化控制能力。第四階段:單片機(jī)的全面發(fā)展階段。由于很多大半導(dǎo)體和電氣廠商都開始參與單片機(jī)的研制和生產(chǎn)。隨著單片機(jī)在各個領(lǐng)域全面深入的發(fā)展和應(yīng)用,逐漸出現(xiàn)了高速、低功耗、大尋址范圍、強(qiáng)運算能力的8位、16位、32位通用型單片機(jī)以及小型廉價的專用型單片機(jī),還有功能全面的片上單片機(jī)系統(tǒng)。1.2  單片機(jī)的發(fā)展前景隨著電子產(chǎn)品的廣泛應(yīng)用,單片機(jī)的應(yīng)用領(lǐng)域相當(dāng)廣泛,如儀器儀表、家電、機(jī)電一體化、產(chǎn)品研發(fā)與開發(fā)等行業(yè),都可以是單片機(jī)設(shè)計人員的就業(yè)、提升、創(chuàng)業(yè)之所。目前單片機(jī)已滲透到我們生活的各個領(lǐng)域,幾乎很難找到?jīng)]有單片機(jī)足跡的領(lǐng)域。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計

11、算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說全自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的工程師和科學(xué)家。科技越發(fā)達(dá),智能化的東西就越多。因此學(xué)習(xí)單片機(jī)是社會發(fā)展的必然需求。據(jù)統(tǒng)計,我國的單片機(jī)年需求量已達(dá)1-3億片,且以每年大約16%的速度增長,但相對于世界市場我國的占有率還不到1%。特別是沿海地區(qū)的電子廠,在不斷向內(nèi)地市場輻射的進(jìn)程中,多數(shù)產(chǎn)品所用的單片機(jī)需求量驟增

12、。鑒于單片機(jī)應(yīng)用在我國才剛剛起步,有著廣闊的前景,足以讓我們確信培養(yǎng)單片機(jī)應(yīng)用人才,特別是工程技術(shù)中普及單片機(jī)知識有著極為重要的現(xiàn)實意義。據(jù)調(diào)查目前我國的單片機(jī)從業(yè)人員只有140萬人。隨著社會的發(fā)展,單片機(jī)的從業(yè)人員將更為搶手。據(jù)不完全統(tǒng)計,到2010年,我國單片機(jī)設(shè)計從業(yè)人員將達(dá)300萬人之多。目前我國單片機(jī)設(shè)計人才培養(yǎng)途徑有三個:一是高校,像北大、清華、浙大、上海交大等。一個學(xué)校一年也就培養(yǎng)百十來人,加之,培養(yǎng)出來的學(xué)生不能做到畢業(yè)就上崗,得經(jīng)過一段時間的實習(xí)培訓(xùn),人才有限。二是設(shè)計公司自己培養(yǎng)。三是國外留學(xué)歸來的人才。CHC 全國高科技教工委教育技術(shù)專業(yè)委員會委托全國職業(yè)教育技術(shù)專業(yè)人才

13、評審委員會推出單片機(jī)設(shè)計人員職業(yè)崗位培訓(xùn)合格證書項目正是迎合單片機(jī)市場的需求,解決燃眉之急。單片機(jī)設(shè)計人員職業(yè)崗位培訓(xùn)合格證書項目正是迎合單片機(jī)市場的需求,解決燃眉之急。1.3  單片機(jī)的結(jié)構(gòu)原理單片機(jī)是微型機(jī)的一個重要分支,它在結(jié)構(gòu)上的最大特點是把CPU、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模的集成電路芯片上。單片機(jī)內(nèi)是一種在線式實時控制計算機(jī),在線式就是現(xiàn)場控制,需要有較強(qiáng)的抗干擾能力,較低的成本。單片機(jī)由于這種結(jié)構(gòu),所以具有很多顯著的特點。主要有控制能力強(qiáng),抗干擾能力強(qiáng)、可靠性高,性能價格比高,低功耗、低電壓,擴(kuò)展了多種串行口和系統(tǒng)擴(kuò)展容易等特點。1.4 單片

14、機(jī)的實際應(yīng)用單片機(jī)廣泛應(yīng)用于儀表儀器、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分為以下幾個范疇:在智能儀器儀表上的應(yīng)用單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等特點,廣泛應(yīng)用于儀器儀表中看,結(jié)合不同類型的傳感器,可以實現(xiàn)諸如電壓、功率、頻率、溫度、流量、速度、角度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化。且功能比采用電子和熟悉電路更加強(qiáng)大。例如精密的測量設(shè)備(功率計、示波器和各種分析儀)。在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控

15、制、各種報警系統(tǒng),與計算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家電基本上都采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子稱量設(shè)備,五花八門,無其不有,無所不在。在計算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域的應(yīng)用現(xiàn)在的單片機(jī)普遍具有通信接口,可以很方便的與計算機(jī)實現(xiàn)數(shù)據(jù)通信,為計算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,可以的通信設(shè)備基本上都實現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線對講機(jī)等。單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在易用設(shè)備領(lǐng)域中的應(yīng)用相當(dāng)

16、廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲波診斷設(shè)備及病床呼叫系統(tǒng)等等。此外單片機(jī)在工商、金融、科研、教育、國防、航空航天領(lǐng)域都有相當(dāng)廣泛的應(yīng)用。1.5 課題設(shè)計目標(biāo)本課程設(shè)計主要用于醫(yī)院病區(qū)的病人有緊急或自己不方便的事件時呼叫護(hù)士站尋求幫助,護(hù)士根據(jù)站內(nèi)指示燈及響鈴獲取求助信息的來源,并能及時的給其提供幫助。護(hù)士在站內(nèi)發(fā)現(xiàn)信號時及時將站內(nèi)燈及響鈴復(fù)位,在處理完后再在病床前的開關(guān)將病床及病房的燈和響鈴復(fù)位。2.設(shè)計方案論述2.1 病床呼叫系統(tǒng)的控制要求用8051自身接口實現(xiàn)數(shù)碼管靜態(tài)顯示和鍵盤掃描,使用8051單片微機(jī)外加作地址鎖存用的四塊三態(tài)鎖存器74LS373芯片和一塊74LS138芯

17、片可構(gòu)成一個完整的最小微機(jī)電路。以此為基礎(chǔ),在智能裝置中若要配置多位數(shù)碼管顯示器,以及m行n列矩陣鍵盤的話,可以不擴(kuò)展I/O芯片而由8051自身I/O口,實現(xiàn)上述功能, 即用P0口的八個端口作為LED的段選,用P2口的高三位連接一個三八譯碼器74LS138 作為四個LED的片選.用P1口和P2口的低五位做鍵盤電路的接口。本課題主攻方向是使系統(tǒng)實現(xiàn)以下目的:任意病房(共16張)呼叫,醫(yī)護(hù)值班室馬上能響應(yīng)并顯示病房號;顯示病房床號;若有多個病床呼叫就循環(huán)顯示;處理完畢后清除記錄;顯示器不重復(fù)顯示按一次以上的病床號2.2 病床呼叫系統(tǒng)的設(shè)計框圖本設(shè)計是基于AT89C51單片機(jī)設(shè)計的病房呼叫系統(tǒng)設(shè)計,

18、該系統(tǒng)就是以Atmel公司的AT89C51單片機(jī)作為主控器,包括鍵盤輸入電路,顯示電路,以及晶振復(fù)位電路等來實現(xiàn)病房呼叫系統(tǒng)如圖1。圖1 病床呼叫系統(tǒng)設(shè)計結(jié)構(gòu)框圖3.系統(tǒng)硬件設(shè)計實現(xiàn)本設(shè)計基于51單片機(jī),以51單片機(jī)為核心,顯示電路,鍵盤電路,報警電路為模版,我們構(gòu)造了硬件構(gòu)成示意圖如圖2:圖2 硬件構(gòu)成示意圖3.1 控制器AT89C51AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128 bytes的隨機(jī)存取數(shù) 據(jù)存儲器(RAM),器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS

19、-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。主要特性: 與MCS-51產(chǎn)品指令系統(tǒng)完全兼容 4K字節(jié)可重擦寫Flash閃速存儲器 1000次擦寫周期 全靜態(tài)操作:0Hz-24MHz 三級加密程序存儲器 128×8字節(jié)內(nèi)部RAM 32個可編程I/O口線 2個16位定時/計數(shù)器 5個中斷源 AT89C51單片機(jī)采用40Pin封裝的雙列直插 DIP結(jié)構(gòu),圖3是它的引腳配置圖。40個引腳中,正電源和地線兩根;4組8位I/O口,共32個引腳;時鐘電路引腳 XTAL1和 XTAL2

20、;控制信號引腳包含:復(fù)位輸入端 RET,地址鎖存允許輸出/編程脈沖輸入端 ALE/PROG,片外程序存儲器選通控制信號端 PSEN,內(nèi)外程序存儲器選擇/編程電源輸入端 EA/VPP。圖3 AT89C51單片機(jī)引腳圖3.2 鍵盤模塊在單片機(jī)的應(yīng)用系統(tǒng)中,通常都有人機(jī)對話功能。它包含人對系統(tǒng)的狀態(tài)干預(yù)、數(shù)據(jù)的輸入以及應(yīng)用系統(tǒng)向人報告運行狀態(tài)與運行結(jié)果等。鍵盤成為人機(jī)聯(lián)系的必要手段,此時需要配置適當(dāng)?shù)逆I盤輸入設(shè)備。3.1.1 鍵盤工作原理鍵盤中的每個按鍵都是一個常開的開關(guān)電路,當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時,則處于閉合狀態(tài)。對于一組鍵或一個鍵盤,需要通過接口電路與單片機(jī)相連,以便將鍵的開關(guān)狀態(tài)通知單

21、片機(jī)。單片機(jī)可以采用查詢或中斷方式檢查有無鍵的輸入以及是哪個鍵被按下,并通過轉(zhuǎn)移指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完再返回到原始狀態(tài)。3.1.2 獨立式按鍵獨立式按鍵是指直接用I/O口線構(gòu)成的單個按鍵電路。每個獨立式按鍵單獨占有一根I/O口線,每根I/O口線的工作狀態(tài)都不會影響其他I/O口線的工作狀態(tài)。3.1.3 行列式鍵盤獨立式按鍵電路每一個按鍵開關(guān)占用一根I/O口線。當(dāng)按鍵數(shù)較多時,要占用較多的I/O口線。因此,在按鍵數(shù)大于8時,通常采用行列式(也稱“矩陣式”)鍵盤電路。最簡單的鍵盤,每個鍵對應(yīng)I/O端口的一位,沒有什么鍵閉和時,各位均處于高電位。當(dāng)有一個鍵按下時,就是對應(yīng)位接地而成為低電位

22、,而其它位仍為高電位。這樣,CPU只要檢測到某一位為“0”,便可判別出對應(yīng)鍵已經(jīng)按下。但是,當(dāng)鍵盤上的鍵較多時,引線太多,占用的I/O端口也太多。比如,一個有64個鍵的鍵盤,采用這種方法來設(shè)計時,就需要64條連線和8個8位并行端口。所以,這種簡單結(jié)構(gòu)只用在僅由幾個鍵的小鍵盤中。通常使用的鍵盤結(jié)構(gòu)是矩陣式的,如圖4所示。設(shè)有m * n個鍵盤,那么,采用矩陣式結(jié)構(gòu)以后,便只要條引線就行了。比如,有m + n 個鍵,那么,只要用兩個并行端口和16條引線便可以完成鍵盤的連接。圖4 矩陣鍵盤圖3.1.4 鍵盤電路設(shè)計為了識別鍵盤上的閉合鍵,通常采用兩種方法,一種稱為行掃描法,另一種稱為行反轉(zhuǎn)法。行掃描法

23、識別閉合鍵的原理如下:先使第0行接地,其余行為高電平,然后看第0行是否有鍵閉合,這是通過檢查列線電位來實現(xiàn)的,即在第0行接地時,看是否有條列線變成低電平。如果有某條列線變?yōu)榈碗娖剑瑒t表示第0行和此列線相交位置上的鍵被按下;如果沒有任何一條列線為低電平,則說明第0行上沒有鍵被按下。此后,再將第1行接地,然后檢測列線中是否有變?yōu)榈碗娖降木€。如此往下逐行掃描,直到最后一行。在掃描過程中,當(dāng)發(fā)現(xiàn)某一行有鍵閉合時,也就是列線輸入中有一位為0時,便在掃描中途退出,而將輸入值進(jìn)行移位,從而確定閉合鍵所在的列線位置。根據(jù)行線位置和列線位置便能再掃描法來確定具體位置。將行線和一個并行接口相接,CPU每次使并行輸

24、出接口的某一位為0,便相當(dāng)于將某一行線接地,而其他位為1,則相當(dāng)于使其他行線處于高電平。為了檢查列線上的電位,將列線和一個并行輸入輸出口相接,CPU只要讀取輸入輸出口中的數(shù)據(jù),就可以設(shè)法判別出第幾號鍵被按下。從上面的原理中知道,程控掃描法是由程序控制鍵掃描的方法如圖5。開始調(diào)顯示程序掃描整個鍵盤有鍵按下?延時10ms再次掃描整個鍵盤此行有鍵按?輸出使Xi為低電平各行掃描完了?按?行值+0SH有鍵按下求下一行為低電平模型列值+1列數(shù)據(jù)右移1位有鍵按下?延時計算鍵值BUFF 鍵值調(diào)用找功能鍵程序鍵釋放了?NYYYYNNNN圖5 行掃描法的流程圖從圖中可以看到,用行反轉(zhuǎn)法識別閉合鍵時,要將行線接一個

25、并行口,先讓它工作為輸出方式,將列線接到一個并行口,先讓它工作在輸出方式。程序使CPU通過輸出端口往各行線上全部送到低電平,然后讀入列線的值。如果此時有某一個鍵被按下,則必定會使某一列線值為0,然后,程序再對兩個并行端口進(jìn)行方式設(shè)置,使接行線的并行端口工作在輸出方式,而使接列線的并行端口工作在輸出方式,并且將剛才讀得的列線值從所接的并行端口輸出,再讀取行線的輸入值,那么,在閉合鍵所在的行線上的值必定為0。這樣,當(dāng)一個鍵被按下時,必定可以讀得一對惟一的行值和列值。在鍵盤設(shè)計時,除了以鍵碼的識別以外,還有抖動問題需要解決。有軟件方法可以很容易解決抖動問題,這就是通過延遲來等待抖動消失,這之后,再讀

26、入鍵碼。3.3 顯示模塊為了方便人們觀察和監(jiān)視單片機(jī)運行情況,通常需要利用顯示器作為單片機(jī)的輸出設(shè)備,以顯示單片機(jī)的鍵輸入值、中間信息以及運算結(jié)果等。在單片機(jī)應(yīng)用系統(tǒng)中,常用的顯示器主要有LCD(液晶顯示器)和LED(發(fā)光二極管顯示器)。這兩種顯示器都具有耗電省,配置靈活,線路簡單,安裝方便,耐振動,壽命長等優(yōu)點。3.3.1 液晶顯示器液晶顯示器LCD(Liquid Crystal Display)是一種極低功耗的顯示器。由于其具有清晰度高,信息量大等特點,從而使得它越來越廣泛地應(yīng)用在小型儀器的顯示中。把LCD與驅(qū)動器組裝在儀器的部件的英文名稱為LCD Module,簡稱LCM。LCM一般分為

27、三類,即為段碼型液晶模塊、點陣字符液晶模塊和點陣圖形液晶模塊。3.3.2 LED點陣顯示屏LED點陣顯示屏的構(gòu)成型式有多種,其中典型的有兩種。一種把所需展示的廣告信息燒寫固化到EPROM芯片內(nèi),能進(jìn)行固定內(nèi)容的多幅漢字顯示,稱為單顯示型;另一種在機(jī)內(nèi)設(shè)置了字庫、程序庫,具有程序編制能力,能進(jìn)行內(nèi)容可變的多幅漢字顯示,稱可編程序型。目前,國內(nèi)的LED點陣顯示屏大部分是單顯示型,其顯示的內(nèi)容相對較少,顯示花樣較單一。一般在產(chǎn)品出廠時,顯示內(nèi)容就已寫入顯示屏控制系統(tǒng)中的EPROM芯片內(nèi),當(dāng)需要更換顯示內(nèi)容時就非常困難,這樣使該類型的顯示屏使用范圍受到了限制。國內(nèi)的另一種LED顯示屏可編程序型LED顯

28、示屏,雖然增加了顯示屏系統(tǒng)的編程能力,顯示內(nèi)容和顯示花樣都有所增加,但也存在著更換顯示內(nèi)容不便的缺點。隨著社會經(jīng)濟(jì)的迅速發(fā)展,如今的廣告牌都存在著顯示內(nèi)容豐富、信息量大、信息更換速度快等特點。因此傳統(tǒng)的LED顯示屏控制系統(tǒng)已經(jīng)越來越不能滿足現(xiàn)代廣告宣傳業(yè)的需要。而利用PC機(jī)通信技術(shù)控制LED顯示屏,則具有顯示內(nèi)容豐富,信息更換靈活等優(yōu)點。8*8點陣如圖6是8*8點陣原理圖和實物圖圖6 8*8點陣原理圖圖7為8×8單基色點陣的結(jié)構(gòu)圖,從內(nèi)部結(jié)構(gòu)可以看出8×8點陣共需要64個發(fā)光二極管,且每個發(fā)光二極管是放置在各行和列的交叉點上。當(dāng)對應(yīng)的某一列置高電平,另一列置低電平時,則在該

29、行和列的交叉點上相應(yīng)的二極管就亮。圖7 8*8點陣實物圖8*8點陣顯示原理從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形或文字的各個點所在的位置相對應(yīng)的LED器件發(fā)光,就可以得到我們想要的顯示結(jié)果,這種同時控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅(qū)動顯示方式。8*8的點陣共有64個發(fā)光二極管,顯然單片機(jī)沒有這么多的端口,如果我采用鎖存器來擴(kuò)展端口,按8位的鎖存器來計算,8*8的點陣需要64/8=8個鎖存器。這個數(shù)字很龐大,因為我們僅僅是8*8的點陣,在實際應(yīng)用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個很龐大的數(shù)字。因此在實際應(yīng)用中的顯示屏幾乎都不采用這種設(shè)計,而采用另外一種稱為動

30、態(tài)掃描的顯示方法。動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行(比如8行)的同名列共用一套驅(qū)動器。具體就8*8的點陣來說,把所有同1行的發(fā)光管的陽極連在一起,把所有同1列的發(fā)光管的陰極連在一起(共陽極的接法),先送出對應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定時間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;以此類推,第8行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的圖形了。采用掃描方式進(jìn)行顯示時,每一行有一個行驅(qū)動器,各行的同名列共用一

31、個驅(qū)動器。顯示數(shù)據(jù)通常存儲在單片機(jī)的存儲器中,按8位一個字節(jié)的形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動器上去,這就存在一個顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅(qū)動器的數(shù)據(jù)傳輸可以采用并列方式或串行方式。顯然,采用并行方式時,從控制電路到列驅(qū)動器的線路數(shù)量大,相應(yīng)的硬件數(shù)目多。當(dāng)列數(shù)很多時,并列傳輸?shù)姆桨甘遣豢扇〉?。解決串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一列數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存功能。經(jīng)過上述分析,就可以歸納出列驅(qū)動器電路應(yīng)具有的功能。對于列數(shù)據(jù)準(zhǔn)備來說,它應(yīng)能實現(xiàn)串入并處

32、的移位功能;對于列數(shù)據(jù)顯示來說,應(yīng)具有并行鎖存的功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進(jìn)行顯示時,串并移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會影響本行的顯示。圖8為顯示屏電路實現(xiàn)的結(jié)構(gòu)框圖:圖8 顯示屏系統(tǒng)框圖3.3.3 LED顯示電路在LED的點陣顯示中,已經(jīng)詳細(xì)介紹了顯示的原理,此外還需要知道顯示驅(qū)動程序。顯示驅(qū)動程序在進(jìn)入中斷后首先要對定時器T0重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16掃描顯示屏的刷新率(幀頻)計算公式如下:刷頻率(幀頻)=1/16×T0溢出率 =1/16×f/12(65536-t) 其中f為晶振頻率,t為定時器T0初值(工作在16位定時

33、器模式)。然后顯示驅(qū)動程序查詢當(dāng)前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產(chǎn)生拖尾現(xiàn)象,驅(qū)動程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。圖9為顯示驅(qū)動程序(顯示屏掃描函數(shù))流程圖:圖9 顯示驅(qū)動流程3.4 時鐘電路時鐘是時序的基礎(chǔ),AT89C51核片內(nèi)由一個反相放大器構(gòu)成振蕩器,可以由它產(chǎn)生時鐘,時鐘可以由兩種方式產(chǎn)生內(nèi)部方式和外部方式。本系統(tǒng)采用內(nèi)部方式,在XTAL1和XTAL2端外接石英晶體作為定時元件,內(nèi)部反相放大器自激振蕩,產(chǎn)生時鐘。時鐘發(fā)生器對振蕩脈沖二分頻。電容采用30

34、pF電容。如下圖10所示:圖10 內(nèi)部時鐘電路3.5 復(fù)位電路RST引腳是復(fù)位信號輸入端,高電平有效。采用上電加按鈕復(fù)位,因為本系統(tǒng)設(shè)計考慮到該系統(tǒng)比較重要,所以除了采用上電復(fù)位的方式外,應(yīng)該還有按鈕復(fù)位備用復(fù)位方式以防止系統(tǒng)死機(jī)時能。如下圖11所示:圖11 上電復(fù)位和按鍵復(fù)位4.程序設(shè)計4.1 軟件開發(fā)環(huán)境簡介對于AT89C51的控制設(shè)計,以Keil c軟件編程環(huán)境,以proteus軟件為電路仿真設(shè)計環(huán)境。二者的結(jié)合為該系統(tǒng)的設(shè)計提供有利條件。該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C語言及二者的混合編程。Keil c軟件界面,如圖12所示:圖12 Keil_c軟件界面該軟件是一款

35、集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大 ,可仿真ARM、51、AVR、PIC。Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖所示,包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口如圖13。圖13 電路仿真界面4.2 主程序程序描述首先對各存儲單元初始化,設(shè)定定時初值,接著判斷清零鍵,看是否按下,若按下,則清零,然后繼續(xù)掃描鍵盤,如掃描到鍵盤有鍵按下,則調(diào)用計數(shù)顯示子程序,循環(huán)顯示病床號時,要判斷標(biāo)志位是否為1,若為1,則表示已經(jīng)按下,則不響應(yīng),如為0,則調(diào)用

36、循環(huán)顯示病床號子程序,循環(huán)顯示病床號,接著定時一秒。最后,清除定時一秒,準(zhǔn)備下一次的定時。4.3 顯示程序描述按下鍵總數(shù)顯示子程序描述(圖 14 按鍵總數(shù)顯示程序流程圖)圖14 按鍵總數(shù)顯示程序流程圖 把按鍵數(shù)存儲單總元(COUNTER)的值經(jīng)過BCD調(diào)整后十位和個位分別送(7AH)(7BH),調(diào)用顯示子程序顯示按鍵總數(shù)。循環(huán)顯示病床號子程序描述(圖 15按鍵循環(huán)顯示子程序)首先判斷標(biāo)志位是否為0,若為0,則表對示應(yīng)的存儲單元里沒有值存入,則再檢測下一個存儲單元標(biāo)志位是否為0,直到檢測到為1.如為1,則把值存入(BED_BOUNTER)中,接著進(jìn)行BCD調(diào)整為十進(jìn)制,把十位和個位分別送入(BE

37、DCODE_1)和(BEDCODE_2)中,然后調(diào)用顯示子程序,循環(huán)顯示病床號。圖15 按鍵循環(huán)顯示子程序源程序:#include<reg51.h> /51系統(tǒng)端口定義h文件#include "dianzhen.h" /點陣h文件#include"keyboard.h" /鍵盤處理h文件uchar ys=0,num=0,N=0,d=0,q=0; /num為當(dāng)前顯示值,N為總顯示值/*主函數(shù)*/void main() uchar j;TMOD=0x10;TH0=(65536-45000)/256;/設(shè)置50毫秒定時TL0=(65536-4500

38、0)%256;TR0=1;ET0=1; EA=1; P3_1=0; while(1) if(P3_2=0) if(N>q) q+;while(P3_2=0);P3_1=1; /當(dāng)P3_2按鍵彈起的后,P3_1口賦高電平delay10ms(10);/延時子程序P3_1=0; /返回原始界面 if(P3_3=0) /當(dāng)P3_3按鍵按下就執(zhí)行病房號的顯示 if(q>0) q-;while(P3_3=0); P3_1=1;delay10ms(10);P3_1=0; if(P3_4=0) N-;if(N>0) for(j=q;j<N;j+) bj=bj+1; bN=0; Else

39、 b0=0; while(P3_4=0); q=0; P3_1=1; delay10ms(10); P3_1=0; keyboard();if(m!=key) m=key; bN=key; N+; P3_1=1; delay10ms(10); P3_1=0; /*中斷服務(wù)子程序*/void timer0() interrupt 1 using 1/T0中斷 TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(d=0) display1(N,bnum,bq); ys+;if(ys=100) num+; d=1 ;else if(ys>105) d=

40、0; ys=0;if(num>N) num=0;/病房號數(shù)清零#include <reg51.h>#include <absacc.h>#include "zimo.h"uchar b10;/*延時子程序*/void delay10ms(uchar d) unsigned char i,j,k; for(k=d;k>0;k-) for(i=20;i>0;i-) F or(j=248;j>0;j-); /*點陣顯示子程序*/void display1(uchar x,uchar s,uchar p) uchar i,j=0,k,

41、m=0,n=0,w2,y2,z2; w0=s/10; w1=s%10; y0=x/10; y1=x%10; z0=p/10;z1=p%10; if(s<=0|s>16) for(i=0;i<16;i+,n+) lie=i; if(n=8) m=1;j=0; for(k=0;k<1;k+) hang0=shuzi2ymj; hang1=shuzi2ymj+1;hang2=shuzi2zmj;hang3=shuzi2zmj+1; hang0=0x00; /清屏 hang1=0x00;hang2=0x00;hang3=0x00; j+=2;j=0; for(i=16;i<

42、;64;i+) lie=i; for(k=0;k<1;k+) hang0=ziku1j;/ 第0行賦值 hang1=ziku1j+1; /第1行賦值hang2=ziku2j;/ /第2行賦值 hang3=ziku2j+1;/ /第3行賦值 hang0=0x00; /清屏 hang1=0x00;hang2=0x00; /清屏 hang3=0x00; j+=2; else for(i=0;i<16;i+,n+) lie=i; if(n=8) m=1;j=0; for(k=0;k<1;k+) hang0=shuzi2wmj; hang1=shuzi2wmj+1;hang2=shuz

43、i2zmj; hang3=shuzi2zmj+1; hang0=0x00; /清屏 hang1=0x00; hang2=0x00; /清屏 hang3=0x00; j+=2;j=0; for(i=16;i<64;i+) lie=i; for(k=0;k<1;k+) hang0=ziku2j; hang1=ziku2j+1; hang2=ziku2j; hang3=ziku2j+1; hang0=0x00; /清屏 hang1=0x00; hang2=0x00; /清屏 hang3=0x00; j+=2; 5系統(tǒng)調(diào)試系統(tǒng)調(diào)試工作是系統(tǒng)開發(fā)過程中必不可少的一個過程,一個完整的控制系統(tǒng)調(diào)試包含控制系統(tǒng)的硬件聯(lián)調(diào)、軟件聯(lián)調(diào)、系統(tǒng)仿真、仿真燒錄和現(xiàn)場安裝調(diào)試等幾個環(huán)節(jié)。在系統(tǒng)設(shè)計組裝完成后,首先是進(jìn)行實驗室條件下的系統(tǒng)硬件調(diào)試,調(diào)試成功后,有了硬件的保證,就容易發(fā)現(xiàn)軟件的漏洞,進(jìn)而促進(jìn)改進(jìn)和完善。所有的調(diào)試通過后,要進(jìn)行現(xiàn)場運行并能持續(xù)一定的時間,待其中未發(fā)現(xiàn)故障后,方可驗收合格,才算完成了整個系統(tǒng)的設(shè)計工作原理如圖16。圖16 原理圖5.1 調(diào)試界面顯示下面是我們通過Proteus軟件編程,使對應(yīng)的軟件仿真模塊變

溫馨提示

  • 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

提交評論