单片机课程设计---单片机病房呼叫系统_第1页
单片机课程设计---单片机病房呼叫系统_第2页
单片机课程设计---单片机病房呼叫系统_第3页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计设计题目:单片机病房呼叫系统专 业:电气工程及其自动化年 级:08级学 号:20084450427姓 名:指导教师:徐祖华2012年 01 月01日摘要 病床呼叫系统是一种应用于医院病房、养老院等地方,用来联系沟通医护 人员和病员的专用呼叫系统, 是提高医院水平的必备设备之一。 病床呼叫系统的 优劣直接影响到病员的安危, 历来受到各大医院的普遍重视。 它要求及时、 准确 可靠、简便可行、利于推广。 目前市场上存在着许多种型号不一功能各异的医院 病房呼叫系统, 主要为两大类: 有线式和无线式。 无线式病房呼叫系统不存在铺 设线路的问题, 但是可靠性差, 而且无线电波会干扰其他医疗仪

2、器设备。 有线式 的病房呼叫系统适合较小的医院病房使用, 具有成本低, 易于操作、安装和维护, 而且具有可靠稳定, 对其他医疗设备不会产生干扰的特点; 但受到布线较多, 影 响美观, 故不适宜较大的医院。 病床呼叫管理系统便于病员快捷的呼叫护士, 缩 短人工呼叫的时间。 当今病房呼叫系统正在逐步地向智能化发展, 它可以和录像 机一起使用,当病人按下开关时,在护士值班室的大屏幕能够观察病人的需要。 并且可以配备对讲机等设备,能够使病员及时快捷地与医护人员进行沟通。本课程设计是基于AT89C52核心单片机的有线式病房呼叫系统。为了便于操 作仅仅开设了四个病房,但是其功能大致相同,都考虑了高优先级和

3、低优先级, 因此可以称为一个简易病房呼叫系统。 每个病床有一个呼叫开关按键, 当病人有 需要的时候, 按下按键,此时监护室就会得到响应信号, 在数码管显示相应的床 位号,并且有警示灯亮起。本次设计有运行简单,安装方便,成本低,稳定可靠 的优点。最后通过设计的系统还经过 proteus 软件的仿真, 仿真结果证明了此设 计的正确性和实用性。关键字:AT89C52、病房呼叫、优先级、实验仿真。目录摘要 21 单片机的相关知识 41.1 单片机89C52的介绍42 硬件部分 62.1 整体硬件电路 62.1.1 复位电路 82.1.2 晶振电路 82.1.3 数显电路 92.1.4 指示电路 102

4、.1.5 按键电路 103软件部分 113.1 Keil C软件的介绍 113.2 程序的设计流程 123.3 源程序代码 134 调试仿真 164.1 Proteus7 的简单介绍 164.2 系统程序的调试及仿真 165 心得体会 2122参考文献1单片机的相关知识1.1单片机89C52的介绍AT 8 9 C5 2P1 口Fl_3PL. 23P1.6TXD ?3.1INTO T3. 2INT; P3. 3匚P3 口TO P3. -1T1 "三ffR P3. G 丽了丄7 灯心5*7 ill旳3-13332P0. 0 ADOPC. 1 ADIPC. 2 2D二PO.3/AD3FO.

5、 1 ADIPO. 5"D呂PO. E ADfiPO. 7 AD7F2. 7 A15P2. B/A14P2. S A 13P2. 4/A12F2. AllP2.2 A10匕 1.-AOF2. 0.ALE 'FROGPLEVP0 口P2 口图1.1 89C52芯片引脚图引脚功能VCC供电电压。GND接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码

6、,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能接收输 出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外 部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校 验时,P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出 4个TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输 入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部 上拉的缘故。P2 口当用于外部程序存储器或16位地

7、址外部数据存储器进行存取 时,P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对 外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门 电流。当P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口作 为AT89C51的一些特殊功能口,管脚备选功能。P3.0 RXD(串行输入口)P3.1 TXD (串行输出口)

8、P3.2 /INTO (外部中断0)。P3.3 /INT1 (外部中断1) P3.4 T0 (计时器0外部输入)。P3.5 T1 (计时器1外部输入)。P3.6 /WR (外部 数据存储器写选通) 。 P3.7 /RD (外部数据存储器读选通) 。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部 输出的脉冲或用于定时目的。 然而要注意的是: 每

