毕业论文-基于单片机的病人呼救系统设计与实现_第1页
毕业论文-基于单片机的病人呼救系统设计与实现_第2页
毕业论文-基于单片机的病人呼救系统设计与实现_第3页
毕业论文-基于单片机的病人呼救系统设计与实现_第4页
毕业论文-基于单片机的病人呼救系统设计与实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、大连东软信息学院本科毕业设计(论文)论文题目论文题目:基于单片机的病人呼救系统设计与实现系 所: 电子工程系 专 业: 电子信息工程(嵌入式系统工程方向) 学生姓名: 学生学号: 指导教师: 导师职称: 讲师 完成日期: 2014年 5月 2日 大连东软信息学院Dalian Neusoft University of Information大连东软信息学院毕业设计(论文) 摘要 IV基于单片机的病人呼救系统设计与实现摘 要病人呼救系统是病人请求值班医生或护士进行诊断、护理的紧急呼叫工具,它主要用于协助医院病员在病床上方便地呼叫医务人员,可将病人的请求快速传送给值班医生或护士,是提高医院和病房护

2、理水平的必备设备之一。医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医生与患者矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病人呼救系统,方便病人更快找到医生,以节约病人的宝贵时间。系统是基于51系列的单片机设计的病人呼救系统。该系统以AT89C51单片机为核心辅以矩阵键盘、LED和LCD显示电路和部分简单模拟和数字电路组成的能够实现病人和医护人员之间信息的传递。每个病人要呼叫可以按键,同时会有蜂鸣器响,不同的数码管显示床位号,相应的指示灯亮。 在该设计中每个病房都有两个按键,当患者有需要时,按下按键和服务类型,此时值班室的显示屏可显示此患者

3、的床位号和服务类型,多人使用时可实现循环显示,医护人员按下“响应”键取消当前呼叫。此系统能够为医院提供一个成本低、效率高、操作方便和易于安装维护的快捷系统。关键词:AT89C51,矩阵键盘,LED,LCD,蜂鸣器大连东软信息学院毕业设计(论文) AbstractDesign and Implementation of the System forPatient Calling Help Based on SCMAbstractThe System for Patient Calling Help is the patients request to the doctor on duty or

4、nurse emergency call tools for diagnosis, care, and it is mainly used to assist the hospital patient in the bed easily call the medical staff, the patients request can be quickly sent to the duty doctor or nurse is to improve one of the essential equipment of hospital and ward nursing level. The hos

5、pital more competitive, commercial hospital survival is the first to enhance the grade and quality of service is imminent and the issue of accompany has been the main body of the patient conflict, but also long-troubled health system quality of service issues, using the ward call system more conveni

6、ent for patients to find a doctor to save the valuable time of the patient. The system is a ward call system based on the 51 series micro-chip design. The system uses AT89C51 micro-controller as the core, supplemented by matrix keyboard, LED and LCD dot matrix display of a simple circuit and some an

7、alog and digital circuits to achieve the transfer of information between patients and health care. In this design each ward has a button, when patients in need, press the button, the display of the duty room to display the number of beds in this patient, people use to achieve circular display, press

8、 the medical staff response to cancel the current call. This system can provide a low cost, high efficiency, easy operation and easy installation and maintenance system for the hospital. Key words: AT89C51, Matrix keyboard, LED,LCD, Buzzer大连东软信息学院毕业设计(论文) 目录目 录 TOC o 1-3 u 摘 要 PAGEREF _Toc386919242

9、h IAbstract PAGEREF _Toc386919243 h II第1章绪 论 PAGEREF _Toc386919244 h 11.1 课题研究背景与意义 PAGEREF _Toc386919245 h 11.2 课题研究内容与方法 PAGEREF _Toc386919246 h 21.3 课题研究现状 PAGEREF _Toc386919247 h 2第2章关键技术介绍32.1 AT89C51单片机的选型32.2 串行通信接口的应用4第3章系统需求分析63.1 系统设计目标63.2 系统功能需求63.3 系统非功能需求63.4 系统开发环境63.5 系统可行性分析73.5.1 技

