微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于51单片机设计的电话遥控器

基于51单片机设计的电话遥控器

时间:02-21 来源:互联网 点击:

4.4 控制电器部分

本系统首先通过外围双音频解码电路解码的信息(选择电器)判断所选择的电器,然后跳转到每一个子程序,通过单片机向P1口的低四位发送数据,这些控制信息表示对不同的电器进行控制的控制字。为了简单表示,在这里只写出了电器“一”的控制子程序,其它子程序很相似,详见附录。

程序代码:
LL: LCALL RING30 ;sound:input control
MOV R7,#1H ;***
MOV R1,#38H
CLR 7EH
WAIT0: JBC 7EH,DD ;wait INT0
LJMP WAIT0
DD: MOV R1,#38H
MOV A,@R1
RR A
RR A
RR A
RR A
MOV R4,A
RL A
ADD A,R4
MOV DPTR,#TAB
JMP @A+DPTR
TAB: LJMP ZERO
LJMP EIGHT;8
LJMP FOUR ;4
LJMP STOP ;#
LJMP TWO ;2
LJMP ZERO ;0
LJMP SIX ;6
LJMP LL ;**
LJMP ONE ;1
LJMP LL ;9,**
LJMP FIVE ;5
LJMP LL ;A,**
LJMP THREE;3
LJMP LL ;*,**
LJMP SEVEN;7
LJMP LL ;C,**

ORG 0250H
ZERO: LJMP LL

ONE: LCALL RING40 ;发提示音:请操作电器
OO1: MOV R7,#01H
CLR 7EH
WAIT1: JBC 7EH,WW1 ;wait INT0
LJMP WAIT1
WW1:MOV R1,#38H ;检查信号首位
MOV A,@R1
CJNE A,#50H,BB1 ;(38)不等于0AH(0),则跳转BB1
LJMP ZZ1 ;(38)等于0AH(0),则跳转ZZ1
BB1: CJNE A,#80H,QUIT1 ;(38)不等于01H(1),则跳转QUIT1
SETB P1.3 ;open 1
CLR P1.2
CLR P1.1
CLR P1.0
LJMP QUIT1
ZZ1: CLR P1.3 ;close all
CLR P1.2
CLR P1.1
CLR P1.0
LCALL RING50 ;finsh
QUIT1: LJMP LL

4.5 振铃计数部分

本单元是通过计数器T0的外部中断方式来计数的,程序代码:

ORG 0090H
TT0: SETB 7DH
RETI


第五章 系统调试

5.1 整体调试

整体调试所使用的测试仪器仪表和工具:

1、IBM-PC/XT兼容机一台,主频:50Hz,有软驱和25针串行接口;
2、ME-5103单片机仿真机一个;
3、MF116万用表一个;
4、计算机5V稳压电源一个;
5、SR8双踪示波器;
6、Manley In-Circuit Emulator Debugger(MBUG)开发软件;

本装置的调试主要分为硬件调试、软件调试和联机调试等三大部分。
经过初步的分析设计后,在制作硬件电路的同时,调试也在穿插进行。这样有利于问题的分析和解决,不会造成问题的积累,而且不会因为一个小问题而进行整体电路的检查,从而可以节约大量的调试时间。软件编程中,我是首先完成单元功能模块的调试,然后进行系统调试,整体上与硬件调试的方法差不多。联机调试是最重要的一部分,同时也是本装置成功的关键。有许多新问题都不是很容易解决的。

电话遥控器调试的步骤

5.2 硬件单元电路 5.2.1 5V稳压电源

本装置使用单5V稳压电源供电,要求交流成分小。经过示波器测量5V稳压电源输出端,其交流部分电压的峰-峰值为6mV,符合本装置的电源要求,稳压电源调试完毕。

5.2.2 振铃音检测

在本单元电路制作前期,实验室中无模拟交换机,无法产生振铃信号,我只好在完成此部分的焊接后回寝室中完成其测试。将本装置的电话线两端并联在电话机两端,摘机拨打“190”,然后挂机,市交换机会回送连续的测试振铃音。经过测量,这种测试振铃音和正常的振铃信号的频率、振幅等特性都一样,只是正常的振铃信号是1秒通4秒断,而这种测试振铃音是连续的。当送测试振铃音时,用万用表的直流档测量光电耦合器4N25的输出端,有明显的电压,这说明可以形成中断响应信号。后接振铃指示灯,发现在送铃流 图5.1信号时,指示灯亮,但是灯在闪烁。分析得光耦输出端所接的滤波电容C2太小,于是把原来的1μF换成现在的100μF,如右图5.1所示,问题得到解决。
因为单片机T0所响应的外部中断信号是低电平有效,所以在光耦输出端接了一个开关三极管T1控制指示灯,在三极管的输出端接了三个反向器。经过三极管T1的开关作用和三个反向器的反向作用,输出应该为低电平。但是在测量反向器输出端时发现:振铃指示灯亮,但反向器输出端为高电平。说明振铃信号可以通过三极管,但无法通过反向器。分析原因可能是反向器74LS04坏了,换之,再测,还是老问题。经过细心测量三极管的发射极电压发现:有振铃时Ve=1.1V,这时反向器74LS04认为是低电平,当无振铃脉冲信号时,还是认为是低电平,所以振铃信号无法通过反向器。解决方法很简单,把三极管的发射极端的下拉电阻R4从原来的20kΩ改成5.1kΩ,提升三极管的发射极电压。
在毕业设计的后期,实验室有了模拟小交换机,经测试,本单元电路完全正常,振铃检测部分调试完毕。

5.2.3 模拟摘挂机

此部分的调试较为容易,电路接好后,用5V高电平测试之,指示灯亮,继电器吸合正常。接入模拟小交换机,控制摘机时,交换机的端口指示灯亮,反之挂机时,指示灯灭。说明

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

网站地图

Top