9、当用作外部数据存储器时, 将 跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EK址上置0。此时,ALE 只有在执行MOV,MOV指令是ALE才起用。另外,该引脚被略微拉高。如果微 处理器在外部执行状态ALE禁止,置位无效。PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周 期两/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出 现。/EA / VPP当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH, 不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器。在

10、FLASH编程期间,此引脚也用于 施加12V编程电源(VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。2硬件部分2.1整体硬件电路本呼叫系统基于AT89C52单片机,振荡电路的晶振采用12MHz由控制核心 AT89C52单片机、电源电路、晶振电路、复位电路、数显电路、警示电路和程序 等部分组成,系统框图如下:电源电路X晶振电路8 9 C5 2数显电路斗单片机>复位电路匚警示电路V数据程序图2.1系统硬件电路对于硬件系统图,由于没有进行实物制作,硬件原理图采用proteus软件进行绘 制,其图如下所示ffitftr山幕-dgo B o-*r

11、iul <« 7証1一 o - o I - rL-CM進廉惶 Zod ItglwEd EFg QMfld LLlgm 翼 呈肖-f DieIMJGELEQl«JMJIJ寸JIr1J0-D iwasLU'hi寸v-0卜wYqop*rr2?二;i.Oco§ Ed ss. Ed 1£ f律 養£ § Ed MW§s£8§£ twt£ SOWTOH ow-ou Low-odEMIUJgd一花ffl .a_dqj_xiBEM rT-XDr画唳骡柱翔煤顋言险咚曝忌次舟-& -

12、 a Ha - - a - - a a a - -HBa-a -!- - 一 - a 2.1.1复位电路RST引脚是复位信号输入端,高电平有效。上电加按钮复位一般由 RC电路 组成,它响应时间大约为10ms当按下复位按钮后,系统会重新从 0000H开始 执行程序,如下图所示。2.1.2晶振电路晶振是晶体振荡器的简称,在电气上可以等效成一个电容和一个电阻并联 再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分 其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体的特性使这两个 频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以 在晶振的两端并联合适的电

13、容它就组成并联谐振电路。单片机内部有个高增益反 向放大器,当外接晶振后,就构成了自激振荡器,并产震荡时钟,为单片机提供 稳定的时钟。2.1.3数显电路数码管显示其实本质就是由七个发光二极管组成, 通过其中的某一段或者几 段导通而形成不同的数字。数码管有共阴极和共阳极两种,本设计都采用的是共 阴极的数码管。RP139'a1'230b337c430d535e634f733g832921222324252607RESPACK-8数显电路abc图2.1.3 数显电路2.1.4警示电路本设计的指示电路其实就是一个发光二极管,它是半导体二极管的一种, 可以把电能转化成光能;常简写为 LED

14、发光二极管与普通二极管一样是由一个 PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的 电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴 所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时 必须串联限流电阻以控制通过管子的电流SPEAKER仲卩警示电路D1LED-RED图2.1.4 指示电路2.1.5按键电路单片机检测按键的原理是:单片机

15、的10接口既可以作为输出也可以作为输 入使用,当检测按键时用的是它的输入功能, 我们把按键的一端接地,另一端与 单片机的P3 口相接,开始时先给该I0 口赋一高电平,然后让单片机不断的检测 该接口是否变成低电平,当按键闭合时,即相当于该I0 口通过按键与地相连接变成低电平,程序一旦检测到接口变成了低电平说明按键被按下,然后执行相应的指令。2526272S1DTTV2?314W17di病房4严七0 0病房2:=严I0 O'_I病房3尸才病房4 :按键电路图2.1.5 按键电路3软件部分3.1 Keil C软件的介绍Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真

16、机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整 开发方案,通过一个集成开发环境( uVision )将这些部份组合在一起。运行 Keil软件需要 Pentium 或以上的 CPU 16MB或更多 RAM 20M以上空 闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil

17、 C51 是美国Keil Software 公司出品的 51系列兼容单片机 C语言软件开发系统,Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3.2程序的设计流程启动系统后,数码管显示0。当有一个病人呼叫时,数码管显示相应病房号, 同时指示灯亮起;当有两个病人同时呼叫时,数码管显示优先级高的,同时指示 灯亮起;当有一个病房呼叫后另一个病房呼叫, 若后呼叫的病房优先级低,则

18、数 码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下, 指示灯一样都会亮。图3.2系统流程图3.3源程序代码#include <reg51.h>52 系列单片机#defi ne uchar un sig ned char头文件定义单片机给定接口sbit key4=P39 sbit key3=P3A1;sbit key2=P3A2;sbit key仁卩3八3;sbit reset=P3A4;/ sbit ri ng=P1A7; uchar flag1,i;定义按键位置V复位定义指示灯端口void choice(); void clea n(); void del

19、ay(); void de();void rin g();void mai n() while(1) P3=0xff; reset=0; rin g=0; flag 仁0; choice(); delay(); clea n();选择子程序,确定 病人的床位。void choice() 确定病人while(reset!=1 &&flag=0)if(key1=0)de(20);if(key 1=0)P0=0X86;flag=1;else if(key2=0)de(20);if(key2=0&&key1!=0)P0=0Xdb;flag=1;else if(key3=

20、0)de(20);if(key3=0&&key1!=0&&key2!=0)P0=0Xcf; flag=1;else if(key4=0)de(20);if(key4=0&&key1!=0&&key2!=0&&key3!=0)P0=0Xe6; flag=1;复位程序,当reset为高电平时复位void clea n()if(reset=1)rin g=0; P0=0x3f;void delay() while(!reset)保持程序,当reset为 低电平时指示灯一直 亮rin g();void rin g()孑i指

21、示子程序,在相应条件下灯亮。for(i=0;reset=0;i+)de();rin g=!ri ng;if(key1=0|key2=0|key3=0)if( P0=0X86)P0=0X86;else if(P0=0Xdb&&key1=0)P0=0X86;else if(P0=0Xcf&&key1=0)P0=0X86;else if(P0=0Xcf&&key1=1 &&key2=0)P0=0Xdb;else if(P0=0Xe6&&key1=0)P0=0X86;else if(P0=0Xe6&&key

22、1=1 &&key2=0)P0=0Xdb;else if(P0=0Xe6&&key1=1 &&key2=1 &&key3=0) P0=0Xcf;void de( unit xms)uint i,j;for(i=xms;i>0;i-)for (j=110;j>0;j-); 延时子程序,可以在 程序中任意调用延 时。4调试仿真4.1 Proteus7 的简单介绍Proteus7软件是英国 Labcenter electronics公司出版的 EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

23、它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚 起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开 发应用的科技工作者的青睐。Proteus是世界上著名的 EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿 真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模 型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR ARM 8086 和MSP430等,2010年即将增加 Cortex和DSP系列处理器,并持续增加其

24、他 系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译4.2系统程序的调试及仿真在软件编程的过程中,用keilC软件编译,形成仿真软件中89C52能识别的 Hex文件,进行proteus仿真。下面给出仿真截图:yYin 门; keyJ=F3T ;kcyl-ra_3: 町3P .LKHT=Priflull if Till sbilJ 二二hit sbii bit uchat:de <xea52h>it uchar unsigned chatK?aid dnoiet (): v?oxd c?l«ez); 口二 |1 Tel ay IJ : void d

