微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Proteus的自动拨号报警器仿真设计

基于Proteus的自动拨号报警器仿真设计

时间:06-16 来源:互联网 点击:

摘要:利用嵌入式系统仿真软件Proteus实现了基于AT89C51单片机的自动拨号报警器仿真设计。详细分析自动拨号报警器的硬件设计原理,并在Keil开发环境下设计了对应的驱动程序,在Proteus中完成了软、硬件的联合仿真调试,最后给出了仿真运行结果。通过Proteus软件的前期仿真,大大缩短了实际开发周期,降低开发成本,对于单片机应用系统、电子电路的开发和教学等都有较大的实用价值,且设计的电路及驱动程序对相应的实际应用系统具有一定的借鉴作用。
关键词:Proteus;自动拨号报警器;仿真设计;驱动程序

0 引言
Proteus VSM是英国Labcenter Electronics公司推出的一款基于标准仿真引擎Spice3F5的电路分析、实物仿真系统,是一款电子设计的教学平台、实验平台和创新平台,涵盖了电工电子实验室、电子技术实验、单片机应用实验室等的主要功能,其组合了高级原理布图、混合模式Spice仿真、PCB设计以及自动布线来实现一个完整的电子设计系统。Proteus软件可以仿真、分析各种模拟器件和集成电路,可以支持不同系列的单片机仿真,如51系列、PIC系列、AVR系列、摩托罗拉的68MH11系列等;Proteus提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表、Virtual Terminal等虚拟仪器仪表供选择用,其虚拟系统建模(VSM)技术可以仿真基于微控制器的设计,包括其周边电路,甚至可以使用动画演示的外设模型(如LED/LCD显示、开关、按钮、RS 232终端、键盘等)与设计目标实时交互;它具备强大的调试工具,包括寄存器和存储器数据查询、断点和单步模式,并可以利用IAR C—SPY,KeilμVision和Matlab等软件进行源代码级联合调试,以求达到最好的仿真效果。本文利用嵌入式系统仿真软件Proteus实现了基于AT89C51单片机的自动拨号报警器仿真设计,具有开发周期短,成本低等特点,对于单片机应用系统、电子电路的开发和教学等都有较大的实用价值,且设计的电路及驱动程序对相应的实际应用系统具有一定的借鉴作用。

1 Proteus中自动拨号报警器设计
基于AT89C51单片机的自动拨号报警器硬件系统原理图如图1所示。该报警器由6个子模块组成,包括单片机最小系统模块、功率放大电路与模拟报警信号模块、LCD显示模块、键盘输入模块、I2C存储模块和拨号音频模块。

下面分析各个模块的设计原理:
(1)单片机最小系统模块。主要包括51系列单片机一块(AT89C51)、时钟电路(12 MHz晶振)与复位电路(包括上电复位与手动复位两种)。
(2)功率放大电路与模拟报警信号模块。由于单片机本身I/O口的驱动能力有限,直接接入电话网络会因驱动电流太小而使得信息无法传输出去,因此需通过功率放大电路增强其输出驱动力。功率放大电路采用一个NPN三极管与两个PNP三极管组成多级放大电路,其中NPN管采用的是共射放大,而两个PNP管则采用了共基放大的方式。模拟报警信号模块以8个开关模拟8路不同类型的报警输入,通过一个8路与非门后再接一个非门,当有任何一个按键按下时,INT0口均可获得产生中断的低电平,以此启动中断程序。同时8个开关再分别接入单片机I/0口P2,用以判断产生中断的报警类型。在实际应用中,模拟报警信号模块可以用8路不同的传感器电路代替,如:温度传感器探测火警、气体传感器探测有毒气体等。在仿真平台下,传感器较难应用,因此在设计中直接用开关来模拟。
(3)LCD显示模块。使用16×2的点阵字符型液晶LM016L,用以显示操作提示信息。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用符号和日文假名等,每1个字符都有1个固定的代码。用户在模块中写入适当的控制命令,即可完成清屏、显示、地址设置等操作。设计采用并连方式控制,LCD与单片机的通信接口电路采用直连方法。
(4)键盘输入模块:键盘采用Proteus自带的3×4电话机键盘模块,主要用来编辑修改电话号码与功能控制选择。
(5)I2C存储模块:该模块用于存储拨号的电话号码,数据量小。为节省I/O口,采用24CXX系列存储芯片,仅需占用2个I/O口(SDA,SCL)。
(6)拨号音频模块:电话拨号脉冲以及声音脉冲由单片机软件设置生成,由定时器控制脉冲的频率和占空比。电话机脉冲拨号的国家标准规定,脉冲断续比为(1.6+0.2):1或(2.0+0.2):1,当脉冲拨号速度(脉冲数/s)为10+1时,相邻两脉冲串的时间间隔大于等于500 ms。由此可以计算得出,脉冲拨号断、续时间间隔分别为:100×1.6/(1.6+1)≈61.5 ms和100-61.5=38.5 ms。在摘机状态时,电话机处于低阻态,国家标准规定的直流阻值小于等于300 Ω。

2 软件程序设计
2.1 主程序设计
系统主程序设计流程图如图2所示,主程序流程分为3个状态:号码输入状态,在存储器中已存有电话号码的情况下此步骤可手动跳过;等待状态,该状态是在警报开关关闭的时候系统所处的空闲状态,可按“#”重新进入号码输入状态,当警报开关打开时会自动跳进监控状态;监控状态,系统等待外部中断以做出相关处理。按“#”可以跳回到号码输入状态。在号码输入状态和等待状态,系统需要关闭中断,以避免中断信号对系统设置产生干扰。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top