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

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

3天内不再提示

深度解读单片机四路抢答器设计

multisim 来源:单片机原理及应用 作者:瞿永 2021-06-01 10:08 次阅读

摘 要

抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以四路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT49C51单片机及外围接口实现的抢答系统,利用单片机定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

一,设计任务与要求

1、抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。

2、设置一个系统清除和抢答控制开关S,该开关由主持人控制。

3、 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

4、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号并保持到主持人将系统清除为止。

二,方案设计与论证

方案:该系统采用51系列单片机AT49C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下:

《1》可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。

《《 span=“”》2》单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。

《《 span=“”》3》 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。

其原理框图如下:

183a2b1c-c239-11eb-9e57-12bb97331649.png

三,硬件电路设计

1、 抢答器的电路框图

如图11、1所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作“开始、停止”状态开关。

抢答器框图

1842696c-c239-11eb-9e57-12bb97331649.png

其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。扬声器给出声响提示。抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答。如果再次抢答必须由主持人再次操作“开始、停止”状态开关。

2、单元电路设计

(1)抢答器电路

参考电路如图11.2所示。该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。如有再次抢答需由主持人将S开关重新置,“清除”然后再进行下一

次抢答。

(2)时序控制电路设计

时序控制电路是抢答器设计的关键,它要完成以下功能:

a.主持人将控制开关拨到“开始”位置时,扬声器发声,抢答电路进人正常抢答工作状态。

b.当参赛选手按动抢答键时,扬声器发声,抢答电路停止工作。

(3)复位电路的设计

外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。复位电路如下图示:

186660ec-c239-11eb-9e57-12bb97331649.png

2.3.3外部震荡电路

外部震荡电路单片机必须在AT49C51的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如下图。

1872eccc-c239-11eb-9e57-12bb97331649.png

2.3.4报警电路设计

报警电路用于报警,当遇到报警信号时,发出警报。一般喇叭是一种电感性

图11.4报警电路图。4951驱动喇叭的信号为各种频率的脉冲。因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。在右图中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。

选手在设定的时间内抢答时,实现:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答。如果再次抢答必须由主持人再次*作“清除”和“开始”状态开关。图面是数字抢答器的报警电路图。

其中555构成多谐振荡器,振荡频率fo=1.43/[(RI+2R2)C],其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。

188f1b18-c239-11eb-9e57-12bb97331649.png

四,软件设计

1、系统主程序设计

为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P1.7按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。

(1)主程序流程图

2、主程序清单

ORG 0000H

LJMP STARTUP1

ORG 000BH

LJMP dingshi

ORG 001BH

LJMP fengmingqi

ORG 0400H

main:

LCALL init

SETB TR0

MOV TH0,#0x3C

MOV TL0,#P3

MOV 0x0E,#0x00

MOV 0x0F,#0x01

MOV 0x10,#0x00

MOV 0x11,#0x01

MOV R3,#0x01

MOV R2,#0x00

a12:

JB P0.0,a1

MOV 0x0E,#0x00

MOV 0x0F,#0x01

MOV 0x10,#0x00

MOV 0x11,#0x01

MOV R2,#0x00

MOV R3,#0x01

CLR 0x20.0

CLR A

MOV 0x09,A

SETB TR0

MOV TH0,#0x3C

MOV TL0,#P3

CLR TR1

MOV 0x0A,A

MOV 0x0C,A

MOV 0x0D,A

MOV DPTR,#0x0B4C

MOVC A,@A+DPTR

MOV P3,A

MOV DPTR,#shuma

CLR A

MOVC A,@A+DPTR

MOV 0xA0,A

a1:

MOV A,0x0F

ORL A,0x0E

JNZ a2

LJMP a3

a2:

MOV A,R3

ORL A,R2

JNZ a4

LJMP a3

a4:

MOV A,0x11

ORL A,0x10

JNZ a5

LJMP a3

a5:

MOV A,0x09

MOV B,#0x0A

LCALL a6

MOV R7,B

MOV A,R7

RLC A

SUBB A,ACC

MOV R6,A

MOV A,#0x45

ADD A,R7

MOV DPL,A

MOV A,#0x0B

ADDC A,R6

MOV DPH,A

CLR A

MOVC A,@A+DPTR

MOV 0xA0,A

;a4:

MOV A,0x09

MOV B,#0x0A

LCALL a6

MOV R7,B

CLR C

MOV A,R7

XRL A,#P0

SUBB A,#SP

JC a7

MOV A,0x09

MOV B,#0x0A

LCALL a6

MOV R7,A

RLC A

SUBB A,ACC

MOV R6,A

MOV A,R7

ADD A,#0x04

MOV R7,A

CLR A

ADDC A,R6

MOV R6,A

MOV A,R7

