基于单片机的模拟病房呼叫系统_第1页
基于单片机的模拟病房呼叫系统_第2页
基于单片机的模拟病房呼叫系统_第3页
基于单片机的模拟病房呼叫系统_第4页
基于单片机的模拟病房呼叫系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

基础课程设计(论文)基于单片机的模拟病房呼叫系统学生姓名:指导教师:学生学号:专业:电气工程及其自动化信息技术学院电气工程系2012年12月5基于单片机的模拟病房呼叫系统摘要病房呼叫系统是传送临床信息的重要手段,可将病人的请求快速传送给值班医生或护士,它主要用于协助医院病员在病床上方便地呼叫医务人员,是提高医院和病室护理水平的必备设备之一。让患者需要服务时,只要按一下随身携带的呼叫器,信息立马就能传至护工处.避免没有看护人在时,病人急需服务却无法通知医生的情况.它要求及时、准确、可靠、简便可行。当呼叫源有呼叫信号时,在系统上有相应的声、光呼叫信号指示,并能显示出呼叫号码。此系统主要由S51单片机,四个按键,四个数码管,四个指示灯,四个蜂鸣器组成。每个病房有4个床位,每个病人要呼叫可以按键,同时会有不同的蜂鸣器响,不同的数码管显示床位号,相应的指示灯亮。这里主要想用其它I/O口模拟串口显示,这是编程的关键。关键词病房呼叫/单片机/串口显示目录摘要 -2-关键词 -2-1引言 -6-1.1背景与意义 -6-1.2研究内容 -7-2 系统硬件设计 -8-2.1 系统原理框图 -8-2.2 各模块设计 -9-2.2.1 LED显示模块设计 -9-2.2.2 键盘模块设计 -10-2.2.3 声音模块设计 -10-2.2.4 接口电路设计 -11-2.3 单片机介绍 -11-2.4 主要元器件介绍 -12-2.4.2 单片机AT89S51介绍 -12-3 系统软件设计 -17-3.1 系统总流程图 -17-3.2 各模块功能设计 -18-3.3计数器延时设定 -19-3.3.1 计数器硬件延时 -19-3.3.2 软件延时 -20-3.4 系统平台介绍 -21-3.4.1 汇编语言介绍 -21-3.4.2 伟福软件简介 -22-3.4.3Protel99SE介绍 -23-3.4.4Protel99SE原理图绘制 -25-4 系统测试 -25-4.1 单片机应用系统的硬件调试 -25-4.2 单片机应用系统的软件调试 -26-5 结论 -27-致谢 -28-参考文献 -29-附录 -30-1PCB版图 -30-2程序清单 -31-1引言1.1背景与意义近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务,这必将使医院之间的竞争日趋激烈。这使得衡量一个医院的综合水平高低,不再仅仅局限于软、硬件的建设上,更要比服务。原有的服务体系已不足以适应现代社会需求,谋求适合现代社会需求的客户服务系统,是所有企事业单位计划做或正在做的工作。这些工作有利于改善服务量,提高效率并增加企业效益,从而赢得良好的社会声誉。如何利用先进的信息技术为医院服务,更大程度的提高医院的服务质量及利润,是医院信息化建设中的一个重要着眼点。

