摘要:利用嵌入式系统仿真软件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路不同的传感器电路代替,如:温度传感器探测火警、气体传感器探测有毒气体等。在仿真平台下,传感器较难应用,因此在设计中直接用开关来模拟。