历史上的今天
今天是:2025年04月16日(星期三)
2021年04月16日 | 51单片机多路抢答器设计
2021-04-16 来源:eefocus
高校是个院系、部门较多的单位 ,且学校的活动多 ,而抢答的活动精彩而又有趣 ,市面上8 路以上的抢答器很少 ,且价格贵 ,4 路的抢答器至少要800 元以上。如果我们能带领学生自己设计一个多路抢答器的话 ,这样一来既降低了成本 ,又引发了学生的兴趣。
1 基本功能
(1) 可同时供16 个代表队参加比赛
(2) 给节目主持人一个控制开关 ,用来控制系统清零和抢答开始。
(3) 可显示优先抢答代表队的编号 ,同时给出提示 ,并封锁输入 ,禁止其他选手抢答。
(4) 具有定时抢答功能 ,抢答时间可由主持人设定。
(5) 在设定时间内抢答有效 ,定时器停止工作。
(6) 定时时间已到 ,无人抢答 ,本次抢答无效。
基于单片机的多路抢答器设计与制作
1、 设计内容
采用MCS-51系列单片机设计制作一个多路抢答器
2、 基本要求
①是否允许抢答的控制功能
②只能允许动作最快的一方抢答,此后其他各方均被禁止抢答
③抢答成功一方的编号显示功能
④抢答动作成功后的报警提示功能
3、 扩展要求
①限时抢答
②限时作答
③得分统计与查询
2 总体框图
该设计包括了几个单元电路 ,框图见
图1。

3 电路设计
3.1 多路抢答器电路设计
抢答电路有两个功能:一是能分辨出选手按键的先后 ,并锁存优先抢答者的编号 ,供译码显示电路用;
二是要使其他选手的按键无效。电路选用优先编码器 74LS148 和锁存器 74LS297 来完成 ,由于要求有 16路抢答 ,因此需要两个74LS148 串接 ,构成16 - 4 线的优先编码器 ,编码器的输出接锁存器 ,然后再接一加法电路 ,从而把输出的二进制码转换成十进制 ,编码器的编号为本 0 - 15 ,为了方便 ,可以把编号统一加“1”,编号则为1 - 16 号。电路如图2:

3.2 定时电路设计
节目主持人可根据每次不同的比赛 ,甚至根据每道题不同的难易程度 ,设置不同的抢答时间。电路选用十进制计数器74LS192 进行设计 ,再设计一个秒脉冲电路给计数器提供时钟脉冲。该电路同时包括译码显示电路。电路如图3:

3.3 报警电路设计
由555 芯片构成多谐振荡电路 ,555 的输出信号再经三极管放大 ,从而推动扬声器发声 ,电路如图4。
3.4 时序控制电路设计
控制电路包括时序和报警两个电路 ,如图5 所示。控制电路需具有以下几个功能。
主持人闭合开关扬声器发声 ,多路抢答器电路和计时电路进入正常状态;

参赛者按键时 ,扬声器发声 ,抢答电路和计时电路停止工作;
抢答时间到 ,无人抢答 ,扬声器发声 ,抢答电路和计时电路停止工作。
3.5 电源电路设计
电源采用集成稳压电路 ,
器件用 78XX系列 ,可组成固
定正电压输出 ,且这类芯片只
有3 个引脚 ,使用方便。整流
滤波电路由分立元件组成。
电路如图6。

3.6 整机连接调试
把上面所设计的单元电路连接起来可得到整机电路。然后可在印刷电路板上焊接分立元件并进行调试。在调试的过程中可能会遇到由于逻辑门传输延时的存在而带来的竞争冒险问题 ,主要表现在当按键大于8 时 ,在连续按键的情况下大约有10 %的可能性误显示为 8 ,为了尽量减少这种可能性的发生 ,我们在电路中加入延时单元74LS31。
4 总结
该设计可以做为学生的电子技术的课程设计 ,且学生做成功的可能性也大。采购该多路抢答器的所有器件成本大约为一百五十元左右 ,这样价格就相对而言很便宜。作者可以收一件比较好的作品已备比赛时用 ,这样学生可以用自己设计的产品来开展活动 ,可更大程度上激发他们的动手能力和创造力。
下一篇:一种LED点阵汉字显示屏的制作
史海拾趣
|
大家好,我按照下面这个电路图设计的驱动电路 照着上面的做了,13号脚给个高电平或者低电平,为什么5号脚输出测G和E极电压怎么都是-15V左右, 变换根本不大啊,正常应该是G和E极电压应该是-15变为6V左右可以驱动IGBT呀,为什么5号脚输出电压很低 ...… 查看全部问答> |
|
大家好,有个问题想问一下: 1 WinCE5 C# 获得从 panel 获得绘图面的方法? 说明 : 精简版的compect Frame Work 不支持CreatGraphics 我使用Graphics.FromHdc()但是发生了内存溢出错误,应该是使用方法不正确,请指教! 我看有资料说使用WinAPI ...… 查看全部问答> |
|
最近看书看到几段makefile文件的片段,但是看不懂,哪位好心人帮忙看看啊!! %.d:%.c set -e;$(CC) -M $(CPPFLAGS) $$@;\\ [-s $@]||rm -f $@ 还有一个,这个是使用LPC2200开发板时,配置内核,执行命令make ...… 查看全部问答> |
|
arm-gcc编译问题,高手指教,在线等!!!指教!在线等!!!帮忙!!!!! #include #include #include #include char RoundToInt64 (float dval) { char val; static float magic = 12582912.0; dval += magic; val = *(char *)&dval; &nbs ...… 查看全部问答> |
|
STM32F103VB的编码器计数引脚是不是和比较输出是同一个引脚? STM32F103VB的TIMx的外部编码器计数引脚和比较输出是不是同一个引脚?我看了好几天手册没搞明白,告诉我一下吧,我 ...… 查看全部问答> |
|
我是一个430得初学者,对430c语言中的字符串不是很理解,查资料后知道需要使用字符数组和指针可以实现,但是现在对字符串的赋值不是很清楚,书上所只能一个一个数组元素的赋值,不能给数组整体赋值,我感到很不方便,请教各位大虾,再430c语言中是 ...… 查看全部问答> |