医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。病房呼叫系统只是医院管理系统中的一小部分,随着医疗技术的发展以及计算机的发展,医院管理系统也向标准化,系统化,局域网络,集中式数据库,自顶向下的一体化设计和数据的共享以及电子病例等方面发展。医院管理系统的发展要适应医疗制度改革形势的需要提供支持医疗保险账目核算,药品医疗分开管理,分别核算,营利性医院与非营利性医院的不同管理算法。系统的建设将本着“以患者为中心”的原则,以方便患者,提高就诊效率为目的,力争为患者提供最满意的服务,同时也将提高医疗的社会效益和经济效益。呼叫系统的优劣直接关系到病员的安危,也可减少医护人员巡视病床的辛劳,能放心地、高效地处理其它医护问题,历来受到各大医院的普遍重视,已成为各医院现代化的标志。鉴于此,设计及时、准确、可靠、简便可行、利于推广的呼叫系统有很高的应用价值和意义。1.2研究内容1.熟悉核心芯片,掌握使用芯片的关键技术,熟练运用芯片。2.利用所掌握的芯片技术完成单片机模拟病房呼叫系统的设计。3.完成系统的设计的拓扑图、原理图、PCB板图等。4.利用单片机实现模拟病房呼叫系统。5.要求设计四个按键,四个指示灯显示,四个蜂鸣器报警,并且用数码管显示报警床位的序号。6.要求数码管显示电路用串口实现,节省I/O口资料7.完成系统设计的理论说明及得到的结论。本系统能实现以下功能:病床呼叫时,可显示呼叫分机号并闪烁10秒钟。多个病床呼叫护士站时,可分时显示呼叫分机号。同时并分别相应闪烁10秒钟,且具备记忆功能。显示屏最多可显示4位数显示一个病床号码并闪烁10秒钟。2 系统硬件设计2.1 系统原理框图单片机连接原理图如图2-1所示:图2-1单片机连接原理图系统原理框图如图2-2按键按键输入89S51单片机数码管显示电路蜂鸣器电路指示灯电路图2-2系统原理框图2.2 各模块设计该系统主要包括显示模块,键盘模块,声音模块,接口电路四部分组成。2.2.1 LED显示模块设计主要由74HC164和数码管组成的,通过串口输入和串口输出把号码显示到数码管上。通过74HC164来实现,在程序中主要是用循环来实现给一个时钟信号,输入一个数据,当有按键按下时,数码管将显示出是几号床位上的病人呼叫,而且一直在显示,直到有护士发现。数码管显示LED发光器件一般常用的有两类:数码管和点阵。7段数码管属于LED发光器件的一种。7段数码管由8个发光二极管LED组成,其中包括7个细长型的LED和1个小数点型的LED,每个LED称为一字段,分别为a、b、c、d、e、f、g、dp共8段,其中dp为小数点,单片机驱动LED数码管有静态显示和动态扫描显示两种方法,其中后者较为常用。动态扫描方法是用其接口电路把所有显示器的8个笔画字段(a-g和dp)同名端线在一起,而每一个显示器的公共极COM各自独立的接受I/O线控制,CUP向字段输出端口输出字型码时,所有显示器接收到相同的字型码,但究竟使用哪个显示器,则取决于COM端,而这一端是由I/O控制的,由单片机决定何时显示哪一位。动态扫描用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。动态显示需要分时显示,需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多,但使用的硬件少,可以大幅度地降低硬件成本和电源的功耗,还可以节省线路板空间。本设计共使用6位7段数码管,采用动态扫描方式显示。2.2.2 键盘模块设计四个按键占用了四个I/O口,分别接在AT89S51单片机最小系统P1口的P1.4-P1.5引脚上。通过不断的扫描I/O口是高电平还是低电平来判断是否有病人呼叫,是通过循环实现的。同时还需要考虑到一些问题,例如,当有多个病人同时呼叫时,能使互不干扰。2.2.3 声音模块设计利用蜂鸣器来实现,蜂鸣器报警占用了四个I/O口,分别接在P2口的P2.4-P2.7引脚上.蜂鸣器如图2-4所示:图2-4蜂鸣器2.2.4 接口电路设计假设病房有4个床位(要占用8个I/O口),就需要4个数码显示管,4个74HC164(是8位移位寄存器,利用51单片机串行口,结合74HC164为驱动的数码管串口显示。主要实现顺序移动,有串行输入口和串行输出口,分别接在AT89S51芯片的P1.0,P2.0P1.1,P2.1P1.2,P2.2P1.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.3 单片机介绍单片机全称为单片微型计算机(SingleChipMicrocomputer),又称为微控制器(MicrocontrollerUnit)或嵌入式控制器(EmbeddedController)。它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着片上系统方向发展。

单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。2.4 主要元器件介绍本课题主要用到了:AT89S51单片机和74HC164芯片。2.4.151单片机与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时,时钟脉冲才起作用。Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hg…a各段对应的引脚上。4HC164是串入并出器件,串入是一位一位进的,先进入的后出如:数码管要显示数字1,数字1共阴数码管的并口代码是06,二进制是00000110,所以要颠过来送数,先送高位后出高位,为01100000,代码为C0,这样才能显示数字02.4.2 单片机AT89S51介绍at89s51单片机是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4Kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价at89s51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。AT89s51是一种低功耗,高性能的CMOS8位微控制器与面积字节的在系统可编程快闪记忆体。该装置是制造过程中利用Atmel的高密度非挥发性记忆体技术和兼容业界标准80C51指令集和引脚。该单晶片快闪允许计划记忆体被reprogrammed在系统或由一个传统的非挥发性记忆体编程器。相结合的灵活的8位CPU与在系统可编程闪存就单片芯片,Atmel的at89s51是一个功能强大的微控制器提供了一个

高度灵活和具成本效益的解决方案,许多嵌入式控制应用。该at89s51提供下列标准的特点:面积字节的闪存,128字节内存,32I/O线,看门狗定时器,两个数据指针,两个16位定时器/计数器,1fivevector

两个级别的中断结构,全双工串行端口,片上振荡器,和时钟电路。此外,该at89s51设计与静态的逻辑运作下降到零的频率和支持两种软件可选的省电模式。

闲置模式站的CPU,同时允许的RAM,定时器/计数器,串行端口,和中断系统继续运作。该掉电模式保存RAM的内容但冻结振荡器,禁用所有其他芯片的功能,直至下一次外部中断或硬件复位。(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"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当引脚为低电平后,系统会调用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用8751内部程序空间时,引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。AT89S51可以利用这个引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0~P0.7):端口0是一个8位宽的开路电极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0~A7,再配合端口2所送出的A8~A15合成一个完整的16位地址总线,而定位地址到64K的外部存储器空间。PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地,若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发引脚。PORT3(P3.0~P3.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-5所示:图2-5系统控制线路图单片机系统原理如图2-6所示:图2-6单片机系统原理3 系统软件设计3.1 系统总流程图系统流程图如图3-1所示:图3-1系统流程图通过不断地循环扫描按键,检查是否有病人呼叫。3.2 各模块功能设计显示模块功能设计当有按键按下时,就会调用显示子程序,在电路图中使用的是:串行方式,假如现在是2号床位上的病人呼叫,则在数码管上应显示“2”,串行方式中,数码管上显示的数字是先成二进制数,再一位一位地输进去的,然后才显示数字。这里是在模拟串口,因为该单片机中只有一个串口,而这里要用多个串口。当这段程序执行完以后,再进入循环。十进制数与相应二进制数的转换表如表3-1所示。表3-1转换表显示数值abcdefgdp驱动代码(16进制)0111111000fcH10110000060H211011010dAH311110010f2H40110011066H510110110B6H声音模块功能设计如果有病人呼叫,即有按键按下,那么相应的蜂鸣器所接的I/O口也设置为高电平,而且每一个蜂鸣器发出的声音是不一样的,同时与床位号对应的指示灯也会亮。在程序中只用一条语句即可实现:CLRP2.4,因为在本电路设计时,每个引脚都是低电平有效的,所以在清零时蜂鸣器才能发出声音。键盘模块功能设计通过不断的扫描按键所接的I/O口是高电平还是低电平来判断是否有病人呼叫,是通过循环实现的。同时还需要考虑到一些问题,例如,当有多个病人同时呼叫时,怎样能使互不干扰,这时是通过一个标志位来控制的。3.3计数器延时设定3.3.1 计数器硬件延时定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:TC=M-C式中,M为计数器模值,该值和计数器工作方式有关。该系统中,选用的是方式1,计数器的初值为:15536,溢出是为:65536,而晶振为:12HZ,根据公式计算,计算公式T=(M-TC)T计数或TC=M-T/T计数T计数是单片机时钟周期TCLK的12倍,TC为定时初值,单片机的主脉冲频率为TCLK12MHZ,可得定时时间为:50ms。相应的程序代码为:(1)BEGIN: MOVTMOD,#10H;定时器/计数器方式控制 MOVTH1,#3CH MOVTL1,#0B0H SETBET1;将所指位置1 SETBTR1 ;ET1:定时器1(T1)的溢出中断允许位;TR1:T1的运行控制位,置1表示启动(2)中断服务程序:DSD: MOVTH1,#3CH MOVTL1,#0B0H INCR7 ;R7的值给了A,也是为了保证报警时间的准确性 CLRTF0;定时器0的溢出中断标志位 RETI3.3.2 软件延时MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为12MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12M)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序分析:(1)YANSHI:MOVR5,#210;延时420us子程序 DJNZR5,$ RET(2)YS10MS:MOVR3,#20;延时10毫秒子程序SGL: MOVR4,#250 DJNZR4,$ DJNZR3,SGL RET每条指令的执行时间为:2us。YANSHI子程序中,210*2=420,所以延时为420us。在YS10MS子程序中,是个双重循环,循环次数为:20*250=5000,所以延时时间为:5000*2=10000us,约是:10MS。由于单片机的运行速度很快其他的指令执行时间可以忽略不计。3.4 系统平台介绍3.4.1 汇编语言介绍程序设计语言可以分为:符号语言,机器语言,汇编语言,高级语言。符号语言己经具有很多优点,但符号语言中的每一个符号(这里称作助记符)可以是用户根据辨认或者记忆的需要自己来决定的。这样,通用性不是很强。就是说,按某一个人的想法编写的符号语言程序,另外一个人是无法看懂的。汇编语言克服了上述的缺点,它是在符号语言的基础上发展起来的。它是针对一类(甚至几类)计算机,抽象出来的一种符号语言并把这些符号加以统一规定,使得使用同类计算机的人都了解这些符号的意义,这样,使得用汇编语言编写的程序可以在这一类型的任何一台计算机上使用。这就有了极大的灵活性,当然不同类型的计算机的汇编语言也不同。它们都必须由生产厂家提供的汇编语言来编写。另外.汇编语言还增加了宏指令的功能。让我们比较一下汇编语言和高级语言的特点。首先,汇编语言与处理器关系密切。每种处理器都有自己的指令系统,相应的汇编语言也各自不同。因而汇编语言程序的通用性、可移植性较差。而高级语言与具体计算机无关,高级语言程序可以在多种计算机上编译启执行。其次,汇编语言编程涉及寄存器、内存等硬件细节,程序繁琐,调试也比较困难.而高级语言采用类似自然语言的语法,容易被掌握和使用,也不必关心诸如标志、堆栈等。但是,汇编语言本质上就是机器语言,它可以直接有效地控制计算机硬件,因而可以产生运行速度快、指令序列短的高效率目标程序。而高级语言不易直接控制计算机的各种操作,编译程序产生的目标程序庞大、程序难以优化、运行速度慢.总的来说,汇编语言的主要优点就是可以直接控制计算机硬件,可以编写在时间和空间两方面更有效的程序。这些优点使得汇编语言在程序设计中占有重要的地位。是不可取代的。但汇编语言的缺点也是明显的,它与处理器密切相关,要求程序员熟悉计算机硬件系统,考虑许多细节问题,所以程序繁琐,调试、维护、交流和移植困难。因此,有时可以采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题。汇编语言生要应用场合有以下几种:l.程序要具有较短的运行时问,或者只能占用较小的存储客量。例如操作系统的核心程序段,实时控制系统的软件等。2.程序与计算机硬件密切相关,程序要直接控制硬件。例如to接口电路的初始化程序段,外部设备的底层驱动程序等63.大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动态链接库等。4.没有适合的高级语言的时候。例如开发最新的处理器程序时。3.4.2 伟福软件简介伟福系列仿真器品种多、功能强,特点如下:主机+POD组合,通过更换POD,可以对各种CPU进行仿真。对待不同的应用场合,用户往往会选择不同的CPU,从而需要更换仿真器,伟福仿真软件WINDOWS版本支持本公司多种仿真器。支持多类CPU仿真。双平台DOS版本,WINDOWS版本。其中WINDOWS版本功能强大。双工作模式软件模拟仿真(不要仿真器也能模拟仿真)和硬件仿真。双CPU结构,100%不占用户资源。全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、事件点、支持实时断点计数、软件运行时间统计。双集成环境编辑、编译、下载、调试全部集中在一个环境下。多种仿真器,多类CPU仿真全部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。为了跟上形势,现在很多工程师需要面对和掌握不同和项目管理器、编辑器、编译器。伟福WINDOWS调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、Build和调试工具并提供一个与第三方编译器的接口。由于风格统一,从而大大节省了您的精力和时间。强大的逻辑分析仪综合调试功能。随着科学技术的发展,单片机通讯方面的运用越来越多。有了逻辑仪,用它可以分别或者同时对发送方、接收方的输入或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在。从而极大地方便了调试。强大的追踪器功能追踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件,其触发条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计软件运行时间。3.4.3Protel99SE介绍Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的Protel最新产品已不是单纯的PCB(印制电路板)设计工具,而是一个系统工具,覆盖了以PCB为核心的整个物理设计。最新版本的Protel软件可以毫无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡到新的EDA平台。Protel99SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。以下介绍一些Protel99SE的部分最新功能:可生成30多种格式的电气连接网络表;强大的全局编辑功能;在原理图中选择一级器件,PCB中同样的器件也将被选中;同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络;既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性;满足国际化设计要求(包括国标标题栏输出,GB4728国标库);方便易用的数模混合仿真(兼容SPICE3f5);支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件;PCB可设计32个信号层,16个电源-地层和16个机械加工层;强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查;智能覆铜功能,覆铀可以自动重铺;提供大量的工业化标准电路板做为设计模版;放置汉字功能;可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换;智能封装导航(对于建立复杂的PGA、BGA封装很有用);方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果;独特的3D显示可以在制板之前看到装配事物的效果;强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等;经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动;反射和串扰仿真的波形显示结果与便利的测量工具相结合;专家导航帮您解决信号完整性问题。3.4.4Protel99SE原理图绘制原理图绘制过程:(1)设计图纸大小首先要构思好零件图,设计好图纸大小。图纸大小是根据电路图的规模和复杂程度而定的,设置合适的图纸大小是设计好原理图的第一步。(2)设置Protel99SE/Schematic设计环境包括设置格点大小和类型,光标类型等等,大多数参数也可以使用系统默认值。(3)旋转零件用户根据电路图的需要,将零件从零件库里取出放置到图纸上,并对放置零件的序号、零件封装进行定义和设定等工作。(4)原理图布线利用Protel99SE/Schematic提供的各种工具,将图纸上的元件用具有电气意义的导线、符号连接起来,构成一个完整的原理图。(5)调整线路将初步绘制好的电路图作进一步的调整和修改,使得原理图更加美观。(6)检查原理图使用Portel99SE的电气规则,即执行菜单命令Tool/REC对画好的电路原理图进行电气规则检查。若有错误,根据错误情况进行改正。(7)报表输出通过Protel99SE/Schematic提供的各种报表工具生成各种报表,其中最重要的报表是网络表,网络表是电路原理图设计和印刷电路板设计之间的桥梁,执行菜单命令Design/CreateNetlist可以生成具有元件名、元件封装、参数及元件之间连接关系的网络表。(8)文件保存及打印输出最后的步骤是文件保存及打印输出。4 系统测试单片机应用系统的调试包括硬件调试和软件调试,下面分2部分进行讨论.4.1 单片机应用系统的硬件调试单片机应用系统的硬件调试主要是排查印刷电路板的问题和连接上的一些问题。由于硬件电路变化很多,不同类型的电路可能出现的问题也不一样,所以没有固定的程序可以投用,所以,在该系统中,首先通过了仔细地推敲系统原理,确认无误;其次对照设计图纸查印制电路板,看是否有粘接等工艺现象;最后,检查外围连接是否有误,通过这几个方面的反复调试,可确保电路板的无误性。在本系统的硬件调试过程中,出现了电压不稳定而导致程序无法写入的情况,使电压稳定的方法是改用新的电池,或者是再次设计电源方案,在这里是用电源接通教学实验板,然后再把教学实验板与本系统相连接,这样,就可以得到稳定的电压了。4.2 单片机应用系统的软件调试单片机应用系统的软件调试也没有规律可循,调试时更多的是凭经验。软件调试的主要任务是排查错误。通过在WaveE2000编译器下调试程序,有两种错误,一种逻辑错误,也就是语法错误,是很容易被发现的,另一种是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。通过这两方面错误,不断地调试,以及对各模块的调试,最后组成一个完整的程序。在软件设计中用了定时器而的原因是:中断一开,定时器就开始计时,当到了中断时间时,就调用中断程序,其实定时器的作用和延时程序的作用是一样的,只不过,定时器有一个好处就是,相等于是两个CPU在动作,互不干扰,定时器一直在计时,程序也一直在运行;而延时程序是没有这个作用的,在运行延时程序的同时是不能有其它操作的,延时程序的作用是让前面的操作彻底运行完。为了避免呼叫时互相干扰,在本系统中使用了标志位flag1-flag4,由标志位和按键来控制。5 结论本系统主要利用了AT89S51单片机显示来实现病房呼叫的,主要包括显示模块,键盘模块,声音模块,单片机系统,接口模块等几部分,本文介绍的病房呼叫系统具体是说,医院的病房里每个床位边都装有一个呼叫按钮,当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示灯亮,然后报警,可以变化,值班护士一看就知道哪个房间的病人需要帮助或需要进行抢救。当同时有两个或多个以上的病人呼叫时,彼此互不干扰。系统的不足之处首先是没能实现循环显示,循环显示就是只有一个数码管显示,通过各个病床位的优先级的设置,最先显示的是优先级高的病人的床位号码;其次就是系统用到的器件的个数比较多,比如说数码管以及蜂鸣器,指示灯都是四个,都比较繁琐;再次就是没有实现病人与护士之间的对话功能,如果能够实现这个功能那么将为病人提供更好的服务。致谢本文是在老师的精心指导和严格要求下完成的,刘坤老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。同时,还特别感谢电气工程各位同学对我的无私帮助,使我得以顺利完成论文。通过这次设计,使我获得了丰富的理论知识,极大地提高了实践能力。单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,我忠心感谢刘坤老师以及信息技术学院各位老师的指导和支持。在未来的工作和学习中,我将以更好的成绩来回报各位领导和老师。参考文献[1]张毅刚.M新编CS-51单片机应用系设计[M].哈尔滨:哈尔滨工业大学出版社,2003,8-82[2]周航慈.单片机应用程序设计技术(修订版)[M].北京:北京航空航天大学出版社,2002,40-60[3]张为民,等.CS-51系列单片机系统及其应用[M].北京:高等教育出版社,2004,10-100[4]鲍小南.单片机基础[M].杭州:浙江大学出版社,2002,21-98[5]沈美明,温冬婵.汇编语言程序设计[M].北京:清华大学出版社,2001,35-299[6]Mgrammingandcustomizingthe8051microcontroller[M].McgrawHillNewYork1999,43-90[7]张刚毅.单片微机原理及应用.西安:西安电子科技大学出版社,1993,20-50[8]Guiyuntian.foundationandapplicationofmicrocontroller[M].英国:高等教育出版社39-201附录仿真图2程序清单/******************************************************************************** **********************************************************************************描述:对独立键进行按键次数计数,8位数码管显示。**K1按下后,进行加1计数,逐个增加显示位。 **K2按下后,进行减1计数,逐个减少显示位。 **K3暂时没有定义功能。 **K4按下后,清计数单元,只有第一位数码管显示0。 **数码管显示的位数随K1和K2按下的次数,增加与减少。 *********************************************************************************/#defineMAIN_GLOBAL#include"..\inc\config.h"/*********************************************************硬件初始化**********************************************************/voidCpu_Int(){ EA=0;TMOD=0x01;//定

温馨提示

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

评论

0/150

提交评论