10、术可行性73.5.2 经济可行性7第4章系统设计84.1 系统设计指导原则84.2 体系结构设计84.3 硬件设计84.3.1 单片机最小系统的设计84.3.2 LED数码管电路设计94.3.3 LCD液晶显示屏电路设计104.3.4 报警电路设计104.3.5 按键触发电路设计114.4 软件设计114.4.1 控制流程设计114.4.2 功能模块设计12第5章系统实现135.1环境配置135.1.1Keil环境配置135.1.2 STC_ISP_V480的环境配置195.2功能模块实现215.3 系统集成与调试23第6章系统测试246.1 测试概述246.2 测试用例246.2.1 数据发

11、送246.2.2 LCD显示246.2.3 LED显示25第7章结论26参考文献27致 谢28附录A29附录B36大连东软信息学院毕业设计(论文)- 绪 论1.1 课题研究背景与意义随着如今医疗事业飞速的发展和医疗体制改革不断的深化,人们越来越渴望既方便又迅捷地得到医疗单位给予的各式各样先进的医疗服务。这也使得衡量一个医院的综合水平高低,不再仅仅局限于医疗设备软件或硬件的建设上,更要的是医疗行业的服务质量。这种现状同时也使医院与医院之间的竞争越来越激烈。因为仅仅凭借原来的服务系统已经远远不能适应现代社会进步的需求了,所以目前所有从事医疗相关单位正在大力创造一种能够进一步适合如今社会需求的先进的

12、客户服务系统。这项开发有利于改善医疗事业的服务量,既可以提高效率又能增加企业效益,从而为企业赢得良好的社会声誉和企业地位。目前,医院信息化建设中的一个重要着眼点是,如何利用先进的信息技术为医院和患者服务,从而更大程度的提高医院的利润收益和服务质量。 医院的各项竞争已然越来越激烈了,故而提升医院的服务质量及医疗设备档次已经是势在当前了。医生和患者矛盾的主体之一始终有陪护问题,这也是卫生系统服务质量长期困扰的一大难题,毕竟商业医院首先要考虑的始终是生存问题。使用病人呼救系统,能够方便病人更快找到医护人员,从而大大的节约病人的宝贵时间。 病人呼救系统有效提高医疗水平的必要设备之一。它被广泛应用于高级

13、养老院、特邀医院病房等场所。用来当作医护人员和病员专用的联系沟通系统。因为病人呼救系统的优劣将直接影响到病员生命的安危,所以它历来备受各大医疗行业的广泛重视。它必须能够兼具准确可靠、及时传递信息、简便可行、益于推广于一体。 目前市场上有许多类似于病人呼救的先进设备,但是功能各异,型号不一。该设备主要为两大类:无线式和有线式。无线式病人呼救系统不存在铺设线路的问题,但是无线电波会干扰其他医疗仪器设备,因而可靠性稍差。本文设计的是有线式的,具有成本低,易于操作、安装和维护,而且具有可靠稳定,对其他医疗设备不会产生干扰的特点,但受到布线较多,影响美观,故不适宜较大的医院使用,仅仅适合较小的医院病房使

14、用。 病人呼救系统主要目的是为了便于病员快捷的呼叫护士,有效的缩短人工呼叫的时间。当今病人呼救系统也正在逐步地向智能化发展,它可以和录像机一起使用,当病人按下开关时,在护士值班室的大屏幕能够观察病人的需要。并且可以配备对讲机等设备,能够使病员及时快捷地与医护人员进行沟通。大大提高医护人员服务效益。1.2 课题研究内容与方法病人呼救系统,又可称作病人呼叫仪。作用在于将病人的呼叫信号迅速而准确的传递给医护人员,以便病人能获得及时处治。它的使用大大方便了病人又减少医护人员的巡查频率,而且还减轻了劳动强度。目前在临床上得到了普遍的应用。 本设计的病人呼救系统是应用51单片机,采用数字、模拟电路的一些基

15、础原件来实现和安装的方便实用的病人呼叫系统。当有病人进行呼叫时,系统会自动先处理具有优先级别的病房的编号,同时进行声音报警。另外在产生信号的同时系统会显示呼叫病人的病房编号以及需要的服务类型。这样医护人员可以根据显示的病床编号病人进行救治。当有多个病人要求进行呼叫时,数码管会根据按下按键的时间从左至右显示求助患者的病床编号,同时液晶显示屏会显示所需要的服务类型。1.3 课题研究现状随着全球老龄化进程的加快和全球生存环境的恶化,以及人类对健康关注的增加,医疗行业正在快速膨胀。而且医疗行业比任意一个行业更需要提升客户的满意度,因为医疗行业的客户群体是患者,所有患者都希望能够得到最高质量的服务和护理

