0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用打印机接口设计语音型抢答器

Wildesbeast 来源:福星电子网 作者:福星电子网 2020-08-15 11:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

很多单位在开展文娱活动时有抢答一项,需要用到抢答器,普通抢答器使用通用集成电路制成,价格高、显示方式简单,性价比较差。而一般单位都有计算机,如果利用计算机就可以很方便地构成一台功能强大而价格十分低廉的抢答器。下面介绍的是笔者实际制作使用的电路。

一、打印口工作原理简介

参照图1,PC机上的打印接口共有25根连线,其中18-25都是地线,因此实际

共有17根线,分成三类,8根数据线,可进行数据输出,5根状态线,输入,4根控制线,输出。这三组线分别由打印口的三个寄存器控制,即378H(数据口),379H(状态口),37AH(控制口),只要对这三个地址的寄存器读或写,就可以输入或输出数据。而对这三个地址的读写可以用C语言中的函数outportb(int port,int data)和 inportb(int port)来进行,十分方便。

二、硬件电路图

使用一片廉价的八缓冲器74LS244。

74LS244介绍:参考图2,74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开,功能表如下表所示。

电路介绍(参考图3):将74LS244的控制端和分别接到打印机控制端口的两个输出端,接到一个端口也可以,但要增加一个反相器,因控制端口有多余线可用,就分别接两根线,可以省些硬件。利用这两个端口分别接通两组中的一组,将两组的输出端对应并联起来,接入打印机的状态端口,这样就可以输入8路数据了。如再接入一片74LS244,可以把输入扩展到16路。打印口控制端的另一根线接入一个交流晶闸管光耦(型号为MC3020),光耦的另一端接一个双向晶闸管和一个电灯,按图示,当该口为低电平时,指示灯亮表示可以开始抢答。

三、程序的编制

这个制作的核心程序编写是非常简单的,只要使打印口的控制端口的低两位分时为低电平,然后分别读入状态端口的数据,就可以判断是否有人抢答了。这部份的程序如下:

#define CTRL_H 0x03 /*第一组切入,此时第16脚为0,17脚为1*/

#define CTRL_L 0x0f /*第二组切入,此时第17脚为0,16脚为1*/

for(;;)

