



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于打印机接口的语音型抢答器很多单位在开展文娱活动时有抢答一项,需要用到抢答器,普通抢答器使用通用集成电路制成,价格高、显示方式简单,性价比较差。而一般单位都有计算机,如果利用计算机就可以很方便地构成一台功能强大而价格十分低廉的抢答器。下面介绍的是笔者实际制作使用的电路。一、打印口工作原理简介 参照图1,PC机上的打印接口共有25根连线,其中18-25都是地线,因此实际共有17根线,分成三类,8根数据线,可进行数据输出,5根状态线,输入,4根控制线,输出。这三组线分别由打印口的三个寄存器控制,即378H(数据口),379H(状态口),37AH(控制口),只要
2、对这三个地址的寄存器读或写,就可以输入或输出数据。而对这三个地址的读写可以用C语言中的函数outportb(int port,int data)和 inportb(int port)来进行,十分方便。二、硬件电路图使用一片廉价的八缓冲器74LS244。74LS244介绍:参考图2,74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开,功能表如下表所示。 电路介绍(参考图3):将74LS244的控制端和分别接到打印机控制端口的两个输出端,接到一个端口也可以,但要增加一个反相器,因控
3、制端口有多余线可用,就分别接两根线,可以省些硬件。利用这两个端口分别接通两组中的一组,将两组的输出端对应并联起来,接入打印机的状态端口,这样就可以输入8路数据了。如再接入一片74LS244,可以把输入扩展到16路。打印口控制端的另一根线()接入一个交流晶闸管型光耦(型号为MC3020),光耦的另一端接一个双向晶闸管和一个电灯,按图示,当该口为低电平时,指示灯亮表示可以开始抢答。三、程序的编制 这个制作的核心程序编写是非常简单的,只要使打印口的控制端口的低两位分时为低电平,然后分别读入状态端口的数据,就可以判断是否有人抢答了。这部份的程序如下:#define
4、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_da
5、ta_l>>4); /*两次读到的数据合并*/if(inp_data!=0x77) /*高4位输入端无任何脚接地时,应读到7,请参考图1及电路图3*/break; /*每组仅用高4位,两组合并后0x77为两次均无任何脚接地*/delay(10); /*延时10毫秒,实际可在此作一些界面变化的处理,增加美观*/ 在实际制作中为充分利用PC机的资源,充分美化抢答器,采用了全图形化的编程,并加入了声音功能。即将抢答的组数在显示器上用大字显示出,并同时利用PC机上的声卡报出相应组数。具体程序由各人及计算机档次而定,笔者编的程序可在
6、386机上流畅地运行。四、注意事项如果读者实际制作这个电路,还要注意以下几个问题: 1.打印口地址的确定,并非每一台计算机的打印口地址都是以上所列的地址,最常见的还有278H,279H,27AH。因此针对不同的计算机自动寻找打印口很重要,在计算机的内存中存放有打印口地址,自动查找打印口可用如下程序:unsigned int far *fpb=(unsigned far * )0x00400008; /*在内存40:08H处单元中有打印地址*/port_data=*fpb; /*取打印机数据口的地址*/port_inp=*fpb+1; /*状态端口为数据口地址
7、加1*/port_ctrl=*fpb+2; /*控制端口为数据端口加2*/ 2. 以上设计是基于标准的打印口设置,如果主板的打印口设计不标准,则以上编程会有问题。以笔者的调查,所找到的所有386、586兼容机(约10个不同品种的主板)及以上机均能正常工作,但486机主板较混乱,笔者找了5、6种486兼容机,没一台能用。但所有的品牌机都没有发现有这方面的问题,为谨慎起见,自制前最好对自已所用计算机的打印口检测一下,即将状态线分别接地,然后读出状态口数据,看是否与接线相符。在计算机用语音报出开始后要先检测一次输入,如果已有人按下按钮,则
8、属范规,如无人按下,再点亮指示灯,表示抢答可以开始。DOS下的声卡发声程序编起来比较麻烦,而且一定要计算机有声卡才行,如果打算让旧计算机发挥余热,而又想有声音功能,那不妨多花上十多元钱按图4做一个发声电路。这是一个D/A转换器,只要读出WAV文件的数据并逐一送往数据端口,就可以发声了,这部份程序如下:void wave(char *file) /*发声函数,参数为文件名*/ char ch='0'FILE *fp;if(fp=fopen(file,"rb")=NULL) /*打不开文件的常规处理*/ printf("File%s not found!",*file);exit(1);while(!feof(fp) /*如果未到文件尾*/ outportb(port_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国低脂高钙营养奶粉数据监测报告
- 新疆木垒县中学2025年高三下教学调研(一)英语试题含解析
- 星海音乐学院《职业生涯发展和就业指导Ⅲ》2023-2024学年第二学期期末试卷
- 一年级数学上册《排队问题专项训练》
- 甘肃省临夏市第一中学2023-2024学年中考试题猜想数学试卷含解析
- 广东省佛山市南海区2024年中考试题猜想数学试卷含解析
- 2024-2025新入职工安全培训考试试题A卷附答案
- 2024-2025公司安全管理人员安全培训考试试题含答案【培优A卷】
- 2025企业安全培训考试试题有完整答案
- 肿瘤患者临床营养问题与评估
- GB/T 17872-1999江海直达货船船型系列
- GB/T 12027-2004塑料薄膜和薄片加热尺寸变化率试验方法
- 中医手诊培训资料课件
- 消防主机运行记录表(标准范本)
- DB2110T 0004-2020 辽阳地区主要树种一元、二元立木材积表
- 应急处置措施交底
- 基于深度学习的问题链讲座课件(44张PPT)
- Q∕GDW 12154-2021 电力安全工器具试验检测中心建设规范
- 第四章 金融监管(商业银行管理-复旦大学)
- 中波发射台搬迁建设及地网铺设、机房设备的安装与调整实践
- 影像诊断学-—-总论PPT课件
评论
0/150
提交评论