为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

大学毕业设计-电话遥控报警器

2017-12-09 50页 doc 430KB 10阅读

用户头像

is_215732

暂无简介

举报
大学毕业设计-电话遥控报警器大学毕业设计-电话遥控报警器 西华大学毕业设计说明书 目 录 前 言 ......................................................... 1 第一章 系统方案设计 ................................................ 2 1.1系统设计要求 .................................................... 2 1.2系统方案设计 .................................
大学毕业设计-电话遥控报警器
大学毕业设计-电话遥控报警器 西华大学毕业设计说明书 目 录 前 言 ......................................................... 1 第一章 系统设计 ................................................ 2 1.1系统设计要求 .................................................... 2 1.2系统方案设计 .................................................... 2 1.3方案比较及论证 .................................................. 3 第二章 各单元模块电路设计 .......................................... 4 2.1振铃检测模块 .................................................... 4 2.2双音多频信号收发功能模块 ........................................ 5 2.3模拟摘机、挂机电路 ............................................. 10 2.4语音控制电路 ................................................... 10 2.5 系统上线,离线/复位电路 ........................................ 14 2.6 温度检测以及AD转换模块 ........................................ 14 2.7 液晶显示模块 ................................................... 18 2.8单片机控制模块 ................................................. 21 2.9 电源模块 ....................................................... 23 第三章 软件设计 .................................................. 25 3.1软件设计结构 ................................................... 25 3.2程序流程框图 ................................................... 26 3.3 DTMF信号解码程序框图 .......................................... 28 3.4 DTMF信号发送程序框图 .......................................... 29 第四章 系统调试 ................................................... 30 4.1 振铃检测 ....................................................... 30 4.2模拟摘机电路 ................................................... 31 4.3 DTMF双音多频检测 .............................................. 31 4.4 DTMF信号发送: ................................................ 32 4.5语音电路: ..................................................... 33 4.6 液晶显示: ..................................................... 34 4.7 温度采集 ....................................................... 35 4.8系统联调: ..................................................... 36 第五章 设 计 总 结 ................................................ 37 第六章 致 谢 ...................................................... 38 第七章 参考文献 ................................................... 39 附录 系统程序及总框图 ............................................. 40 系统总图 ........................................................... 57 西华大学毕业设计说明书 前 言 随着科学技术的飞速发展,各种高技术不断涌入我们的生活、工作,也改变着我们的认识。融入一定智慧的各类智能技术,正在悄悄走近我们,并将会成为下一个发展的热潮。 随着现代家庭家用电器设备的增多和通讯线路的发展,利用现有的通讯设备和线路对家用电器和仪表进行远程控制,已经成为未来的发展趋势。 现代电话网络是由交换机和电话传输线共同组成,它的性能已经现代电话网络是由交换机和电话传输线共同组成,它的性能已经有了很大的进展,而且可靠性非常高。 遥控技术是通过一定的手段对被控物体实施一定距离的控制,常用的方式有无线电遥控、有线遥控、红外线和超声波遥控等。无线电遥控既是利用无线电信号对被控物体实施远距离控制。无线电遥控不可避免的须占用一定的无线电频率资源,造成电磁污染;常规的有线遥控需进行专门的布线,增加了投入;而红外线、超声波遥控则受距离所限。现有的遥控方式中,还有载波通信控制手段和基于无线寻呼的遥控方式。载波方式即通过电力线传递信息,该方式只能局限于同一变电所、同一变压器所辖范围内。因此也存在距离问,应用范围有限。基于无线寻呼的遥控方式利用了现有的寻呼频率资源,不需占用额外的频谱。而且,随着寻呼网的全国联网,其遥控的距离基本不受限制。但该方式的受控方动作滞后于控制方的操作,不具备实时性,而且不具备很高的可靠性。 电话遥控作为一较新的课题与常规的遥控方式相比,显示出一定的优越性,不需进行专门的布线,不占用无线电频率资源,避免了电磁污染。同时,由于电话线路各地联网,可以充分利用现有的电话网,因此遥控距离可跨省市,甚至跨越国家。 电话属双工通信手段。因此,这可以大大体现出利用电话进行遥控的更大优越性。操作者可以通过各种提示音即时了解受控对象的有关信息,从而进行进一步的操作 1 西华大学毕业设计说明书 第一章 系统方案设计 1.1系统设计要求 1.. 该系统可通过远程电话或手机来进行遥控操作 2. 具有密码功能 3. 具有语音提示功能 4. 自动报警功能 5. 具有监听功能 6. 本系统不影响电话机的正常功能 1.2系统方案设计 电话远程控制家用电器系统主要完成的功能是对电话双音多频信号进行解码,并自动驱动被控电器设备进行指定操作,同时用户可对被控设备的工作状态进行查询,室温的检测,用户可通过电话查询温度值,以及当有紧急情况发生时通过拨预置的电话号码进行远程预警。由于本系统是利用电话进行远程控制,所以系统必须能识别电话线上的振铃信号,从而实现自动摘机。同时,本系统一般在无人值守的情况下工作,所以必须能自动摘机、挂机,且在用户操作完毕忘记挂机时,必须能自动复位及关机,为了安全起见还有必要增加密码校验的功能;要进行工作查询就必须有语音的提示和反馈,这样的系统才基本上合乎要求基于以上要求。 方案一 由两片单片机组成控制系统,一片用于信号检测、一片用于系统控制,两片单片 摘、挂机控制 机之间用串行通讯连接, 电 DTMF收发 话 电器控制 语音控制 网 单 显 示 单 片 振 片 温 AD 铃 机 度 转 机 检 检 换 测 测 电话号码存储 2 图1 方案1系统原理图 西华大学毕业设计说明书 主要器件选用: 单片机选用AT89S82,DTMF收发芯片选用MT8880,语音芯片选用ISD2560,温度检测选用AD590,A/D转换芯片选用ADC0809。 方案2 系统框图如图1-2 摘、挂机控变压器 制 耦合上 DTMF收发 扩展线 电器控制 语音控制 I/O口 单显 示 片振温度检测 AD转 机 铃换 检 电话网 测 电话号码存储 图2 方案2系统原理框图 主要器件选用:单片机选用AT89S52,I/O扩展片为8255,DTMF收发芯片选用MT8880,语音芯片选用ISD2560,温度传感器用AD590,A/D转换芯片选用ADC0809。 1.3方案比较及论证 1(在功能上,两种方案相差不大,方案2采用新型单片机AT89S82,可以实现程序 的在线下载,这样就不需要专用的烧写器了,同时也省去了反复取、插单片机 的麻烦。此外单片机还内置看门狗电路,只需对程序中某些控制字进行设置看 门狗就能正常工作了,这样就使得系统运行更加可靠了。 2(方案2的电器控制电路和液晶显示是通过扩展一片8255来实现的,这比方案1 另加一块单片机要方便的多。因为两个单片机之间要不断的通信,这样不仅降 低了系统的速度,也降低了整个系统的可靠性。 3(方案2采用了音频耦合变压器上线,使系统和电话网没有电气的关系,这样系 统就不易受外界的干扰,从而更加安全可靠。 通过比较以上几个方面的优缺点,我们采用方案2。 3 西华大学毕业设计说明书 第二章 各单元模块电路设计 2.1振铃检测模块 在电话线路没有来铃时线路上由交换机提供大约50V的直流电压。当用户被呼叫时,电话交换机发出铃流信号,振铃为50?3伏的正弦波,谐铃失真不大于10%,电压有效值90?15V。振铃以5秒为周期,即1秒送,4秒断。根据系统设计需要TTL电频,故将振铃信号送入桥堆振流,再用稳压二极管进行稳压,并用RC滤波,然后输入光电耦合器。经过光耦的隔离转换,输出是标准的5V方波信号,送入单片机T0端口,由程序对振铃信号计数。 在本电路检测铃流信号时,以五次铃响为准,即五次振铃后无人摘机,便由单片机控制自动模拟摘机。 电路图如图2-1: VCCD1 R510KLEDC2B1U1R1R2J31UF21T0AC+10K10K2C134C31AC-D2OPTOISO1CON21UFQD15V10UF 图,,,振铃检测模 块 4 西华大学毕业设计说明书 参数计算、器件选择 电话振铃信号通过电容C1、C2隔离直流,通过桥堆振流、二极管稳压、RC滤波输入光耦。当有交流信号时信号通过振流、稳压、滤波使光耦导通,同时光耦输出5V方波到单片机。 光电耦合器4N25以光电转换原理传输信息,它不仅使其一、二次侧完全隔离消除干扰,且能抑制电磁干扰。 电容C1、C2为隔直电容,但交流信号较高,故选用1UF/100V的电容; 稳压二极管为16V稳压二极管; R1、R2为1K的电阻、C3为10UF/22V电容; 通过示波器观察光耦输出波形很好的方波,且单片机能识别。 2.2双音多频信号收发功能模块 此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性。 DTMF(Dual Tone Multi Frequency)双音多频信号解码电路是目前在按键电话(固定电话、移动电话)、程控交换机及无线通信设备中广泛应用的集成电路。它包括DTMF发送器与DTMF接受器,前者主要应用于按键电话作双音频信号发送器,发送一组双音多频信号,从而实现音频拨号。双音多频信号是一组由高频信号与低频信号叠加而成的组合信号。 2.2.1 MT8880芯片功能介绍 当用户在电话机的键盘上输入密码或按下控制按钮后,这些信息均采用双音多频方式通过电话线发出。DTMF双音多频解码电路是系统的关键部分,其主要功能是从电话网上提取信息,并将系统拨号信息送上电话网,进而实现控制功能。使用电话专用的双音多频解码芯片进行输入、输出双音频信号的解码,是比较常用的方法。使用集成电路不但外围电路简单,而且可靠性高,信号经过转换变为二进制码便于单片机读取。常用电话双音多频解码器有8870、8880、8888等,MT8880是具有检测通话滤波器的单片DTMF调制解调器,应用了CMOS技术使其具有低功耗和高可靠性。内部计数器提供猝发模式,这种单音猝发可用精确定时发送。可选择呼叫过程滤波器,以便微处理机呼叫过程中的单音。提供标准微机接口和6800系列兼容,并允许微机选址一个状态寄存器、两个控制寄存器和两个数据寄 5 西华大学毕业设计说明书 存器。结合本次设计要求我们选用MT8880完成次功能。 MT8880简介: MT8880是MITEI公司生产的DTMF发送与接收器,它是一种功能较强的DTMF发送与接收器它的内部寄存器和控制接口、数据总线器,便于实现与微处理器的直接接口和对电路进行工作模式控制获得更多的功能和灵活性(通过微机接口可以由CP,RSO,R/W,CS,D0-D3等信号选择与内部寄存器并控制电路的工作状态或工作模式。 OSC1,OSC0: 时钟或振荡器输入和输出端(通常两端外接3.58MHz晶体, IN+,IN-:运放的同相和反相输入。 GS: 增益选择端。 VREF: 基准电压输出端,它由VDD VSS产生,通常为VDD/2,作为运放输入偏置。 TONE: 发送TONE信号的输出。 R/W: 读、写控制信号输入,与TTL兼容。 CS: 片选信号输入(若为TTL低电平,则此电路被选。 RSO: 寄存器选择输入,与TTL电平兼容。 CF: 系统时钟输入。 D0-D3: 控制DTMF信号发送和DTMF译码的4位数据输入/输出,与TTL兼容。 IRQ/CP:对微处理器的中断请求信号。若控制寄存器数据设定电路处于呼叫处 理(CALL)模式和中断使能,则IRQ/CP端输出代表运放输入的方波信号 音,该位信号频率必须落在呼叫处理滤波器带宽内。 EST: 初始控制输出;若检测出有效的单音对时,正ST为高电平;若信号丢 失,则EST返为低电平。 ST/GT:控制输入/输出时间监测输出(若CI电压高于门限Vrset时,电路寄存 被检测的DTMF单音对,并更新输出锁存器内容;若电压低于Vrest,则 电路不接收一新单音对、GT输出的作用是设置外部监测时间常数。 6 西华大学毕业设计说明书 2.2.2双音多频信号解码: 电话远程控制系统采用MITEL公司生产的MT8880 DTMF接收器作为DTMF信号的解码核心器件。DTMF信号经由IN,和IN,输入,经过运算放大并且滤除信号中的拨号音频率,然后发送到双音滤波器,分离出低频组和高频组信号。通过数字计数的方式检出DTMF信号的频率,并且通过译码器译成四位二进制码。四位二进制编码被锁存在接收数据寄存器中,此时状态寄存器中的延时控制识别位复位,状态寄存器中的接收数据寄存器满标识位置位,对外来说,当寄存器中的延时控制识别位复位时(RQ/CI)由高电平变为低电平。如果用IRQI/CP作为单片机的中断信号,1RQL由高电平变为低电平,向CPU发出中断申请,当中断响应,读出寄存器中的数据后,IRQL返回高电平。 电话按键以相应的双音多频信号及相应译码输出: 键盘 0 1 2 3 4 5 译码 1010 0001 0010 0011 0100 0101 键盘 6 7 8 9 * # 译码 0110 0111 1000 1001 1011 1100 表 2-1 译码表 7 西华大学毕业设计说明书 2.2.3双音多频信号发送 当MT8880作为DTMP发送器时,数据总线D0-D3上四位二进制码被锁存在发送数据寄存器中,发送的DTMF信号频率由3.58MHz的晶振分频产生。分频器首先从基础频率分离出8个不同频率的正弦波(行列计数器根据发送数据寄存器中的数据,以八取二方式分离出一个高频信号和一个低频信号,经开关电容作D/A转换,在加法器中合成DTMF信号,并从TONE端输出。 1.信号音判断的实现 信号音判断的原理是:由于电话系统信号音的拨号音、回铃音和忙音的频率均为425-475Hz的正弦波,只是断续比不同且在时间上有明显的差异(拨号音连续信号:忙音为0.35s通,0.35s断,回铃声为1S通,4S断)。要判断信号音,首先应将处理DTMF信号的MT8880芯片设置为呼叫处理模式,当选择呼叫处理模式时,MT8880就不能用于检测DTMF信号了。MT8880的呼叫处理滤波器是一个带通滤波器,通频带为300-510 Hz,当信号输入端有信号音输入时,如果MT8880工作在CP模式,在IRQ脚就输出一高电平。使电话呼叫过程中的各种信号音经MT8880滤波,限幅后得到方波,并由MT8880的IRQ输出。然后对MT8880输出的IRQ信号计数5S,拨号音的计数上限为(450,25)×5,2375,拨号音的计数下限为(450-25)× 5,2175。同理,忙音的计数范围为1041—1212,回铃音的计数范围为425—475,无信号的计数应为0。 2.MT8880与单片机接口 MT8880采用了标准的微处理器接口,这样使得信号的接收和发送变得简单。MT8880内部有5个寄存器,这5个寄存器可分为数据暂存寄存器、收发控制寄存器和收发器状态寄存器。数据暂存寄存器有接收数据寄存器和发送数据寄存器(接收数据寄存器用于存放最后一次接收到的有效值(是一个只读寄存器;发送数据寄存器中的数据决定要发送的双音频信号的频率组成,我们只能向发送数据寄存器中写人数据。在程序的开始和加电、系统复位时、在软件上要对控制寄存器进行初始化。 3.硬件接口电路: P2.0-P2.3分别接人MT8880的D0-D3:单片机的P2.4-P2.7分别接MT8880的KS0、CS、R/W、CK。MT8880每接收一个外部信号IRQL由高变低一次,单片机在中断期间 8 西华大学毕业设计说明书 将数据D0-D3从MT8880读入内部数据存储器,中断服务完成后。 RQI由低变高,开始接收下一个信号(设计时应注意中断服务时间小于拨号内部数字时间间隔)。当对外发布命令时。8051将内部数据D0-D3传送到P0口。然后再从P0口传送到MT8880的D0-D3,数据在MT8880中经双音频调制后从TONE脚输出DTMF信号。MT8880控制线的片选信号CSI通过与非门与P2.5相连,P2.5,1,选中MT8880,P2.5,0选中程序存储器2716时钟信号由8051的信号提供:读写信号R/W由P2.6提供,寄存器片选信号由P2.7提供。OSC1、OSC2接3.528MHz晶振。18和19端外接RC积分电路,使解码数据产生一个延时,让CPU可正确读取。 DTMF收发功能模块电路图如下: C10OUT 104VCC 100KC11R80.1uFOUTU7R20R10R1313IN+GSU9D300Y224100K100KIN-V REFVDDC17201267OSC1OSC 2R21104P2.43.58C18141218CLK 2ESTP2.713118RS0TONEP2.6INT1913347KR/WIRQ/CPR22100KR23P2.50.1uF1019LM324CSST/GTR12R191KC16P2.0P2.21416D0D23.3K0.01uFP2.1P2.31517100KD1D3VSS5MT8880AC1(20) VCC 图 2-2 DTMF收发功能模块电路图 4.参数计算: R8、R10、R20、R23为100K电阻; 晶振为3.58MHz; 使用运算放大器LM324对输出的DTMF信号放大; 9 西华大学毕业设计说明书 2.3模拟摘机、挂机电路 根据国家有关标准规定:不论任何电话机,摘机状态的直流电阻应?600Ω,有“R”键的电子电话机的摘机状态直流电阻应?600Ω。在挂机状态下,其漏电流?5μA。当用户摘机时,电话机通过叉簧接上约600Ω的负载,使整个电话线回路流过约300mA的电流。交换机检测到该电流后便停止铃流发送,并将线路电压变为10V左右的直流。 Q1C4D3T1PNPOUT 1UFZENER2C5D40.1uFR3TRANS1ZENER230KR42KJ?B2U521PC32AC+134AC-CON2QDR9OPTOISO1 D81KLED 图2-3 模拟摘机、挂机电路 根据有关技术指标,模拟摘挂机电路设计如图2-3: 摘机电路主要由一个PNP型三极管控制,当8255的17脚输出高电平时光耦导通,PNP型三极管导通,电阻R4接入电话线网达到摘机目的。 2.4语音控制电路 系统利用语音控制电路实现用户和系统的交流。语音控制电路预先存储若干段系统提示音, 提示用户进行系统操作,中央处理单元电路判断用户发送的DTMF信号后,对语音提示电路进行寻址,播放相应的提示音,从而向用户反馈信息提示下一步该如何操作。 提高了系统的智能化程度。 本次设计选用美国ISD公司的语音芯片ISD2560。美国ISD公司生产的ISD系列语音芯片,采用模拟数据在半导体存贮器直接存贮的专利技术,即将模拟语音数 10 西华大学毕业设计说明书 据直接写入单个存储单元,不需经过A/D或D/A转换,因此能够较好地真实再现语音的自然效果,避免一般固体语音电路因为量化和压缩所造成的量化噪声和失真现象。另外芯片功能强大:即录即放、语音可掉电保存、l0万次的擦写寿命、手动操作和CPU控制兼容、可多片级连、无须开发系统等,确实给欲实现语音功能的单片机应用设计人员提供了单片机的解决方案。 2.4.1 ISD2560介绍: ISD2560采用直接电平存储技术,省去了A/D、D/A转换器,录音时间为60s 。ISD2560集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480 K字节的EEPROM等等。ISD2560控制电平与TTL电平兼容,接口简单,使用方便。存储单元在写入语音信号的同时,自动清除了该存储单元原有的语音信号,从而实现了ISD系列器件的自动抹音。 AO—A9为地址线,共有1024种组合状态。最前面的600个状态作为内部存储器的寻址用,最后256个状态作为操作模式。ISD2560支持用户对语音信息直接地址操作。但长达10位的地址线对单片机来说显得口线占用太多,带来要扩展接口的麻烦。好在ISD语音芯片的操作模式给设计人员提供了很大实用性和灵活性,使设计者在对语音信息段进行操作和语音组合时根本无须知道其地址,而仅须知道语音段的相对序号即可。ISD2560的最高地址位A8(脚9)、A9(脚10)置为高电平时,芯片即进入操作模式状态。操作模式根据引脚A1-A8的高低电平不同组合总共分为6种不同的模式,实现不同的功能。微处理器接口端:P/R录放音控制端,此端为高电平时为放音状态,低电平时为录音状态;CE端用于录放音时的启停控制,通常与P/R端配合使用;EOM端为每段信息结束信号输出端,为负向信号,时间为12.5ms, 上升沿标志信息结束。 先用面包板搭好录音电路,电路图如图2-4 11 西华大学毕业设计说明书 VCC VCCU8128A0VCCDC?R?216A1VCCAC?C?ELECTRO1RES23 A2CAPCAP413A3VSSDR?513C?A4VSSARES26 A5711A6AUX INS?8ELECTRO1A7C?R?911A8ANA OUTR? CAPRES2SW-PB1020A9ANA INC?RES22318CEMIC REFMK?2717 P/RMICS?24C?CAPPD2514SW-SPDTVCCEOMSP+MICROPHONE2LS?2215OVFSP- S?CAPR?D?2619XCLKAGCLEDSW-PBRES2 CON14SPEAKERR?C?R?RES2ELECTRO1RES2 R?RES2 图 2-4 语音芯片录音电路 采用DIP28脚插座放置芯片进行语音的录入,还可随时进行改写。为减少杂音,要求电源的纹波较小。在按键模式下管脚CE、PD、EOM的定义有所不同,此时:(1)CE的下降沿控制操作的开始和暂停,低脉冲有效,起乒乓键作用,操作一次即形成一段语音,芯片自动在每段语音结尾处放置结尾标志EOM。暂停后内部地址并不复位,下一个下降沿脉冲后从暂停处的地址继续操作。(2)PD的上升沿停止当前录放操作,并使地址指针复位。(3)EOM指示录放操作正在进行,高电平有效。可驱动发光二极管进行指示。 将所需的语音通过开始按钮一段一段从话筒录入芯片,只需记住各段的序号即可。假设在芯片中通过话筒依次录入了14段语音如下:(1)“一”;(2)“二”;(3)“三”;(4)“四”;(5)“五”;(6)“六”;(7)“七”;(8)“八”;(9)“九”; (10)“十”;(11)“零”;(12)“百”;(13)“度”;(14)“现在温度”。如果要系统放出语音“现在温度一百五十八度”该如何组合控制呢? (1)先将芯片的录放控制P/R顶端置高,地址位A4、A0置高,现在芯片即处于信息检索模式的信息读状态。 (2)接着在CE端加一不大于10PS的低脉冲,芯片即以正常速度的800倍向前扫描存贮器,搜索EOM结束标志位,此时不输出音频信号(正如录音机的快进)。在 12 西华大学毕业设计说明书 第一个CE低脉冲之后,芯片内部的地址指针指在第二段语音的起始处。如果再加第二个脉冲则指针指在第三段语音的开始处。依此类推。 (3)然后将地址端A0拉至高电平,芯片退出信息检索模式。此时在CE端加一短促的低脉冲,则芯片以正常速度播放快进时地址指针处的语音信息段,直到此段后的EOM标志出现为止。 由此可见,要播放第N段的语音,可先给PD端一高电平脉冲,使地址指针复位为0,因为所有的序号都以存贮器起始处为基淮,除第一段外,只需要面端发送N-1个低脉冲,即可使地址指针到达第N段的开始处然后拉高A0,在CE端加一个低脉冲即可播放第N段的语音信息。由此可知准确检索的关镑在于正确检测到每一段的EOM结束标志位、因为在快进状态下,EOM脉冲的宽度只有10us有,对于速度不高的单片机不易检测到,此时可用外部中断来检测EOM标志位。 由此可见,应用ISD2560语音芯片的信息检索模式进行语音的组合播放,无论硬件、软件确实都很简便,而且PD、A0的口线还可兼作独立式键盘的输入口线(达到了简便实现语音组合功能同时对系统的资源占用最少的目的。 ISD2560语音芯片播放电路如图2-5: VCCU8 281P1.0VCCDA0162VCCAA1C13 C14C153A2104124VSSDA3104104135P1.1VSSAA4 6A5117AUX INA68 A7C23219ANA OUTA80.1uF2010ANA INA9VCC 4K7R371823P1.2MIC REFCE1727P1.3MICP/R 24P1.4PDSP+1425INT0SP+EOMSP-1522 SP-VOF D141926AGCXCLK LEDR38CON14C22470K 4.7uF R39 10K 图 2-5 ISD2560语音芯片播放电路 13 西华大学毕业设计说明书 2.5 系统上线,离线/复位电路 当DTMF信号解码电路及语音提示电路与用户电话线连通时,我们称系统处于上线(Odine)状态;反之,当DTMF信号解码电路及语音提示电路与用户电话线断开时,我们称系统处于离线(Offline)状态。只有在电话远程控制系统工作时,系统才应处于上线状态。这样做的目的是避免用户呼叫系统时的高压振铃信号(可达 及线路上其他高压噪声对DTMF信号解码电路及语音提示电路产生危害。120VMS) 上线/离线/复位功能的实现,也是由系统硬件电路和软件共同实现的。 2.5.1 系统上线电路: 系统上线电路的功能是检测程控交换机发送的振铃铃流信号,然后通过中断方式通知AT89S82单片机,根据软件设定,闭合系统上线/离线/复位开关电路,开启DTMF信号解码电路和语音提示电路与电话用户线的连接。上线电路的主要部分是铃流检测电路。铃流信号是当远端用户呼叫电话远程控制系统时,由程控交换机向电话远程控制系统发送的控制信令。 2.5.2 离线/复位电路: 用户对电话远程控制系统操作完成后,发出结束命令, AT89S82单片机断开系统上线/离线/复位开关电路,系统离线。如果用户出现误操作或忘记发送结束命令时,系统根据软件设定,断开系统上线/离线/复位开关电路,使系统离线,并初始化软件设定。 2.6 温度检测以及AD转换模块 温度检测为系统的一个服务功能模块,通过AD590对温度检测送入AD0809进行A/D转换,由单片机进行数据采集并控制ISD2560语音输出上线。 14 西华大学毕业设计说明书 2.6.1 AD590介绍: 集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值V与热力学温度T和通过发射极电流I的下述关系实现对温度的检BE 测: KITV,lnI BEq 式中,K—波尔兹常数; q—电子电荷绝对值。 集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0?时输出为0,温度25?时输出2.982V。电流输出型的灵敏度一般为1,A/K。 AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下: 1、流过器件的电流(,A)等于器件所处环境的热力学温度(开尔文)度数,即: ,A/K 式中:—流过器件(AD590)的电流,单位为,A; T—热力学温度,单位为K。 2、AD590的测温范围为-55?,+150?。 3、AD590的电源电压范围为4V-30V。电源电压可在4V-6V范围变化,电流 变化1,A,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 4、输出电阻为710M,。 5、精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55?,+150?范围内,非线性误差为?0.3?。 2.6.2 ADC0809介绍: AD0809是8位A/D转换芯片,它是采用逐次逼近的方法完成A/D转换的。内部带有所存功能的8路模拟多路开关,可对8路0-5伏输入的模拟信号分时进行转换,完成一次转换大约100us;片内具有多路开关的地址译码器和锁存电路、高阻抗斩波器、稳定的比较器。输出具有TTL三态锁存缓冲器,可以直接接到单片机数据总线上。 15 西华大学毕业设计说明书 AD590产生的电流与绝对温度成正比,它可以接收的工作电压为4-30伏,检测的温度范围是-55到,150摄氏度,它有非常好的线性输出性能,温度每增加1度,其电流增加1UA。AD590温度与电流的关系如下 温度(摄氏温度) AD590(毫安) 经10KΩ电压(伏) 0 273.2 2.732 10 283.2 2.832 20 293.2 2.932 25 298.2 2.982 30 303.2 3.032 40 313.2 3.132 50 323.2 3.232 60 273.2 3.732 100 373.2 3.732 表2-2温度电流关系表 利用AD590以及接口电路把温度转换成模拟电压,经由AD0809转换为数字信号,先调AD590的可变电阻器。 1、以0度为标准参考值使其输出为2.73伏;如以25度为参考值,则其电压输出 为2.98伏。 2、设VR2使0度时,OPA2的输出为2.73-2.73,0伏,而25度时OPA2的输出为 2.73伏-2.98,-0.25伏 3、调VR3使OPA3放大5倍,如果OPA2的输出为-0.25伏,则OPA3的输出为1.25 伏 各个OPA的功能: OPA1:阻抗匹配; OPA2:减2.73伏,(经VR2)并反相; OPA3:放大5倍并反相; 温度与3个OPA及AD0809的输入与输出的关系: 温度 OPA1 OPA2 OPA3 ADC VIN ADC输出 0 2.732 0 0 0 00H 10 2.832 -0.1 0.5 0.5 1CH 16 西华大学毕业设计说明书 20 2.932 -0.2 1 1 38H 30 3.032 -0.3 1.5 1.5 55H 40 3.132 -0.4 2 2 71H 50 3.232 -0.5 2.5 2.5 8DH 60 3.332 -0.6 3 3 AAH 70 3.432 -0.7 3.5 3.5 C6H 80 3.532 -0.8 4 4 E2H 90 3.632 -0.9 4.5 4.5 FFH 表2-3输入输出关系表 AD590和AD0809电路如图: VCCU10R24R28U9A2AD5905K10KR32 U9BU9C911R2668310K2IN07101K3 R315LM3241120KR34LM3244R309KLM324 R251KR271KR29 50K-52K 图2-6 温度检测模块 U13 D02126IN0msb2-1IN-0D1202-2D219272-3IN-1D318 2-4D4828U12A2-5IN-2RD2D5152-61D6141 2-7IN-33D717lsb2-82IN-474LS02A6T17EOC 3U12BIN-55A025ADD-A4A1244ADD-BIN-6 WR6A223ADD-C5IN-774LS0222ALEVCCU11A 1916CLRENABLEref(-)266DQSTARTALE351012 CLKQCLOCKref(+)4PREADC0809B8HMC74HC74AVCC1KR41 U16C333 --C32R4010uF20.1uF+5K1ADJ LM336 图 2-7 ADC0809转换电路 17 西华大学毕业设计说明书 2.7 液晶显示模块 系统显示模块选用液晶显示块,用于显示用户所选择的电器通道、电器工作状态、紧急情况时拨出的电话号码。 管脚介绍: 表2-4液晶管脚介绍 寄存器选择功能: RS R/W 操作 0 0 指令寄存器(IR)写入 0 1 忙标志和地址计数器读出 0 0 数据寄存器(DR)写入 1 1 数据寄存器(DR)读出 表2,5寄存器选择功能表 2.7.1 工作时序 读操作时序图: 18 西华大学毕业设计说明书 图2,8液晶读操作时序图 写操作时序图: 图2,9液晶写操作时序图 19 西华大学毕业设计说明书 2.7.2 指令功能: 格式:RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 共11种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM地址设置,DDRAM地址设置,读忙标志,写数据由CG/DDRAM。 指令码 指令名称 说明 执行周期 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 清屏 L L L L L L 清除屏幕 1.64ms L L L H L L L L L L 设DDRAM地址为0,40us 返回 L L H X 显示回原位,DDRAM 内容不变 输入方式 L L L L L L 设光标移动方向并指40us L H I/D S 定整体显示是否移动 显示开关 L L L L L L 设整体显示开关 40us H D C B 位移 L L L L L H 移动光标显示,不改40us S/C R/L X X 变DDRAM内容 功能设置 L L L L H DL 设接口数据,显示行40us N F X X 数,及字型 CGRAM地址设L L L H ACG 设CGRAM地址 40us 置 DDRAM地址设L L H ADD 设DDRAM地址 40us 置 读忙信号及L H BF AC 读忙信号位判断内部40us 地址计数器 操作正在执行并读地 址计数内容 写数据CG/DD H L 写数写数据到CG或DDRAM 40us RAM 据 20 西华大学毕业设计说明书 读数据由H H 读数读数据由CG或DDRAM 40us CG/DD RAM 据 I/D 1:增量方式,0:减量方DDRAM:显示数据RAM 式 CGRAM:字符产生RAM S 1:移位 AC:用于DD和CGRAM S/C 1:显示移位,0:光标移地址 位 的计算 R/L 1:右移,0:左移 DL 1:8位,0:4位 N 1:2行,0:1行 F 1:5×10,0:5×7 BF 1:内部操作,0:接收指 令 RS :寄存器选择 R/W :读/写 表2,6液晶指令功能表 2.8单片机控制模块 2.8.1 下载模块 系统核心控制芯片选用AT89S52,AT89S52是一种的功耗,高速8位微处理器,内部有8K程序存储器1000次可擦写操作,其芯片管脚功能、内部结构与AT98C52基本相同。最大的区别在于程序的下载,AT89C52采用传统的下载方式,需要编程器,调试程序时很不方便。AT89S52采用在线程序下载方式,程序调试很方便,且成本低。程序下载时将电路板于电脑RS232串口相连,通过芯片74LS244进行电平转换变为TTL电平与单片机下载电路相连。AT89S52的P1.5、P1.6、P1.7为程序下载管脚。 21 西华大学毕业设计说明书 J6RST16P1.75P1.64J2VCCP1.532SW-BP1C9RSTCON6 4.7UFIN1004D5R6R7C7U33.3K3.3K1OCU2ALE11C20P87C51/BQA(40)Y1D0219A039311D1QP0.0/AD0EA/VPP12MD1318A138192D2QP0.1/AD1XTAL1C8D2417A2373D3QP0.2/AD2D3516A318364D4QXTAL2P0.3AD3D4615A4355D5QP0.4/AD420PRSTD5714A53496D6QP0.5/AD5RSTINT0D6813A633127D7QP0.6/AD6INT0/P3.2D7912A7328D8QP0.7/AD7P1.01P1.0P1.1P2.074HC573221P1.1P2.0/A8P1.2P2.1322P1.2P2.1/A9S1P1.3P2.2423P1.3P2.2/A10RST118P1.4P2.3524P1.4P2.3/A11RP1.527P1.5P2.4625P1.5P2.4/A12RP1.636P1.6P2.5726P1.6P2.5/A13RP1.745P1.7P2.6827P1.7P2.6/A14P2.728P2.7/A15T1J1515SW DIP-4T1/P3.5RD17101RD/P3.7RXD/P3.0WR16112WR/P3.6TXD/P3.1ALEINT13013ALE/PROGINT1/P3.3T0CON22914PSENT0/P3.4VSSVCC2040 VCC 图 2,10 单片机外围电路 2.8.2 看门狗介绍 1.看门狗定时介绍: 当系统,,,遇到软件崩溃时看门狗电路能起到复位作用,看门狗是由,,位 系统复位后看门狗默认计数器和看门狗定时复位(WDTRST)特殊功能寄存器组成, 为不起作用,当看门狗使能之后,在每个机器周期值将逐渐增大,看门狗定时输出周期取决于外部振荡频率(除了复位外(包括硬件复位和看门狗复位)没有别的办法停止看门狗工作,当看门狗溢出时,将输出一个复位高脉冲到RST引脚( 2.看门狗的使用: 要使用看门狗,用户必须依次写01EH和0E1H到WDTRST寄存器(0A6H)(当看门狗使能之后,用户必须依次写01EH和0E1H到WDTRST寄存器以免看门狗溢出(当计数值达到8191(1FFFH)产生溢出(此时系统就会复位,这就意味着用户必须在 22 西华大学毕业设计说明书 至少每8191 个机器周期复位看门狗,要复位看门狗用户必须写01EH和0E1H到WDTRST寄存器(WDTRST寄存器是一个只写寄存器,其计数值既不能读也不能写,为了更好的利用看门狗,最好把复位代码放在每个程序执行周期都会被执行的程序当中( 2.9 电源模块 交流 变压 振流 滤波 稳压 直流 电源 器 电路 电路 电路 输出 本次设计采用外接220V电源供电,通过整流电路将交流电压变成脉动的直流电压。由于脉动电压还含有较大的纹波,必须通过滤波电路加以滤除,从而得到平滑的直流电压。 整流电路的任务是将交流变换成直流电流。完成这一工作的是靠二极管的单向导通作用,常见的几种整流电路有单向半波、全波、桥式和压整流电路。 通过整流过后的脉动电流许在通过滤波电路出去电流中的纹波。滤波电路用于滤去整流输出电压中的纹波,一般由电抗元件组成,如在负载电阻两端并联电感器,以及电容、电感组合而成的各种复式滤波电路。由于电抗元件在电路中有储能作用,并联的电容器C在电源供给的电压升高时,能把部分能量储存起来,而当电源电压降低时,就把能量释放出来,使负载电压比较平滑,即电容C具有平波作用,输入接不稳定的电压,在输出端就可以得到一固定的电压值。 集成三端稳压器有二个系列。其中78系列输出正电压,79系列输出负电压。后缀数值表示输出电压的集成三端稳压器是一种串联型稳压器。其体积小价格便宜,内部设有过热、过流和过压保护电路。它只有三个引出端(输入、输出、公共端)绝对值,输出电压有5、9、12、15、18、20、24伏等。按最大输出电流的不同,每个系列由分为若干档,如78L××(I=0.1A),78M××(I=0.5A),78Somom××(I=2A),78××C(I=1.5A),78××AC(I=1A)等。在设计中我们选用omomom 7805C和7905C。 使用三端稳压时为了保证稳压性能,输入、输出端之间电压差要在2伏以上,当然也不能太大否则将烧毁器件。 23 西华大学毕业设计说明书 U14MC7805TVCC13+5VVinJ1B33C24C2621C302AC+GNDC282200UF104470UF120.1uF34AC-CON3QD C25C292200UFC27C310.1uF104470UFGND123Vin-5V U15-5LM7905CT 图2,11电源 24 西华大学毕业设计说明书 第三章 软件设计 本系统的软件设计主要分为系统初始化、振铃检测计数、控制摘挂机、双音频信号分析处理、控制电器、信号音提示等部分。每个功能模块对于整体设计都是非常重要的,单片机AT89S52通过软件程序才能很好的对外部的信息进行 采集、分析和决策。下面,就整体设计以及每个单元功能模块分别进行说明。 3.1软件设计结构 程序开始 看门狗初始化 调用8255初始化 调用液晶初始化 调用MT8880初始化 调用计数器T0初始化 调用定时器T1初始化 调用AD转换 调用液晶显示 振铃检测 调用摘机服务程序 25 : 西华大学毕业设计说明书 其中: 计数器T0完成振铃次数的计数功能; 定时器T1完成定时置振铃次数的功能; MT8880解码程序完成双音频信号的解码; MT8880发送程序完成数据的发送和拨号功能; AD转换程序完成模数转换和数据处理的功能 3.2程序流程框图 振铃检测 振铃计 数五次 N Y 自动摘机 播放语音22 密码验证 密码 重新输入 正确 N Y 播放语音20 input=1 N Y 温度查询 通道控制 播放语音21 启动温度转换 26 通道号=输入 语音播放温度 西华大学毕业设计说明书 input=1 N Y 通道查询 通道控制 播放通道状态 播放控制结果 播放语音22 N Input=0 Y 自动挂机 27 西华大学毕业设计说明书 3.3 DTMF信号解码程序框图 解码中断服务子程序 保护现场 读状态标志位 N b1=1 Y 读数据 屏蔽高四位 数据保存在 MT8880_DATA 变量中 恢复现场 返回 28 西华大学毕业设计说明书 3.4 DTMF信号发送程序框图 发送子程序入口 读状态标志位 N B2=1 Y 发送号码1 N 忙音=1 Y N 发送号码2 铃音=1 Y N 忙音=1 无信号=1 N Y 播放语音报警信息 返回 29 西华大学毕业设计说明书 第四章 系统调试 整体调试所需的测试仪器设备: 1、PC机一台; 2、万用表一支; 3、电话机一个; 4、双踪示波器一台; 5、Keil c51编程环境、ISP程序下载软件; 系统调试主要分为硬件调试、软件调试和系统联调。总体调试为模块调试、再总体联调。在制作硬件电路的同时,调试也在同步进行。 4.1 振铃检测 调试时将装置连接在电话机两端,用手机拨打电话产生振铃信号,用万用表测量振铃铃流的频率、振幅正常,表明装置对电话机的正常使用不会产生影响。当有铃流信号时用示波器对光耦的输出脚观察,发现有明显的方波信号,但波形不好,上升、下降沿有延时,波峰有毛刺。通过改变RC滤波电路电阻与电容的值波形有所改善。在加上一极滤波后波形得到了明显的改善,波峰较平滑,上升、下降沿较整齐,通过与单片机联机调试表明单片机能够识别此信号,由于振铃检测模块为模拟量单元,故在调试时对元件的选择大部分是由试验决定的,至此振铃检测电路调试完毕。 调试过程中遇到的问题: 由于受到电话网和外界环境的干扰,系统不能准确自动摘机,有时一次就摘机,有时六次才摘机甚至不能摘机。 解决办法: 经过仔细的研究和分析,我们发现只要在软件中加一延时就能解决这个问题。因为导致摘机不准确的直接原因是计数受到外界的干扰,由于振铃信号是一秒通四秒断,因此我们在检测到第一个有效信号后立即延时四秒后再检测第二个信号这样就能准确的判断振铃的次数了从而实现了可靠的自动摘机。 30 西华大学毕业设计说明书 4.2模拟摘机电路 摘机电路在摘机方式上有很多种,可以用继电器控制摘机,也可以用三极管控制摘机。由于继电器是机械磁电式控制,使用寿命有限,且噪音较大,故选用三极管式摘机。 调试时将装置联于电话机两端,用5伏电平测试,指示灯亮,电话机端拿起听筒有响应;去掉5伏电平,指示灯熄灭,听筒端有忙音。表明摘机电路工作正常。 4.3 DTMF双音多频检测 DTMF双音多频检测调试是整个系统调试的难点,其调试主要是围绕MT8880展开,分为接收信号解码和拨号音发送两部分。 接收信号解码: 调试时将装置联于电话机两端,MT8880与单片机联机调试,在单片机对MT8880进行初始化程序后,摘起电话听筒,并按拨号键,用示波器检测MT8880的13脚,若有中断信号产生则表明接受到有效的双音频信号;在程序中将解码信号送至单片机的P1口,用万用表便可以测量其解码是否与输入的拨号一致。 调试中遇到的问题: 系统不能解码或者解码有误。 解决办法: 1( 检查电路看线路是否有问题; 2( 检查元器件参数是否正确,在检查时发现R21阻值与标称值不符,换掉这 个电阻之后系统就能正常解码了。 使用中应该注意的问题: 1( 系统上电后需要延时100MS以上才能正常的工作。 2( 芯片在使用之前必须进行初始化,主要包括CRA和CRB的初始化,其中, CRA和CRB置数前必须先对其写零。 3( 根据你要实现的功能,设置好CRA和CRB。 void MT8880_INIT(void) { 31 西华大学毕业设计说明书 DELAY(50000)//DELAY100MS P2=0X80; MT8880_CPW(); P2=0X88; MT8880_CPW(); P2=0X80; MT8880_CPW(); P2=0X84; MT8880_CPW(); EX1=0; IT1=1; } 4.4 DTMF信号发送: 调试步骤: 1( 连好电路。 2( 进行系统初始化,设置成DTMF信号发送,并打开音调输出。 3( 用耳塞的一端通过一个电容接到MT8880的TOUT端,另一端接电源地。如果 能够听到电话拨号音,说明有号码拨出。 4( 将MT8880的TOUT端通过一个运算放大器LM324放大后,再经过音频变压器 偶合上电话线。此时再检查电话线上的信号音是否与预置号码一致。 5( 设置好电话号码,并通过MT8880及其外围电路上电话线,看是否能拨通电话。 调试中出现的问题: 1( 用耳塞听不见拨号音; 2( 听到拨号音后不能拨出电话号码; 解决问题的办法: 1( 通过仔细检查系统的软件和硬件,发现控制字设置有错,即没有打开音调输 出功能,后来经重新设置控制字后就能听见拨号音了。 2. 由于已经能够听见拨号音了,因此软件上不会存在问题,后虽经过改变LM324 上反馈电阻的大小(即改变音频信号的幅度),但是还是不能成功拨号。 3. 经过仔细的研究和分析发现,可能是输出信号的功率不够导致拨号失败,因 32 西华大学毕业设计说明书 此又在后面接了一个功率放大器LM386,这下可好,声音倒比以前大了许多, 但是发现噪声也被放大了,结果还是不能成功拨号。 1. 最后没办法,只能试探性的修改一下可能出现问题的地方,电路虽已改动多 处, 但 仍然不能成功拨号,没有办法,由于时间有限, 只能暂时将这部分的调试延后一下。 4.5语音电路: 调试步骤: 1( 在万用表上将语音录放电路接好。 2( 仔细检查电路,看是否有短路或者虚焊。 3( 核对元器件参数是否正确,确保其准确无误。 4( 进行语音录音,其具体内容见下表,先按下录音键,进入录音状态,再按 下复位键,让地址指针复位,然后按启动键,开始录音,录音完后再次按 启动键结束录音,等又一次按下启动键以后又可以录音了,如此循环,直 到录音完毕。 5( 检查放音是否正确,将录音一段一段播放出来,看是否与下表一一对应, 如 果有错,则需重新录入。首先按下放音键,进入放音状态,然后按下CE键, 便产生一个脉冲,如果一直按住此键,便会将整个录音依次播放出来。 6( 将录放电路与单片机结合起来,通过对单片机写命令来实现放音,这一步 可以借助仿真器来完成。 段数 语音内容 备注 1 0 数字录音0-10 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 10 9 33 西华大学毕业设计说明书 11 十 12 百 13 点 14 通道已打开 15 通道已关闭 16 现在温度 17 度 18 欢迎使用电话控制仪,请输入密码 19 密码错误,请重新输入 20 通道控制请按,,温度查询请按, 21 请输入通道号 22 查询通道请按,,控制通道请按, 23 请输入开关量 ,为开,,为关 24 继续操作请按,,不操作请按, 25 语音警报 表4,1语音对照表 调试中存在的问题: 1(按录音键后录放指示灯没有变化。 2(录音效果不好,录音中有乒乓的声音。 解决问题的办法: 1、这种情况的原因肯定是硬件电路接触不良,或者有短路,后来经过再次检查电 路后发现,220uf电容有一只脚是虚焊,重焊后电路便能正常工作。 2、由于麦克风是接在电路板上的,因此录音时里边会夹杂一些乒乓的声音。解决 这个问题的办法就是用两根导线把麦克风连到板子外面去就行了。 4.6 液晶显示: 调试步骤: 1( 将液晶与单片机的接口接好。 2( 编制初始化程序,预置要显示的数据。 34 西华大学毕业设计说明书 3( 上电调试。 调试中遇到的问题: 1( 不能正确显示数据。 2( 显示数据有误。 解决问题的办法: 1( 检查液晶的外围电路,检查初始化程序,在程序中发现初始化前没有加 100MS延时,导致液晶不能正常工作,程序修改后工作正常。 2( 在检查程序时发现程序的地址指针没有设置对,故显示出来的是乱码,重 新修改后能够正常工作。 4.7 温度采集 调试步骤; 1( 先调试AD590的外围电路,将LM324与AD590的电路接好,电路如下。 2( 根据下表调试各个运放的参数,注意这里并不需要每个参数都要调试找出 两个。特殊值就可以了,如0C,25C,调试时最好有个温度计。 温度 OPA1 OPA2 OPA3 ADC VIN ADC输出 0 2.732 0 0 0 00H 10 2.832 -0.1 0.5 0.5 1CH 20 2.932 -0.2 1 1 38H 30 3.032 -0.3 1.5 1.5 55H 40 3.132 -0.4 2 2 71H 50 3.232 -0.5 2.5 2.5 8DH 60 3.332 -0.6 3 3 AAH 70 3.432 -0.7 3.5 3.5 C6H 80 3.532 -0.8 4 4 E2H 90 3.632 -0.9 4.5 4.5 FFH 表4,2温度输入输出对照表 3.将此电路与单片机、0809,8255的接口按图2,7和2,8接好。 4.数据采集程序,并将采集到的温度送到P1口进行检测。 调试中遇到的问题: 35 西华大学毕业设计说明书 1.系统不能正确的采集温度,P1口的数据全为零。 解决问题的办法: 1.检查硬件电路,看是否有地方接错,仔细检查之后没有发现错误。 2.首先在软件中使系统不停的采集数据,然后借助示波器进行信号跟踪,依次检查 U12A的1,2,3,4,5,6,7,脚,U13的6,9,10,22 ,看是否有信号过来。经过仔细的检查和分析,发现输入信号全都正确,由此可以判定有两种可能,一是0809坏了,二是0809外围电路有问题,带着这种猜测最后终于发现一个致命的问题0809的16脚没有接地。这个问题的原因是由于印制版上没有将他和地连好,同时也由于调试者没有想到这一点而耽误了不少时间 。 4.8系统联调: 调试步骤: 1, 将各个单元电路结合在一起,注意地址的分配,不要出现总线冲突。 2. 将程序有机的结合起来,构成一个整体。 3. 在线进行逐个模块调试。 调试中出现的问题: 1( 液晶显示出现无数据显示。 2( 不能成功拨号。 解决问题的办法: 1( 由于现在的液晶显示器是挂在8255上的,因此其调试起来就比挂在单片机 的P2口上困难多了。无论怎样修改程序,就是不能显示出来,在设计时我 们以为8255的PA口可以代替单片机的P2口,但现在的确出现问题了而且 这个问题一时半会还解决不了。 2. DTMF信号的发送在单元模块调试时就只能听见拨号的声音,在加上有没有 现成的示波器,解决这一问题就更加困难了。 36 西华大学毕业设计说明书 第五章 设 计 总 结 经过这次毕业设计,我觉得自己学到了不少东西。归纳起来,主要有以下几点: 1、大学三年多的时间都是在学习通信理论基础知识,并未真正地去应用和实践。但是经过这次毕业设计,我接触到了更多平时没有接触到的仪器设备、元器件以及相关的使用调试经验,发现了自己很多不足之处。我还体会到了所学理论知识的重要性:知识掌握得越多,设计得就更全面、更顺利、更好。 2、了解进行一项相对比较大型的科技设计所必不可少的几个阶段。毕业设计能够从理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。我经过这次系统的毕业设计,熟悉了对一项课题进行研究、设计和实验的详细过程。这些在我们在将来的工作和学习当中都会有很大的帮助。 3、学会了怎样查阅资料和利用工具书。平时课堂上所学习的知识大多比较陈旧,作为电子信息的学生,由于专业特点自己更要积极查阅当前的最新通信资料。一个人不可能什么都学过,什么都懂,因此,当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识。 4、实践能力得到了进一步提高,在调试过程中积累了一些经验。 5、毕业设计对以前学过的理论知识起到了回顾作用,并对其加以进一步的消化和巩固。 6、毕业设计培养了严肃认真和实事求是的科学态度。而且培养了吃苦耐劳的精神以及相对应的工程意识,同学之间的友谊互助也充分的在毕业设计当中体现出来了。 37 西华大学毕业设计说明书 第六章 致 谢 经过这次毕业设计,我觉得自己学到了不少东西。学会了怎样查阅资料和利用工具书。当在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己的见识,补充最新的专业知识,并学会了用PROTEL软件画电路 。同时在这里,我要感谢我的导师李爱军老师,他给了我许多的帮助。我还要感谢毕业设计过程中所有给我帮助的老师和同学 。 38 西华大学毕业设计说明书 第七章 参考文献 1. 张毅刚等、《MCS-51 单片机应用设计》、哈尔滨工业大学出版社、2002 2. 何立明等、《单片机应用系统设计》、北京航空航天大学出版社、1996 3. 曾刚、贺蓉、徐成等、《DTMF远程通信的软硬件实现技术.电子技术应用》、 2000 4. 谢阮清、《模拟集成电路及应用》、 人民邮电出版社、2003 5. 戴冬雪、《MT8880的应用及控制方法的实现》、哈尔滨工业大学出版社、2002 6. 孙梅生等、《电子技术基础课程设计》、高等教育出版社、1998 7. 李传南、王剑刚等、《单片机与DTMF信号收发芯片MT8880的直接接口设计. 电子与自动化》、1999 39 西华大学毕业设计说明书 附录 系统程序及总框图 #include #include typedef unsigned char BYTE; typedef unsigned int WORD; #define ADC0809 XBYTE[0XB8] #define COM8255A XBYTE[0X7C] //0111,1100 #define COM8255B XBYTE[0X7D] #define COM8255C XBYTE[0X7E] #define COM8255D XBYTE[0X7F] void AD_CHANGE(void); void YEJ_INIT(void); void MT8880INIT(void); void T0_INIT(void); void T1_INIT(void); void YEJ_DSPLY(void); void PUTIR(BYTE RAM); void PICKUP_ISR(void); void tondao_kongzhi(void); void check_tongdao(BYTE tongdaohao); void wendu_chaxun(void); BYTE MT8880_CPR(void); void kongzhi_tongdao(BYTE tongdaohao); void MT8880_CPW(void); void YUYING_DSPLY(BYTE DATA); void DELAY(unsigned long time); BYTE CHL_S[8];//通道状态 BYTE TEMP_DATA[3];//温度数据 BYTE DSPLY_DATA[16];//显示数据 BYTE TABLE_DATA[10]={0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,0X38,0X39};// 40 西华大学毕业设计说明书 显示码 BYTE TEL_NUMBER1[11]={1,3,8,8,2,2,1,0,5,7,9};//电话号码, BYTE TEL_NUMBER2[8]={8,7,7,2,2,0,7,5};//电话号码, sbit P10=P1^0; sbit P11=P1^1; sbit P12=P1^2; sbit P15=P1^5; sbit P16=P1^6; sbit P17=P1^7; sbit P24=P2^4; BYTE FLAG=0;//接受新数据标志 BYTE RING_TIME=5;//设置振铃次数 BYTE TIME=30; //15S后自动置一次振铃次数为五 BYTE DATA;//语音段数 BYTE MT8880_DATA;//解码数据 BYTE tongdaohao;//被选通道 BYTE FLAG1=0;// BYTE RING; BYTE FLAG2; BYTE FLAG3; BYTE FREQ; BYTE BOHAOYIN; BYTE MANGXINHAO; BYTE HUILINGYIN; BYTE WUXINHAO; /******************MAIN_PROGRAM******************************/ /******************MAIN_PROGRAM***************************/ void main(void) { COM8255D=0X80; //;1000,0000 PA,PB,PC YEJ_INIT(); MT8880INIT(); 41 西华大学毕业设计说明书 while(1) { AD_CHANGE(); YEJ_DSPLY(); T0_INIT(); T1_INIT(); while(RING_TIME);//振铃次数减为零时关闭计数器,和定时器 ,,并自动摘机 ET0=0; TR0=0; ET1=0; TR1=0; COM8255D=0X07;//0000,0111置位PC3,模拟摘机 PICKUP_ISR();//摘机处理程序 } } /******************MAIN_PROGRAM***************************/ /******************MAIN_PROGRAM******************************/ /******************watchdog***************************/ /******************watchdog******************************/ void Watchdog(void) { WDTRST=01EH; WDTRST=0E1H; } /******************watchdog***************************/ /******************watchdog******************************/ /******************摘机处理程序******************************/ /******************摘机处理程序***************************/ void PICKUP_ISR(void) { 42 西华大学毕业设计说明书 BYTE M1,M2,M3,M4; YUYING_DSPLY(18);//欢迎使用电话测控仪,请输入密码 LOOP1: while(!FLAG); FLAG=0; M1=MT8880_DATA; while(!FLAG); FLAG=0; M2=MT8880_DATA; while(!FLAG); FLAG=0; M3=MT8880_DATA; while(!FLAG); FLAG=0; M4=MT8880_DATA; if(!((M1&0X01 + M2&0X02 + M3&0X03 + M4&0X04)==0X0A)) { YUYING_DSPLY(19);//密码错误,请重新输入 goto LOOP1; } LOOP2: YUYING_DSPLY(20);// 通道控制请按,,温度查询请按, while(!FLAG); FLAG=0; if(MT8880_DATA==1) tondao_kongzhi() ; else wendu_chaxun(); YUYING_DSPLY(24);//继续操作请按,,不操作请按, while(!FLAG); FLAG=0; if(MT8880_DATA==0X0A) 43 西华大学毕业设计说明书 else goto LOOP2; } void tondao_kongzhi(void) { YUYING_DSPLY(21);//请输入通道号 while(!FLAG); FLAG=0; tongdaohao=MT8880_DATA; YUYING_DSPLY(22);//查询通道请按,,控制通道请按, while(!FLAG); FLAG=0; if(MT8880_DATA==0x01) check_tongdao(tongdaohao); else kongzhi_tongdao(tongdaohao); } void wendu_chaxun(void)//温度查询程序 { YUYING_DSPLY(16);//现在温度 YUYING_DSPLY(TEMP_DATA[0]);//百位 YUYING_DSPLY(11);//'十' YUYING_DSPLY(TEMP_DATA[1]);//十位 YUYING_DSPLY(13);//'点' YUYING_DSPLY(TEMP_DATA[2]);//个位 YUYING_DSPLY(17); } void check_tongdao(BYTE tongdaohao)//通道查询程序 { if(CHL_S[tongdaohao]) 44 西华大学毕业设计说明书 { YUYING_DSPLY(tongdaohao);//? YUYING_DSPLY(14);//通道已打开 } else { YUYING_DSPLY(tongdaohao); YUYING_DSPLY(15);//通道已关闭 } } void kongzhi_tongdao(BYTE tongdaohao)//控制通道程序 { BYTE tongdao_sts; YUYING_DSPLY(23);//请输入开关量 ,为开,,为关 while(!FLAG); FLAG=0; CHL_S[tongdaohao]=MT8880_DATA; if(MT8880_DATA==0x0a)//输入为, { tongdao_sts=tongdaohao << 1; // tongdao_sts=tongdao_sts | 0x01;// 置位PC口 0000,0001 COM8255D=tongdao_sts; YUYING_DSPLY(tongdaohao); YUYING_DSPLY(15);//通道已关闭 } else { tongdao_sts=tongdaohao << 1; //输入非零 tongdao_sts=tongdao_sts & 0x7e;// 置位PC口 0111,1110 COM8255D=tongdao_sts; 45 西华大学毕业设计说明书 YUYING_DSPLY(tongdaohao); YUYING_DSPLY(14);//通道已打开 } } /******************摘机处理程序***************************/ /******************摘机处理程序******************************/ /*********************定时器初始化程序***********************/ /*********************定时器初始化程序*******************/ void T0_INIT() { TMOD=0X15;//t0方式1计数 TH0=0XFF; TL0=0XFF; ET0=1; EA=1; TR0=1; } void T1_INIT() { TMOD=0X15;//t1方式1定时 TH0=0X3C; TL0=0X0B0; //65536-15536=50000US=0.5S ET0=1; EA=1; TR0=1; } /*********************定时器初始化程序*******************/ /*********************定时器初始化程序***********************/ 46 西华大学毕业设计说明书 /********************AD转换程序******************************/ /********************AD转换程序*************************/ void AD_CHANGE(void)//,,数据处理程序 { BYTE D00,D10,D11,D20,D21; WORD D01; ADC0809=0XFF; DELAY(1000); //DELAY2MS D00=ADC0809; D01=(D00*10)/8;// D10=D01/100;//百位数 D11=D01%100; D20=D11/10;//十位数 D21=D11%10;//个位数 TEMP_DATA[0]=TABLE_DATA[D10];//查找asc码给相应的数 TEMP_DATA[1]=TABLE_DATA[D20]; TEMP_DATA[2]=TABLE_DATA[D21]; } /********************AD转换程序***************************/ /********************AD转换程序******************************/ /*******************MT8880_ISR******************************/ /*******************MT8880_ISR**************************/ void MT8880_INIT(void) { P2=0X80; MT8880_CPW(); P2=0X88; MT8880_CPW(); P2=0X80; MT8880_CPW(); P2=0X84; MT8880_CPW(); 47 西华大学毕业设计说明书 EX1=0; IT1=1; } void MT8880_FS() { BYTE biaozhi,i; COM8255D=0X07;//0000,0111置位PC3,模拟摘机 do { biaozhi=MT8880_CPR();//检查发送忙标志 biaozhi=biaozhi&0x02;//判断第一位状态 } while(!biaozhi); LOOP1 for(i=0;i<=10;i++) { P2=TEL_NUMBER1[i]; do { biaozhi=MT8880_CPR();//检查发送忙标志 biaozhi=biaozhi&0x02;//判断第一位状态 }while(!biaozhi); } xinhaoyin_check()//电话音信号检测程序 if(MANGYIN) GOTO LOOP1 } xinhaoyin_check()//电话音信号检测程序 if(MANGXINHAO) { } else if(BOHAOYIN) { 48 西华大学毕业设计说明书 } else if(HUILINGYIN) { } else for(i=0;i<=7;i++) { P2=TEL_NUMBER2[i]; do biaozhi=MT8880_CPR();//检查发送忙标志 while(!biaozhi); } } } void MT8880_CPW(void) { P24=1; DELAY(1); P24=0; } BYTE MT8880_CPR(void) { BYTE BUF; P24=1; DELAY(1); BUF=P2; P24=0; return BUF; 49 西华大学毕业设计说明书 } xinhaoyin_check()//电话音信号检测程序 { P2=0X80; MT8880_CPW(); P2=0X88; MT8880_CPW(); P2=0X80; MT8880_CPW(); P2=0X86;//设成,,模式 MT8880_CPW(); EX1=0; IT1=1; FLAG3=1;//启动外部中断 TR1=1; ET1=1; FLAG2=0; while(!FLAG2) FLAG2=0; TR1=0; ET1=0; if((FREQ<238)&(FREQ>218)) BOHAO=1; else if((FREQ<121)&(FREQ>104)) MANGYIN=1; else if((FREQ<48)&(FREQ>43)) HUILINGYIN=1; else WUXINHAO=1; FLAG3=0; } 50 西华大学毕业设计说明书 /*******************MT8880_ISR*************************/ /******************MT8880_ISR******************************/ /******************YEJING_ISR******************************/ /******************YEJING_ISR**************************/ void YEJ_INIT(void) { PUTIR(0X38);//功能设定,8位,2行,5*7点 PUTIR(0X01);//清屏命令 DELAY(1000); PUTIR(0X0C);//显示幕ON,光标OFF,闪烁OFF PUTIR(0X06);//文字不动光标自动右移 PUTIR(0X80);//光标设在第一行第一格 DSPLY_DATA[0]=0x53;//'S' DSPLY_DATA[1]=0x3A;//':' DSPLY_DATA[10]=0x54;//'T' DSPLY_DATA[11]=0x3A;//':' DSPLY_DATA[14]=0x3A;//':' } void YEJ_DSPLY(void)//液晶显示程序 { BYTE i; YEJ_INIT();//s:0000 0000t:00.0 DSPLY_DATA[2]=CHL_S[0]; DSPLY_DATA[3]=CHL_S[1]; DSPLY_DATA[4]=CHL_S[2]; DSPLY_DATA[5]=CHL_S[3]; DSPLY_DATA[6]=CHL_S[4]; DSPLY_DATA[7]=CHL_S[5]; DSPLY_DATA[8]=CHL_S[6]; DSPLY_DATA[2]=CHL_S[7]; DSPLY_DATA[12]=TEMP_DATA[0]; 51 西华大学毕业设计说明书 DSPLY_DATA[13]=TEMP_DATA[1]; DSPLY_DATA[15]=TEMP_DATA[2]; for(i=1;i<=16;i++) { PUTIR(DSPLY_DATA[i]); } } PUTIR(BYTE RAM1)// 写数据和命令到液晶快 void { P15=0; P16=0; P16=0; P17=1; COM8255A=RAM1; P17=0; DELAY(1000); } /******************YEJING_ISR*************************/ /******************YEJING_ISR******************************/ /******************延时子程序******************************/ /******************延时子程序************************/ void DELAY(unsigned long time)//延时程序time*2 { unsigned long t; t=time; while(t--); } /******************延时子程序************************/ /******************延时子程序******************************/ /******************语音处理程序*****************************/ /******************语音处理程序******************************/ 52 西华大学毕业设计说明书 void YUYING_DSPLY(BYTE DATA) { P13=0;//放音状态 P14=1;PD// DELAY(10000);//20MS P14=0; if(DATA==0X00)//如果输入为,,直接播放第一段 { P10=0; P11=0; DELAY(1); P11=1; } else { do { EX0=1; P10=1;//进入模式, P12=0; DELAY(1); P12=1; FLAG1=0; while(!FLAG1); FLAG1=0; EX0=0; }while(!(DATA==0X00)); P10=0; P12=0; DELAY(1); P12=1; } 53 西华大学毕业设计说明书 EX1=1; while(!FLAG1);//播放当前语音段 FLAG1=0; EX1=0; } /******************语音处理程序*****************************/ /******************语音处理程序******************************/ /******************中断服务程序******************************/ /******************中断服务程序*************************/ void INT0_INT(void) interrupt 0 using 0 { FLAG1=1; DATA--; } void T0_INT(void) interrupt 1 using 0 { TR0=0; ET0=0; DELAY(150000);//3s RING--; TH0=0XFF; TL0=0XFF; ET0=1; TR0=1; } void INT1_ISR(void) interrupt 2 using 1 { BYTE MT8880_STS; 54 西华大学毕业设计说明书 if(FLAG3) FREQ++; else { do { P2=0XCF; MT8880_STS=MT8880_CPR(); MT8880_STS= MT8880_STS & 0X02; } while(!MT8880_STS); P2=0X4F; MT8880_DATA=MT8880_CPR();//读双音频数据 MT8880_DATA=MT8880_DATA&0X0F; FLAG=1;//数据有效标志 } } void T1_INT(void) interrupt 3 using 0 { TR0=0; ET0=0; if(!TIME--) RING_TIME=5; else { FLAG2=1; TH0=0X3C; TL0=0XB0; ET0=1; TR0=1; } 55 西华大学毕业设计说明书 } /******************中断服务程序*************************/ /******************中断服务程序******************************/ 56 西华大学毕业设计说明书 系统总图 VCC VCCOUTGNDU64J8C12SP+U453VSVCCV OUTIN+6C20SP-82557FH12CON12J141D1GAININ-振铃检测模块A0918872A0PB0GAINBYPASS1R33104A1819R53A1PB1RP1.521K4.7UFCAP42010K4PA0PA0PB2RP1.63C21321LEDC2B15PA1PA1PB3U1RP1.74R1R2222T0J31UF21PA26PA2PB4PA0AC+54.7UFC19123PA37PA3PB510K10KPA1264024C1C3348PA4PA4PB61PA2AC-73925D29PA5PA5PB7液晶显示模块PA38OPTOISO11043814CON21UFQD10PA6PA6PC0PA49371515V10UFC4PA711PA7PC1PA510RD516J612RDPC2PA611A7617RST1PC313CSPC3PA7612WR36131UFP1.7PC414WRPC45RST3512P1.6PC515RSTPC54D03411VCCQ1P1.5PC616J2D0PC63D13310PNPPC7D3D1PC72CON16D23229D5T1OUTSW-BPD2D51D33128D6C9D3D6VCCD43027D7ZENER2RSTCON6D4D7VCCC5D4J7R34.7UF0.1uFD6J4J12U3IN1004D5R6R7C71TRANS1DIODED9J1030K13.3K3.3KR4ZENER221OCRELAY-SPSTDIODEALE11U22K2CRELAY-SPSTCON2模拟摘机及双音频信号收发电路20P87C51/BQA(40)B2U5CON2D0219A0Y1393121PC31D1QP0.0/AD0EA/VPPAC+D1318A112M38192D2QP0.1/AD1Q2XTAL1D2417A2C837343D3QP0.2/AD29013Q3AC-D3516A318364D4QXTAL2P0.3AD39013D4615A435QD5D5QD11P0.4/AD4R9OPTOISO1RSTD5714A520P3496D6QLEDD12P0.5/AD5RSTINT0D6813A63312D87D7QLEDP0.6/AD61KINT0/P3.2D7912A7C1032LED8D8QP0.7/AD7P1.01OUTR11P1.0PC474HC573P1.1P2.0221R16P1.1P2.0/A8PC61K104P1.2P2.1322P1.2P2.1/A91KVCCP1.3P2.2423S1P1.3P2.2/A10P1.4P2.3524VCCRST118P1.4P2.3/A11VCC100KRP1.5P2.4625C1127P1.5P1.5P2.4/A12J9R8P2.57260.1uFOUTRP1.636P1.6单片机模块D7J5P1.6P2.5/A13J13RP1.7P2.68271U745P1.7DIODED10P1.7P2.6/A14R20R10P2.728R132113RELAY-SPSTDIODEJ11P2.7/A15U9DIN+GST1Y2300215J15SW DIP-424100KVDDRELAY-SPST20100KCON2T1/P3.5IN-V REF12RDC17171067RD/P3.7CON2RXD/P3.0R211OSC1OSC 2P2.414WR1043.581611C181218WR/P3.6TXD/P3.12CLK 2ESTP2.713ALEINT13013118ALE/PROGQ4INT1/P3.3输出驱动模块RS0TONEP2.6INT1T02914CON2913347KPSEN9013Q5T0/P3.4R/WIRQ/CPP2.5R22LM3240.1uF100KR23VCCVSS101940209013R12CSST/GTP2.0P2.21KC16R191416D13D0D2P2.1P2.30.01uF3.3K1517LEDD15100KD1D3VSSLEDMT8880AC1(20)VCC5DTMF信号接受与发送模块R15PC5VCC-5R17PC71KVCCU101KU13R24R28D02126U9AIN0msb2-1IN-0AD590D12022-25K10KR32D21927U9BU9CVCC9U8112-3IN-1R26P1.0D31868281322-410K温度转换电路VCCDA0D482811IN0710U12A16232-5IN-21KVCCAA14RDD515C13C14C15R3152LM32432-6R34A2D610414120K1LM3241342-7IN-39KVSSDA3P1.1D717104104R303LM324135lsb2-8VSSAA42R251KVCC6R27IN-4A5A671K74LS02T1R29117EOCAUX INA63U12B8IN-5A750KC2325-55A0119ADD-A2KANA OUTA80.1uF2444A1U142010VCCADD-BIN-6ANA INA9WR236A2MC7805TVCC4K7ADD-CR37P1.25131823IN-7Vin+5VMIC REFCEP1.32274LS02J11727ALEMICP/RP1.4VCCU11A24B33PDINT01916C24SP+C30C26142521CLRENABLEref(-)2SP+EOMAC+C282662200UFSP-470UF1041522GNDDQSTART1SP-OVFALE0.1uF351012342CLKQCLOCKref(+)AC-4D14CON31926PREB8HAGCXCLKADC0809LEDQDR38MC74HC74AVCCCON141KR41C22470K摸数转换模块4.7uFC25C292200UFC31U16C270.1uFR39470UFC333104GND--C321KR4010uF20.1uF1+5K123ADJVin-5V语音控制电路LM336U15-5LM7905CT电源 Title电话远程测控仪 57 2000级自动化3班 李炳旺SizeNumberRevision指导教师 郑 萍A3Date:23-Jun-2004Sheet of File:H:\电话遥控器.ddbDrawn By:
/
本文档为【大学毕业设计-电话遥控报警器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索