毕业设计(论文)-基于单片机的模拟病房呼叫系统设计.doc_第1页
毕业设计(论文)-基于单片机的模拟病房呼叫系统设计.doc_第2页
毕业设计(论文)-基于单片机的模拟病房呼叫系统设计.doc_第3页
毕业设计(论文)-基于单片机的模拟病房呼叫系统设计.doc_第4页
毕业设计(论文)-基于单片机的模拟病房呼叫系统设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

模拟病房呼叫系统摘 要:病房呼叫系统是病人请求值班医生或护士进行诊断、护理的紧急呼叫工具,它主要用于协助医院病员在病床上方便地呼叫医务人员,可将病人的请求快速传送给值班医生或护士,是提高医院和病房护理水平的必备设备之一。医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。病房呼叫系统主要是指当呼叫源有呼叫信号时,在系统上有相应的声、光呼叫信号指示,并能显示出呼叫号码。此系统主要由s51单片机,四个按键,四个数码管,四个指示灯,四个蜂鸣器组成。每个病房有 4 个床位,每个病人要呼叫可以按键,同时会有不同的蜂鸣器响,不同的数码管显示床位号,相应的指示灯亮。这里主要想用其它 i/o 口模拟串口显示,这是编程的关键。关键词: 病房呼叫、 单片机、 串口显示目 录1引言12系统硬件设计22.1系统原理框图22.2单片机介绍22.3主要元器件介绍32.3.1单片机at89s51介绍32.3.251单片机与74hc164静态显示接口52.4各模块设计62.4.1led显示模块设计62.4.2键盘模块设计62.4.3声音模块设计62.4.4接口电路设计62.5单片机控制线路图73系统软件设计83.1系统总流程图83.2各模块功能设计93.3系统平台介绍113.3.1汇编语言介绍113.3.2伟福软件简介123.4计数器延时设定133.4.1计数器硬件延时133.4.2软件延时134系统测试144.1单片机应用系统的硬件调试144.2单片机应用系统的软件调试145结论156致谢157参考文献168程序清单171引言 伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务,这必将使医院之间的竞争日趋激烈。这使得衡量一个医院的综合水平高低,不再仅仅局限于软、硬件的建设上,更要比服务。原有的服务体系已不足以适应现代社会需求,谋求适合现代社会需求的客户服务系统,是所有企事业单位计划做或正在做的工作。这些工作有利于改善服务量,提高效率并增加企业效益,从而赢得良好的社会声誉。如何利用先进的信息技术为医院服务,更大程度的提高医院的服务质量及利润,是医院信息化建设中的一个重要着眼点。 医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。 病床呼叫系统是病人请求值班医生或护士进行诊断或护理的紧急呼叫工具。可将病人的请求快速传送给值班医生或护士,是提高医院和病室护理水平的必备设备之一。系统的建设将本着“以患者为中心”的原则,以方便患者,提高就诊效率为目的,力争为患者提供最满意的服务,同时也将提高医疗的社会效益和经济效益。呼叫系统的优劣直接关系到病员的安危,也可减少医护人员巡视病床的辛劳,能放心地、高效地处理其它医护问题,历来受到各大医院的普遍重视,已成为各医院现代化的标志。鉴于此,设计及时、准确、可靠、简便可行、利于推广的呼叫系统有很高的应用价值和意义。病房呼叫系统只是医院管理系统中的一小部分,随着医疗技术的发展以及计算机的发展,医院管理系统也向标准化,系统化,局域网络,集中式数据库,自顶向下的一体化设计和数据的共享以及电子病例等方面发展。医院管理系统的发展要适应医疗制度改革形势的需要提供支持医疗保险账目核算,药品医疗分开管理,分别核算,营利性医院与非营利性医院的不同管理算法。2系统硬件设计2.1系统原理框图如图1所示:图1 系统原理框图2.2单片机介绍单片机全称为单片微型计算机(single chip microcomputer),又称为微控制器(micro controller unit)或嵌入式控制器(embedded controller)。它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有cpu、rom、ram、并行i/o、串行i/o、定时器/计数器、中断控制、系统时钟及系统总线等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着片上系统方向发展。 单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。2.3主要元器件介绍 本课题主要用到了:at89s51单片机和74hc164芯片。2.3.1 单片机at89s51介绍at89s51是一个低功耗,高性能cmos 8位单片机,片内含4k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s51可为许多嵌入式控制应用系统提供性价比高的解决方案。at89s51具有如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,at89s51设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。(1)主要功能特性:兼容mcs-51指令系统 4k可反复擦写(1000次)isp flash rom32个双向i/o口4.5-5.5v工作电压2个16位可编程定时/计数器时钟频率0-33mhz全双工uart串行中断口线128x8bit内部ram2个外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(wdt)电路软件设置空闲和省电功能灵活的isp字节和分页编程双数据寄存器指针(2)at89s51与at89c51比较:89s51相对于89c51而言:新增加了很多功能,性能有了较大提升,价格基本不变,甚至比89c51更低! isp在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 最高工作频率为33mhz,大家都知道89c51的极限工作频率是24m,就是说s51具有更高工作频率,从而具有了更快的计算速度。 内部集成看门狗计时器,不再需要像89c51那样外接看门狗计时器单元电路。 全新的加密算法,这使得对于89s51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89c51等等早期mcs-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89c51还是mcs-51等等),在89s51上一样可以照常运行,这就是所谓的向下兼容。 比较结果:就如同intel的p3向p4升级一样,虽然都可以跑windows98,不过速度是不同的。从at89c51升级到at89s51 ,也是同理。和s51比起来,c51就要逊色一些,实际应用市场方面技术的进步是永远向前的。 (3)at89s51各引脚功能介绍:引脚如图2所示,以下是各引脚的说明.vcc:at89s51 电源正端输入,接+5v。 vss:电源地端。xtal1:单芯片系统时钟的反相放大器输入端。xtal2:系统时钟的反向放大器输出端,一般在设计上只要在 xtal1 和 xtal2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两个引脚与地之间加入一 20pf 的小电容,可以使系统更稳定,避免噪声干扰而死机。reset:at89s51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,at89s51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000h处开始读入程序代码而执行程序。ea/vpp:ea为英文external access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当引脚为低电平后,系统会调用外部的程序代码(存于外部eprom中)来执行程序。因此在8031及8032中,ea引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,引脚要接成高电平。此外,在将程序代码烧录至8751内部eprom时,可以利用此引脚来输入21v的烧录高压(vpp)。 ale/prog:ale是英文address latch enable的缩写,表示地址锁存器启用信号。at89s51可以利用这个引脚来触发外部的8位锁存器(如74ls373),将端口0的地址总线(a0a7)锁进锁存器中,因为at89s51是以多工的方式送出地址及数据。平时在程序执行时ale引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。psen:此为program store enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(ea=0),会送出此信号以便取得程序代码,通常这支脚是接到eprom的oe脚。at89s51可以利用psen及rd引脚分别启用存在外部的ram与eprom,使得数据存储器与程序存储器可以合并在一起而共用64k的定址范围。port0(p0.0p0.7):端口0是一个8位宽的开路电极(open drain)双向输出入端口,共有8个位,p0.0表示位0,p0.1表示位1,依此类推。其他三个i/o端口(p1、p2、p3)则不具有此电路组态,而是内部有一提升电路,p0在当作i/o用时可以推动8个ls的ttl负载。如果当ea引脚为低电平时(即取用外部程序代码或数据存储器),p0就以多工方式提供地址总线(a0a7)及数据总线(d0d7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为a0a7,再配合端口2所送出的a8a15合成一个完整的16位地址总线,而定位地址到64k的外部存储器空间。port2(p2.0p2.7):端口2是具有内部提升电路的双向i/o端口,每一个引脚可以推动4个ls的ttl负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。p2除了当作一般i/o端口使用外,若是在at89s51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节a8a15,这个时候p2便不能当作i/o来使用了。port1(p1.0p1.7):端口1也是具有内部提升电路的双向i/o端口,其输出缓冲器可以推动4个ls ttl负载,同样地,若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,p1.0又当作定时器2的外部脉冲输入脚,而p1.1可以有t2ex功能,可以做外部中断输入的触发引脚。port3(p3.0p3.7):端口3也具有内部提升电路的双向i/o端口,其输出缓冲器可以推动4个ttl负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:p3.0:rxd,串行通信输入。p3.1:txd,串行通信输出。p3.2:int0,外部中断0输入。p3.3:int1,外部中断1输入。p3.4:t0,计时计数器0输入。p3.5:t1,计时计数器1输入。p3.6:wr:外部数据存储器的写入信号。p3.7:rd,外部数据存储器的读取信号。2.3.2 51单片机与74hc164静态显示接口在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要单独占用具有锁存功能的i/o接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中cpu的开销小。可以提供单独锁存的i/o接口电路很多,这里以常用的串并转换电路74hs164为例,介绍一种常用静态显示电路,以使大家对静态显示有一定的了解。 mcs-51单片机串行口方式0为移位寄存器方式,外接6片 74hs164作为6位led显示器的静态显示接口,把8031的rxd作为数据输出线,txd作为移位时钟脉冲。74hs164为ttl单向8位移位寄存器,可实现串行输入,并行输出。其中a、b(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。t(第8脚)为时钟输入端,可连接到串行口的txd端。每一个时钟信号的上升沿加到t端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74ls164 中。r(第9脚)为复位端,当r=0时,移位寄存器各位复0,只有当r=1时,时钟脉冲才起作用。q1q8(第3-6和10-13引脚)并行输出端分别接led显示器的hga各段对应的引脚上。2.4各模块设计该系统主要包括显示模块,键盘模块,声音模块,接口电路四部分组成。2.4.1led显示模块设计主要由74hc164和数码管组成的,通过串口输入和串口输出把号码显示到数码管上。通过74hc164来实现,在程序中主要是用循环来实现给一个时钟信号,输入一个数据,当有按键按下时,数码管将显示出是几号床位上的病人呼叫,而且一直在显示,直到有护士发现。2.4.2键盘模块设计四个按键占用了四个i/o口,分别接在at89s51单片机最小系统p1口的p1.4-p1.5引脚上。通过不断的扫描 i/o口是高电平还是低电平来判断是否有病人呼叫,是通过循环实现的。同时还需要考虑到一些问题,例如,当有多个病人同时呼叫时,能使互不干扰。 2.4.3声音模块设计利用蜂鸣器来实现,蜂鸣器报警占用了四个i/o口, 分别接在p2口的p2.4-p2.7引脚上.蜂鸣器如图所示:图3 蜂鸣器2.4.4接口电路设计假设病房有4 个床位(要占用8个i/o口),就需要4个数码显示管,4个74hc164(是8位移位寄存器,利用51单片机串行口,结合74hc164为驱动的数码管串口显示。主要实现顺序移动,有串行输入口和串行输出口,分别接在at89s51芯片的p1.0,p2.0 p1.1,p2.1 p1.2,p2.2 p1.3,p2.3),4个按钮(要占用4个i/o口p1.4-p1.7),4个指示灯(要占用4个i/o口p3.4-p3.7),4个蜂鸣器报警(p2.4-2.7)。2.5单片机控制线路图控制线路图如图4所示:图4 系统控制线路图3系统软件设计3.1系统总流程图系统流程图如图5所示:图5 系统流程图通过不断地循环扫描按键,检查是否有病人呼叫。3.2各模块功能设计1. 显示模块功能设计当有按键按下时,就会调用显示子程序,在电路图中使用的是:串行方式,假如现在是2号床位上的病人呼叫,则在数码管上应显示“2”,串行方式中,数码管上显示的数字是先成二进制数,再一位一位地输进去的,然后才显示数字。这里是在模拟串口,因为该单片机中只有一个串口,而这里要用多个串口。当这段程序执行完以后,再进入循环。十进制数与相应二进制数的转换表如表1所示。显示数值dop g f e d c b a 驱动代码(16进制)01 1 1 1 1 1 0 00fch1 0 1 1 0 0 0 0 060h2 1 1 0 1 1 0 1 00dah3 1 1 1 1 0 0 1 00f2h4 0 1 1 0 0 1 1 066h5 1 0 1 1 0 1 1 0b6h表1 转换表显示子程序如下所示:start:clr c;病床数码管显示mov dptr,#tabmov a,r0movc a,a+dptrmov r1,#9s1: cjne r0,#1,s2sjmp ss1s2: cjne r0,#2,s3sjmp ss2s3: cjne r0,#3,s4sjmp ss3s4: cjne r0,#4,s1ljmp ss4fh1: ljmp beginss1:lcall ys10msjb p1.4,fh1sss1:clr txd3rrc asetb txd3mov rxd3,clcall yanshi;833usdjnz r1,sss1clr p2.4clr p3.4ws1:mov a,r7add a,#200mov 31h,asetb bc1setb flag1ljmp tt2fh2:ljmp beginss2:lcall ys10msjb p1.5,fh2sss2:clr txd4rrc asetb txd4mov rxd4,clcall yanshi;833usdjnz r1,sss2clr p2.5clr p3.5ws2:mov a,r7add a,#200mov 32h,asetb bc2setb flag2ljmp tt3fh3:ljmp beginss3:lcall ys10msjb p1.6,fh3sss3:clr txd1rrc asetb txd1mov rxd1,clcall yanshi;833usdjnz r1,sss3clr p2.6clr p3.6ws3:mov a,r7add a,#200mov 33h,asetb bc3setb flag3ljmp tt4fh4:ljmp beginss4:lcall ys10msjb p1.7,fh4sss4:clr txd2rrc asetb txd2mov rxd2,clcall yanshi;833usdjnz r1,sss4clr p2.7clr p3.7ws4:mov a,r7add a,#200mov 34h,asetb bc4setb flag4ljmp tt1tti1:ljmp ttt12. 声音模块功能设计如果有病人呼叫,即有按键按下,那么相应的蜂鸣器所接的i/o口也设置为高电平,而且每一个蜂鸣器发出的声音是不一样的,同时与床位号对应的指示灯也会亮。在程序中只用一条语句即可实现:clr p2.4,因为在本电路设计时,每个引脚都是低电平有效的,所以在清零时蜂鸣器才能发出声音。3. 键盘模块功能设计通过不断的扫描按键所接的 i/o口是高电平还是低电平来判断是否有病人呼叫,是通过循环实现的。同时还需要考虑到一些问题,例如,当有多个病人同时呼叫时,怎样能使互不干扰,这时是通过一个标志位来控制的。3.3系统平台介绍3.3.1 汇编语言介绍程序设计语言可以分为:符号语言,机器语言,汇编语言,高级语言。符号语言己经具有很多优点,但符号语言中的每一个符号(这里称作助记符)可以是用户根据辨认或者记忆的需要自己来决定的。这样,通用性不是很强。就是说,按某一个人的想法编写的符号语言程序,另外一个人是无法看懂的。汇编语言克服了上述的缺点,它是在符号语言的基础上发展起来的。它是针对一类(甚至几类)计算机,抽象出来的一种符号语言并把这些符号加以统一规定,使得使用同类计算机的人都了解这些符号的意义,这样,使得用汇编语言编写的程序可以在这一类型的任何一台计算机上使用。这就有了极大的灵活性,当然不同类型的计算机的汇编语言也不同。它们都必须由生产厂家提供的汇编语言来编写。另外汇编语言还增加了宏指令的功能。让我们比较一下汇编语言和高级语言的特点。首先,汇编语言与处理器关系密切。每种处理器都有自己的指令系统,相应的汇编语言也各自不同。因而汇编语言程序的通用性、可移植性较差。而高级语言与具体计算机无关,高级语言程序可以在多种计算机上编译启执行。其次,汇编语言编程涉及寄存器、内存等硬件细节,程序繁琐,调试也比较困难而高级语言采用类似自然语言的语法,容易被掌握和使用,也不必关心诸如标志、堆栈等。但是,汇编语言本质上就是机器语言,它可以直接有效地控制计算机硬件,因而可以产生运行速度快、指令序列短的高效率目标程序。而高级语言不易直接控制计算机的各种操作,编译程序产生的目标程序庞大、程序难以优化、运行速度慢. 总的来说,汇编语言的主要优点就是可以直接控制计算机硬件,可以编写在时间和空间两方面更有效的程序。这些优点使得汇编语言在程序设计中占有重要的地位。是不可取代的。 但汇编语言的缺点也是明显的,它与处理器密切相关,要求程序员熟悉计算机硬件系统,考虑许多细节问题,所以程序繁琐,调试、维护、交流和移植困难。因此,有时可以采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题。汇编语言生要应用场合有以下几种:l.程序要具有较短的运行时问,或者只能占用较小的存储客量。例如操作系统的核心 程序段,实时控制系统的软件等。2.程序与计算机硬件密切相关,程序要直接控制硬件。例如to接口电路的初始化程序段,外部设备的底层驱动程序等63.大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动态链接库等。4.没有适合的高级语言的时候。例如开发最新的处理器程序时。3.3.2 伟福软件简介伟福系列仿真器品种多、功能强,特点如下:3. 主机+pod组合,通过更换pod,可以对各种cpu进行仿真。对待不同的应用场合,用户往往会选择不同的cpu,从而需要更换仿真器,伟福仿真软件windows版本支持本公司多种仿真器。支持多类cpu仿真。4. 双平台dos版本,windows版本。其中windows版本功能强大。5. 双工作模式软件模拟仿真(不要仿真器也能模拟仿真)和硬件仿真。8. 双cpu结构,100% 不占用户资源。全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、事件点、支持实时断点计数、软件运行时间统计。9. 双集成环境编辑、编译、下载、调试全部集中在一个环境下。多种仿真器,多类cpu仿真全部集成在一个环境下。可仿真51系列,196系列,pic系列,飞利蒲公司的552、lpc764、dallas320,华邦438等51增强型cpu。为了跟上形势,现在很多工程师需要面对和掌握不同和项目管理器、编辑器、编译器。伟福 windows调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编make、build和调试工具并提供一个与第三方编译器的接口。由于风格统一,从而大大节省了您的精力和时间。10. 强大的逻辑分析仪综合调试功能。随着科学技术的发展,单片机通讯方面的运用越来越多。有了逻辑仪,用它可以分别或者同时对发送方、接收方的输入或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在。从而极大地方便了调试。11. 强大的追踪器功能追踪功能以总线周期为单位,实时记录仿真过程中cpu发生的总线事件,其触发条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的cpu指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最多追踪记忆指令32k并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计软件运行时间。3.4计数器延时设定3.4.1 计数器硬件延时定时器工作时必须给计数器送计数器初值,这个值是送到th和tl中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为c和计数初值设定为tc 可得到如下计算通式: tc=m-c式中,m为计数器模值,该值和计数器工作方式有关。该系统中,选用的是方式1,计数器的初值为:15536,溢出是为:65536,而晶振为:12hz,根据公式计算, 计算公式 t=(mtc)t计数 或t计数t计数是单片机时钟周期的12倍,为定时初值,单片机的主脉冲频率为12mhz,可得定时时间为:50ms。 相应的程序代码为:(1)begin: mov tmod,#10h ;定时器/计数器方式控制 mov th1,#3ch mov tl1,#0b0hsetb et1 ;将所指位置1 setb tr1;et1:定时器1(t1)的溢出中断允许位;tr1:t1的运行控制位,置1表示启动(2)中断服务程序:dsd:mov th1, #3ch mov tl1, #0b0hinc r7 ;r7的值给了a,也是为了保证报警时间的准确性 clr tf0 ;定时器0的溢出中断标志位 reti3.4.2 软件延时mcs-51的工作频率为2-12mhz,我们选用的8031单片机的工作频率为12mhz。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12m)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序分析:(1)yanshi:mov r5,#210 ;延时420 us子程序 djnz r5, $ ret(2)ys10ms:mov r3,#20 ;延时10毫秒子程序sgl: mov r4, #250 djnz r4, $ djnz r3, sgl ret每条指令的执行时间为:2us。yanshi子程序中,210*2=420,所以延时为420 us。在ys10ms子程序中,是个双重循环,循环次数为:20*250=5000,所以延时时间为:5000*2=10000us,约是:10ms。由于单片机的运行速度很快其他的指令执行时间可以忽略不计。4系统测试单片机应用系统的调试包括硬件调试和软件调试,下面分2部分进行讨论4.1单片机应用系统的硬件调试单片机应用系统的硬件调试主要是排查印刷电路板的问题和连接上的一些问题。由干硬件电路变化很多,不同类型的电路可能出现的问题也不一样,所以没有固定的程序可以投用,所以,在该系统中,首先通过了仔细地推敲系统原理,确认无误;其次对照设计图纸查印制电路板,看是否有粘接等工艺现象;最后,检查外围连接是否有误,通过这几个方面的反复调试,可确保电路板的无误性。在本系统的硬件调试过程中,出现了电压不稳定而导致程序无法写入的情况,使电压稳定的方法是改用新的电池,或者是再次设计电源方案,在这里是用电源接通教学实验板,然后再把教学实验板与本系统相连接,这样,就可以得到稳定的电压了。4.2单片机应用系统的软件调试单片机应用系统的软件调试也没有规律可循,调试时更多的是凭经验。软件调试的主要任务是排查错误。通过在wave e2000编译器下调试程序,有两种错误,一种逻辑错误,也就是语法错误,是很容易被发现的,另一种是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。通过这两方面错误,不断地调试,以及对各模块的调试,最后组成一个完整的程序。在软件设计中用了定时器而的原因是: 中断一开,定时器就开始计时,当到了中断时间时,就调用中断程序,其实定时器的作用和延时程序的作用是一样的,只不过,定时器有一个好处就是,相等于是两个cpu在动作,互不干扰,定时器一直在计时,程序也一直在运行;而延时程序是没有这个作用的,在运行延时程序的同时是不能有其它操作的,延时程序的作用是让前面的操作彻底运行完。为了避免呼叫时互相干扰,在本系统中使用了标志位flag1-flag4,由标志位和按键来控制。5结论本系统主要利用了at89s51单片机以及74hc164芯片的串口显示来实现病房呼叫的,主要包括显示模块,键盘模块,声音模块,单片机系统,接口模块等几部分,本文介绍的病房呼叫系统具体是说,医院的病房里每个床位边都装有一个呼叫按钮,当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示灯亮,然后报警,报警时间为10s(可以变化),值班护士一看就知道哪个房间的病人需要帮助或需要进行抢救。当同时有两个或多个以上的病人呼叫时,彼此互不干扰。系统的不足之处首先是没能实现循环显示,循环显示就是只有一个数码管显示,通过各个病床位的优先级的设置,最先显示的是优先级高的病人的床位号码;其次就是系统用到的器件的个数比较多,比如说数码管以及蜂鸣器,指示灯都是四个,都比较繁琐;再次就是没有实现病人与护士之间的对话功能,如果能够实现这个功能那么将为病人提供更好的服务。6致谢本文是在赵润林老师的精心指导和严格要求下完成的,赵老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。同时,还特别感谢朱胜利,李强同学还有物理系同学对我的无私帮助,使我得以顺利完成论文。通过这次设计,使我获得了丰富的理论知识,极大地提高了实践能力。单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,我忠心感谢赵润林老师以及计算机科学与技术系各位老师的指导和支持。在未来的工作和学习中,我将以更好的成绩来回报各位领导和老师。7参考文献2) 沈红卫 单片机应用系统设计实例与分析北京:北京航空航天大学出版社,20033) 周航慈 单片机应用程序设计技术(修订版)北京:北京航空航天大学出版社,20024) 张为民等,cs-51系列单片机系统及其应用北京:高等教育出版社,20045) 鲍小南 单片机基础杭州:浙江大学出版社,20026) 林邦杰,陈明 汇编语言程序设计北京:中国铁道出版社,20037) 刘守义 单片机应用技术 西安:西安电子科技大学出版社,20028) 秦实宏 单片机原理与应用技术 北京:中国水利水电出版社,20059) 卢艳军 单片机基本原理及应用系统北京:机械工业出版社,200510) 窦振中 单片机外围器件实用手册北京:北京航空学院出版社,199811) 夏继强、沈德金 单片机实验与实践指导 二 北京:北京航空学院出版社,200112) 张毅刚 单片机原理及应用 北京:高等教育出版社,200413) 雷思孝 单片机原理及实用技术 西安:西安电子科技大学出版社,200414) 冯建华、赵亮 单片机应用系统设计与产品开发 北京:人民邮电出版社,200415) 肖来胜、冯建兰、夏术泉 单片机技术实用教程 武汉:华中科技大学出版社,200416) 胡辉 单片机原理及应用设计 北京:中国水利水电出版社,20058程序清单rxd1 bit p1.0txd1 bit p2.0rxd2 bit p1.1txd2 bit p2.1rxd3 bit p1.2txd3 bit p2.2rxd4 bit p1.3txd4 bit p2.3bc1 bit 31hbc2 bit 32hbc3 bit 33hbc4 bit 34hflag1 bit 00hflag2 bit 01hflag3 bit 02hflag4 bit 03horg 0000hljmp beginorg 001bhljmp dsdorg 0030hbegin:mov tmod,#10hmov th1,#3chmov tl1,#0b0hsetb et1setb tr1clr bc1clr bc2clr bc3clr bc4clr flag1clr flag2clr flag3clr flag4mov dptr,#tabmov a,#0fchmov r1,#9a1: clr txd3rrc asetb txd3mov rxd3,clcall yanshi;833usdjnz r1,a1mov a,#0fchmov r1,#9a2: clr txd4rrc asetb txd4mov rxd4,clcall yanshi;833usdjnz r1,a2mov a,#0fchmov r1,#9a3: clr txd1rrc asetb txd1mov rxd1,clcall yanshi;833usdjnz r1,a3mov a,#0fchmov r1,#9a4: clr txd2rrc asetb txd2mov rxd2,clcall yanshi;833usdjnz r1,a4setb eatt1:jnb flag1,gg1ttt1:mov a,

温馨提示

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

评论

0/150

提交评论