资源目录
压缩包内文档预览:(预览前20页/共39页)
编号:34750515
类型:共享资源
大小:1.11MB
格式:ZIP
上传时间:2019-12-27
上传人:遗****
认证信息
个人认证
刘**(实名认证)
湖北
IP属地:湖北
40
积分
- 关 键 词:
-
病床
呼叫
系统
设计
- 资源描述:
-
病床呼叫系统设计,病床,呼叫,系统,设计
- 内容简介:
-
毕业论文(设计)课题名称 病床呼叫系统设计 姓 名 管新宇 学 号 02 专 业 工业电气自动化 指导老师 鲍卓娟 无锡职业技术学院 日 期: 2012年 6 月 20 日摘 要本课题运用PLC对病床紧急呼叫系统进行改造,通过PLC可以省去烦琐的配线,使整个程序更为简单。随着控制系统的复杂性与微电脑的发展,我们普遍使用可编程控制器PLC来控制一些较为复杂的线路,这样既可以减少配线而且可靠性高,使用维修方便。病床紧急呼叫系统通过PLC的改造为医院和病人之间架起一座桥梁,使病人觉得医院更方便更人性化,也使得医生对病人的治疗更及时有效。关键字:PLC 数码管 七段码译码指令 区间复位指令第一章 绪论病床呼叫系统的应用在实际生活中运用较为广泛,在医院尤为重要。在医院病房中如果病人有什么不适或其他需要帮忙的地方就需要叫护士或医生,这时就可以按医院的病床紧急呼叫系统的按钮,医生或护士看到其值班室的灯亮,再通过数码管显示的病床号就可以快速地去病人的病房进行处理,提高了效率。这个系统大大方便了病人,也为医院为病人治疗缩短了不必要的时间。病床呼叫系统通过PLC的改造为医院和病人之间架起一座桥梁,使病人觉得医院更方便更人性化,也使得医生对病人的治疗更及时有效。这次课题虽然只是简单的呼叫系统,可是我能感觉到呼叫系统的应用在实际生活中变得至关重要,也是个值得研究的课题。病床呼叫系统在实际生活中的应用在工作实践中,对呼叫系统的功能作了更进一步的挖掘,以满足不同层次客户的实际需要。比如,有些单位推出多种具有不同功能的产品,供用户选择,有的只具有呼叫功能,有的具有呼叫和对讲功能,有的具有呼叫、对讲、LED、插卡槽等多种组合功能。不同功能的产品价位上也有比较大的差别,用户可根据自己的实际情况选用不同的产品。在产品设计上,制造商站在使用者的角度思考产品功能,如设计了一个带声光显示、可拉可按、并且安装方便的呼叫按钮,主要是考虑到有些重症病人或体衰老人,按或拉了呼叫按钮后,都希望护理人员尽快到达,但如何知道呼叫信号已经传送出去了呢?在呼叫按钮上加载了5V的电压,当呼叫信号接通时,呼叫床位提示灯亮,使用者一看心里就放心了,知道信号已经送了出去。之所以在这个呼叫按钮上设计了光电信号,也是考虑到夜间护理对象使用时,呼叫按钮能够发光,使那些病人看到光亮心里就放心许多。在实际工作中还经常遇到这样的情况,即护理对象呼叫后,护理站的护理员需要尽快赶到现场,如果事情不大,护理员就可以自己解决掉,但如果出现危急情况,需要马上通知医生到达现场,这时该如何做到呢?时下大部分医院都是采取“直接找人”的方法,即护士自己或通知其它护士尽快寻找医生,如果是一个护士值班,发生紧急情况时,就出现了难题,即假如护士自己跑去找医生,可能病人因得不到紧急监护而发生危险,不去找医生,自己又无法实现紧急救治,往往延误抢救时机。考虑到这种情况,我们在呼叫系统内增加了更加细化的功能,即操作面板上有“叫医生”按钮,当护士感觉到有必要叫医生时,只要到门口的操作面板上按一下“叫医生”按键,此时,呼叫医生的程序启动,系统会立即在医生值班室的监视器上发出呼叫,或通过无线寻呼机通知医生,这样确保护士不去直接找人的情况下医生就可自己识别呼叫源,从而快速到位。同样,如果找行政人员,也是只要在操作面板上按一下“叫行政”按键,则行政人员办公室的监视器及寻呼机就会收到呼叫信号。“叫医生”、“叫行政”等功能就是这套呼叫系统的“分级呼叫”的基本思想。目前,呼叫系统以布线方式,可以分成多种,目前市面上比较多的是三种,一种是星形结构布线,这种产品的优点是系统稳定,一个呼叫按钮出现故障,不会影响到其它呼叫按钮的工作,但缺点是布线比较麻烦。另一种是采用总线制,这种呼叫产品的优点是布线简单,施工容易,但缺点是故障率高,一旦某一节点出现故障,则整个呼叫系统将陷入瘫痪。第三种是采用无线技术,这种呼叫系统的优点是安装容易,改变位置方便,但缺点是信号受外界影响比较严重,比如气候不好时,信号传递就会出现差错,而且分机与主机的直线距离不能太远,否则信号传递中出错较多。还有一种无线呼叫,就是户外移动呼叫,当老人在户外活动时,如果感觉身体不适,就按一下随身携带的无线按钮,则信号传递出去,监护中心可以收到这个信号,然后解码定位,从而实现呼叫目的。这种呼叫系统成本比较高,并且比较适合空旷场合,而且呼叫器需要经常充电,不太方便。我们经常还听说有一种社区呼叫系统,即在现有的电话线路上安装一个盒子,当有需要时,按一下按键,信号就通过电话传递出去,很快就有人员上门提供服务。其实这种呼叫系统适用于社区,其基本原理是利用现有的电话交换技术,当按下呼叫按钮时,系统会自动启动一个拨号动作,拨某一个固定的号码,而该号码就是服务中心的号码,服务中心可以通过解码识别出呼叫源的具体位置,从而实现呼叫目的。第二章 病床呼叫系统的整体结构本次设计的系统的整体结构由plc部分、护士站显示部分、用户按钮部分三部分组成。1、按钮部分采集信号,当病人按下按钮时,将信号传送到plc部分。2、PLC部分的作用是接受用户部分的信息,经过处理后再反馈给显示部分。3、显示部分接收到信息后两个数码管相应的输出序号,以便护士了解确认。整体框架图 如图2-1所示。PLC一号房二号房三号房四号房护士站数码管显示按钮按钮按钮按钮图2-1第三章 FX 系列PLC简介3.1.1 PLC的定义可编程序控制器(Programmable Controller)原本应简称PC,为了与个人计算机专称PC相区别,所以可编程序控制器简称定为PLC(Programmable Logic Controller),但并非说PLC只能控制逻辑信号。PLC是专门针对工业环境应用设计的,自带直观、简单并易于掌握编程语言环境的工业现场控制装置。 传统继电器控制盘的配线复杂又不灵活,随着控制系统的复杂性与微电脑的发展,传统继电器控制配电盘已不符合时代的需求,取而代之的为工业界普通使用的可编程逻辑控制器以下简称可编程控制器(PLC Programmable Logic Controller)。PLC是一种数字电子设备,用内存来存储程序指令,以执行逻辑、顺序、计时、技术及算数运算等机械控制的功能。3.1.2 PLC主要的特点1、高可靠性(1)所有的I/O接口电路均采用光电隔离,使工业现场的外电路与PLC内部电路之间电气上隔离。(2)各输入端均采用R-C滤波器,其滤波时间常数一般为1020ms.(3)各模块均采用屏蔽措施,以防止辐射干扰。(4)采用性能优良的开关电源。(5)对采用的器件进行严格的筛选。(6)良好的自诊断功能,一旦电源或其他软,硬件发生异常情况,CPU立即采用有效措施,以防止故障扩大。(7)大型PLC还可以采用由双CPU构成冗余系统或有三CPU构成表决系统,使可靠性更进一步提高。3.1.3 PLC的功能1、逻辑控制2、定时控制3、计数控制4、步进(顺序)控制5、PID控制6、数据控制:PLC具有数据处理能力。7、通信和联网8、其它:PLC还有许多特殊功能模块,适用于各种特殊控制的要求,如:定位控制模块,CRT模块。3.1.4 PLC的基本组成PLC基本组成包括中央处理器(CPU)、存储器、输入/输出接口(缩写为I/O,包括输入接口、输出接口、外部设备接口、扩展接口等)、外部设备编程器及电源模块组成,见图1。PLC内部各组成单元之间通过电源总线、控制总线、地址总线和数据总线连接,外部则根据实际控制对象配置相应设备与控制装置构成PLC控制系统。 请登陆:输配电设备网 浏览更多信息 PLC的基本组成3.1.5 PLC的选型 因每种品牌配置不一样,所以它的选型方式也有所差异,下面着重介绍大家常用的大众品牌三菱plc的选型方法,大家可以做一个参考来选择使用三菱PLC。(一)分析被控对象并提出控制要求详细分析被控对象的工艺过程及工作特点,了解被控对象机、电、液之间的配合,提出被控对象对三菱PLC控制系统的控制要求,确定控制方案,拟定设计任务书。(二)如何确定三菱PLC的输入/输出设备根据系统的控制要求,确定系统所需的全部输入设备(如:按纽、位置开关、转换开关及各种传感器等)和输出设备(如:接触器、电磁阀、信号指示灯及其它执行器等),从而确定与三菱PLC有关的输入/输出设备,以确定PLC的I/O点数。(三)如何选择三菱PLC三菱 PLC选择包括对三菱PLC的机型、容量、I/O模块、电源等的选择,详见本章第二节。 (四)三菱plc分配I/O点并设计三菱PLC外围硬件线路因本课题需要使用24个点输出,所以选用三菱fx2n-48mr比较安全实惠。3.2 数码管介绍图4-1数码管是一种半导体发光器件,其基本单元是发光二极管。(实物参照图片4-1)4.2.1数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。4.2.2数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,h的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。4.2.3数码管应用数码管是一类显示屏 通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字 可以显示 时间 日期 温度 等索用可以用数字代替的参数 由于它的价格便宜 使用简单 在电器 特别是家电领域应用极为广泛 空调 热水器 冰箱 等等 绝大多数 热水器用的都是数码管 其他家电 也用液晶屏与 荧光屏 4.2.4 数码管的检测找公共共阴和公共共阳首先,我们找个电源(3到5伏)和1个1K(几百的也欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。在本课题的设计中使用共阴极的七段数码管的显示。第四章 病床呼叫系统的控制方案4.1 病床呼叫系统的工作流程 当病人按下呼叫按钮,呼叫指示灯亮提示病人已呼叫成功。这时护士站的两个数码管分别显示呼叫病人的房号和床号,当护士看到提示,立即按下复位按钮,表示已经知道呼叫者的位置(这时其他病人也可以进行对护士的呼叫),知道呼叫者位置的护士对相应房号床号的病人采取相应措施。 4.2 I/O分配表输入输出一号房1号床呼叫按钮X1一号房1号床提示灯Y02号床呼叫按钮X22号床提示灯Y1二号房1号床呼叫按钮X3二号房1号床提示灯Y22号床呼叫按钮X42号床提示灯Y3三号房1号床呼叫按钮X5三号房1号床提示灯Y42号床呼叫按钮X62号床提示灯Y5四号房1号床呼叫按钮X7四号房1号床提示灯Y62号床呼叫按钮X102号床提示灯Y7护士站重置按钮X0显示房号七段灯Y10-Y17显示床号七段灯Y20-Y27图4.24.3 接线图图4.34.5 梯形图4.6 指令表结论病床紧急呼叫系统的应用可以使医院与病人之间的距离变得更进近,医院的治疗更人性化,通过PLC对其的改造可以省去烦琐的配线,使整个程序更为简单。随着控制系统的复杂性与微电脑的发展,我们普遍使用可编程控制器PLC来控制一些较为复杂的线路,这样既可以减少配线而且可靠性高,使用维修方便。病床紧急呼叫系统通过PLC的改造为医院和病人之间架起一座桥梁,使病人觉得医院更方便更人性化,也使得医生对病人的治疗更及时有效。 通过这次课题的实际,对plc的工作原理和应用有了更深的了解,在这次毕业设计的过程中,自己所学的知识得到了应用,进而专业知识面得到了更大的进展,分析问题和解决问题的能力得到了提高。查阅书籍、资料的能力也有了提高。致谢在做这次毕业设计过程中我首先要感谢我的导师鲍老师,感谢鲍老师在这些日子对我悉心教导,她为我们操了好多心思,我由衷的感谢她。我按照论文的提纲,开始动笔写论文。在这次毕业设计中,我觉得从与老师的沟通过程中,我能学到很多东西,老师可以从另外一个角度来启发我,给了我很多鼓励。同时通过这次写毕业论文,还提高了我对Office基本操作的熟练程度。再次感谢我的指导老师鲍老师的细心指导。参考文献【1】 孙振强. 可编程控制器原理及应用教程 北京:清华大学出版社【2】 钟肇.可编程控制器原理及应用 华南:理工大学出版社【3】 范次猛.可编程控制器原理与应用 北京:北京理工大学【4】 丁庆广.可编程控制器原理及系统设计 北京:清华大学出版社【5】 江思敏.Protel电路设计教程 北京:清华大学出版社【6】 吴中俊. 可编程序控制器原理及应用北京:机械工业出版社【7】 刘载文.梯控制系统.北京:电子工业出版社【8】 陈家盛.电梯结构原理及安装枝术 北京:机械工业出版社【9】 徐蹲.可编程序控制器应用基础 山东:科学技术出版社【10】 张汉杰编著.现代电标控制技术 哈尔滨:工业大学出版杜第21页无锡职业技术学院毕业设计(论文)任务书系:电气系 专业:电气自动化 班级:70702 学生姓名管新宇指导教师鲍卓娟职称高级讲师课题名称课题工作内容病床呼叫系统的应用在实际生活中运用较为广泛,在医院尤为重要。本课题运用PLC对病床紧急呼叫系统进行改造,通过PLC可以省去烦琐的配线,使整个程序更为简单。使用可编程控制器PLC来控制一些较为复杂的线路,这样既可以减少配线而且可靠性高,使用维修方便。病床紧急呼叫系统通过PLC的改造为医院和病人之间架起一座桥梁。指标目标要求1.学习PLC的基本结构,工作原理,组成系统和功能。2.可编程控制器机型的选择。PLC输入/输出口(I/O)分配表。3.编写PLC程序,对病床呼叫系统的实际设计与改造。进程安排第1周 选题、调研和资料收集第2周 确定课题方案,进行课题设计第3周 进行控制系统的设计第4周 进行软件程序的设计第5-6周 完成撰写论文第7周 检查、修改并打印论文第8周 答辩主要参与文献孙振强. 可编程控制器原理及应用教程 北京:清华大学出版社钟肇.可编程控制器原理及应用 华南:理工大学出版社丁庆广.可编程控制器原理及系统设计 北京:清华大学出版社江思敏.Protel电路设计教程 北京:清华大学出版社徐蹲.可编程序控制器应用基础 山东:科学技术出版社张汉杰编著.现代电标控制技术 哈尔滨:工业大学出版杜地点无锡技师学院 起止日期2012.05.07 2012.05.29系主任: 指导教师:鲍卓娟年 月 日 年 月 日S0S21Y1T0 K5T1 K10SEGDP K1 K2Y10SEGDP K1 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20M8002T0T0T0T1T1S22Y2T0 K5T1 K10SEGDP K1 K2Y10SEGDP K2 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1S23Y3T0 K5T1 K10SEGDP K2 K2Y10SEGDP K1 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1S24Y4T0 K5T1 K10SEGDP K2 K2Y10SEGDP K2 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1X1X2X3X4X5X6X7X10X1X2X3X4X5X6X7X10X1X2X3X4X5X6X7X10X1X2X3X4X5X6X7X1044流程图图4.4S25Y5T0 K5T1 K10SEGDP K3 K2Y10SEGDP K1 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1S26Y6T0 K5T1 K10SEGDP K3 K2Y10SEGDP K2 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1S27Y7T0 K5T1 K10SEGDP K4 K2Y10SEGDP K1 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1S28Y10T0 K5T1 K10SEGDP K4 K2Y10SEGDP K2 K2Y20SEGDP K1 K2Y10SEGDP K1 K2Y20T0T0T0T1T1X1X2X3X4X5X6X7X10X1X2X3X4X5X6X7X10X1X2X3X4X5X6X7X10X1X2X3X4X5X6X7X10目 录绪论1第一章 绪论11.1 病床呼叫系统在实际生活中的应用1第二章 病床呼叫系统的整体结构3第三章 FX 系列PLC简介43.1.1 PLC的特点43.1.2 PLC的主要特点43.1.3 PLC的功能53.1.4 PLC的基本组成 53.1.5 PLC的选型63.2 数码管介绍73.2.1数码管的分类73.2.2数码管的驱动方式73.2.3数码管应用83.2.4数码管的检测8第四章 病床呼叫系统的控制方案94.1 病床呼叫系统的工作流程94.2 I/O分配表94.3 接线图104.4 流程图104.5 梯形图134.6 指令表17结论21致谢21参考文献22武汉理工大学能力强化训练课程设计说明书能力拓展训练任务书学生姓名: 梅浪奇 专业班级: 自动化1002班 指导教师: 孙晓明 工作单位: 自动化学院 题 目: 病床呼叫系统设计 初始条件:计算机、Max+plus、EDA实验箱。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计病床呼叫系统,使用3X8矩阵开关分别模拟医院病房与病床位数,当某开关按下时,系统显示呼叫的病房与病床、呼叫的时间。处理完毕可清除该呼叫显示记录。提高部分:同时有数个病床呼叫时,可以循环呼叫记录显示。任务安排:(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述,写出设计方案结构图。(4) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5) 调试记录及结果分析、(6) 总结(7) 参考资料5篇以上(8) 附录:程序清单时间安排:6月24日:安排设计任务;收集资料;方案选择6月25日:程序设计6月2627日:实验室内调试程序并演示6月28日:撰写报告7月1日:交能力拓展训练报告指导教师签名: 孙晓明 2013 年 6 月 24 日系主任(或责任教师)签名: 年 月 日I摘要病房呼叫系统是传送临床信息的重要手段,可将病人的请求快速传送给值班医生或护士,它主要用于协助医院病员在病床上方便地呼叫医务人员,是提高医院和病室护理水平的必备设备之一。让患者需要服务时,只要按一下随身携带的呼叫器,信息立马就能传至护工处.避免没有看护人在时,病人急需服务却无法通知医生的情况.它要求及时、准确、可靠、简便可行。本设计的呼叫系统由按键检测,数据处理,信息显示三部分组成。由C51单片机作为主要控制器,利用液晶显示器作为显示部分,使用3X8矩阵开关分别模拟医院病房与病床位数。病人按下按键时,C51立即获取病人的病房号和病床号,同时采集此时的时间并一起显示在液晶显示器上,当护士看到显示器上病人的信息,并按下清零键后,液晶显示器恢复到初始状态。本系统对键盘的检测采用中断的方式,能够提高系统的立即性和高效性。当同时有数个病床呼叫时,本系统还可以循环呼叫记录显示。关键词:病房呼叫 单片机 中断 液晶显示34目录1设计任务及要求分析11.1 设计任务11.2 任务要求分析12 系统设计和方案选择22.1 设计思路22.2 键盘采集方案选择22.3设计芯片的选择33病床呼叫系统硬件电路设计43.1单片机控制系统硬件设计43.2液晶显示的硬件设计43.3扫描键盘的硬件设计53.4时钟芯片的硬件设计63.4中断电路设计64病房呼叫系统软件设计74.1主程序设计74.2矩阵键盘的中断程序的设计84.3液晶LCD12864驱动程序的设计104.4实时时钟DS1302驱动程序的设计115仿真结果及分析125.1 无病人呼救时的仿真结果125.2 有病人呼救时的仿真结果125.3 有多个病人呼救时的仿真结果126心得体会14参考文献15附录1系统原理图16附录2程序源代码171设计任务及要求分析近年来,随着人们生活水平的不断提高,人们对医疗水平的要求也不断提高,特别是突发情况下病人请求值班医生或护士进行及时诊断或护理,这一环节对提高医院的管理服务质量显得尤其重要,这同时也大大提高了医院医护人员应对突发事件的能力。因此,一种新型临床呼叫仪器的研制成为近些年来的研究热点之一。呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确、可靠、简便可行、利于推广。利用电力线载波通信技术、单片机多机通信和计算机监控管理技术设计的具有呼叫、振铃、显示排队、优先权设定、存储记录等功能的病床呼叫系统,满足了医院的病房管理和护理要求。1.1 设计任务本病床呼叫系统中,使用3X8矩阵开关分别模拟医院病房与病床位数,当某开关按下时,系统显示呼叫的病房与病床、呼叫的时间。处理完毕可清除该呼叫显示记录。当同时有数个病床呼叫时,本系统还可以循环呼叫记录显示。1.2 任务要求分析通过对上述设计任务的分析,可以将之细分为以下几点,最后的调试也将以下面各点为依据。当有病人按下按键时,液晶显示器上显示病人的病房号,病床号,以及按键时的时间。在护士按下清零键后,液晶显示器上内容恢复到初始状态。若在护士按下清零键前有多个病人按键,则液晶显示器上将循环显示各个病人的信息,直到护士按下清零键后,液晶显示器上内容恢复到初始状态。2 系统设计和方案选择2.1 设计思路根据设计要求,该病床呼叫系统利用C51单片机作为核心,外接3X8矩阵键盘,每一个键对应着不同的床位。在没有病人呼叫时,单片机循环等待按键按下;当病人按下床头对应的按键,产生中断信号。单片机收到中断信号后调用中断服务程序识别出呼叫病床的病房号码和床位号码,同时记录当时系统的时间,将呼叫记录通过LCD12864显示出来,护士通过读取屏幕上提示的呼叫信息即可快速的、正确的查出病人的床位,并做相应的准备以及时处理,处理完成后,按下清除按钮,即可清除本次呼叫记录,等待下次呼叫,同时液晶屏幕上再次显示“一切正常”。其结构图如下:单片机键盘液晶显示实时时钟芯片 图2.1 病床呼叫系统结构图2.2 键盘采集方案选择键盘的工作方式应该根据实际应用系统中CPU的工作状况而定其选取的原则是既要保证CPU能及时响应按键操作又不要过多占用CPU的工作时间。通常键盘的工作方式有三种即编程扫描、定时扫描和中断扫描。 1编程扫描方式 编程扫描方式是利用CPU完成其他工作的空余时间调用键盘扫描子程序来检验按键态响应键盘输入。执行键功能程序时CPU不再享有键输入要求直到CPU重新扫描键盘为止。 2定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次她利用单片机内部的定时器产生一定时间如20ms的定时定时时间到产生定时器溢出中断。CPU在中断服务程序中键盘进行扫描并在有键按下时识别出该键并保存键号然后在中断服务程序或主程序中执行该键的功能程序。 3中断扫描方式 中断扫描方式就是当按键有按下时,产生中断信号,CPU收到中断信号后就执行相应的中断服务子程序响应该按键,处理完后CPU又开始循环等待下一次按键按下。当采用前两种键盘描方式时,无论是否有键按下CPU都要定时扫描键盘而单片机应用系统工作时并非经常需要键盘输入。因此CPU经常处于空扫描状态,浪费CPU大量时间。CPU不扫描键盘而有键按下时通过相应电路产生中断请求,CPU响应中断,执行键盘扫描子程序并识别键号。 所以本设计中采用中断扫描方式采集键盘信息。2.3设计芯片的选择C51单片机:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的CPU、RAM、ROM、多路I/O口和中断系统、定时器/计数器等功能集成到一块芯片上的一个小系统,通过编写程序下载到单片机的程序存储器以实现不同的功能。液晶显示器LCD12864:相对于数码管、LED二极管点阵等,液晶显示具有可以实现汉字的显示,硬件电路连接比较简单等优点。3病床呼叫系统硬件电路设计3.1单片机控制系统硬件设计单片机控制系统功能是:键盘数据采集并保留采集结果、控制液晶显示设计要求的内容、读取实时时间,并作适当的数据处理。该控制系统中单片机AT89C51的P0,P1,P2及P3.0,P3.1接口作普通I/O使用,其中P0口作为LCD12864的数据传输口,P2.0P2.5口的作为其控制端口,P2.6、P2.7、P3.0以及P1口为键盘的行列口,P3.0作为清除按键的数据输入口。P3.2作为外部中断信号输入口。P3部分口与时钟芯片DS1302相连实现时间的通信。具体电路图显示如图3.1所示。图3.1 单片机控制系统电路图3.2液晶显示的硬件设计液晶显示的功能包括:没有病人呼叫时,显示“一切正常”;当有病人呼叫时,显示病人的具体位置和呼叫的时间、日期。通用型LCD12864共有18个引脚,其中DB7DB0是连接控制器的数据总线,其他的引脚中6根控制线,另外还有电源线,具体连接见图3.2。其中上拉电阻是由于P0口作普通口时内部没有上拉电阻。图3.2液晶LCD12864电路图3.3扫描键盘的硬件设计键盘输入的功能:每个按键对应着一张病床,由3X8矩阵键盘组成。该矩阵键盘的总共需要11个接口,其中列分别与单片机P2.6、P2.7、P3.0口相接,行占用了整个P1口。具体连接如图3.3所示。图3.3 3X8矩阵键盘3.4时钟芯片的硬件设计时钟芯片DS1302有两个电源引脚,VCC1和VCC2,其中VCC1是主电源,VCC2是备份电源。当VCC2VCC1+0.2V时,由VCC2向DS1302供电,当VCC2VCC1时,由VCC1向DS1302供电,以防止系统掉电时芯片内部的数据不会丢失。其通信引脚有3个,另外外接32.768KHz晶振是为芯片提供计时脉冲。其连接电路图如图3.4所示。图3.4 时钟芯片电路图3.4中断电路设计若系统初始化时将L1,L2,L3设置为高电平,P0口设置为低电平,则当有按键按下时,L1,L2,L3会有一个变为低电平。同样当按下清除键时,CLEAR也会为低电平。这样通过一个4输入与门连接到P3.2上即可实现对键盘的中断检测。其连接电路图如图3.5所示。图3.5 中断电路图4病房呼叫系统软件设计对于一个完整的设计,除了需要设计硬件电路外,还需要根据功能需求设计要求设计一个运行高效、冗余指令少、稳定性强的软件系统。在这一块的完成上,我们采用的主要是各个子程序设计,主函数只需要做简单的数据处理和各个子程序的调用,从而逐步完成题目的全部要求。4.1主程序设计主程序主要是对各子程序,中断服务子程序进行初始化,并循环显示病人信息。其流程图如图4.1所示。图4.1主程序流程图主程序设计如下:void main()uchar i;init_LCD();init1302();set_line(0);clear_display();EA=1;EX0=1;INT0=1;P1=0x00;L1=L2=L3=1;while(1)for(i=0;it;i+)key_display(i);delay(1000);4.2矩阵键盘的中断程序的设计矩阵键盘的中断程序主要是对按键的扫描以实现对按键的键号识别,同时对键号对应的病房,病床号以及按键的时间进行存储。主函数通过调用存储的数据便可实现病房信息的循环显示。其设计流程图如图4.2所示。需要说明的是,在此中断程序中抖动的识别可以通过延时一段时间后再对L1,L2,L3及CLEAR的高低电平进行判断来实现,若延时后仍然有低电平则不是抖动而是真的有按键按下。矩阵键盘的中断程序设计如下:void int0( ) interrupt 0 using 0uchar i;EX0=0;delay(5);if(L1&L2&L3)!=1)if(L1=0)room_num=1;else if(L2=0)room_num=2;elseroom_num=3;P1=0xff;L1=L2=L3=0;for(i=0;i8;i+)if(P1=tablei)bed_num=i+1;break;numt0=room_num;numt1=bed_num;timet0=read_1302(0x81);timet1=read_1302(0x83);timet2=read_1302(0x85);timet3=read_1302(0x87);timet4=read_1302(0x89);timet5=read_1302(0x8d);t+;P1=0x00;L1=L2=L3=1; if(CLEAR=0) clear_display(); EX0=1;图4.2矩阵键盘的中断程序流程图4.3液晶LCD12864驱动程序的设计编写液晶LCD12864驱动程序前首先要对系统中用到的汉字,数字以及特殊字符的数据组进行设计。针对液晶驱动程序主要考虑以下的编写:1、void read_busy() 读忙函数2、void write_LCD_command(uchar value) 写指令函数3、void write_LCD_data(uchar value) 写数据函数4、void set_page(uchar page) 设置页5、void set_line(uchar startline) 设置起始行6、void set_column(uchar column) 设置起始列7、void setonoff(uchar onoff) 开、关显示(0开,1关)8、void selectscreen(uchar screen) 选屏函数(00全屏01左半屏10右半屏)9、void clearscreen(uchar screen) 清屏函数10、void init_LCD() 初始化函数11、void display(uchar ss,uchar page,uchar column,uchar p) 显示汉字函数12、void display1(uchar ss,uchar page,uchar column,uchar p) 显示字符上述函数的具体编写参看附录2。4.4实时时钟DS1302驱动程序的设计由于DS1302是SPI总线驱动方式,它不仅要向寄存器写入控制字,还需要读取相应的寄存器数据,所以要想与其通信,首先得了解DS1302控制字,而且SPI总线进行数据通行时只有两条数据线,即SCLK和RST,通过不同时刻两条总线的电瓶变化不同可以进行不同的操作。其驱动函数包括:1、void write_byte1302(uchar dat) 写一个字节2、uchar read_byte1302() 读一个字节3、void write_1302(uchar add,uchar dat)写数据4、uchar read_1302(uchar add) 读数据5、void init1302() 初始化上述函数的具体编写参看附录2。5仿真结果及分析在protues和单片机编译软件keil C51中分别完成硬件电路设计和软件系统的设计后,生成HEX文件载入单片机中开始逐步调试程序,经过多次调试,系统能够正常的运行,并能够正确的在液晶屏上显示呼叫病床的病房号和床位号以及系统当时的时间与日期。5.1 无病人呼救时的仿真结果点击“运行”按钮,系统开始运行,并在液晶屏上显示“一切正常”表示没有病人求救,如图4.1所示。图5.1没有呼叫时液晶显示结果5.2 有病人呼救时的仿真结果当某一房间的病人按下求救按钮(如按下2-3键)时液晶屏提示值班人员的显示,如图4.2,左边是DS1302内部系统时间,通过对比可以看出显示时间是定在按键时间的。图5.2 2号房间第5床的病人求救当按下“清除”键后,在没有病人求救的情况下,液晶屏幕会再次出现“一切正常”。与运行开始时的结果是一致的。5.3 有多个病人呼救时的仿真结果当有多个病人同时按键时,液晶显示屏上以一定的时间间隔循环显示各个病人的病房,病床信息以及按键时间。其仿真结果见图5.3,图5.4(这里假设只有两个病人同时按键)。图5.3 2号房间第2床位的病人求救图5.4 3号房间第3床位的病人求救当按下“清除”键后,在没有病人求救的情况下,液晶屏幕会再次出现“一切正常”。与运行开始时的结果是一致的。6心得体会本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。通过对病区的数据采集实现医院医疗人员值班室和病人房之间的通信联系具有使用方便、操作简单等特点。此次设计为有线呼叫系统虽存在布线复杂、维修不便、病房不能与值班室的语音对话等缺陷。但相对于无线呼叫系统而言它的可靠性能高而且不干扰其他医疗设备。如果采用无线传输会节约布线和改造线路的资金为医院节约成本并且及时、简便可行比目前的同类产品更能受到医院及病人的认可有更强的竞争力能大量推广。在系统设计期间,尤其是程序的调试间段出现很多次差错,主要包括LCD12864显示和DS1302部分子程序的错误,这主要是由于自己对LCD12864的显示原理和对DS1302的子函数返回值不熟悉所导致。在设计多病人呼叫循环显示时,我也遇到了许多难题。为了将病人的键号和按键时间及时存储下来,我在主程序外定义了两个无符号整型的数组,并按24个病人的长度进行定义,结果导致数据段内存不够,不能编译。后来将数组改能无符号字符型,并将长度降为10,这样已经可以满足实际需要。修改后程序才能顺利编译运行。通过本次设计不仅让我对医院病床呼叫系统有了进一步的了解,也在熟悉芯片的同时,加强了我在编程方面的技巧。另外,在这次的设计过程中,我不断地查阅资料并请将同学,这让我的自学能力也有了很大的提高。参考文献1李群芳.单片微型计算机与接口技术M.第3版.北京:电子工业出版社,20082窦振中.基于单片机的嵌入式系统式工程设计M.北京:中国电力出版社,20083冯建华。单片机应用系统设计与产品开发M,北京:人民邮电出版社,20044谭浩强.C程序设计(第三版)M.清华大学出版社,20085王巧芝,郑锋,刘瑞国,高学辉.51单片机开发应用从入门到精通M.中国铁道出版社,2011附录1系统原理图附录2程序源代码#include#include#define uint unsigned int#define uchar unsigned char#define LCD_databus P0uchar room_num,bed_num,n,y,r,s,f,m,t=0;uchar num102,time106;uchar code table=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar keyscan();sbit RS=P24; /RS为0命令,为1数据sbit RW=P25; /RW为1写,为0读sbit EN=P22; /使能端sbit CS1=P20; /片选1低电平有效,控制左半屏sbit CS2=P21; /片选2低电平有效,控制右半屏sbit L1=P26;sbit L2=P27;sbit L3=P30;sbit IO=P37;sbit SCLK=P36;sbit RST=P35;sbit CLEAR=P31;sbit ACC0=ACC0;sbit ACC7=ACC7;uchar code ZK=/*- 文字: 病 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x10,0x60,0x00,0xFC,0x04,0x24,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x04,0x00,0x84,0x42,0x31,0x0F,0x00,0xFF,0x11,0x09,0x05,0x03,0x05,0x59,0x81,0x7F,0x00,0x00,/*- 文字: 床 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x00,0xFC,0x04,0x44,0x44,0x44,0x45,0xF6,0x44,0x44,0x44,0x44,0x44,0x04,0x00,0x40,0x30,0x0F,0x20,0x10,0x08,0x06,0x01,0xFF,0x01,0x06,0x08,0x10,0x20,0x20,0x00,/*- 文字: 房 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x00,0xFC,0x24,0x24,0x24,0x25,0x66,0xA4,0x24,0x24,0x24,0x24,0x3C,0x00,0x00,0x40,0x30,0x0F,0x81,0x41,0x31,0x0F,0x09,0x09,0x09,0x49,0x89,0x79,0x01,0x00,0x00,/*- 文字: 时 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0xFC,0x84,0x84,0x84,0xFC,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x00,0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x01,0x06,0x40,0x80,0x7F,0x00,0x00,0x00,/*- 文字: 间 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0xF8,0x01,0x06,0x00,0xF0,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x1F,0x11,0x11,0x11,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00,/*- 文字: 日 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00,/*- 文字: 期 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00,/*- 文字: 号 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x80,0x80,0x80,0xBE,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xBE,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x06,0x05,0x04,0x04,0x04,0x44,0x84,0x44,0x3C,0x00,0x00,0x00,0x00,/*- 文字: 一 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: 切 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x40,0x40,0x40,0xFF,0x20,0x20,0x20,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,0x00,0x00,0x00,0x1F,0x08,0x84,0x42,0x20,0x18,0x07,0x40,0x80,0x40,0x3F,0x00,0x00,/*- 文字: 正 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,0x00,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,/*- 文字: 常 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x20,0x18,0x08,0xEA,0xAC,0xA8,0xA8,0xAF,0xA8,0xA8,0xAC,0xEA,0x08,0x28,0x18,0x00,0x00,0x00,0x3E,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,0x00,0x00,;uchar code SK=/*- 文字: 0 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*- 文字: 1 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*- 文字: 2 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/*- 文字: 3 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*- 文字: 4 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*- 文字: 5 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*- 文字: 6 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*- 文字: 7 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*- 文字: 8 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*- 文字: 9 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,/*- 文字: : -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,/*- 时间号: : -*/*- 宋体12;此符号下对应的点阵为: 宽x高=8x16 -*/0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,/*- 文字: - -*/*- 宋体12; 此字体下对应的点阵为:宽x高=8x16 -*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,;void delay(uint i) uint x,y; for(x=i;x0;x-) for(y=110;y0;y-);void read_busy() /读忙函数,数据线最高位为DB7为1则busy P0=0x00;RS=0;RW=1;EN=1;while(P0&0x80);EN=0;void write_LCD_command(uchar value)read_busy();RS=0;RW=0;LCD_databus=value;EN=1;_nop_();_nop_();EN=0;void write_LCD_data(uchar value)read_busy();RS=1;RW=0;LCD_databus=value;EN=1;_nop_();_nop_();EN=0;void set_page(uchar page)page=page|0xb8;write_LCD_command(page);void set_line(uchar startline)startline=0xc0|startline;write_LCD_command(startline);void set_column(uchar column)column=column&0x3f;column=0x40|column;write_LCD_command(column);void setonoff(uchar onoff)onoff=0x3e|onoff;write_LCD_command(onoff);void selectscreen(uchar screen)switch(screen)case 0:CS1=0;CS2=0;break;case 1:CS1=0;CS2=1;break;case 2:CS1=1;CS2=0;break;default:break;void clearscreen(uchar screen)uchar i,j;selectscreen(screen);for(i=0;i8;i+)set_page(i);set_column(0);for(j=0;j64;j+)write_LCD_data(0x00);void init_LCD()read_busy();selectscreen(0);setonoff(0);selectscreen(0);setonoff(1);selectscreen(0);clearscreen(0);set_line(0);void display(uchar ss,uchar page,uchar column,uchar p)uint i;selectscreen(ss);set_page(page);set_column(column);for(i=0;i16;i+)write_LCD_data(ZKi+p*32);set_page(page+1);set_column(column);for(i=0;i16;i+)write_LCD_data(ZKi+16+p*32);void display1(uchar ss,uchar page,uchar column,uchar p)uint i;selectscreen(ss);set_page(page);set_column(colum
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。