0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于AT49C51单片机的抢答器系统设计方案

基于AT49C51单片机的抢答器系统设计方案

来源: elecfans
2021-06-03
类别:工业控制
eye 107
文章创建人 拍明

原标题:单片机四路抢答器设计方案

  摘 要

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

  本设计是以四路抢答为基本理念。考虑到依需设定限时回答的功能,利用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) 违规抢答

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


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