XRL A,#0x0A

ORL A,R6

JZ a4

MOV A,0x09

MOV B,#0x0A

LCALL a6

MOV R7,A

RLC A

SUBB A,ACC

MOV R6,A

MOV A,#0x4D

ADD A,R7

MOV DPL,A

MOV A,#0x0B

ADDC A,R6

MOV DPH,A

CLR A

MOVC A,@A+DPTR

MOV P3,A

a4:

MOV A,0x09

MOV B,#0x0A

LCALL a6

MOV R7,A

RLC A

SUBB A,ACC

MOV R6,A

MOV A,R7

ADD A,#0x04

MOV R7,A

CLR A

ADDC A,R6

MOV R6,A

MOV A,R7

XRL A,#0x0A

ORL A,R6

JNZ a9

MOV DPTR,#shuma

SJMP a10

a7:

MOV A,0x09

MOV B,#0x0A

LCALL a6

MOV R7,A

RLC A

SUBB A,ACC

MOV R6,A

MOV A,#0x4C

ADD A,R7

MOV DPL,A

MOV A,#0x0B

ADDC A,R6

MOV DPH,A

CLR A

a10:

MOVC A,@A+DPTR

MOV P3,A

a9:

JNB 0x20.0,a3

CLR A

MOV R2,A

MOV R3,A

CLR 0x20.0

MOV DPTR,#0x0B4C

MOVC A,@A+DPTR

MOV P3,A

MOV DPTR,#shuma

CLR A

MOVC A,@A+DPTR

MOV 0xA0,A

CLR TR0

a3:

MOV A,0x11

ORL A,0x10

JNZ a11

LJMP a12

a11:

MOV A,0x0F

ORL A,0x0E

JNZ a13

LJMP a12

a13:

MOV A,P1

ANL A,#0x0F

MOV R1,A

CLR A

MOV R4,A

MOV R5,A

a17:

CLR C

MOV A,R5

SUBB A,#0x04

MOV A,R4

XRL A,#P0

SUBB A,#P0

JC a14

LJMP a12

a14:

MOV A,#0x4F

ADD A,R5

MOV DPL,A

MOV A,#0x0B

ADDC A,R4

MOV DPH,A

CLR A

MOVC A,@A+DPTR

XRL A,R1

JNZ a15

LCALL delay

MOV A,#0x4F

ADD A,R5

MOV DPL,A

MOV A,#0x0B

ADDC A,R4

MOV DPH,A

CLR A

MOVC A,@A+DPTR

XRL A,R1

JNZ a15

MOV A,R3

ORL A,R2

JNZ a16

CLR C

MOV A,#0x09

SUBB A,R5

MOV R7,A

CLR A

SUBB A,R4

MOV R6,A

MOV A,#0x45

ADD A,R7

MOV DPL,A

MOV A,#0x0B

ADDC A,R6

MOV DPH,A

CLR A

MOVC A,@A+DPTR

MOV 0xA0,A

MOV P3,#0xFF

CLR A

MOV 0x10,A

MOV 0x11,A

ORL P1,#B

SJMP a15

a16:

SETB TR1

MOV TH1,#0xFF

MOV TL1,#0xFF

CLR TR0

CLR A

MOV 0x0E,A

MOV 0x0F,A

CLR C

MOV A,#0x09

SUBB A,R5

MOV R7,A

CLR A

SUBB A,R4

MOV R6,A

MOV A,#0x45

ADD A,R7

MOV DPL,A

MOV A,#0x0B

ADDC A,R6

MOV DPH,A

CLR A

MOVC A,@A+DPTR

MOV 0xA0,A

CLR C

MOV A,#0x09

SUBB A,R5

MOV 0x0A,A

MOV P3,#0xFF

LJMP a12

a15:

INC R5

CJNE R5,#0x00,a14

INC R4

a14:

LJMP a17

a6:

CLR F0

JNB 0xF0.7,a19

CPL F0

XRL B,#0xFF

INC B

a19:

JNB 0xE0.7,a20

CPL F0

CPL A

INC A

DIV AB

XRL B,#0xFF

INC B

SJMP a21

a20:

DIV AB

a21:

JNB F0,a22

CPL A

INC A

a22:

RET

a40:

CLR F0

MOV A,R4

JNB 0xE0.7,a23

CPL F0

CLR A

CLR C

SUBB A,R5

MOV R5,A

CLR A

SUBB A,R4

MOV R4,A

a23:

MOV A,R6

JNB 0xE0.7,a24

CPL F0

CLR A

CLR C

SUBB A,R7

MOV R7,A

CLR A

SUBB A,R6

MOV R6,A

LCALL a25

CLR C

CLR A

SUBB A,R5

MOV R5,A

CLR A

