目前家庭和办公用微机的打印端口通常专为连接打印机使用,对强大的微机资源未做充分利用.因此,笔者制作了简单的“多用途点歌台”,实现微机打印端口的扩展应用.本文介绍的是采用MT8870双音频译码芯片对微机打印端口进行应用扩展,利用系统配合运行于微机上的监控软件实现音乐点播、语音留言等功能,特别适合于电子爱好者制作.
电路原理
微机打印端口管脚与功能分布如图1所示.
数据端口(378H)2~9针为D0~D7;输入控制端口(379H) 10~13、15针为B6、B7、B5、B4、B3;输出端口(37AH)为1、14、16、17针,GND为25针.
本应用主要使用5个输入控制端口和输出2,与J2对应关系为:15-1;13-2;12-3;10-4;2-5;11-6;25-8.
电路如图2所示.本装置主要由Q1、Q2完成装置的模拟摘机;C3、R1、DZ3、D6、IC1组成铃流监测电路;LM567和Q3及周围元件进行催挂音监测;双音频译码器MT8870完成线路双音频命令信号的译码;DZ4、D5、C5用于稳压获得5V左右的供电电源;L1、L2、MR用于线路的滤波和保护;DZ1、DZ2则用于限制音频变压器输入端的电压,防止铃流电压对声卡造成毁害;CZ为音频输入输出端口,它与声卡的音频输出及线输入端口相连,完成语音输入和音乐信号的输出.
本篇论文地址:{$getarticleurl}
启动微机的监控软件,此时微机不断监测B7端的状态.当线上铃流到来时,光耦4N25输出低电平,打印端口B7出现负跳变脉冲,软件中设置的计数变量加1.当并网无人接听,计数变量达到设置数值时,打印端口D0输出高电平,Q1、Q2导通,实现模拟摘机.此时,线路电压经DZ4稳压后向MT8870、LM567等电路提供工作电源.摘机后,微机不断检测B3~B6口的数值.当MT8870检测到双音频命令信号经线路传送时,命令字译码输出,并送入打印端口,读入监控变量,微机将根据命令字的内容完成音频信号输出输入.从而实现点播歌曲和录音留言的功能.在摘机状态下,微机不断检测B7端口的状态.当拨入用户挂机时,由LM567检测信号脉冲结合软件处理检测出催挂音,从而控制端口D0输出低电平,Q1、Q2关断,从而完成挂机过程.
监控软件
本软件采用易学、易用的可视化高级语言Visual Basic编制,配合I/O口DLL动态连接库读取打印机端口.音乐采用MP3格式播放,留言内容采用W格式存储,利用数据库进行管理,同时本软件还兼有双音频拨号功能,可定时向线路用户提供音乐服务.
软件主要流程图如图3所示.
对于I/O口动态连接库及其调用,可以参照有关的VB代码,在此不多陈述.
电路调试
本装置调试的重点是催挂音检测电路.由于音乐及人的话音中含有450Hz的频率信号,所以即使是拨入方没有挂机,在B7端口也可以检测到脉冲信号,解决的办法是:可以设置软件算法对脉冲信号进行分析处理.由于从语音及音乐信号中检测出的脉冲信号是没有规律的,而从催挂音检测出的脉冲信号及间隔则是满足一定规律的,所以根据此差异编制算法,就可以识别出催挂音.如果感觉此部分不好调试的话,可以将电路图中虚线部分去掉,结合软件定时来实现装置的挂机过程.当然在功能实现上将会部分受限.
本装置简单易制,用途广泛,程序易于编写,且很容易进行功能扩展,除用于点歌外,还可以编写相应的功能程序模块,用于单位程控机系统内的自动语音值班;加装功率接口后还可用于电器的远程控制;加装传感探测等接口后还可用于防盗报警、数据传输等.