┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
长 春 大 学 毕业设计(论文)
纸
为了方便本系统的使用者,本人设计了信号音提示音电路。首先我规定了信号音的规范以及其对应含义:
1、响一声,频率为500Hz:请输入密码;
2、响两声,频率为500Hz:请输入需要控制的电器号; 3、响三声,频率为500Hz:请输入控制开/关; 4、响一声,频率为1000Hz:完成操作; 5、响三声,频率为1000Hz:密码错误;
信号音从单片机8031的RXD/P3.0口输出,先经过一组反向器进行整流、隔离,从反向器输出的是频率一定,时通时断的方波,提示信号经过隔直电容C1输入到音频放大集成电路LM386N-1的输入端。经过LM386N-1的放大,信号音经耦合电容C5至变压器T1,它是音频输出专用的耦合变压器,正好符合阻抗匹配的要求。
本电路比较难点在于耦合变压器T1的选取。因为电话线中直流电压比较高,而且还有各种信号音,这些都会影响到语音信号加载到电话线上,因此本装置使用一个耦合变压器作为隔离器件。这个耦合变压器的阻抗匹配问题是设计的难点,设计初我查阅有关资料并没发现具体参数。后来看到可以邮购这种电话语音专用耦合变压器,其具体性能都很优秀,但是价格太高,不符合我的设计原则(元器件便宜),因此弃置不用。
到了毕业设计的后期,本装置的基本功能已经完成,音反馈的问题又重新提到议事日程上来了。经过我不懈的努力,终于在电子市场上发现了体积很小的电话专用耦合变压器。这种耦合变压器分两种,一种是输入,一种是输出,经过实验表明输入用的耦合变压器反馈语音性能比较好,其体积大约是10mm×10mm×8mm。
音频放大集成电路LM386的连接比较简单,本装置的使用是LM386 放大增益为50dB的连接方式。
原器件的选取:
1、反向器选取74LS04中的一组反向器;
2、C1的是对音频信号起隔直耦合的作用,所以取100μF的电解电容,耐压性能无特殊要求;
3、IC1、R1、R2、C2、C3、C4和C5共同组成音频放大电路,IC1选取LM386N-1,R1取1KΩ,C2取10μF的电解电容,C3取10μF的电解电容,R2取1KΩ,C4取10μF的电解电容,C5取100μF的电解电容;
4、T1是音频输出专用变压器;
共 32 页 第 16 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
长 春 大 学 毕业设计(论文)
纸
3.5 电器控制电路
原理说明:
本单元电路主要是由译码扩展电路、反向电路、D触发器和继电器控制电路组成。
首先,单片机8031从P1口的低四位输出四位控制信号。P1.0、P1.1、P1.2作为三位数据线,P1.3作为使能控制信号,一同加在3-8线译码器的输入端。当使能端有效时,三位数据线经过译码器数扩展为八位数据线。这八位数据连接八个反向器进行整流隔离,然后连接D触发器进行数据锁存。每个D触发器的输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。二极管指示灯并联在开关三极管两段作为电器开关指示。这样就可以完成单片机对多路电器的控制。也可以把P1口的八位都用作控制电器,数据输入口改在P2口。
元器件选取:
1、3-8线译码器选取74LS138P;
2、反向器选取两片74LS04(每一片内有六个反向器)中的九个反向器; 3、触发器选取四片4013(每一片内有两个D触发器); 4、三极管选取八个9013;
5、二极管起保护作用,选取八个4001; 6、指示灯选取八个红色5mm发光二极管; 7、指示灯限流电阻选取八个1KΩ的电阻; 8、三极管的限流电阻选取八个2KΩ的电阻; 9、继电器选取八个JRC-4100F DC5V继电器;
第四章 软件设计
共 32 页 第 17 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
长 春 大 学 毕业设计(论文)
纸
主线程包括四个功能模块:⑴、摘挂机控制模块;⑵、信号音检测模块:检测电话系统接通过程中的各种信号音,如拨号音、忙音、回铃音、无信号等;⑶、DTMF发送模块:实现拨号和通信数据的发送;⑷、DTMF接收模块。主线程接到振铃检测线程的消息后接收数据。
本系统的软件设计主要分为系统初始化、振铃检测、控制摘挂机、双音频信号分析处理、与微机接口电路,看门狗电路等部分。每个功能模块对于整体设计都是非常重要的,单片机8031通过软件程序才能很好的对外部的信息进行采集、分析和决策。下面,就整体设计以及每个单元功能模块分别进行说明。
初始化即对各相应存储区清零,以及设置中断优先级,IP中断控制IE。设置定时期是指设置TMOD、TCIN。设置串口控制SCON、THO、TH1。设置主程序时,本机设为主叫方,与上位机通信,获得时间、网络信息(如支局局号即被叫用户号码)。
整体流程图如图所示。见附录一
在许多场合,双机通信的接收方采用中断方式接收数据,以提高工作效率。设计中断程序时,本机为被叫。产生中断的原因包括摘机、发准备接收信号、接收告警信息、给上位机发出告警信息,20ms定时中断。
在中断接收程序中,需设置三个标志位来判断所接收的信息是呼叫信号还是数据块长度,是数据还是校验和。本例约定:
1、波特率设置:T1方式2工作,计数常数F3H,SMOD=1; 2、串行口初始化:方式1,允许接收; 3、寄存器设置;
31H,30H----接收的数据将存放在以31H,30H为地址指针的外部RAM区中。32H----数据块长度寄存器。
33H----累加校验和寄存器。 Bit7FH,7EH,7DH----标志位。
在主程序中,应安排定时器,串行口的初始化程序。通过中断所接收到的数据存放到何处,也必须在主程序中规定下来。本例规定,31H和32H为接收数据的地址指针,并假设数据存入以1000H为首地址的外部RAM区中。
4.1双音频信号分析处理部分
双机通信中断程序
共 32 页 第 18 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
长 春 大 学 毕业设计(论文)
纸
ORG 0000H
LJMP FMT_T_S
GRG 0023H
LJMP SERVE
ORG 0050H
FMT_T_S: MOV TMOD, #20H MOV TH1, #0F3H MOV TL1, #0F3H MOV SCON, #50H MOV PCON, #80H SETB TR1 SETB 7FH SETB 7EH SETB 7EH MOV 31H, #10H MOV 30H, #00H MOV 33H, #00H SETB EA SETB ES LJMP SERVE: CLR EA CLR RI
PUSH DPH PUSH DPL PUSH A
JB 7FH, RX_ACK JB 7EH, RX_BYTES JB 7DH, RX_DATA RX_SUM: MOV A, #0FH MOV SBUF, A WAIT1: MOV TI, WAIT1 CLR TI SIMP AGAIN
共 32 页 第 19 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
长 春 大 学 毕业设计(论文)
纸
TX_ERR: MOV A, #0F0H MOV SBUF, A WAIT2: MOV TI, WAIT2 CLR TI MOV 32H, A ADD A, 33H MOV 33H, A CLR 7EH SJMP RETURU RX_DATA: MOV DPH, 31H MOV DAL, 30H MOV A, SBUF MOVX @DPTR, A INC DPTR MOV 31H, DPH MOV 30H DPL ADD A, SBUF MOV 33H, A DJNZ 32H, RETURN CLR 7DH SJMP RETURN AGAIN: SETB 7FH SETB 7EH
SETB 7EH MOV 33H, #00H MOV 30H, #00H
RETURN: POP A
POP DPL SETB EA RETI
4.2 串口接收程序
MT8888的收、发程序
共 32 页 第 20 页