16、。所以他们对服务设备及服务人员要求的苛刻程度远远超过其他任何一个行业。因为他们的生命就掌握在这些服务提供者的手里。故而从事医疗服务行业的所有管理人员应该着重思考的问题是:如何更好的提升医护效率,满足客户的需求,提高患者的满意度。在中国,约在 30,000个医院中仅 30的医院拥有自己的信息管理系统,而拥有前端电话接入系统的医院更是少之又少。前端电话接入系统包括智能话务引导,智能话务分配,传真自动收发,呼叫管理监控,短信自动收发与管理,电子邮件的收发管理等系统,这些子系统是独立于后端的业务层的。这些子系统可以把电话挂号,电话咨询专家,电话 / 短信 /EMAIL 投诉,电话回访,短信问候等前端与

17、客户直接接触的内容有机的结合在一起。后端客户信息管理系统主要是对会员制的患者资料进行管理,对非会员患者的病例的记录与积累,业务统计分析等与提高客户满意度直接相关的子系统。病人呼叫系统是病人请求值班医生或护士进行诊断护理的紧急呼叫工具,是提高医院和病室护理水平的必要设备之一。目前市面上存在的继电器控制的门铃式呼叫系统,由于外观粗燥、噪声大、功能单一,在医院达标定级中已远远不能适应现代医院的要求。利用单片机的多机通讯功能,设计出的具有蜂鸣器报警、显示房号和服务类型等功能的多功能病床呼叫系统,大大满足了医院的病房管理和护理的要求。而现在,更是只需要一块几厘米见方的单片机,再写入简单的程序,就可以使以

18、前繁杂的电路简单很多。大连东软信息学院毕业设计(论文)第2章关键技术介绍 在研究过程中主要工作是,先查阅研究与该课题有关的文献资料,对涉及到的概念有所了解,再者就是对所需的硬件,包括单片机,键盘电路,显示器,蜂鸣器都有一定深入的认识和了解,最后在老师的指导下,实例编程,仿真电路实现所有的功能。 研究课题的主要过程,包括硬件及软件方案的设计,程序代码的编写和修改,呼叫系统的仿真。其中的硬件设计包括单片机的选择,键盘电路的设计,通信电路的设计;本课题硬件的程序设计是以C语言实现的,最后在Proteus仿真软件下实现仿真演示。2.1 AT89C51单片机的选型 单片机概述:单片微型计算机简称单片机,

19、是典型的嵌入式微控制器(Microntroller Unit),常用英文字母的缩写MCU表示单片机。由于他具有性价比高,体积小,可靠性高,控制功能强,功耗低等许多优点,其应用已深入到工业,农业,国防,科研,以及日常生活等各个领域,在各行各业的技术改造,自动化进程,提高生产率等方面起到了极其重要的推动作用。AT89C51是51系列单片机的一个型号,它的结构如图2.1所示。图2. 1 AT89C51结构图AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密

20、度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。 AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,含2个读写口线,2个全双工串行通信口, AT89C51虽然不可以在线编程,但可以按照常规方法进行编程。其将Flash存储器和通用的微处理器有效结合在一起,尤其是可反复擦写的Flash存储器,能够有效地降低开发成本5。 电源及时钟引脚(4个):Vcc:电源接入引脚; Vss:接地引脚; XTAL1:晶体振荡器接

21、入的一个引脚; XTAL2:晶体振荡器接入的另一个引脚; 控制线引脚(4个): RST/VPD:复位信号输入引脚/备用电源输入引脚; ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚; EA/Vpp:内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚; PSEN:外部程序存储器选通信号输出引脚。 并行I/O引脚(32个,分成4个8位口): P0.0P0.7:一般I/O口引脚或数据/地位地址总线复用引脚; P1.0P1.7:一般I/O口引脚; P2.0P2.7:一般I/O口引脚或高位地址总线引脚; P3.0P3.7:一般I/O口引脚或第二功能引脚。2.2 串行通