SUBB A,R4

MOV R4,A

SJMP a26

a24:

LCALL a25

a26:

JNB F0,a27

CLR C

CLR A

SUBB A,R7

MOV R7,A

CLR A

SUBB A,R6

MOV R6,A

a27:

RET

a25:

CJNE R4,#0x00,a24

CJNE R6,#0x00,a29

MOV A,R7

MOV B,R5

DIV AB

MOV R7,A

MOV R5,B

RET

a24:

CLR A

XCH A,R4

MOV R0,A

MOV B,#0x04

a31:

MOV A,R7

ADD A,R7

MOV R7,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R4

RLC A

MOV R4,A

MOV A,R6

SUBB A,R5

MOV A,R4

SUBB A,R0

JC a30

MOV R4,A

MOV A,R6

SUBB A,R5

MOV R6,A

INC R7

a30:

DJNZ B,a31

CLR A

XCH A,R6

MOV R5,A

RET

a29:

MOV A,R5

MOV R0,A

MOV B,A

MOV A,R6

DIV AB

JB OV,a32

MOV R6,A

MOV R5,B

MOV B,#0x04

a35:

MOV A,R7

ADD A,R7

MOV R7,A

MOV A,R5

RLC A

MOV R5,A

JC a33

SUBB A,R0

JNC a34

DJNZ B,a35

RET

a33:

CLR C

SUBB A,R0

a34:

MOV R5,A

INC R7

DJNZ B,a35

a32:

RET

fengmingqi:

PUSH ACC

PUSH B

PUSH DPH

PUSH DPL

PUSH PSW

MOV PSW,#0x00

PUSH 0x00

PUSH 0x04

PUSH 0x05

PUSH 0x06

PUSH 0x07

MOV TH1,#0x3C

MOV TL1,#P3

INC 0x0D

MOV A,0x0D

JNZ a36

INC 0x0C

a36:

CPL A

ORL A,0x0C

JNZ a37

MOV 0x0C,A

MOV 0x0D,#0x0B

a37:

SETB C

MOV A,0x0D

SUBB A,#0x0A

MOV A,0x0C

XRL A,#P0

SUBB A,#P0

JNC a34

CPL 0xB0.7

SJMP a39

a34:

SETB 0xB0.7

a39:

MOV R6,0x0C

MOV R7,0x0D

MOV R4,#0x00

MOV R5,#0x0A

LCALL a40

MOV A,R5

ORL A,R4

JNZ a41

MOV A,0x04

JNZ a42

MOV 0x04,#0x01

MOV 0xA0,#0xFF

SJMP a41

a42:

MOV 0x04,#0x00

MOV R7,0x0A

MOV A,R7

RLC A

SUBB A,ACC

MOV R6,A

MOV A,#0x45

ADD A,R7

MOV DPL,A

MOV A,#0x0B

ADDC A,R6

MOV DPH,A

CLR A

MOVC A,@A+DPTR

MOV 0xA0,A

a41:

POP 0x07

POP 0x06

POP 0x05

POP 0x04

POP 0x00

POP PSW

POP DPL

POP DPH

POP B

POP ACC

RETI

dingshi:

PUSH ACC

PUSH PSW

MOV TH0,#0x3C

MOV TL0,#P3

INC 0x0B

MOV A,0x0B

CJNE A,#0x14,a43

INC 0x09

MOV 0x0B,#0x00

a43:

MOV A,0x09

CJNE A,#0x1E,a44

MOV 0x09,#0x00

SETB 0x20.0

CLR TR0

a44:

POP PSW

POP ACC

RETI

init:

MOV TMOD,#0x11

SETB ET0

SETB ET1

CLR TR0

CLR TR1

SETB EA

ANL P1,#0x0F

RET

delay:

CLR A

MOV R7,A

MOV R6,A

a46:

INC R7

CJNE R7,#0x00,a45

INC R6

a45:

MOV A,R7

XRL A,#0x0C

a47:

ORL A,R6

JNZ a46

RET

shuma:

PUSH P1

SJMP a47

ANL C,0x90.2

SUBB A,R1

ANL C,/0xA0.4

MOV R1,A

KeyBoard:

INC R6

INC R5

INC R3

INC @R1

STARTUP1:

MOV R0,#0x7F

CLR A

IDATALOOP:

MOV @R0,A

DJNZ R0,IDATALOOP

MOV SP,#0x20

LJMP main

END

五,器件选型方案

表1 器件选型方案的详细清单

器件名称规格型号数量

微处理器AT49C511

极性电容10uF1

电阻3WTT10K9

电容20PF3

晶振12MHZ1

按钮

15

共阴4位7段数码管SMG SM410561K1

扬声器

1

六,调试:

(1) 开机

