四路抢答器

作者&投稿:泊杰 (若有异议请与网页底部的电邮联系)
求四路抢答器~

四路原理很简单,这在电子技术相关书籍上都有的介绍。我也懒得去翻书了,帮你找到点资料,参考一下:
也许加上你自己的想法可以得到一些改进。
http://www.jusi.cc/Sjjc/ShowArticle.asp?ArticleID=77

实战四《简易四路抢答器》
;该抢答器供不多于4个参赛队或者个人的抢答比赛场合使用。每个参赛队的座位前
;安装1只抢答按钮开关(用板上的S9、S10、S11、S12)和一个信号灯(D4、D5、D6、D7)。
;主持人座位前装一只复原开关(板上S3)、1只蜂鸣器(板上BUZ1)和一个抢答器工作状态
;指示灯(D10),每当主持人口头发出号令之后.哪个队先按下座位上的按钮开关,该座位的信
;号灯就先被点亮,同时封锁其他按钮开关的活动.并且熄灭主持人座位上的状态指示灯和发出
;三声类似于电话振铃的提示声,以声明此次抢答动作已经完成.在主持人确认后,按下复原按钮
;,状态指示灯重新点亮,并且同时发出"笛-笛-"声,为下一次抢答作好准备.
;PIC单片机学习网 陈学乾 http://www.pic16.com
;程序文件名:"MCD-INTBUZ.ASM"
;*********************************************************************
;程序清单
;*********************************************************************
tmr0 equ 1h ;定义定时器/计数器0寄存器地址
status equ 3h ;定义状态寄存器地址
option_reg equ 81h ;定义选项寄存器地址
option_temp equ 0a6h ;(在BACK1)定义选项寄存器的备份寄存器的地址
intcon equ 0bh ;定义中断控制寄存器地址
portc equ 7h ;定义端口RC的数据寄存器地址
trisc equ 87h ;定义端口RC的方向控制寄存器地址
portb equ 06h ;定义端口RB的数据寄存器地址
trisb equ 86h ;定义端口RB的方向控制寄存器地址
c equ 0 ;定义进位标志位的位地址
z equ 2 ;定义0标志位的位地址
w equ 0 ;定义传送目标寄存器为W的指示位
f equ 1 ;定义传送目标寄存器为RAM的指示位
t0if equ 2 ;定义TMR0中断标志位的位地址
t0ie equ 5 ;定义TMR0中断使能位的位地址
inte equ 4 ;定义外部中断使能位的位地址
intf equ 1 ;定义外部中断标志位的位地址
count equ 20h ;定义一个计数器变量
count1 equ 24h ;定义一个计数器变量
count2 equ 25h ;定义一个计数器变量
count3 equ 27h ;定义一个计数器变量
count4 equ 28h ;定义一个计数器变量
portb_b equ 21h ;为PORTC定义一个备份寄存器
w_temp equ 7fh ;为W在体0和体1定义2个备份寄存器
;w_temp equ 0ffh ;(若是16F873/4,则需保留FFH单元)
status_temp equ 23h ;为STATUS定义一个备份寄存器
rp0 equ 5h ;定义状态寄存器中的页选位RP0
;******************复位向量和中断向量***********************
org 000h ;
nop ;设置一条ICD必须的空操作指令
goto main ;
org 0004h ;
goto serv ;跳转到中断服务子程序
;*******************主程序************************************
main
bsf status,rp0 ;
movlw 0 ;
movwf trisc ;设置RC口全部为输出
movlw 0ffh ;
movwf trisb ;设置RB口全部为输入
movlw 02h ;设置选项寄存器:上拉电阻启用;INT下降沿触发
movwf option_reg ;分频器给TMR0;分频比1:8
bcf status,rp0 ;
movlw 90h ;
movwf intcon ;开发INT中断
clrf portc ;RC口灯全灭
loop
movf portb,w ;读取RB口数据
iorlw b'11100001' ;送RB口的数到备份寄存器并将除S9、S10、S11、S12以外的位全部送1
movwf portb_b ;
xorlw 0ffh ;没有键按下转LOOP继续检测
btfsc status,z ;
goto loop ;
call delay10ms ;防抖动廷时
movf portb,w ;
iorlw b'11100001' ;
xorwf portb_b,0 ;再次读取RB口的数据,与前一次读的数相同则键值有效
btfsc status,z ;
goto loop ;
comf portb_b,w ;取反以便使被按下按键的位为1,其它位为0
movwf portc ;送RC口显示
call tone3t ;调用发声三次子程序
loop1
comf portb,w ;检测按键是否有松开
andlw b'00011110' ;
btfsc status,z ;
goto loop ;松开了返回
goto loop1 ;没松开继续检测
;*********************中断服务子程序*****************************
serv
;********************保存护现场部分*******************************
movwf w_temp ;保护W
swapf status,w ;保护STATUS
clrf status ;选择体0
movwf status_temp ;将STATUS存入体0的备份寄存器
;********************* 调查中断源**********************************
btfsc intcon,intf ;检查不是INT中断,返回
goto intserv ;是!转到INT中断处理部分
goto retfie0 ;
;*********************INT中断处理部分******************************
intserv
clrf portc ;令全部灯熄灭
bsf portc,7 ;点亮D10,表示就绪
call tone630 ;调用高音子程序
call delay ;调用1S廷时子程序
call tone630 ;调用低音子程序
bcf intcon,intf ;清除INT中断标志位
;*************************恢复现场部分*****************************
retfie0
swapf status_temp,w ;恢复STATUS
movwf status ;
swapf w_temp,f ;恢复W
swapf w_temp,w ;
retfie ;中断返加
;*************************低音调发生子程序(500HZ/50MS)*************
tone500
movlw .50 ;循环次数寄存器赋初值
movwf count ;50=500HZx0.05Sx2
t5lop
bcf intcon,t0if ;清除TRM0溢出中断标志位
movlw .131 ;给TMR0装入初值256-125=131
movwf tmr0 ;启动定时器
t5here
btfss intcon,t0if ;定时器溢出否
goto t5here ;否!循环栓测
movlw b'01000000' ;只将BIT6置位
xorwf portc,f ;只将RC6(BUZ)脚电平反转,其余不变
decfsz count,f ;循环次数递减,为0,跳一步
goto t5lop ;不为0,跳回
return ;返回
;**************************高音调发生子程序(630HZ/50MS)*****************
tone630
movlw .63 ;循环次数寄存器赋初值
movwf count1 ;63=630HZx0.05Sx2
t6lop
bcf intcon,t0if ;清除TRM0溢出中断标志位
movlw .157 ;给TMR0装入初值157=256-99
movwf tmr0 ;启动定时器
t6here
btfss intcon,t0if ;定时器溢出否
goto t6here ;否!循环栓测
movlw b'01000000' ;只将BIT6置位
xorwf portc,f ;只将RC6(BUZ)脚电平反转,其余不变
decfsz count1,f ;循环次数递减,为0,跳一步
goto t6lop ;不为0,跳回
return ;返回
;*********************发声1S子程序(1S=10x(50ms+50ms)***********
tonels
movlw .10 ;循环次数寄存器赋初值
movwf count2 ;
t1lop
call tone500 ;调用低音子程序
call tone630 ;调用高音子程序
decfsz count2,f ;循环次数递减,为0,跳一步
goto t1lop ;不为0,跳回
return ;返回
;*********************TMR0廷时子程序1S(1S=16x256x(256-12)US)********
delay
bsf status,rp0 ;设置文件寄存器体1
movf option_reg,w ;保护选项寄存器内容
movwf option_temp ;
movlw 07h ;重设选项寄存器;上拉电阻启用,INT下降沿触发
movwf option_reg ;分频器给TRM0;分频比值设为1:256
bcf status,rp0 ;恢复到文件寄存器体0
movlw .16 ;循环利用TMROP定时16次
movwf count3 ;溢出次数寄存器
d1lop
bcf intcon,t0if ;清除TMR0溢出中断标志位
bcf intcon,t0ie ;清除TMR0溢出中断使能位
movlw .12 ;给TMR0装入初值12=256-244
movwf tmr0 ;启动定时器
here
btfss intcon,t0if ;用查询法检测TMR0溢出否
goto here ;否!返回
decfsz count3,f ;是!溢出次数减1,为0,跳一步
goto d1lop ;否!循环利用TMR0
bsf status,rp0 ;设置文件寄存器体1
movf option_temp,w ;恢复选项寄存器内容
movwf option_reg ;
bcf status,rp0 ;恢复到文件寄存器体0
return ;返回
;*************************断续发声3次报警子程序***********************
tone3t
movlw .3 ;循环次数寄存器赋初值
movwf count4 ;
t3lop
call tonels ;调用发声1S子程序
call delay ;调用廷时1S子程序
decfsz count4,f ;循环次数递减,为0,跳一步
goto t3lop ;不为0,跳回
return ;返回
;**************************软件廷时10MS子程序****************************
delay10ms
movlw .13 ;将外层循环参数值送到30H
movwf 30h ;
lp0
movlw 0ffh ;将内层循环参数值送到31H
movwf 31h ;
lp1
decfsz 31h,1 ;变量31H内容递减,若为0则跳跃
goto lp1 ;跳转到LP1
decfsz 30h,1 ;变量30H内容递减,若为0则跳跃
goto lp0 ;跳转到LP0
return ;返回主程序
end ;源程序结束
;***************************************************
; 进入该实战演练的工序流程如下:
; 1.创建源文件和编辑源文件;在此介绍一种不同于前面讲的创建源文件的方法,用Windows附件中的”记事本”
; 这个为大家所熟知和好用的文件编辑器,并且可以方便的加入中文注释.不过有两点需要注意,一是注释前面的
; 分号”;”必须用西文半角输入;二是必须用”.asm”扩展名存储到事先建立的一个专用子目录下.
; 2.打开MPLAB集成开发环境:首先在WINDOWS环境下,选用开始>程序>Microchip MPLAB>MPLAB命令,启动MPLAB
; 并进入MPLAB的桌面.
; 3.创建项目:选用菜单File>New或Project>New Project,在事先建立的一个专用子目录下创建一个新项目,将
; 用记事本创建的源文件加入到该项目中.
; 4.建立项目中的目标文件:选择菜单Project >Build All(项目>建立所有文件),MPLAB将自动调用MPASM将项目
; 文件管理下的源文件(.asm)汇编成十六进制的目标文件(.hex).
; 5.ICD参数设置:通过菜单命令Project>Edit Project或者Option>Development Mode,将开发模式设置为
; ”MPLAB ICD Debugger”,点击OK按钮,打开ICD的工作窗口,在调试阶段,可以按照说明书图2-10设置各项,但需注意
; OSCILLATOR应设置为XT方式,尤其需要说明的是,选中“Enable Debug Mode”(使能调试模式)选项,在向目
; 标单片机烧写机器码程序时,会将调试临控程序同时写入单片机的指定程序存储器区域,然后才允许用ICD方式调试。
; 6.电路设置:将演示板的S1全部拔到ON,S4全部拔到OFF,S13的第1、第5拔到ON,第6、第7拔到OFF ,LCD不要插在演示板上,
; 以使端口C只与8只发光二极管接通;将用于选择频率的插针跳线插到”XT OSC”位置上,板上93CXX、24CXX应拿下。
; 7.向目标单片机烧写目标程序:用户在点击功能按钮”Program”向目标单片机烧写机器码程序时,会等待一段时间,
; 并且在条状的状态信息栏中,出现提示信息。有一点需要引起注意,就是PIC16F87X单片机的FLASH程序存储器的擦写
; 周期是有限的,大约为1000次,应尽量节省它的使用寿命。
; 8.运行和调试用户程序和用户电路:在各项参数设置好后,将ICD的工作窗口最小化,利用前面讲的”运行及调试”中介
; 绍的几种方法进行调试.当用自动单步方式调试时,建议临时禁止廷时子程序发挥作用,具体的方法是,可在CALL DELAY指
; 令前添加一个分号,并且重新汇编一次.为了学习目的,在调试过程中可以人为地加入一些软件漏洞(BUG)或硬件故障,来模
; 仿单片机端口引脚的片内或片外故障.
; 9.定型烧写目标单片机;经过多次重复上述步骤的反复修改和调试,使得程序和电路在联机状态完全正常,这时可以进行
; 定型烧写,即将ICD窗口中的”Enable Debug Mode”(使能调试模式)选项消除,不再将调试临控程序写入单片机中.
; 10.独立运行验收:上一步中的烧写过程完成后,即可将ICD模块和ICD仿真头(或演示板)之间的6芯电缆断开,让单片机在
; 演示板独立运行,观察实际效果.

方案:由CD4043一个,电阻,二级管,开关若干组成。CD4043是一快内部由4个高电平有效的RS触发触发器组成。当4个输出端有其中一个被按下时,CD4023相应的输出端经三级管的编码输出到数码显示器使其显示当前按下的按钮组。从数码显示器的b笔段引出一个公共的信号给三级管的反向接到开关的控制端,禁止抢答。把CD4043的四个CR清零接在一起,接个电阻到地,并接一个开关到电源,按动此开关则输出清零。电路进入下一次抢答准备。
1单元电路设计及工作原理
(1):抢答电路
该电路的根本任务是准确的判断出第一抢答者的信号并将其锁存。实现这一功能可用触发器和锁存器等。在得到第一信号后应立即将电路的输入封锁,即使其他组再次发出抢答信号也无效。同时还必须注意,第一抢答信号应该在主持人发出抢答命令之后才有效。当电路形成第一抢答信号之后,用编码、译码及数码显示电路显示出抢答者的组别,也可以用发光二级管直接指示出组别(这里我们采用LED数码管显示)。同时用第一抢答信号控制一个音乐芯片工作,使其推动扬声器发出声响,表示该题抢答有效。本电路用一个CD4043RS触发器和LED数码管显示器组成,可以将四位抢答者的按钮通过译码,驱动LED数码管显示器显示出他们最先抢答者的序号。而时序控制电路的功能是当参赛选手按动抢答器时,使音乐芯片工作扬声器发声,这时抢答电路和定时电路停止工作。

(2)倒计时电路
该电路的采用CD40110做为个位数计时,它是一个十进制加减法译码显示计数器。十位数采用CD40192可预置加减法BCD计数器,输出经七段LED译码器CD4511使数码显示器工作。在CD40192的可预置端用两个单刀双掷开关控制,实现时间10秒、20秒、30秒可调的功能。

(3)1HZ脉冲产生电路
该电路的采用555定时电路。555定时电路是一种电路简单且多用途的单片中规模集成电路。该电路使用灵活、方便,只需外接少量的阻容元件就可以构成单稳、多谐和施密特触发器。因而要波形的产生与变换、测量与控制、家用电器和电子玩具等等许多领域中都得到了广泛的应用。

四:声响电路
电路原理如下图所示,该电路分有两部分,一个是抢答成功提示为音乐提示音,另一个是时间接近及时间到提示它利用CD4011和555芯片组成的组合逻辑电路控制蜂鸣器发出声音。


一、 参考文献
1、《数字逻辑》
西南交通大学出版社2005年6月 主编 裴亚男 付智辉
2、《74系列芯片手册》
重庆大学出版社 1999年9月 主编:李海
3、电子技术基础.数字部分(第四版)》
高等教育出版社2003年3月 主编:康华光

二、 附图


三、 元器件清单
CD4043一个
电阻,二级管,开关若干
LED数码管显示器
CD40110
CD40192
555芯片

希望有用哦!



用逻辑电路设计?还是用单片机设计呢? 可以找找抢答器开发商。但不晓得别个会不会提供哈


三路抢答器数字电路怎么设计
这有四路 抢答器设计,你可以不用另一路。网址:http:\/\/blog.sina.com.cn\/s\/reader_4923ee76010007q6.html 数字智力竞赛抢答器的设计 作者:liumin 2007-01-20 10:30:49 标签:数字智力竞赛抢答器的设计 一、设计目的:比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码...

二路抢答器电路图(求物理达人)
两个联动开关即可见图:S1、S2 开关的常开与常闭同时动作,S1常开闭合同时S1常闭断开保证S2闭合L2等不亮,S2同理。我当时学的比较早电器符号可能太老了,将就看吧,希望能帮到你!

六路抢答器的电路图 越多越好
ct=503316480&z=0&tn=baiduimagedetail&word=%C7%C0%B4%F0%C6%F7%B5%E7%C2%B7%CD%BC&in=27755&cl=2&lm=-1&pn=9&rn=1&di=15994378800&ln=872&fr=&fmq=&ic=&s=0&se=&sme=0&tab=&width=&height=&face=&is=&istype=2#pn9&-1 参考资料:百度图片收索抢答器电路图 第十张 ...

51单片机四路抢答器毕业论文 只要四路
第一章 绪论设计的四路数字抢答器,每路设计一抢答按钮供选手使 用,并设置一个系统清除和抢答控制总开关 S,该开关由主持 人控制。 抢答器具有限时抢答功能,每一轮的限时抢答时间设定为 30 秒。主持人启动"开始"键后,在设定的时间内,参赛选手 进行抢答有效,否则无效。 抢答器具有锁存与显示功能。选手抢答成功则...

求一四路抢答器电路图的设计
我们要做一个数字四路抢答器所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一枪答者。同时还应设计记分、犯规和奖惩记录等多种功能。还要有计时功能,关键就是那个积分... 我们要做一个数字四路抢答器 所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一枪答者。同时还应设计记分、...

8路抢答器,显示的结果总是一半,做不好,请高手帮忙修改一下,这是我...
貌似DLAY延时时间太短,你是先显示十位再显示个位,每次调用XIANSH1显示子程时,十位只显示了DLAY子程延时时间,显示子程结束时都停留在显示个位上,如果XIANSH1显示子程调用不是太频繁则基本上看不到十位的显示效果,因为在一个调用周期内十位只显示了DLAY子程延时时间,其余时间都在显示个位内容。

急需PLC控制的四路抢答器的电器原理图及接线图以及其他图纸,请大家帮...
用三菱PLC控制的四路抢答器---电路原理图 (选用PLC输入输出口的多少可设计更多抢答器路数)检验开关:用于检查各路抢答器好坏和枪答的转换开关。闭合检验开关、检验开关开状态指示灯亮,按下任何一个枪答器按钮,对应的枪答器指示灯亮同时枪答声音提示。主持人复位按钮:枪答后复位按钮。

四人抢答器电路图
四人抢答器电路图如下:在知识竞赛、文体娱乐活动(抢答赛活动)中,能准确、公正、直观地判断出抢答者的座位号。传统抢答器只是大概判断出抢答成功或犯规选手台号,无法显示出每个选手的抢答时间。而今抢答器可以通过数据来说明裁决结果的准确性、公平性。使比赛大大增加了娱乐性的同时,也更加公平、公正。

plc六路抢答器,硬件接线图,控制流程图
SBO(K)--SB10(B)--KMO(Q)启动按钮,复位按钮 KM1O(K) KM1O(Q)km0(B)--q0(Q)准备抢答灯 SB1(K)---KM1O(K)--KM2(B)--KM3(B)--KM4(B)--KM5(B)--KM6(B)--KM1(Q)KM1(K)SB2(K)---KM1O(K)--KM1(B)--KM3(B)--KM4(B)--KM5(B)--KM6(B)--KM2(...

74ls00在四路抢答器里是什么作用
产生相应的抢答响应。74LS00是一种集成电路芯片,是TTL(晶体管-晶体管逻辑)家族的一员,其内部包含4个NAND门,每个NAND门的输入端口有2个,输出端口有一个,每个门输出低电平只有在两个输入端口同时接收到高电平时才能触发。

下花园区19460004456: 4路数字竞赛抢答器设计 -
汤尝胃康: 你好,你说的是四路抢答器吧!我正好是这方面的工作人员,电路图如下网站(这是继电器电路,左端电源要足够大才可以,右边是发光二极管,换成灯一样的 ),给个好评吧....

下花园区19460004456: 描述下本电路是如何实现四路输入抢答功能的? -
汤尝胃康: vvc:设计一个4人参加的智力竞赛抢答计时器1:当有某一个参赛者下按抢答开关时.相应显示等亮.并伴有声响;且此时抢答器不再接受其他输入信号;2:电路具有回答问题时间控制功能.要求回答问题小于等于100s(显示0——99s)....

下花园区19460004456: 用labview做一个4路抢答器
汤尝胃康: <p>1</p> <p></p>

下花园区19460004456: 数电四路抢答器 -
汤尝胃康: 时间有限,一时之间没有完全做到你所要达到的要求,上传一个基本的电路供您参考.图中F1为四D触发器74LS175,它具有公共置0端和公共CP端,引脚排列见附录;F2为双4输入与非门74LS20;F3是由74LS00组成的多谐振荡器;F4是由74LS74组成的四分频电路,F3、F4组成抢答电路中的CP时钟脉冲源,抢答开始时,由主持人清除信号,按下复位开关S,74LS175的输出Q1~Q4全为0,所有发光二极管LED均熄灭,当主持人宣布“抢答开始”后,首先作出判断的参赛者立即按下开关,对应的发光二极管点亮,同时,通过与非门F2送出信号锁住其余三个抢答者的电路,不再接受其它信号,直到主持人再次清除信号为止.计时部分请自行思考添加.

下花园区19460004456: 四路抢答器的设计 -
汤尝胃康: 因为网络原因,无法发至你的邮箱,只好直接回答. 这个除了10S计时以及LED数码管外,别的完全可做到. 原理:K0为电源开关,有节目主持人控制.K1~K4为抢答按钮,分别与各竞赛选手操作.V1与V5、V2与V6、V3与V7、V4与V8构成...

下花园区19460004456: 四路抢答器为什么要用74LS175 -
汤尝胃康: 其实题目的本质是让你用D触发器做四路抢答器而已.74LS175是四个D触发器封装在一起的.刚好符合题目要求...当然也可以不用74LS175.提供4个D触发器的IC都可以实现四路抢答器...

下花园区19460004456: 我想做一个四路抢答器,请问怎样去解决? -
汤尝胃康: 我刚做了一场抢答赛.效果很好.首先需要一台电脑.这个公司一般都有.一个4口的 USB hub,很便宜的.50元以内就搞定.4个是USB插头的键盘.这个公司也都有.然后比赛的时候打开一个WOED文档,把字体调大,一页只有4个字符.将队伍编号,好比是1,2,3,4,.说“抢”后,四队抢答,最先在word上出现的号码就是第一个抢到的.说“抢”要比“开始”好些.谁抢答一目了然.

下花园区19460004456: 这幅图是四路抢答器,我想了解下它的构造原理,以及三极管部分和4511译码器,二极管的作用?| -
汤尝胃康: 4511译码器的4个输入端(D、C、B、A)分别为8421编码,按钮从上至下对应1~4个输入端A(1)、B(2)、C(4),二极管的作用是利用其单向导通、反向截止特性,在按3钮则胲冲同时输入A、B端(1+2=3),而在按1钮只供A端得到脉冲,并利用二极管的反向截止避免B端同时得到脉冲.

下花园区19460004456: 请好心人帮忙做个四人抢答器的电路吧,要带有显示抢答号码的显示、裁判启动控制、有30秒的倒计时、 -
汤尝胃康: 给你这标准8路抢答器电路图,带数字显示,声音报警的,线路简单,可靠.你接4路即可.希望对你有帮助.

下花园区19460004456: 急求基于单片机的4路电子抢答器c语言程序 -
汤尝胃康: 2、实现现象:同时按键抢答,先按的键有效,其他按键锁死 复位后重新开始抢答 3、硬件要求:按键 LED灯原理:最先按下按键者有效,其他均无效------------------------------------------------*/#include<reg52.h> //包含头文件,一般情况不需要改动,...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网