




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基础课程设计(论文) 基于单片机的模拟病房呼叫基于单片机的模拟病房呼叫 系统系统 学生姓名:学生姓名: 指导教师:指导教师: 学生学号:学生学号: 专专 业:电气工程及其自动化业:电气工程及其自动化 信息技术学院电气工程系 20122012 年年 1212 月月 5 5 基于单片机的模拟病房呼叫系统基于单片机的模拟病房呼叫系统 摘摘 要要 病房呼叫系统是传送临床信息的重要手段,可将病人的请求快速传送给值班医生或 护士,它主要用于协助医院病员在病床上方便地呼叫医务人员,是提高医院和病室护理 水平的必备设备之一。让患者需要服务时,只要按一下随身携带的呼叫器,信息立马就 能传至护工处.避免没有看护人
2、在时,病人急需服务却无法通知医生的情况.它要求及时、 准确、可靠、简便可行。当呼叫源有呼叫信号时,在系统上有相应的声、光呼叫信号指 示,并能显示出呼叫号码。此系统主要由S51单片机,四个按键,四个数码管,四个指示 灯,四个蜂鸣器组成。每个病房有 4 个床位,每个病人要呼叫可以按键,同时会有不 同的蜂鸣器响,不同的数码管显示床位号,相应的指示灯亮。这里主要想用其它 I/O 口模拟串口显示,这是编程的关键。 关键词关键词 病房呼叫/单片机/串口显示 目录 摘 要.- 2 - 关键词.- 2 - 1 引言.- 6 - 1.1 背景与意义.- 6 - 1.2 研究内容.- 7 - 2系统硬件设计.-
3、8 - 2.1系统原理框图.- 8 - 2.2各模块设计.- 9 - 2.2.1LED 显示模块设计 .- 9 - 2.2.2键盘模块设计.- 10 - 2.2.3声音模块设计.- 10 - 2.2.4接口电路设计.- 11 - 2.3单片机介绍.- 11 - 2.4主要元器件介绍.- 12 - 2.4.1 51 单片机与 74HC164 静态显示接口.- 12 - 2.4.2 单片机 AT89S51 介绍.- 12 - 3 系统软件设计.- 17 - 3.1系统总流程图.- 17 - 3.2各模块功能设计.- 18 - 3.3 计数器延时设定.- 19 - 3.3.1 计数器硬件延时.- 1
4、9 - 3.3.2 软件延时.- 20 - 3.4系统平台介绍.- 21 - 3.4.1 汇编语言介绍.- 21 - 3.4.2伟福软件简介.- 22 - 3.4.3 Protel99SE 介绍.- 23 - 3.4.4 Protel99SE 原理图绘制.- 25 - 4系统测试.- 25 - 4.1单片机应用系统的硬件调试.- 25 - 4.2单片机应用系统的软件调试.- 26 - 5结论.- 27 - 致 谢.- 28 - 参考文献.- 29 - 附 录.- 30 - 1 PCB 版图 .- 30 - 2 程序清单.- 31 - 1 1 引言引言 1.11.1 背景背景与意义与意义 近年来
5、随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先 导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的 结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生 活中,同时带动传统控制检测的更新。 伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要 迅捷、方便地得到医院的各种各样的医疗服务,这必将使医院之间的竞争日趋激烈。 这使得衡量一个医院的综合水平高低,不再仅仅局限于软、硬件的建设上,更要比 服务。原有的服务体系已不足以适应现代社会需求,谋求适合现代社会需求的客户 服务系统,是所有企事业单位计划做或正在做的工作。这些工作有
6、利于改善服务量, 提高效率并增加企业效益,从而赢得良好的社会声誉。如何利用先进的信息技术为 医院服务,更大程度的提高医院的服务质量及利润,是医院信息化建设中的一个重 要着眼点。 医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫 在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问 题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。 病房呼叫系统只是医院管理系统中的一小部分,随着医疗技术的发展以及计算 机的发展,医院管理系统也向标准化,系统化,局域网络,集中式数据库,自顶向 下的一体化设计和数据的共享以及电子病例等方面发展。医院管理系统的发
7、展要适 应医疗制度改革形势的需要提供支持医疗保险账目核算,药品医疗分开管理,分别 核算,营利性医院与非营利性医院的不同管理算法。 系统的建设将本着“以患者为中心”的原则,以方便患者,提高就诊效率为目的, 力争为患者提供最满意的服务,同时也将提高医疗的社会效益和经济效益。呼叫系 统的优劣直接关系到病员的安危,也可减少医护人员巡视病床的辛劳,能放心地、 高效地处理其它医护问题,历来受到各大医院的普遍重视,已成为各医院现代化的标 志。鉴于此,设计及时、准确、可靠、简便可行、利于推广的呼叫系统有很高的应用 价值和意义。 1.21.2 研究内容研究内容 1.熟悉核心芯片,掌握使用芯片的关键技术,熟练运用
8、芯片。 2.利用所掌握的芯片技术完成单片机模拟病房呼叫系统的设计。 3.完成系统的设计的拓扑图、原理图、PCB 板图等。 4.利用单片机实现模拟病房呼叫系统。 5.要求设计四个按键,四个指示灯显示,四个蜂鸣器报警,并且用数码管显示 报警床位的序号。 6.要求数码管显示电路用串口实现,节省 I/O 口资料 7.完成系统设计的理论说明及得到的结论。 本系统能实现以下功能: 病床呼叫时,可显示呼叫分机号并闪烁 10 秒钟。 多个病床呼叫护士站时,可分时显示呼叫分机号。 同时并分别相应闪烁 10 秒钟,且具备记忆功能。 显示屏最多可显示 4 位数 显示一个病床号码并闪烁10秒钟。 2 2系统硬件设计系
9、统硬件设计 2.12.1系统原理框图系统原理框图 单片机连接原理图如图2-1所示: 号数码管指示 号数码管指示 号数码管指示 号数码管指示 号蜂鸣器报警 号蜂鸣器报警 号蜂鸣器报警 号蜂鸣器报警号指示灯 号指示灯 号指示灯 号指示灯 号按键 号按键 号按键 号按键 图2-1 单片机连接原理图 系统原理框图 如图2-2 按键 输入 89S51 单片机 数码管显示电 路 蜂鸣器电路 指示灯电路 图2-2 系统原理框图 2.22.2各模块设计各模块设计 该系统主要包括显示模块,键盘模块,声音模块,接口电路四部分组成。 2.2.12.2.1 LEDLED 显示模块设计显示模块设计 主要由74HC164
10、和数码管组成的,通过串口输入和串口输出把号码显示到数码管 上。通过74HC164来实现,在程序中主要是用循环来实现给一个时钟信号,输入一个 数据,当有按键按下时,数码管将显示出是几号床位上的病人呼叫,而且一直在显示,直 到有护士发现。 数码管显示 LED 发光器件一般常用的有两类:数码管和点阵。7 段数码管属于 LED 发光器件 的一种。7 段数码管由 8 个发光二极管 LED 组成,其中包括 7 个细长型的 LED 和 1 个小数点型的 LED,每个 LED 称为一字段,分别为 a、b、c、d、e、f、g、dp 共 8 段,其中 dp 为小数点,单片机驱动 LED 数码管有静态显示和动态扫描
11、显示两种方法, 其中后者较为常用。 动态扫描方法是用其接口电路把所有显示器的 8 个笔画字段(a-g 和 dp)同名 端线在一起,而每一个显示器的公共极 COM 各自独立的接受 I/O 线控制,CUP 向字 段输出端口输出字型码时,所有显示器接收到相同的字型码,但究竟使用哪个显示 器,则取决于 COM 端,而这一端是由 I/O 控制的,由单片机决定何时显示哪一位。 动态扫描用分时的方法轮流控制各个显示器的 COM 端,使各个显示器轮流点亮。在 轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象 及发光二极管的余辉效应, 给人的印象就是一组稳定的显示数据。动态显示需要分 时
12、显示,需要 CPU 时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的 CPU 时间多,但使用的硬件少,可以大幅度地降低硬件成本和电源的功耗,还可以节省 线路板空间。本设计共使用 6 位 7 段数码管,采用动态扫描方式显示。 2.2.22.2.2 键盘模块设计键盘模块设计 四个按键占用了四个I/O口,分别接在AT89S51单片机最小系统P1口的P1.4-P1.5 引脚上。通过不断的扫描 I/O口是高电平还是低电平来判断是否有病人呼叫,是通 过循环实现的。同时还需要考虑到一些问题,例如,当有多个病人同时呼叫时,能 使互不干扰。 2.2.32.2.3 声音模块设计声音模块设计 利用蜂鸣器来实现,
13、蜂鸣器报警占用了四个I/O口, 分别接在P2口的P2.4-P2.7 引脚上.蜂鸣器如图2-4所示: 图2-4 蜂鸣器 2.2.42.2.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个
14、蜂鸣器报警(P2.4-2.7)。 2.32.3单片机介绍单片机介绍 单片机全称为单片微型计算机(Single Chip Microcomputer),又称为微控制器 (Micro controller Unit)或嵌入式控制器(Embedded Controller)。它是将计算机 的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有 CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线 等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着片上系统方向发展。 单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点, 在自动
15、化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的 应用。 2.42.4主要元器件介绍主要元器件介绍 本课题主要用到了:AT89S51单片机和74HC164芯片。 2.4.12.4.1 5151 单片机与单片机与 74HC16474HC164 静态显示接口静态显示接口 在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。 所谓静态显示,就是每一个显示器都要单独占用具有锁存功能的I/O接口用于笔划段 字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了, 直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开 销小。可以
16、提供单独锁存的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个时钟脉冲
17、过后,8位二进制数全部移入 74LS164 中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时, 时钟脉冲才起作用。Q1Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的 hga各段对应的引脚上。 4HC164是串入并出器件,串入是一位一位进的,先进入的后出如:数码管要显示数 字1,数字1共阴数码管的并口代码是06,二进制是,所以要颠过来送数,先送高位后出 高位,为,代码为C0,这样才能显示数字0 2.4.22.4.2 单片机单片机 AT89S51AT89S51 介绍介绍 at89s51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内
18、含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度, 非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既 可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中, ATMEL公司的功能强大,低价at89s51单片机可为您提供许多高性价比的应用场合, 可灵活应用于各种控制领域。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断 优先级2层中断嵌套中断,2个16位可编程定时计数器,
19、2个全双工串行通信口,看门 狗(WDT)电路,片内时钟振荡器。 AT89s51是一种低功耗,高性能的CMOS 8位微控制器与面积字节的在系统可编程 快闪记忆体。该装置是制造过程中利用Atmel的高密度非挥发性记忆体技术和兼容业 界标准80 C51指令集和引脚。该单晶片快闪允许计划记忆体被reprogrammed在系统 或由一个传统的非挥发性记忆体编程器。 相结合的灵活的8位CPU与在系统可编程闪 存就单片芯片, Atmel的at89s51是一个功能强大的微控制器提供了一个 高度灵活和具成本效益的解决方案,许多嵌入式控制应用。 该at89s51提供下列标准的特点: 面积字节的闪存, 128字节内
20、存, 32 I / O线, 看门狗定时器,两个数据指针,两个16位定时器/计数器, 1 fivevector 两个级别的中断结构,全双工串行端口,片上振荡器,和时钟电路。 此外,该at89s51设计与静态的逻辑运作下降到零的频率和支持两种软件可选的 省电模式。 闲置模式站的CPU ,同时允许的RAM ,定时器/计数器,串行端口,和中断系统 继续运作。该掉电模式保存RAM的内容但冻结振荡器,禁用所有其他芯片的功能,直 至下一次外部中断或硬件复位。 (2)AT89S51与AT89C51比较: 89S51相对于89C51而言:新增加了很多功能,性能有了较大提升,价格基本不 变,甚至比89C51更低!
21、 ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯 片从工作环境中剥离。是一个强大易用的功能。 最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有 更高工作频率,从而具有了更快的计算速度。 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强, 这样就可以有效的保护知识产权不被侵犯。 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS- 51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单
22、片 机是8051还是89C51还是MCS-51等等) ,在89S51上一样可以照常运行,这就是所谓的 向下兼容。 比较结果:就如同INTEL的P3向P4升级一样,虽然都可以跑Windows98,不过速 度是不同的。从AT89C51升级到AT89S51 ,也是同理。和S51比起来,C51就要逊色一 些,实际应用市场方面技术的进步是永远向前的。 (3)AT89S51各引脚功能介绍: 引脚如图2所示,以下是各引脚的说明. VCC:AT89S51 电源正端输入,接+5V。 VSS:电源地端。 XTAL1:单芯片系统时钟的反相放大器输入端。 XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在 X
23、TAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两个引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。 RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚 电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各 项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开 始读入程序代码而执行程序。 EA/Vpp:EA为英文External Access的缩写,表示存取外部程序代码之意, 低电平动作,也就是说当引脚为低电平后,系统会调用外部的程序代码(存于外部 EP
24、ROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无 程序存储器空间。如果是使用 8751 内部程序空间时,引脚要接成高电平。此外, 在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压 (Vpp) 。 ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用 信号。AT89S51可以利用这个引脚来触发外部的8位锁存器(如74LS373) ,将端口0的 地址总线(A0A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。 平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6
25、,因此可以用来驱动 其他周边晶片的时基输入。此外在烧录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表
26、示位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的输出设为高
27、电平时,此端口便能当成输入端 口来使用。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端口
28、,其输出缓冲 器可以推动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 单片机系统原理
29、 3 3 系统软件设计系统软件设计 3.13.1系统总流程图系统总流程图 系统流程图如图3-1所示: 3号病房键按下 判断是哪个病房键 按下 2号病房键按下 程序初始化 1号病房键按下4号病房键按下 数码管显示病房号 指示灯亮蜂鸣器报警 数码管显示病房号 指示灯亮蜂鸣器报警 数码管显示病房号 指示灯亮蜂鸣器报警 数码管显示病房号 指示灯亮蜂鸣器报警 图3-1 系统流程图 通过不断地循环扫描按键,检查是否有病人呼叫。 3.23.2各模块功能设计各模块功能设计 1. 显示模块功能设计 当有按键按下时,就会调用显示子程序,在电路图中使用的是:串行方式,假 如现在是2号床位上的病人呼叫,则在数码管上应
30、显示“2” ,串行方式中,数码管上 显示的数字是先成二进制数,再一位一位地输进去的,然后才显示数字。这里是在 模拟串口,因为该单片机中只有一个串口,而这里要用多个串口。当这段程序执行 完以后,再进入循环。十进制数与相应二进制数的转换表如表3-1所示。 表3-1 转换表 显示数值 a b c d e f g dp 驱动代码(16进制) 01 1 1 1 1 1 0 00fcH 1 0 1 1 0 0 0 0 060H 2 1 1 0 1 1 0 1 0dAH 3 1 1 1 1 0 0 1 0f2H 4 0 1 1 0 0 1 1 066H 5 1 0 1 1 0 1 1 0B6H 2. 声音模
31、块功能设计 如果有病人呼叫,即有按键按下,那么相应的蜂鸣器所接的I/O口也设置为高电 平,而且每一个蜂鸣器发出的声音是不一样的,同时与床位号对应的指示灯也会亮。 在程序中只用一条语句即可实现:CLR P2.4,因为在本电路设计时,每个引脚都是 低电平有效的,所以在清零时蜂鸣器才能发出声音。 3. 键盘模块功能设计 通过不断的扫描按键所接的 I/O口是高电平还是低电平来判断是否有病人呼叫, 是通过循环实现的。同时还需要考虑到一些问题,例如,当有多个病人同时呼叫时, 怎样能使互不干扰,这时是通过一个标志位来控制的。 3.33.3 计数器延时设定计数器延时设定 3.3.13.3.1 计数器硬件延时计
32、数器硬件延时 定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以 加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器 记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C 式中,M为计数器模值,该值和计数器工作方式有关。该系统中,选用的是方式 1,计数器的初值为:15536,溢出是为:65536,而晶振为:12HZ,根据公式计算, 计算公式 T=(MTC)T计数 或T计数 T计数是单片机时钟周期的12倍,为定时初值, 单片机的主脉冲频率为12MHZ,可得定时时间为:50ms。 相应的程序代码为: (1)BEGIN:
33、MOV TMOD,#10H ;定时器/计数器方式控制 MOV TH1,#3CH MOV TL1,#0B0H SETB ET1 ;将所指位置1 SETB TR1;ET1:定时器1(T1)的溢出中断允许位 ;TR1:T1的运行控制位,置1表示启动 (2)中断服务程序: DSD:MOV TH1, #3CH MOV TL1, #0B0H INC R7 ;R7的值给了A,也是为了保证报警时间的准确性 CLR TF0 ;定时器0的溢出中断标志位 RETI 3.3.23.3.2 软件延时软件延时 MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为12MHZ。机 器周期与主频有关,机
34、器周期是主频的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*2
35、50=5000,所以延时时间 为:5000*2=10000us,约是:10MS。 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。 3.43.4系统平台介绍系统平台介绍 3.4.13.4.1 汇编语言介绍汇编语言介绍 程序设计语言可以分为:符号语言,机器语言,汇编语言,高级语言。符号语 言己经具有很多优点,但符号语言中的每一个符号(这里称作助记符)可以是用户根 据辨认或者记忆的需要自己来决定的。这样,通用性不是很强。就是说,按某一个 人的想法编写的符号语言程序,另外一个人是无法看懂的。汇编语言克服了上述的 缺点,它是在符号语言的基础上发展起来的。它是针对一类(甚至几类)计算机, 抽象出
36、来的一种符号语言并把这些符号加以统一规定,使得使用同类计算机的人都 了解这些符号的意义,这样,使得用汇编语言编写的程序可以在这一类型的任何一 台计算机上使用。这就有了极大的灵活性,当然不同类型的计算机的汇编语言也不 同。它们都必须由生产厂家提供的汇编语言来编写。另外汇编语言还增加了宏指 令的功能。 让我们比较一下汇编语言和高级语言的特点。 首先,汇编语言与处理器关系密切。每种处理器都有自己的指令系统,相应的 汇编语言也各自不同。因而汇编语言程序的通用性、可移植性较差。而高级语言与 具体计算机无关,高级语言程序可以在多种计算机上编译启执行。 其次,汇编语言编程涉及寄存器、内存等硬件细节,程序繁琐
37、,调试也比较困 难而高级语言采用类似自然语言的语法,容易被掌握和使用,也不必关心诸如标 志、堆栈等。 但是,汇编语言本质上就是机器语言,它可以直接有效地控制计算机硬件,因 而可以产生运行速度快、指令序列短的高效率目标程序。而高级语言不易直接控制 计算机的各种操作,编译程序产生的目标程序庞大、程序难以优化、运行速度慢. 总的来说,汇编语言的主要优点就是可以直接控制计算机硬件,可以编写在时 间和空间两方面更有效的程序。这些优点使得汇编语言在程序设计中占有重要的地 位。是不可取代的。 但汇编语言的缺点也是明显的,它与处理器密切相关,要求程序员熟悉计算机 硬件系统,考虑许多细节问题,所以程序繁琐,调试
38、、维护、交流和移植困难。因 此,有时可以采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解 决实际问题。 汇编语言生要应用场合有以下几种: l.程序要具有较短的运行时问,或者只能占用较小的存储客量。例如操作系统 的核心 程序段,实时控制系统的软件等。 2.程序与计算机硬件密切相关,程序要直接控制硬件。例如to接口电路的初始 化程序段,外部设备的底层驱动程序等6 3.大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程 序、动态链接库等。 4.没有适合的高级语言的时候。例如开发最新的处理器程序时。 3.4.23.4.2 伟福软件简介伟福软件简介 伟福系列仿真器品种多、功能
39、强,特点如下: 3. 主机+POD组合,通过更换POD,可以对各种CPU进行仿真。 对待不同的应用场合,用户往往会选择不同的CPU,从而需要更换仿真器,伟福 仿真软件WINDOWS版本支持本公司多种仿真器。支持多类CPU仿真。 4. 双平台 DOS版本,WINDOWS版本。其中WINDOWS版本功能强大。 5. 双工作模式 软件模拟仿真(不要仿真器也能模拟仿真)和硬件仿真。 8. 双CPU结构,100% 不占用户资源。 全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、事件点、 支持实时断点计数、软件运行时间统计。 9. 双集成环境 编辑、编译、下载、调试全部集中在一个环境下。多种仿
40、真器,多类CPU仿真全 部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利蒲公司的 552、LPC764、DALLAS320,华邦438等51增强型CPU。为了跟上形势,现在很多工程 师需要面对和掌握不同和项目管理器、编辑器、编译器。伟福 WINDOWS调试软件为 您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编 辑器,汇编Make、Build和调试工具并提供一个与第三方编译器的接口。由于风格统 一,从而大大节省了您的精力和时间。 10.强大的逻辑分析仪综合调试功能。 随着科学技术的发展,单片机通讯方面的运用越来越多。有了逻辑仪,用它可 以分别或者同时对发
41、送方、接收方的输入或者输出波形进行记录、存储、对比、测 量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发 现问题所在。从而极大地方便了调试。 11.强大的追踪器功能 追踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件,其触发 条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息, 可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最 多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完 成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计软件运行时间。 3.4.33.4.3 Protel9
42、9SEProtel99SE 介绍介绍 Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现 从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管 理。因而今天的Protel最新产品已不是单纯的PCB(印制电路板)设计工具,而是一 个系统工具,覆盖了以PCB为核心的整个物理设计。 最新版本的Protel软件可以毫 无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡 到新的EDA平台。 Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析) 、自动布线器、原理
43、图混合信号仿真、PLD设计。 以下介绍一些Protel99SE的部分 最新功能: 可生成30多种格式的电气连接网络表; 强大的全局编辑功能; 在原理图中选择一级器件,PCB中同样的器件也将被选中; 同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、 引脚、网络; 既可以进行正向注释元器件标号(由原理图到PCB) ,也可以进行反向注释(由 PCB到原理图) ,以保持电气原理图和PCB在设计上的一致性; 满足国际化设计要求(包括国标标题栏输出,GB4728国标库) ;方便易用的数模 混合仿真(兼容SPICE 3f5) ; 支持用CUPL语言和原理图设计PLD,生成标准的JE
44、D下载文件;PCB可设计32个信 号层,16个电源-地层和16个机械加工层; 强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查; 智能覆铜功能,覆铀可以自动重铺; 提供大量的工业化标准电路板做为设计模版; 放置汉字功能; 可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换; 智能封装导航(对于建立复杂的PGA、BGA封装很有用) ; 方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果; 独特的3D显示可以在制板之前看到装配事物的效果; 强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、 测试点报告等; 经过充分验证的传输线特
45、性和仿真精确计算的算法,信号完整性分析直接从PCB 启动; 反射和串扰仿真的波形显示结果与便利的测量工具相结合; 专家导航帮您解决信号完整性问题。 3.4.43.4.4 Protel99SEProtel99SE 原理图绘制原理图绘制 原理图绘制过程: (1)设计图纸大小首先要构思好零件图,设计好图纸大小。图纸大小是根据 电路图的规模和复杂程度而定的,设置合适的图纸大小是设计好原理图的第一步。 (2)设置Protel99SE/Schematic设计环境 包括设置格点大小和类型,光标类 型等等,大多数参数也可以使用系统默认值。 (3)旋转零件用户根据电路图的需要,将零件从零件库里取出放置到图纸上,
46、 并对放置零件的序号、零件封装进行定义和设定等工作。 (4)原理图布线利用Protel 99SE/Schematic提供的各种工具,将图纸上的 元件用具有电气意义的导线、符号连接起来,构成一个完整的原理图。 (5)调整线路将初步绘制好的电路图作进一步的调整和修改,使得原理图更 加美观。 (6)检查原理图 使用Portel99SE 的电气规则,即执行菜单命令Tool/REC对 画好的电路原理图进行电气规则检查。若有错误,根据错误情况进行改正。 (7)报表输出通过Protel99SE/Schematic提供的各种报表工具生成各种报表, 其中最重要的报表是网络表,网络表是电路原理图设计和印刷电路板设
47、计之间的桥 梁,执行菜单命令Design/Create Net list可以生成具有元件名、元件封装、参数 及元件之间连接关系的网络表。 (8)文件保存及打印输出最后的步骤是文件保存及打印输出。 4 4系统测试系统测试 单片机应用系统的调试包括硬件调试和软件调试,下面分2部分进行讨论 4.14.1单片机应用系统的硬件调试单片机应用系统的硬件调试 单片机应用系统的硬件调试主要是排查印刷电路板的问题和连接上的一些问题。 由于硬件电路变化很多,不同类型的电路可能出现的问题也不一样,所以没有固定 的程序可以投用,所以,在该系统中,首先通过了仔细地推敲系统原理,确认无误; 其次对照设计图纸查印制电路板,
48、看是否有粘接等工艺现象;最后,检查外围连接 是否有误,通过这几个方面的反复调试,可确保电路板的无误性。 在本系统的硬件调试过程中,出现了电压不稳定而导致程序无法写入的情况, 使电压稳定的方法是改用新的电池,或者是再次设计电源方案,在这里是用电源接 通教学实验板,然后再把教学实验板与本系统相连接,这样,就可以得到稳定的电 压了。 4.24.2单片机应用系统的软件调试单片机应用系统的软件调试 单片机应用系统的软件调试也没有规律可循,调试时更多的是凭经验。软件调 试的主要任务是排查错误。 通过在Wave E2000编译器下调试程序,有两种错误,一种逻辑错误,也就是语 法错误,是很容易被发现的,另一种
49、是功能错误,是指在没有语法错误的基础上, 由于设计思想或算法的问题导致不能实现软件功能的一种错误。通过这两方面错误, 不断地调试,以及对各模块的调试,最后组成一个完整的程序。 在软件设计中用了定时器而的原因是: 中断一开,定时器就开始计时,当到了中 断时间时,就调用中断程序,其实定时器的作用和延时程序的作用是一样的,只不过, 定时器有一个好处就是,相等于是两个CPU在动作,互不干扰,定时器一直在计时,程序 也一直在运行;而延时程序是没有这个作用的,在运行延时程序的同时是不能有其它 操作的,延时程序的作用是让前面的操作彻底运行完。 为了避免呼叫时互相干扰,在本系统中使用了标志位flag1-fla
50、g4,由标志位和 按键来控制。 5 5结论结论 本系统主要利用了AT89S51单片机以及74HC164芯片的串口显示来实现病房呼叫 的,主要包括显示模块,键盘模块,声音模块,单片机系统,接口模块等几部分, 本文介绍的病房呼叫系统具体是说,医院的病房里每个床位边都装有一个呼叫按钮, 当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示 灯亮,然后报警,报警时间为10S(可以变化),值班护士一看就知道哪个房间的病人 需要帮助或需要进行抢救。当同时有两个或多个以上的病人呼叫时,彼此互不干扰。 系统的不足之处首先是没能实现循环显示,循环显示就是只有一个数码管显示, 通过各个病床位的优先级的设置,最先显示的是优先级高的病人的床位号码;其次 就是系统用到的器件的个数比较多,比如说数码管以及蜂鸣器,指示灯都是四个, 都比较繁琐;再次就是没有实现病人与护士之间的对话功能,如果能够实现这个功 能那么将为病人提供更好的服务。 致致 谢谢 本文是在老师的精心指导和严格要求下完成的,刘坤老师以其严谨求实的治学 态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对 我产生重要影响。同时,还特别感谢电气工程各位同学对我的无私帮助,使我得以 顺利完成论文。 通过这次设计,使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省F市新就业形态劳动者劳动权益保障问题研究
- 铣床加工流程
- 心理健康5A示范校汇报
- 慢阻肺健康宣教指南
- 颐和园教学说课课件
- 肠道健康的重要性
- 颈椎术后护理课件
- 教师培训心得体会交流
- 中医内科学:疟疾诊治要点
- 设备检修培训内容
- 2025年入党培训测试题库及答案
- 工地用电节约管理办法
- 科创板开户测试题及答案
- 内科护理学消化性溃疡
- 北京市第一零一中学2023-2024学年高一下学期期末考试地理试题(解析版)
- 中小学暑期安全教育班会课件
- DB43-T 2988-2024 再生稻高产栽培技术规程
- 2024年荆州市荆发控股集团招聘考试真题
- 慢病智能监测-洞察及研究
- 部门预算支出经济分类科目
- 电影音乐欣赏智慧树知到期末考试答案章节答案2024年华南农业大学
评论
0/150
提交评论