微机打印端口的扩展应用

时间:2022-10-23 09:44:01

微机打印端口的扩展应用

目前家庭和办公用微机的打印端口通常专为连接打印机使用,对强大的微机资源未做充分利用。因此,笔者制作了简单的“多用途电话点歌台”,实现微机打印端口的扩展应用。本文介绍的是采用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为音频输入输出端口,它与声卡的音频输出及线输入端口相连,完成电话语音输入和音乐信号的输出。

启动微机的监控软件,此时微机不断监测B7端的状态。当电话线上铃流到来时,光耦4N25输出低电平,打印端口B7出现负跳变脉冲,软件中设置的计数变量加1。当并网电话无人接听,计数变量达到设置数值时,打印端口D0输出高电平,Q1、Q2导通,实现模拟摘机。此时,线路电压经DZ4稳压后向MT8870、LM567等电路提供工作电源。摘机后,微机不断检测B3~B6口的数值。当MT8870检测到双音频命令信号经电话线路传送时,命令字译码输出,并送入打印端口,读入监控变量,微机将根据命令字的内容完成音频信号输出输入。从而实现点播歌曲和录音留言的功能。在摘机状态下,微机不断检测B7端口的状态。当拨入用户挂机时,由LM567检测信号脉冲结合软件处理检测出电话催挂音,从而控制端口D0输出低电平,Q1、Q2关断,从而完成挂机过程。

监控软件

本软件采用易学、易用的可视化高级语言Visual Basic编制,配合I/O口DLL动态连接库读取打印机端口。音乐采用MP3格式播放,留言内容采用WAV格式存储,利用数据库进行管理,同时本软件还兼有双音频拨号功能,可定时向线路用户提供音乐服务。

软件主要流程图如图3所示。

对于I/O口动态连接库及其调用,可以参照有关的VB代码,在此不多陈述。

电路调试

本装置调试的重点是催挂音检测电路。由于音乐及人的话音中含有450Hz的频率信号,所以即使是拨入方没有挂机,在B7端口也可以检测到脉冲信号,解决的办法是:可以设置软件算法对脉冲信号进行分析处理。由于从语音及音乐信号中检测出的脉冲信号是没有规律的,而从催挂音检测出的脉冲信号及间隔则是满足一定规律的,所以根据此差异编制算法,就可以识别出催挂音。如果感觉此部分不好调试的话,可以将电路图中虚线部分去掉,结合软件定时来实现装置的挂机过程。当然在功能实现上将会部分受限。

本装置简单易制,用途广泛,程序易于编写,且很容易进行功能扩展,除用于点歌外,还可以编写相应的功能程序模块,用于单位程控机系统内的自动语音值班;加装功率接口后还可用于电器的远程控制;加装传感探测等接口后还可用于防盗报警、数据传输等。

上一篇:示波器辉度控制不正常的维修 下一篇:利用AT89C2051实现波特率自适应的一种方法