22、信接口的应用RS-232C串行通信接的口标准:在异步串行通信中应用最为广泛的标准接口总线是RS-232C,PC机上均带有标准的 RS-232C接口,该接口适合于带调制解调器的通信应用场合或短距离通信应用场合。采用 RS-232C标准进行数据传输时,传输的最大距离是15 m,传输的最大速率是20 kbit/s。这两者之间有一定的相关性,如果适当减少传输距离就可以使传输速率提高。相反,如果适当降低传输速率,传输距离就可以适当加大。RS-232C标准接口是一种将数据通信设备(DCE)与数据终端设备(DTE)之间的信息使用二进制进行交换的的接口。RS-232C定义了22根信号线,采用的两种标准的连接器

23、分别是:DB29芯和DB225芯,该接口信号线最常用的功能如下图2.2所示。 图2.2 RS-232C接口常用信号线功能表 RS-232C主要电气特性如下:不带负载时驱动器输出电平为 - 25 V +25 V;负载电阻范围为 3 k7 k;负载电容(包括线间电容)为 +3V;逻辑“1”的输入电平为 - 3V;逻辑“0”的输出电平为 +5V +15V;逻辑“1”的输出电平为 - 5V - 15V;输出短路电流为0. 5 A;驱动器转换速率为 新建工程”菜单,如图5.2所示。图5.2 新建一个工程文选择工程文件要存放的路径,输入工程文件名 LED,最后单击保存。如图5.3所示。图5.3 选择工程文

24、件存放路径在弹出的对话框中选择 CPU 厂商及型号。如图5.4所示。图5.4 选择CPU厂商选择好Atmel 公司的 AT89S51后,单击确定。如图5.5所示。图5.5 选择CPU型号在接着出现的对话框中选择“是”。如图5.6所示。图5.6 确认对话框新建一个 C51 文件,单击左上角的新建文件 如图5.7所示。图5.7 新建一个C51文件保存新建的文件,单击SAVE如图5.8所示。 图5.8 保存文件在出现的对话框中输入保存文件名MAIN.C,再单击“保存”,如图5.9所示。图5.9 输入保存文件名保存好后把此文件加入到工程中方法如下:用鼠标在 Source Group1 上单击右键,然后

25、再单击 Add Files to Group Source Group 1 如图5.10所示。 图5.10 将文件加入到工程中选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击 Close 。如图5.11所示。图5.11 选择要加入的文件在编辑框里输入代码,如图5.12所示。 图5.12 在编辑框中输入代码到此我们完成了工程项目的建立以及文件加入工程,现在我们开始编译工程如下图5.13和5.14所示:我们先单击编译, 如果在错误与警告处看到 0 Error(s) 表示编译通过 。 图5.13 点击编译图5.14 查看错误与警告框生成 .hex 可烧写文件,先单击Opti

26、ons for Target,如图5.15所示。图5.15 单击Options for Target我们单击输出,选中创建HEX 文件。再单击“确定”。在图5.16所示。图5.16 选择创建HEX文件打开文件夹实验1,查看是否生成了HEX文件,如果没有生成,在执行一遍步骤10到步骤12,直到生成。生成的hex文件如图5.17所示。图5.17 查看HEX文件是否成功生成5.1.2 STC_ISP_V480的环境配置STC_ISP_V480是下载程序用的软件,在运行STC_ISP_V480下载软件之前,应该先给出ISP的C程序源代码ISP.C.要注意的是:此程序是在Keil中要建立工程文件,包含I

27、AP.C函数,并且在IAP.C和ISP.C中都要保留STC的定义。传入用户代码时,需要与计算机进行通信,一般采用RS232串行通信,数据协议采用简单协议。具体的使用方法:一、先把学习实验板和计算机连接好(接好串口线和电源)。二、打开STC-ISP v480,在MCU Type栏目下选中单片机,如STC89C52RC:根据9针的数据线连接情况选中COM端口,最好把波特率适当下调一些,按图5.18所示选中各项。图5.18 STC-ISP v480的界面图三、先确认硬件连接正确,按下图点击“打开文件”并在对话框内找到您要下载的HEX文件。四、选中两个条件项,这样可以使您在每次编译KEIL时HEX代码

28、能自动加载到STC-ISP,点击“Download/下载”。五、手动按下电源开关便即可把可执行文件HEX写入到单片机内,图5.19所示是正在写入程序截图。图5.19单片机程序下载截图5.2功能模块实现病人呼救系统流程如图5.20所示。图5.20 病人呼救系统流程图核心代码,其格式如下:uchar keycode;T0_init();/bit flag_dir = 0; /初始状态为0,没有外部中断发生/enable_int1();/外部中断1初始化,每次程序启动调用一次/flag_int1 = 0;/初始化为0,没有外部中断发生while(1) while(isKeyInput() = 0);