25、e(), void lirhilO .电承a上手步 口回 疊 的剧心”口3 £ 口 Fib Edk Vio Ptojoct D»jg Flash Fflripharab Twb |V<S Wrdcw Ha Ip I 5* I Xd同20氓啊EK KKEIL软件编译图:219 - UhiunB -【C J Ducuninls 迅nd Spttii Kjiflwfnliristirator'.单J4 轨;?CIOB44,WZ1,9 +1PrcgAct匕 Hrct 1- OLrce iQUp r*J| STARTUP. A5l血 I'k'l目LdJw

26、oid lain.('图4.2 keil软件编译图4.2.1未通电:单片机病房呼叫系统整体布局图RP1 T7XI君民r母M_. iTFHi-.,LiHjMlI41L 机UR1T印WGr m.wM T1=0 闻T5P3P2 1 胪BP2打納0F2 WIEF2.aBA1S“ 口口jMjA 忖F1.7JA15fii.vr?Di pm"iflJlU1.3帕cmPgFS-V1PPl.flKj.vriPI.SP-:A'ilR IdPJ.俪-I乘房4I.I躺331b51.daeii417JJyV科叶护.叽警不电甌ni1L疸巒咖路2011 12.30图421 未通电时422通电:单片

27、机病房呼叫系统整体布局图:UIF2 .I HV. *.=-!-»- 1吓JK1旬WK ffi l炖1'.r lFQ MW i离珈DC po v *orFU .3孫!PEJB*鬥1/* P? 3JA1& PiJS,'A1l piaii PZ-AU ri&AAu PEJJA1Spirnr pi i/ri» PIJ hi i pi * pifl Pl fi MTPJjJjFIHEj 1F 5. J HITT PJ 4HI ft E/TI咼1車討2D1技農电路JIL和4I*GEtlfl占1-Ed5-:t&*:flt? :VuL»遵&

28、amp;L 砰 prf-ir-aTbjr :2011 1230印詢印t警示电路LH: M 三图422通电时4.2.3低优先级的先呼叫A :RP1-ehC.UULiljU FO.IjIAD- rt.2WD2 Fr vatu r0.4MD4 -C.5tiD5 P0.6dM6 l-L./Wak第b3<37cprra5" »sir:jrT9X 329*P2.OJAOFJ.11A9 F122/VID PJ.JWrF2F】号工13P? FW14 P2 .JAI5PlOrRMDP3.1/DJDP3.2lfjT7P3 4Tftpj.trr iP3.6SPP3.7/RD21222L!兀

29、蓝2e2L3E10' ! 数显电路上 U-hitU fTCKT-.按睦电路;图423按键四按下时4.2.4咼优先级的后呼叫A :PC.ODCi Pt.'爪CM PCPC.i/ADJ PGMftD* PO 网口 5 PC.训 D6 PC.7XAD7F2.QJA8p 3.i msP2.2j1 UP2.3KAI 1P2.4JAI5P2 3P2.&KA14p?稱 1 5F3CXRXD PJ.1/TW 門 7JIMTQP3.3rtNTTP: 1JT0P1S/TL PJbiV/H F37/PD数显电路开关3按下上J QD1尺 PACK-8 <Ext-'SPEAKER

30、J9a袖t>3«卫r<袖d乌359& 3i"l7"33q£ 1?g 2; F 22-L21 . _Z21.22L .丄警示由路E 竹 311171Z1病房10 0按键电路图424按键三按下时led nro425高优先级的先呼叫B :RD QTAEOPD 1/ADIPO 3/AD2 FD 液COPD MAD4PD WAD5 POa/AKPD 7JAD7P2EA3 P2 1 A3 P2.2/ft.1O P2.3ft11PZ4JA12P3.5A13 P2.6J14 P2.715PKOfRXD F3,1HXD F3.2.IIHT3 P3JJF

31、MTIP3.*/TO P3.SmP36JWRP3.7 iRD数显电路D1 '病房4严电o o按键电貉病房2古匕鸣LED-REP 訂山-13. r.3二加3?393»-:17C4:1Rd£詰e!;34JS5AuE J2A¥ .九RESPAQK6 门开关1按下警示电路_LA_Lj_J_ji r426低优先级的后呼叫B:>L1ruPD.1JMZHPO如2卩L2P0 3#AD3 P0.WC4 PQ划心 刊e町JrPUJ 71ACJP?叽P2I?ASF2.2rAWP2.3fA11£FMrAUIom .I/T2EX23F2EIWP2.WM4FITfAISP3.0 RXDF3.IFI?<DP3.JJWTO尸 J. 3JINT14p計rro5FX5iTi6鬥fi阳?P37fRJ9C52图425按键一按下时RF1I'病房1 £<as2"ITcSfidl峙 35电整f;32-£数显电路±22二*2L28ill .工Z1X 开关2按下示电路:LEO REC.«TEXT= .图426开关二按下时427高低优先级同时呼叫:RprPU MAOO P0.1AT1 P0g匚 2 PO 3JAC3 P0.4MD4 PQ.SJtADS PO.&TACG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论