【毕业设计】单片机控制的医用呼叫器的设计_第1页
【毕业设计】单片机控制的医用呼叫器的设计_第2页
【毕业设计】单片机控制的医用呼叫器的设计_第3页
【毕业设计】单片机控制的医用呼叫器的设计_第4页
【毕业设计】单片机控制的医用呼叫器的设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

学号4109005006泰山医学院毕业设计(论文)题目单片机控制的医用呼叫器的设计院(部)系放射学院所学专业生物医学工程年级、班级2009级一班完成人姓名李艳云指导教师姓名专业技术职称张勇教授2013年6月1日论文原创性保证书我保证所提交的论文都是自己独立完成,如有抄袭、剽窃、雷同等现象,愿承担相应后果,接受学校的处理。专业生物医学工程班级2009级一班签名李艳云2013年6月1日摘要目的本文介绍一种以AT89C52单片机为控制核心的医院呼叫器,来实现病人快速地呼叫护士,缩短呼叫时间。方法利用电子元器件实现一个医院通用的病房病床呼叫装置。硬件方面用相关仿真软件对电路进行仿真,利用单片机实现控制功能,利用已有的键盘模块实现人机的交流,利用语音模块实现报警功能。软件方面,利用C语音编程在单片机操作系统中实现其功能。结果病人呼叫的时候,值班室能够清楚准确知道呼叫的来源。结论利用呼叫器可以快速地呼叫护士,缩短呼叫时间。关键词AT89C52;单片机控制;呼叫器键盘ABSTRACTOBJECTIVETHISARTICLEINTRODUCEAKINDOFTHEHOSPITALCALLINGDEVICEWITHAT89C52SINGLECHIPASTHECONTROLCORETOREALIZETHATPATIENTSQUICKLYCALLTHENURSE,SHORTENINGTHETIMEOFCALLINGMETHODIUSEELECTRONICCOMPONENTSTOACHIEVEAGENERALHOSPITALSICKBEDCALLINGDEVICEINTERMSOFHARDWARE,IUSETHERELATEDSIMULATIONSOFTWARETOCOMPLETETHESIMULATIONOFCIRCUITSIREALIZETHECONTROLFUNCTIONBYUSINGSINGLECHIPMICROCOMPUTERKEYBOARDMODUALISUSEDTOREALIZEMANMACHINECOMMUNICATIONIREALIZEALARMFUNCTIONBYUSINGTHEVOICEMODULEINTHEPARTOFSOFTWARE,IACHIEVEITSFUNCTIONINSINGLECHIPMICROCOMPUTEROPERATINGSYSTEMUSINGCPROGRAMMINGRESULTWHENTHEPATIENTSCALL,THEDUTYROOMCANACCURATELYKNOWTHESOURCEOFTHECALLINGCONCLUSIONUSINGTHEDEVICECANQUICKLYCALLNURSE,SHORTENINGTHECALLTIMEKEYWORDSAT89C52SINGLECHIPMICROCOMPUTERCONTROLPAGERKEYBOARD目录前言第一章绪论11医用呼叫器的发展12单片机的发展介绍2第二章硬件设计41病床呼叫器设计4289C52的介绍103看门狗电路144语音电路175键盘22第三章软件设计271功能介绍272程序流程图273程序源代码28第四章总结36参考文献37致谢38前言病床呼叫系统是一种应用于医院病房、养老院等地方,用来联系沟通医护人员和病员的专用呼叫系统,是提高医院水平的必备设备之一。病床呼叫系统的优劣直接影响到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确可靠、简便可行、利于推广。目前市场上存在着许多种型号不一功能各异的医院病房呼叫系统,主要为两大类有线式和无线式。无线式病房呼叫系统不存在铺设线路的问题,但是可靠性差,而且无线电波会干扰其他医疗仪器设备。本文设计的是有线式的,适合较小的医院病房使用,具有成本低,易于操作、安装和维护,而且具有可靠稳定,对其他医疗设备不会产生干扰特点。病床呼叫管理系统便于病员快捷的呼叫护士,缩短人工呼叫的时间。当今病房呼叫系统正在逐步地向智能化发展,它可以和录像机一起使用,当病人按下开关时,在护士值班室的大屏幕能够观察病人的需要。并且可以配备对讲机等设备,能够使病员及时快捷地与医护人员进行沟通。第一章绪论1医用呼叫器的发展11概述医用传呼对讲系统是现代化医院必不可少的护理辅助设备,它不但能减轻医护员的工作强度,而且也给广大患者带来方便。根据医院要求需设置护士站,每个护士站设置一台护理主机及2台走廊显示屏。每个床位设置一只呼叫分机。电脑呼叫系统由微电脑主机一台、双向通话对讲器、走廊大屏幕显示器(双面显示)、复位按钮等组成。12主要性能(1)具有呼叫对讲功能,并且有呼叫床号储存功能。(2)优先处理及紧急呼叫功能。(3)主机显示窗口由中文和数码直接显示工作状态、顺序号、床号或房间号。总线制,电脑主机数显呼叫床并报警,多位病员同时呼叫亦能循环显示,走廊显示屏同步显示,音乐报警,大容量记忆库,设置优先者,自检故障。床头分机带复位,带病员一览表。(4)当同时有普通病员、重病员、紧急呼叫时,主机根据“紧急呼叫”最为优先,其次“重病员”,最后为“普通病员”呼叫。(5)大屏幕双面四位高亮度显示,平时显示时间,呼叫时显示床位号。(6)通过键盘设置时间、重病员床号。操作简单、方便。13使用方法(一)一般用户呼叫通话一般用户按下按钮(呼叫分机上的红色按键),用户面板绿灯亮,主机发出音乐声(可选)。在音乐持续期间,主机拿起电话机手柄,用户听到回铃声,用户面板红灯亮,即可通话。音乐结束后,主机仍未拿起电话机手柄,则用户处于等待状态,主机必须主动呼叫才可通话。通话结束后,主机可放下手柄或用户下再次按下按键,用户面板上红、绿灯全部熄灭,即可结束通话。用户处于等待状态下,如用户想结束呼叫,则可再次按下按键,用户面板上红、绿灯熄灭,结束呼叫。(二)特护用户呼叫通话特护用户按下按钮,用户面板绿灯亮,主机发出救护声。主机拿起电话机手柄,用户听到回铃声,用户面板红灯亮,即可通话。特护用户无等待状态。通话结束后,主机可放下手柄或用户再次按下按键,用户面板上红、绿灯全部熄灭,即可结束通话。(三)紧急用户呼叫紧急用户按下按钮,用户面板绿灯亮,主机发出短促连续笛声。紧急用户无通话功能,结束呼叫只能在紧急用户处操作。(1)主机呼叫通话主机在任何时候均可通过电话机拨号与普通用户及特护用户通话,拿起电话机手柄,听到拨号音后,拨入用户号,即可通话。拨号为二位数字(从01至96),放下手柄即可结束通话。(2)用户等待状态主机每一秒轮流显示正在等待通话的用户号,并发出地专用笛音。(3)主机关闭全部用户通话拿起话筒手柄,听到拨号音后,按下“”键即可关闭全部用户的呼叫请求,包括一般用户、特护用户和紧急用户。(4)时钟调节主面面板上有时钟调节按钮,共三个键,左侧一个是模式选择,中间的一个是“减少”按钮,右侧一个是“增加”按钮,通过组合三个键可以完成时间的调整。(5)音乐调节主机面板上的音乐拨动开关,可以调节音乐,音量大小也可以调节。(6)广播功能在摘机状态下,按“00”键即可对各病区进行广播,挂机结束广播功能。2单片机的发展介绍21单片机的发展介绍单片机也被称作“单片微型计算机”、“微控制器”和“嵌入式微控制器”,单片机一词最初源于“SINGLECHIPMICROCOMPUTER”,简称SCM。随着单片机在技术和体系结构上的进步,其控制功能不断扩展,国际上逐渐采用“MCU”(MICROCONTROLLERUNIT,微控制器)来代替SCM。单片机的发展历史大致分为4个阶段。第一阶段单片机的探索阶段。这一阶段主要是探索如何把计算机的主要部件集成在芯片上。第二阶段单片机的完善阶段。INTEL公司在MCS48的基础上推出了完善的、典型的MCS51单片机系列。它在以下几个方面奠定了典型的通用总线型单片机体系结构设置了经典、完善的8位单片机的并行总线结构;外围功能单元由CPU集中管理的模式;体现控制特性的地址空间和位操作方式;指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段向微控制器发展的阶段。这一阶段主要是为了满足测控系统要求的各种外围电路和接口电路,突出其职能化控制能力。第四阶段单片机的全面发展阶段。由于很多大半导体和电气厂商都开始参与单片机的研制和生产。随着单片机在各个领域全面深入的发展和应用,逐渐出现了高速、低功耗、大寻址范围、强运算能力的8位、16位、32位通用型单片机以及小型廉价的专用型单片机,还有功能全面的片上单片机系统。22单片机的结构特点单片机是微型机的一个重要分支,它在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模的集成电路芯片上。单片机内是一种在线式实时控制计算机,在线式就是现场控制,需要有较强的抗干扰能力,较低的成本。单片机由于这种结构,所以具有很多显著的特点。主要有控制能力强,抗干扰能力强、可靠性高,性能价格比高,低功耗、低电压,扩展了多种串行口和系统扩展容易等特点。23单片机的实际应用单片机广泛应用于仪表仪器、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。医用设备领域中的应用中,单片机在易用设备领域中的应用相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声波诊断设备及病床呼叫系统等等。此外单片机在工商、金融、科研、教育、国防、航空航天领域都有相当广泛的应用。第二章硬件设计1病床呼叫器设计11整体设计临床求助呼叫(监护)是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。呼叫系统的优劣直接关系到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确、可靠、简便可行。本呼叫系统基于ATEML89C52单片机,振荡电路的晶振采用12MHZ,由控制核心AT89C52单片机、电源电路、振荡电路、复位电路、数码管解码芯片、病房选择和语音呼叫等部分组成,系统框图如下21系统总体结构图电源电路AT89C52单片机复位电路振荡电路解码芯片语音呼叫电路图21系统总体结构图12电路原理图工作原理为电源电路为单片机以及其他模块提供5V电源。晶振模块为单片机提供时钟标准,使系统各部分能协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统进行相应的控制。病房一共为四个,从1号病房到4号病房病人的情况由重到轻,即1号病房的优先级最高,4号病房的优先级最低。所以,当有两个病房一起呼叫时,优先级高的病房号显示;当低优先级的病房呼叫完毕后高优先级的病房呼叫,系统显示的号码改变;当优先级高的病房呼叫完毕后工作人员未复位的情况下,低优先级的病房呼叫无效。另外,当有病房呼叫时蜂鸣器响直至复位。此次设计的选择电路电路图如下22电路原理图图22电路原理图元器件列表如表21表21元器件列表元件名称型号数量/个用途单片机AT89C521控制核心排阻47K1晶振12MHZ1电容22PF2晶振电路电解电容10UF/10V1按键5电阻10K5复位电路病房按钮电源5V/05A1电源电路数码管1位共阳2解码芯片74LS472BCD解码蜂呜器1电解电容1复位电路电容1041复位电路二极管1复位电路发光二极管1电源显示开关1电源开关13仿真图1、未通电如图23未通电电路图图23未通电电路图2、通电下电路图如图24通电电路图图24通电电路图3、低优先级病房先呼叫(蜂鸣器响)如图25低优先级呼叫图图25低优先级呼叫图4、高优先级病房后呼叫(蜂鸣器响)如图26高优先级呼叫图图26高优先级呼叫图5、高优先级病房先呼叫(蜂鸣器响)如图27高优先级呼叫图呼叫有效图27高优先级先呼叫图6、低优先级病房后呼叫(蜂鸣器响)如图28低优先级后呼叫图图28低优先级后呼叫图7、当有两个病房同时呼叫时如图29两病房呼叫图呼叫无效图29两病房呼叫图289C52的介绍21简介89C52是INTEL公司MCS51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS51的HCMOS产品。它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8K片内程序存储器(ROM)32个双向输入/输出I/O口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C51有PDIP40PIN和PLCC44PIN两种封装形式22功能介绍1号3号病房同时呼叫显示1号如表22功能表如表22功能表表22功能表标准MCS52内核和指令系统片内8KROM(可扩充64KB外部存储器)32个双向I/O口256X8BIT内部RAM(可扩充64KB外部存储器)3个16位可编程定时/计数器时钟频率3512/24/33MHZ向上或向下定时计数器改进型快速编程脉冲算法6个中断源50V工作电压全双工串行通信口布尔处理器帧错误侦测4层优先级中断结构自动地址识别兼容TTL和CMOS逻辑电平空闲和掉电节省模式PDIP40和PLCC44封装形式23管脚说明管脚如图210管脚图图210管脚图VCC供电电压。GND接地。P0口P0口为一个8位漏级开路双向I/O口,每个引脚可吸收8个TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,管脚备选功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(计时器0外部输入)P35T1(计时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。24振荡特性外接石英晶体或者陶瓷谐振器以及电容C1、C2接在放大器的反馈回路(AT89C52内部有一个用于构成内部振荡器的高增益反相放大电路,XTAL1、XTAL2分别是该放大器的输入和输出端)中构成并联振荡电路。为了使装置能够被外部时钟信号激活,XATL1应该有效,而XTAL2应该被悬空。由于输入到内部的时钟信号电路通过了一个二分频的信号,外部信号的工作周期比没有别的要求,但是最大值和最小值的大小可以在数据表上观察出来。当正常工作时,外部振荡器可以计算出XTAL1上的电容,最大可达到100PF。这是由于振荡器电容和反馈电容之间的相互作用。当外部信号是标准高电平或者低电平时,电容不会超过20PF25空置模式用户的软件都可以调用空置模式。当单片机处于这种模式,耗能就会自然降低。特殊功能端和板子上的随机存储器在空置状态保持各自的电平。但是处理器阻止装置执行指令。空置模式会被激活如果端口处于复位状态或者中断系统有效。26结构特点互补高性能金属氧化物半导体结构可擦可编程只读存储器/只读存储器/中央处理器12/24/33MHZ操作三个16位的定时器/计数器可编程的时钟输出UP/DOWN定时器/计数器三级程序锁定系统三级程序锁定系统8K/16K/32K片内程序存储器256字节片内RAM改进的快速脉冲编程算法布尔处理器32根可编程的输入/输出线六个中断源可编程的串行通道带有帧错误检测自动地址识别TTL和CMOS兼容逻辑电平64K片外程序存储空间64K片外数据存储空间MCS51单片机可兼容指令集闲置节能和掉电模式ONCE(ONCIRCUIT仿真)模式四级中断优先级3看门狗电路31看门狗定时器看门狗定时器是单片机的一个组成部分,在单片机程序的调试和运行中都有着重要的意义。看门狗定时器(WDT,WATCHDOGTIMER)实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。32工作原理使能时,WDT将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT超时会强制器件复位。为避免WDT超时复位,用户必须定期用PWRSAV或CLRWDT指令将看门狗定时器清零。如果WDT在休眠或空闲模式下超时,器件将唤醒并从PWRSAV指令执行处继续执行代码。在上述两种情况下,WDTO位(RCON)都会置1,表示该器件复位或唤醒事件是由于WDT超时引起的。如果WDT将CPU从休眠或空闲模式唤醒,“休眠”状态位(RCON)或“空闲”状态位(RCON)也会置1,表示器件之前处于省电模式。33功能作用此外,WATCHDOG还可以在你的程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。看门狗定时器对微控制器提供了独立的保护系统,当系统出现故障时,在可选的超时周期之后,看门狗将以RESET信号作出响应,像X25045就可选超时周期为14秒、600毫秒、200毫秒三种。当你的程序死机时,X25045就会使单片机复位。大多数看门狗定时器IC产生一个单一的,有限的输出脉冲持续时间当看门狗超时。这适用于触发复位或中断微处理器,但有些应用需要输出故障指示灯的锁存器。考虑到安全性问题,汽车电子系统需要监控电路监测故障容限或安全性。看门狗定时器可理想满足这类需求,通过对微控制器正常工作条件下产生的周期脉冲进行检测,侦测电路或IC的失效状态,一旦发生故障可立即切换到备份/冗余系统。图211看门狗定时器34设计在看门狗(看门狗,又叫WATCHDOGTIMER),是一个定时器电路,一般有一个输入,叫喂狗KICKINGTHEDOGORSERVICETHEDOG,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,一般在程序跑飞时,WDT定时超过,就会给出一个复位信号到MCU,是MCU复位防止MCU死机看门狗的作用就是防止程序发生死循环,或者说程序跑飞。出于对单片机运行状态进行实时监测的考虑,产生了一种专门用于监测单片机程序运行状态的芯片,俗称“WATCHDOG”集成电路MAX813的基础上,该电路提供了响应的输入脉冲流损失锁存故障指示。该电路可以监控风扇上风扇的转速输出计算,振荡电路,或一个微处理器软件执行。图212看门狗集成电路大多数看门狗定时器IC产生一个单一的,有限的输出脉冲持续时间当看门狗超时。这适用于触发复位或中断微处理器,但有些应用需要输出故障指示灯的锁存器。一个简单的电路图1提供了响应的输入脉冲流损失锁存故障指示。在PSUPERVISOR/WATCHDOG集成电路MAX813的基础上,该电路用于监测风扇在风扇的转速输出计算,振荡电路,或一个合适的微处理器软件执行。在上电期间,低电平有效复位仍然很低,直到VCC的稳定和复位超时时间到期。电容器C通过R,直到FET的栅极电压达到阈值电压VTH,它开启了场效应管,使锁存能力。为了防止误触发,你应该设置RC延迟的时间远远超过了复位超时。WDI输入引脚6必须按切换电容器CSWT设立最低速率。如果这没有发生,低电平有效复位变低,在LED指示灯,在连接和低拉复位,从而锁定低电平复位。该电路仍然有效,直到你循环VCC或推开关在此条件。要么关闭FET的行动,并允许重置变高。为了监测风扇开漏测速信号,从世界发展指标10K的连接到VCC引脚8上拉电阻器。由于风扇需要一些时间来旋转起来,看门狗电路需要为一个短暂的延迟时间间隔停用。您可以通过将本延迟电容C2从对地复位。请注意,此延迟必须小于上述RC延迟,或低电平有效复位锁存过早会较短。对于一个风扇监控,对CSWT值设置最大转速脉冲周期根据公式506106CSWT,其中在几秒钟内CSWT。如果转速低于这个阈值时,低电平有效复位输出低和插销。35操作在正常操作期间,一次WDT超时溢出将产生一次器件复位。当器件处于休眠状态时,一次WDT超时溢出将唤醒器件,使其继续正常操作(即称作WDT唤醒)。对WDTE设置位清零可以永久性地关闭WDT。后分频器分配完全是由软件控制,即它可在程序执行期间随时更改。为避免发生不可预测的器件复位,当从TIMER0预分频器的分配改为WDT后分频器的分配时,必须执行下列指令序列。即使WDT被禁止,也要执行这个指令序列。4语音电路本设计用到的语音电路以录音芯片为ISD4004为核心,进行外围电路展开设计,其中还包括一个功放电路LM386,它的作用是使播放出来的语音更清晰,声音更洪亮,配一个精密可调电阻可以对它的音量进行调节,可大可小,直到人们满意为止。ISD4004的工作电压为直流3V,所以用可调正电压集成稳压器LM317,通过对它的电路设计,设计出满足语音芯片ISD4004的电压,其压差在负载电流为800MA时为12V,通过电路设计使其输出为3V。41语音电路图设计语音电路的设计比较复杂,调试起来也很麻烦,而且很容易受到各种噪音的干扰,影响录放音的音质效果,即使是布线布得不恰当,也会影响音质,因此有很多地方都很需要讲究。本电路的设计,在麦克风的接口处,各接一个104的小电容来对录音时的高频杂音、毛刺等进行过滤,在源头上杜绝了噪音的产生。对于喇叭的连接,采用传统的功放电路,使音质更清晰,播放效果更好。在布线方面,为了避免噪声干扰,杜绝了布线时采用90的直角,电源线尽量远离ISD4004的13脚和14脚的电容,功放芯片与语音芯片摆放位置要恰当,既要考虑彼此间的电信号干扰,也要考虑到铜板的节约。由于单片机的工作电压是5V,而语音芯片的工作电压是3V,如何在同一块板上满足彼此的电压也是要解决的问题。经过几个方案的比较,最终采用了可调正三端稳压器LM317,通过对R1和R2两个电阻的计算,使它最终输出语音芯片所需的3V的电压。这样的设计避免了因电压太低芯片语音而无法工作,也避免了电压太高而烧坏语音芯片,从而实现了在同一块电路板上的不同电压的转换。具体电路图如图213ISD4004与LM386电路图,为ISD4004和LM386构成的电路图;如图图214是3V电压转换电路。LS1PEAKRC8U607R2K594VGNDAI3BYPUMICOSTXD座HJOTNF图213ISD4004与LM386电路图图2143V电压转换电路42ISD4004简介ISD4004是美国ISD公司推出的产品,器件工作电压3V,工作电流2530MA,维持电流1A,单片录放语音时间816MIN,音质好,适用于移动电话机及其它便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口SPI或MICROWIRE送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音3V乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率可为40,53,64,80KHZ,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年典型值,反复录音10万次。内部电路图如图215ISD4004内部电路图。图215ISD4004内部电路图421ISD4004引脚及其功能ISD4004共有28个引脚,如图图216ISD4004引脚图图216ISD4004引脚图422引脚描述电源VCCA,VCCD为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。地线VSSA,VSSD芯片内部的模拟和数字电路也使用不同的地线。同相模拟输入ANAIN这是录音信号的同相输入端。反相模拟输入ANAIN差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16MV音频输出AUDOUT提供音频输出,可驱动5K的负载。片选SS此端为低,即向该ISD4004芯片发送指令,两条指令之间为高电平。中断/INT本端为漏极开路输出。ISD在任何操作包括快进中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。OVF标志指示ISD的录、放操作已到达存储器的未尾。EOM标志只在放音中检测到内部的EOM标志时,此状态位才置1。外部时钟XCLK本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在1内。商业级芯片在整个温度和电压范围内,频率变化在225内。工业级芯片在整个温度和电压范围内,频率变化在6/4内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟如前表所列。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。423SPI串行外设接口ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟止升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。协议的具体内容为(1)所有串行数据传输开始于SS下降沿。(2)SS在传输期间必须保持为低电平,在两条指令之间则保持为高电平。(3)数据在时钟上升沿移入,在下降沿移出。(4)SS变低,输入指令和地址后,ISD才能开始录放操作。(5)指令格式是8位控制码加16位地址码。(6)ISD的任何操作含快进如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。(7)使用“读“指令使中断状态位移出ISD的MISO引脚时,控制及地址数据也应同步从MOSI端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作即新移入的数据与器件当前的操作可以不兼容。(8)所有操作在运行位RUN置1时开始,置0时结束。(9)所有指令都在SS端上升沿开始执行。424信息快进用户不必知道信息的确切地址,就能快进跳过一条信息。信息快进只用于放音正常的1600倍,遇到EOM后停止,然后内部地址计数器加1,指向下条信息的开始处。指令表如图23ISD4004指令表。表23ISD4004指令表指令8位控制码操作摘要POWERUP00100XXX上电等待TPUD后器件可以工作SETPLAY11100XXX从指定地址开始放音。后跟PLAY指令可使放音继续进行下去PLAY11110XXX从当前地址开始放音直至EOM或OVFSETREC10100XXX从指定地址开始录音。后跟REC指令可使录音继续进行下去REC10110XXX从当前地址开始录音直至OVF或停止SETMC11101XXX从指定地址开始快进。后跟MC指令可使快进继续进行下去MC11111XXX执行快进,直到EOM。若再无信息,则进入OVF状态STOP0X110XXX停止当前操作STOPWRDN0X01XXXX停止当前操作并掉电RINT0X110XXX读状态OVF和EOM注快进只能在放音操作开始时选择。43LM386的介绍LM386是美国国家半导体公司生产的音频功率放大器,通常被人们选做功放芯片,因为它适合于电池工作,使用外部元件少,供电范围宽(通常是412V),静态电流消耗低,电压增益宽(20200V)等特点,很符合制作功放的要求,因此备受人们的欢迎。它的使用与语音芯片电路结合起来很简单,只需要将语音芯片的音频输出端外接一个阻值为20K的精密可调电阻,该电阻的划片这一端与LM386的正极性输入端相连接起来就可以了。这样的设计既可以解决语音芯片音频功率放大不够的问题,也可以加强音质的清晰度,使得播放出来的效果更让人满意。这个电路的设计还应考虑一个容易忽视,但又很重要的问题,那就是喇叭的连接。如果是通过二端插座来与带二端插头的喇叭来连接,这样的连接方式会带来不少噪音,影响播放的音质。因为,插座与插头在焊接过程中由于焊接的不均匀性,接触的不完全性,务必带来不少额外的噪音。因此最好采用喇叭直接焊接到LM386的电压输出端。LM386的内部电路如图图217LM386内部电路图所示,在图中若1、8脚均悬空,则135K电阻设置电路增益为20V。图217LM386内部电路图LM386主要引脚功能说明如下GAIN(1,8脚)增益悬空引脚。如果此两脚悬空,则增益为20V;如果两脚之间接如一个很大的电容,则增益可以达到200V;如果再和电容串接一个电阻,增益可设置为20200之间。IN脚(2脚)负极性输入脚。在单极性输入时,此引脚接地。IN脚(3脚)正极性输入脚。在单极性输入时,此引脚接输入信号。GND(4脚)接地脚。VOUT(5脚)电压输出脚。此引脚为音频供放电路的输出。VS(6脚)电源脚。供电范围412V或者518V。BYPASS(7脚)旁路脚。此引脚可以悬空或者旁接一个大电容到地。5键盘51键盘接口在单片机的应用系统中,通常都有人机对话功能。它包含人对系统的状态干预、数据的输入以及应用系统向人报告运行状态与运行结果等。键盘成为人机联系的必要手段,此时需要配置适当的键盘输入设备。511键盘工作原理键盘中的每个按键都是一个常开的开关电路,当所设置的功能键或数字键按下时,则处于闭合状态。对于一组键或一个键盘,需要通过接口电路与单片机相连,以便将键的开关状态通知单片机。单片机可以采用查询或中断方式检查有无键的输入以及是哪个键被按下,并通过转移指令转入执行该键的功能程序,执行完再返回到原始状态。512独立式按键独立式按键是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线的工作状态都不会影响其他I/O口线的工作状态。513行列式键盘独立式按键电路每一个按键开关占用一根I/O口线。当按键数较多时,要占用较多的I/O口线。因此,在按键数大于8时,通常采用行列式(也称“矩阵式”)键盘电路。最简单的键盘,每个键对应I/O端口的一位,没有什么键闭和时,各位均处于高电位。当有一个键按下时,就是对应位接地而成为低电位,而其它位仍为高电位。这样,CPU只要检测到某一位为“0”,便可判别出对应键已经按下。但是,当键盘上的键较多时,引线太多,占用的I/O端口也太多。比如,一个有64个键的键盘,采用这种方法来设计时,就需要64条连线和8个8位并行端口。所以,这种简单结构只用在仅由几个键的小键盘中。通常使用的键盘结构是矩阵式的,如图218矩阵键盘所示。设有MN个键盘,那么,采用矩阵式结构以后,便只要条引线就行了。比如,有MN个键,那么,只要用两个并行端口和16条引线便可以完成键盘的连接。图218矩阵键盘52键盘电路设计1、键的识别为了识别键盘上的闭合键,通常采用两种方法,一种称为行扫描法,另一种称为行反转法。行扫描法的原理行扫描法识别闭合键的原理如下先使第0行接地,其余行为高电平,然后看第0行是否有键闭合,这是通过检查列线电位来实现的,即在第0行接地时,看是否有条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如果没有任何一条列线为低电平,则说明第0行上没有键被按下。此后,再将第1行接地,然后检测列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,也就是列线输入中有一位为0时,便在扫描中途退出,而将输入值进行移位,从而确定闭合键所在的列线位置。根据行线位置和列线位置便能再扫描法来确定具体位置。将行线和一个并行接口相接,CPU每次使并行输出接口的某一位为0,便相当于将某一行线接地,而其他位为1,则相当于使其他行线处于高电平。为了检查列线上的电位,将列线和一个并行输入输出口相接,CPU只要读取输入输出口中的数据,就可以设法判别出第几号键被按下。从上面的原理中知道,程控扫描法是由程序控制键扫描的方法。程控扫描的任务是首先判断是否有键按下。其方法是使所有的行输出均为低电平,然后从端口A读入列值。如果没有键按下,则读入的列值为FFH;如果有键按下,则读入的列值不为FFH。去除键抖动。若有键按下,则延时510MS,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。若有键闭合,则求出闭合键的键值求键值的方法是对键盘逐行扫描。如图219是行扫描法图219行扫描法的流程图2行反转法的原理。行反转法也是识别闭合键的常用方法,它的原理如下所述。这了叙述方便,以4416键的键盘为例。图220是行反转法的工作示意图N开始调显示程序有键按下延时10MS再次扫描整个键盘有键按下扫描整个键盘输出使XI为低电平行值0SH此行有键按求下一行为低电平模型各行扫描完了列值1列数据右移1位有键按下延时键释放了计算键值BUFF键值调用找功能键程序NYYNNNYY图220行反转法连接图从图中可以看到,用行反转法识别闭合键时,要将行线接一个并行口,先让它工作为输出方式,将列线接到一个并行口,先让它工作在输出方式。程序使CPU通过输出端口往各行线上全部送低电平,然后读入列线的值。如果此时有某一个键被按下,则必定会使某一列线值为0,然后,程序再对两个并行端口进行方式设置,使接行线的并行端口工作在输出方式,而使接列线的并行端口工作在输出方式,并且将刚才读得的列线值从所接的并行端口输出,再读取行线的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对惟一的行值和列值。在键盘设计时,除了以键码的识别以外,还有抖动问题需要解决。有软件方法可以很容易解决抖动问题,这就是通过延迟来等待抖动消失,这之后,再读入键码。第三章软件设计1功能介绍启动系统后,数码管显示0。当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有两个病人同时呼叫时,数码管显示优先级高的,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,若后呼叫的病房优先级低,则数码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。2程序流程图程序流程图如下图31程序流程图开始工作有一个病房呼叫有多个病房呼叫判断优先级显示病房号并响铃有病房再次呼叫判断优先级显示病房号并响铃图31程序流程图3程序源代码3189C51编程要求1、能够显示小时、分钟、秒钟;2、复位后初始时间为120000;3、能够设定时分秒。INCLUDE“REG52H“INCLUDE“STRINGH“INCLUDE“INTRINSH“DEFINEUNITUNSIGNEDINTDEFINEUNCHARUNSIGNEDCHAR/模拟量测量ADC0809DEFINEADCP0SBITALEP27SBITENABLEP25SBITSTARTP24SBITEOCP37SBITCLKP34UCHARADC0809VOID/模拟量采集UNCHARADC0ALE1_NOP_ALE0/地址锁存START1_NOP_START0/启动转换WAITIFEOC0GOTOWAIT/等待转换结束_NOP_ENABLE1_NOP_/读数据ADCADC_NOP_ENABLE0RETURNADC/返回转换值VOIDTIME0VOIDINTERRUPT1USING0/ADC0809时钟信号CLKCLKVOIDTIMER0INITVOID/定时器T0初始化TMOD0X02TH00XCETL00XCEET01TR01定时器采用模式2,8位自动重装初值方式。初值计算方法时钟频率设计为500KHZ,则定时时间T1/F1/500K50US采用12M晶振,机器周期为1US根据公式定时时间T(28X1US计算初值X2850/1256502060XCE32按键编程用软件延时,程序如下ORG0000HSTARTSETBP10MOVR0,0M_LOOPCALLDISPLAY显示R0中的数字JBP10,M_LOOP没有按下就继续显示CALLDISPLAY延时8毫秒JBP10,M_LOOP消抖已确认按下了MOVR2,49等待400MS前面已经按下了8毫秒W_50JBP10,M_LOOP松开了就从头再来CALLDISPLAY延时8毫秒DJNZR2,W_50循环49遍已确认按下了400MS,下面应该进行的处理INCR0加一下面判断是否继续按下200MSW_200MOVR2,25258200W_25JBP10,M_LOOP松开了就从头再来CALLDISPLAY延时8毫秒DJNZR2,W_25循环25遍已确认又按了200MS,应该进行的处理INCR0SJMPW_200继续去等待200MSDISPLAY显示子程序,分别用P0、P2输出段码、位码。代码略。RET显示子程序把R0的内容以3位十进制显示出来,共用了8毫秒。本程序已经经过测试,可以满足题目要求。一个利用定时器中断的。KEY_NEQU30HKEY_TEQU31HKEY_1EQUP10ORG0000HSJMPSTARTORG000BHLJMPT0_INTORG0030HSTARTMOVSP,60HMOVTMOD,01MOVTH0,655361000/2561MS12MHZMOVTL0,655361000MOD256SETBTR0SETBET0SETBEAMOVKEY_N,0MOVKEY_T,0M_LOOP主循环,可添加内容CANDOANYTHINGSLJMPM_LOOPT0_INT每隔1MS执行一次中断程序MOVTL0,655361000MOD256MOVTH0,655361000/2561MS12MHZPUSHACC保护现场PUSHPSWCANDOANYTHINGS下面就是按键按下的时间判断、处理部分JBKEY_1,K_NO按键松开转移INCKEY_N按下,就1MS加一次一MOVA,200CJNEA,KEY_N,T0_END尚不到200MS,退出MOVKEY_N,0INCKEY_T按下200MS才加一次一MOVA,KEY_TJBACC0,T0_END末位是1就转到退出,因为这时仅仅加了一次如果没有转移,就是加了偶数次,已经达到400MSCPLP20P10按键所对应的程序,自己添加INCKEY_T再加一次一,又变成奇数,200MS后再加一,将为偶数SJMPT0_ENDK_NO按键松开就消除一切标志MOVKEY_N,0MOVKEY_T,0上面就是按键按下的时间判断、处理部分T0_ENDPOPPSWPOPACCRETIEND图33中断时序图33语音编程INCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITSSP10/片选SBITMOSIP11/数据输入SBITMISOP12/数据输出SBITSCLKP13/SID4004时钟/SBITISD_INTP31/中断SBITK1P32SBITK2P33SBITANP34/执行/SBITSTOPP15/复位/SBITPRP16/PR1录音,PR0放音SBITLEDP00/指示灯VOIDDELAYMSUINTZUINTX,YFORXZX0XFORY110Y0YUINTADDR/全局变量/放音地址/放音部分子程序,放音地

温馨提示

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

评论

0/150

提交评论