29、/等待按键按下delayms(10);/延时去抖if(isKeyInput() != 0)/说明键真正按下 keycode = key_identify();/获取键号wait_key_release();/等待按键松开move(keycode);beepOn();/蜂鸣器响提醒护士delayms(800); beepOff(); /lcd显示要服务的内容unsigned char i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(0 x01);/设置显示位置i = 0;while(dis1i != 0)lcd_wdat(dis1i);/显示字符i+;lcd_pos

30、(0 x42);/ 设置显示位置i = 0;while(dis2i != 0)lcd_wdat(dis2i);/ 显示字符i+;5.3 系统集成与调试应用单片机系统的软件调试可循的规律也并不是很多,所以调试时更多的是凭经验。软件调试的主要任务是排查功能或逻辑错误。 通过在KEIL_C编译器下调试程序,一般有两种错误,其中一种是逻辑错误,也就是语法错误,这种错误是很容易被发现的,而另外一种就是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。通过这两方面错误,不断地调试,以及对各模块的调试,最后组成一个完整的程序。本系统初期逻辑错误甚少。只是当病人按下

31、呼救和服务类型按钮里,液晶屏不能及时显示所需服务类型。经过不断的调试后,最终实现全部功能。所完成实物如下图5.21所示。图5.21 最终实物图大连东软信息学院毕业设计(论文)第6章系统测试本设计的病人呼救系统是应用51单片机,采用数字、模拟电路的一些基础原件来实现安装方便实用的系统。当有病人进行呼叫时,系统会自动先处理具有优先级别的病房的编号,同时通过蜂鸣器进行报警。另外在产生信号的同时系统会通过数码管显示呼叫病人的病房编号。这样医护人员可以根据显示的病床编号病人进行救治。当有多个病人同时进行呼叫时,优先显示先按下求助信号的病床号。6.1 测试概述启动电源,数码管显示显示初始状态,在按下1号床

32、位键并按下对应服务类型时,数码管第五位显示1,液晶显示屏则显示患者所需的服务类型,蜂鸣器报警;复位后,再按下2号床位键和对应服务类型时,数码第五位显示2,同时液晶显示屏会显示患者所需的服务类型,蜂鸣器报警;如果按下复位键,报警停止;如果依次按下1,2,3,4,5号床位键,数码从左到右依次显示1,2,3,4,5号床位,液晶显示屏则显示最后一位患者所需的服务类型。6.2 测试用例6.2.1 数据发送图片反映了控制电路的可行性,按复位后则去掉当前界面显示房间的房间号和对应所需服务类型。综上所述,本系统实现了主要功能:显示病床号,亮报警提醒值班人员,若有多个病床同时呼叫,则显示最先按下的病床号,确保信

33、息不丢失,待值班人员处理呼叫信息。通过PROTUES ISIS软件仿真,使对应的软件仿真模块变成可视化的控制界面。能达到上述结论,满足课题目目的,达到要求。6.2.2 LCD显示LCD系统初始界面如图6.1所示。图6.1 系统初始界面6.2.3 LED显示 键入1,2,3,4,5床位键后LED显示界面如图6.2所示。图6.2 键入1,2,3,4,5床位键后界面大连东软信息学院毕业设计(论文)第7章结论当本课题介绍了一种基于单片机的病人呼叫系统的设计。给出了硬件和软件的设计方案。通过调试,最终实物可以实现功能,达到了设计的目的。但由于经验不足,电路硬件、软件部分还有不够完善的地方,在今后的学习中

34、会进一步改进。 总体来说,最重要的是在本课题的设计过程中我学到了很多知识,受益匪浅。了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程和利用单片机设计电路的方法。对一块电路板的设计、焊板、调试、改进等整个过程,有了更深入的理解和掌握。这些对我今后的学习和工作都会有很大帮助的。伴随着如今计算机技术和集成电路的迅猛发展,使得电子仪器的整体水平也在发生巨大的改变,智能仪器已经逐步取代传统的仪器。智能仪器的核心部件就是单片机,因其性价比极高从而被广泛的得到应用和发展,这样也大大加快了智能仪器的发展速度。在做毕业设计的过程中,虽然碰到了不少的困难,但是在老师的指导以及自己