{ outportb(port_ctrl,CTRL_H); /*port_ctrl为控制端口地址,见下说明*/

inp_data_h=inportb(port_inp); /*读输入口数据*/

outportb(port_ctrl,CTRL_L); /*切入第二组*/

inp_data_l=inportb(port_inp); /*读输入口数据*/

inp_data=((inp_data_h&&0xf0)||(inp_data_l》》4); /*两次读到的数据合并*/

if(inp_data!=0x77) /*高4位输入端无任何脚接地时,应读到7,请参考图1及电路图3*/

break; /*每组仅用高4位,两组合并后0x77为两次均无任何脚接地*/

delay(10); /*延时10毫秒,实际可在此作一些界面变化的处理,增加美观*/

}

在实际制作中为充分利用PC机的资源,充分美化抢答器,采用了全图形化的编程,并加入了声音功能。即将抢答的组数在显示器上用大字显示出,并同时利用PC机上的声卡报出相应组数。具体程序由各人及计算机档次而定,笔者编的程序可在386机上流畅地运行。

四、注意事项

如果读者实际制作这个电路,还要注意以下几个问题:

1.打印口地址的确定,并非每一台计算机的打印口地址都是以上所列的地址,最常见的还有278H,279H,27AH。因此针对不同的计算机自动寻找打印口很重要,在计算机的内存中存放有打印口地址,自动查找打印口可用如下程序:

unsigned int far *fpb=(unsigned far * )0x00400008; /*在内存40:08H处单元中有打印地址*/

port_data=*fpb; /*取打印机数据口的地址*/

port_inp=*fpb+1; /*状态端口为数据口地址加1*/

port_ctrl=*fpb+2; /*控制端口为数据端口加2*/

2. 以上设计是基于标准的打印口设置,如果主板的打印口设计不标准,则以上编程会有问题。以笔者的调查,所找到的所有386、586兼容机(约10个不同品种的主板)及以上机均能正常工作,但486机主板较混乱,笔者找了5、6种486兼容机,没一台能用。但所有的品牌机都没有发现有这方面的问题,为谨慎起见,自制前最好对自已所用计算机的打印口检测一下,即将状态线分别接地,然后读出状态口数据,看是否与接线相符。在计算机用语音报出‘开始’后要先检测一次输入,如果已有人按下按钮,则属范规,如无人按下,再点亮指示灯,表示抢答可以开始。DOS下的声卡发声程序编起来比较麻烦,而且一定要计算机有声卡才行,如果打算让旧计算机发挥余热,而又想有声音功能,那不妨多花上十多元钱按图4做一个发声电路。这是一个D/A转换器,只要读出WAV文件的数据并逐一送往数据端口,就可以发声了,这部份程序如下:

void wave(char *file) /*发声函数,参数为文件名*/

{ char ch=‘’;

FILE *fp;

if((fp=fopen(file,“rb”))==NULL) /*打不开文件的常规处理*/

{ printf(“File%s not found!”,*file);

exit(1);

}

while(!feof(fp)) /*如果未到文件尾*/

{ outportb(port_data,(int)ch); /*取出数据并送往打印口数据端口*/

delay(3); /*延时3毫秒(取决于录音时的采样速率)*/

ch=fgetc(fp);

}

fclose(fp);

}

最后给出本程序的流程图。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 抢答器
    +关注

    关注

    17

    文章

    243

    浏览量

    35375
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129057
  • 计算机
    +关注

    关注

    19

    文章

    7764

    浏览量

    92679
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RFID标签打印机应用,如何选择RFID标签打印机

    RFID标签打印机凭借其非接触式数据写入、可重复擦写的特性,已成为现代企业实现物资智能化管理的核心设备。它能将产品信息加密写入电子标签,配合读写实现远距离批量识别,在效率与数据安全性上远超传统打印
    的头像 发表于 08-06 16:04 646次阅读
    RFID标签<b class='flag-5'>打印机</b>应用,如何选择RFID标签<b class='flag-5'>打印机</b>

    打印机出口要做哪些认证

    打印机出口要做哪些认证?——按出口地区全面解析(含欧盟、美国、东南亚)一、欧盟市场(如德国、法国)CE认证(强制)适用指令:LVD指令:电气安全(EN62368-1标准)EMC指令:电磁兼容
    的头像 发表于 07-25 17:43 936次阅读
    <b class='flag-5'>打印机</b>出口要做哪些认证

    哪些场景要使用到RFID标签打印机?RFID标签打印机一般多少钱?

    RFID标签打印机是一种将射频识别技术与打印技术相结合的设备,可实现对RFID标签的信息录入与表面信息打印,广泛应用于多个领域。以下是一些常见的应用场景:1、物流管理:在货物的仓储、运输和分销
    的头像 发表于 07-15 15:44 678次阅读
    哪些场景要使用到RFID标签<b class='flag-5'>打印机</b>?RFID标签<b class='flag-5'>打印机</b>一般多少钱?

    基于树莓派的工业级 3D 打印机

    基于计算模4的3D打印机功能强大、可靠且易于使用!Formlabs采用树莓派计算模块4为其最新款3D打印机Form4提供动力,提升了其旗舰系列打印机的速度、质量和成功率,为工业和商业客户提供了一个
    的头像 发表于 06-29 08:22 788次阅读
    基于树莓派的工业级 3D <b class='flag-5'>打印机</b>!

    唯创5大语音芯片方案,​适配全系打印机,扫清企业出海“语言关”!

    仅仅是一次简单的语音播报,更是打印机品牌商在打印机智能化道路上的一次关键突破。国内领先的打印设备制造商,通常会致力于为全球商户提供高品质的打印
    的头像 发表于 06-26 12:05 494次阅读
    唯创5大<b class='flag-5'>语音</b>芯片方案,​适配全系<b class='flag-5'>打印机</b>,扫清企业出海“语言关”!

    霍尔芯片在打印机中的应用

    在数字化时代,打印机似乎逐渐淡出了许多人的日常生活。然而,对于学生、职场人士、家庭用户以及自由职业者来说,打印机仍然是一个不可或缺的工具。那么霍尔芯片在打印机当中起到什么作用呢?
    的头像 发表于 06-09 17:26 733次阅读

    得力推出龙芯系列打印机新品

    近日,2025年得力龙芯系列打印机新品发布会暨签约会在京举行,正式发布基于龙芯2P0500开发的31系列自主安全打印机及善印系列打印机,包括黑白激光打印机、黑白激光多功能一体机等多个机
    的头像 发表于 05-22 11:14 1116次阅读

    芯资讯|智能云打印机—广州唯创电子五大语音芯片IC应用方案解析

    随着物联网技术与智能硬件的深度融合,打印机行业正经历从单一功能向智能化服务的转型升级。广州唯创电子凭借在语音交互领域20余年的技术沉淀,创新推出五大语音芯片解决方案,为打印机行业注入智
    的头像 发表于 04-27 09:13 575次阅读
    芯资讯|智能云<b class='flag-5'>打印机</b>—广州唯创电子五大<b class='flag-5'>语音</b>芯片IC应用方案解析

    EE-158:ADSP-2181 EZ-Kit Lite IDMA至PC打印机端口接口

    电子发烧友网站提供《EE-158:ADSP-2181 EZ-Kit Lite IDMA至PC打印机端口接口.pdf》资料免费下载
    发表于 01-15 15:32 0次下载
    EE-158:ADSP-2181 EZ-Kit Lite IDMA至PC<b class='flag-5'>打印机</b>端口<b class='flag-5'>接口</b>

    云电脑打印机设置策略:端口自动设置为VM端口怎么办

    晚上10点,老师突然在群里布置学习单,得赶紧打印。   咦,云桌面怎么无法使用USB打印机?     救命啊,怎么才能连上啊?! 别着急,这时候可以查看打印机属性中的端口是不是自动设成了VM开头
    的头像 发表于 01-03 11:02 1269次阅读
    云电脑<b class='flag-5'>打印机</b>设置策略:端口自动设置为VM端口怎么办

    打印机基于唯创知音语音播报+TTS(语音合成)+离在线识别技术的五大语音方案

    AUTUMN前言当下打印机使用越来越广泛,品种也日益增多,从企业到商家到用户,不同的客户群体都有不同的需求。就拿语音播报来说,早先的打印机只做简单的文本打印功能,不带
    的头像 发表于 12-31 17:34 1384次阅读
    云<b class='flag-5'>打印机</b>基于唯创知音<b class='flag-5'>语音</b>播报+TTS(<b class='flag-5'>语音</b>合成)+离在线识别技术的五大<b class='flag-5'>语音</b>方案

    浅谈点阵打印机的功能特点

    点阵打印机(Dot Matrix Printer)是一种使用一系列细小的针来打印字符和图形的打印机。这些针排列在一个或多个垂直列中,通过撞击色带并在纸上留下墨水点形成文本或图像。因为它们是通过创建由
    的头像 发表于 12-27 17:17 1931次阅读
    浅谈点阵<b class='flag-5'>打印机</b>的功能特点

    有源晶振在3D打印机应用方案

    随着 3D 打印技术的快速发展,3D 打印机在制造、设计和创新领域中发挥着越来越重要的作用。在这一领域中,时间和精度至关重要。石英振荡 YSO110TR作为 3D 打印机的关键组件之
    发表于 12-25 10:04 0次下载

    佳能IP110打印机手册

    佳能IP110打印机手册,总共512页,包含软件安装,网络调试,打印机调试,打印,清洗,故障码查询等
    发表于 12-07 15:26 6次下载