电源开关,显示屏左边的“抢答”指示灯亮,数码管显示。

(2) 测试各组抢答按键

试按一下各组的抢答按钮,应立即显示该组的组别数字,同时机内喇叭发出“叮咚”的提示音,按“取消”键,返回“0”闪烁状态。。

(3) 违规抢答

当主持人读题过程中,而未宣布抢答开始时按下抢答按钮。主显示屏将显示该违规组号,及发出提示音。及该组的红灯亮起。

编辑:jq

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

    关注

    16

    文章

    241

    浏览量

    34100
  • 显示器
    +关注

    关注

    21

    文章

    4737

    浏览量

    137854
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10442

    浏览量

    206545
  • ROM
    ROM
    +关注

    关注

    4

    文章

    524

    浏览量

    84812
  • 晶振
    +关注

    关注

    32

    文章

    2473

    浏览量

    66849

原文标题:单片机四路抢答器课程设计

文章出处:【微信号:A1411464185,微信公众号:multisim】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于51单片机的多路抢答器的设计与制作,电路,程序,原理图,论文

    码管上显示哪一组先答题,从而实现整个抢答过程。 Proteus仿真电路 原理图及PCB 仿真结果分析 加载“八抢答器.hex”文件到51单片机,点击运行。八
    发表于 03-20 15:20

    数字电路,八竞赛抢答器毕业设计,Proteus仿真

    系统设计框架如下图所示。 Proteus8.6仿真电路 仿真结果分析 使用Proteus 8.6软件打开“八抢答器.pdsprj”仿真文件,打开后,首先确保主持人开关SW1打至左边位置(左
    发表于 03-18 13:11

    单片机、CPU未出现前电路是如何实现功能的?

    有AD采样这种技术应用。想了想,一个简单的抢答器实现起来都不容易吧,功能有数码管显示、指示灯、按键检测、蜂鸣器驱动等。假如不让用单片机,如何实现这个抢答器
    发表于 11-06 06:52

    如果想用单片机做一个抢答器需要哪些元件呢?

    如果想用单片机做一个抢答器,需要哪些元件呢?
    发表于 10-17 07:01

    基于51单片机抢答器设计

    一、设计任务基于单片机抢答器的设计,实现抢答器的基本功能。二、性能指标要求1. 需要自己设计电路并焊接电路板。2.有一个主持人控制开关和6路抢答按扭,当主持人允许
    发表于 10-15 10:36 3次下载

    基于LED点阵显示屏9抢答器设计制作程序

    基于LED点阵显示屏9抢答器的设计制作程序
    发表于 09-26 06:30

    基于51单片机的八路抢答器洞洞板&覆铜板设计技术手册

    基于51单片机的八路抢答器洞洞板&覆铜板设计技术手册
    发表于 09-18 10:57 5次下载

    八路扫描式抢答器的设计与实现

    当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛
    的头像 发表于 09-04 10:44 1188次阅读
    八路扫描式<b class='flag-5'>抢答器</b>的设计与实现

    基于AVR128单片机抢答器仿真设计

    基于AVR128单片机抢答器仿真设计
    的头像 发表于 08-29 15:58 405次阅读
    基于AVR128<b class='flag-5'>单片机</b><b class='flag-5'>抢答器</b>仿真设计

    基于51单片机抢答器设计(仿真+实物)

    一、设计任务基于单片机抢答器的设计,实现抢答器的基本功能。二、性能指标要求1. 需要自己设计电路并焊接电路板。2.有一个主持人控制开关和6路抢答按扭,当主持人允许
    发表于 08-21 09:54 11次下载

    八路抢答器设计图

    八路抢答器设计,报警模块不完整
    发表于 06-12 09:23 9次下载

    基于模拟电路的八路抢答器设计

    摘要:本文介绍了一种基于模拟电路的八路抢答器设计,该设计采用555定时器、CD4017分频器等模块,实现了八个抢答器的并行控制和计时,为多人答题比赛提供了方便和高效性。本文详细介绍了抢答器电路的设计思路、原理和实现方法,同时对电
    的头像 发表于 06-06 15:41 2443次阅读
    基于模拟电路的八路<b class='flag-5'>抢答器</b>设计

    基于89C51单片机抢答器源程序

    基于89C51单片机抢答器源程序
    发表于 05-15 10:37 2次下载

    八路抢答器的设计与实现

    要求设计一个数字系统,使其能够完成竞赛抢答的功能,八人参赛,每人各自控制一个按键开关作为抢答器
    的头像 发表于 05-14 15:52 3718次阅读
    八路<b class='flag-5'>抢答器</b>的设计与实现

    基于51单片机抢答器设计例程源代码

    基于51单片机抢答器设计例程源代码
    发表于 05-12 16:24 22次下载