35、的努力下,终于取得了一定成果。一、 主要工作及结论 1、熟悉AT89C51单片机功能及工作特性,掌握其接口扩展方法。 2、对键盘和显示器进行选型比较,得出各种型号优劣比。 3、采用面向对象的思想,分层次、分模块构建设计的总体框架。 二、 存在的问题 1、电子电路的设计中对各种影响因素的考虑不够完全。 2、系统设计不够优化,有待改善。如显示屏上数字有闪烁迹象,显示程序仍可完善;又如系统液晶屏可增加同时显示患者需求,以方便医护人员及时处理急救病人。 3、没有扩展更多电路,如日历时钟电路、通讯接口电路等功能。 这些都为我今后的学习和工作留下了积极的动力和影响。参考文献1 廖常初.现场总线概述J,电工

36、技术,19992 樊昌信等.通信原理M,国防工业出版社,20013 阎石.数字电子技术基础M,高等教育出版社,19894 张洪润.电子线路与电子技术M,清华大学出版社,20055 何希才.新型集成电路及应用实例J,科学出版社,20026 王松武等.电子创新设计与实践M,国防工业出版社,20057 李广弟.单片机基础M,北京航空航天大学出版社,19948 楼然苗.颖电子模块应用手册J, 北京机械工业出版社,20059 李建忠.单片机原理及应用M,西安电子科技大学出版社,200210 赖寿宏.微型计算机控制技术M,北京机械工业出版社,200311 李朝青.单片机原理及接口技术M,北京航空航天大学出

37、版社,199812 李华等.单片机实用接口技术M,北京北京航空航天大学出版社,200213 黄智伟等.全国大学生电子设计竞赛训练教程M,电子工业出版社,200414 楼然苗,李光飞.单片机课程设计指导M,北京航空航天大学出版社,200715 马忠梅.单片机的C语言应用程序设计M,北京北京航空航天大学出版社,199816 周航慈.单片机应用程序设计技术”(修订版)M,北京航空航天大学出版社,200217 Hermarn K P. Neubert. Instrument Transducers-An Introduction to their Performance and Design.2nd

38、EdM,Clarendon Press, Oxford.,197518 Kennes C,W M Wu,L Bhatnagar et al. Anaerobic dechlorination and mineralization of PCP and 2,4,6-trichlorophenolM, the methanogenic PCP-degrading granules Volume 44,200419 Nishino S F,Paoli G C,Spain J C. Aerobic degradation of dinitroto-luenes and 23 pathway for b

39、acterial degradation of 2M,6-dinitrotoluene Volume 66,200620 蒋小三.基于单片机的病房呼叫系统设计D,滁洲学院,2013致 谢首先,感谢学校多年来对我的培养。为我们营造了一个良好的学习氛围,使我们身心愉快的投入到学习中。其次,要感谢我的指导老师图雅老师的悉心指导,图老师治学严谨,认真负责,平易近人。从毕业设计工作的选题,到毕业论文的撰写和修改,给我提供了许多十分有益的指导和建议,帮助我开拓思路,深入研究。同时,也向所有教导和关心过我的领导老师致以最诚挚的谢意!衷心的希望老师们都能够事业顺利,桃李芬芳!然后,要感谢身边的同学对我的帮助,

40、他们使在设计过程中给我提供了许多宝贵提示。我很荣幸能够学习并生活在这个向上,团结,温暖,健康的集体中,在这四年的学习生涯中给我留下了终生难忘的记忆。还要感谢那些默默奉献的网友们,如果没有他们提供那些书本上没有的芯片资料、丰富例程,我不可能顺利完成本次设计。大学生活即将画上圆满的句号,感谢那些朝夕陪伴我生活过的同学们,是你们使我变得成熟和稳重,是你们始终默默的关心我并伴我前行。你们是我这辈子不会忘记的好朋友。最后,感谢我父母的辛勤工作,是你们用汗水换来了我的美好生活,给我提供这么好的学习机会。是你们无私的爱帮助我度过了生活中的种种难关。我就要毕业了,我会努力工作,用实际行动来回报你们对我无微不至

41、的关爱。在这里深深的对你们说一声“谢谢”。向所有评阅论文的老师致以最诚挚的谢意,感谢你们在百忙之中,为我们审阅论文。 非常感谢!附录A 详细代码:#include #include#define uchar unsigned char#define uint unsigned int#define SYSCLK 11059200sbit BEEP = P16;/蜂鸣器对应的端口bit flag_int1;/标志是否有外部中断1发生,=1:有;=0:没有sbit rs = P25;/数据/命令选择sbit rw = P26;/读/写选择sbit ep = P27;/使能信号void T0_ini

42、t(void);/定时器初始化void T0_isr(void); /定时器中断0bit isKeyInput();/有键按下-1;无键按下-0uchar key_identify();/获取键值void wait_key_release();/等待按键松开void delayms(uint i);/延时ms函数void move(uchar KC); /段选移位:原有位左移,将新按键的字型码加入到段选表的最后一位void delay(unsigned char ms);/根据指令周期来延迟,精度稍高些。void enable_int1(void);/外部中断1的初始化void isr_int

43、1(void);/中断服务函数void lcd_init();/lcd初始化void lcd_wdat(unsigned char dat);/void lcd_pos(unsigned char pos);/void lcd_wcmd(unsigned char cmd);/bit lcd_bz();/void beepOn();/蜂鸣器响函数void beepOff();/蜂鸣器关函数uchar WeiXuan5 = 0 xfe, 0 xfd, 0 xfb, 0 xf7, 0 xef;/定义6个LED的位选/对应的二进制:1111 1110,1111 1101,1111 1011,1111

44、 0111, 1110 1111uchar DuanXuan6 = 0 xbf, 0 xbf, 0 xbf, 0 xbf, 0 xbf, 0 xbf;/初值:unsigned char code dis1 = welecome!;unsigned char code dis2 = ;uchar code ZiXing = /定义16个按键的字型码:0f0 xc0, 0 xf9, 0 xa4, 0 xb0,0 x99, 0 x92, 0 x82, 0 xf8,0 x80, 0 x90, 0 x88, 0 x83,0 xc6, 0 xa1, 0 x86, 0 x8e;void main()ucha

45、r keycode;T0_init();/bit flag_dir = 0; /初始状态为0,没有外部中断发生/enable_int1();/外部中断1初始化,每次程序启动调用一次/flag_int1 = 0;/初始化为0,没有外部中断发生while(1)while(isKeyInput() = 0);/等待按键按下delayms(10);/延时去抖if(isKeyInput() != 0)/说明键真正按下keycode = key_identify();/获取键号wait_key_release();/等待按键松开move(keycode);beepOn();/蜂鸣器响提醒护士delayms

46、(800); beepOff(); /lcd显示要服务的内容unsigned char i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(0 x01);/设置显示位置i = 0;while(dis1i != 0)lcd_wdat(dis1i);/显示字符i+;lcd_pos(0 x42);/ 设置显示位置i = 0;while(dis2i != 0)lcd_wdat(dis2i);/ 显示字符i+;void move(uchar KC)uchar i;for(i=0; i4; +i)DuanXuani = DuanXuani+1;DuanXuan4 = ZiXing

47、KC;void T0_isr(void) interrupt 1static uchar position = 0;/位选下标:05TH0 = (8192 - SYSCLK/12/300) / 32;/重装计数初值TL0 = (8192 - SYSCLK/12/300) % 32;P0 = DuanXuanposition;P2 = WeiXuanposition+;if(position = 5) /五个led数码管position = 0;void T0_init(void)TMOD = 0 x00;/定时器0工作方式0:13位计数TH0 = (8192 - SYSCLK/12/300)

48、/ 32;TL0 = (8192 - SYSCLK/12/300) % 32;EA = 1;ET0 = 1;TR0 = 1; bit isKeyInput()/判断有无键按下:有-1;无-0uchar temp;P3 = 0 x0f;/P2=0000 1111,让列线(高4位)输出全0,行线(低4位)输出全1temp = P3;/读取P2口temp &= 0 x0f;/提取行线值(低4位),消除列线影响(高4位)if(temp = 0 x0f)/行线全1:说明没有键按下return 0;else return 1;/行线不全1:说明有键按下uchar key_identify()/识别按键,获取键号uchar hang_code = 0;/定义初始行号:0uchar lie_code = 0

温馨提示

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

评论

0/150

提交评论