基于单片机8路抢答器的设计与实现

来源 :宁波职业技术学院学报 | 被引量 : 0次 | 上传用户:huangjh9246
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 设计了一种以单片机AT89S51为控制核心的8路抢答器,从硬件电路制作和软件程序编写两个方面详细介绍了8路抢答器的设计方法。实验结果表明,该8路抢答器的设计达到了预期的要求,具有反应快、操作简便、成本低廉、使用性强等特点,对于单片机产品的开发具有一定的参考价值。
  关键词: 单片机; 抢答器; CD4068
  中图分类号: TP 368.1 文献标志码: A 文章编号: 1671-2153(2017)03-0089-03
  0 引 言
  随着当今社会的进步和科技的发展,各类比赛、娱乐活动层出不穷,其中抢答器的作用也就显而易见,它能快速准确、公平公正、直观地判断出抢答者的机器设备,并通过LED数码管、LED指示灯等手段显示出第一个抢答者。传统的抢答器采用模拟电路、数字集成电路、模数混合电路制作完成,这类抢答器往往线路复杂,成本偏高,操作不简便。本文以AT89S51单片机为系统控制核心设计了一款8路抢答器:首先进行硬件电路的设计与制作,然后进行相应软件程序的设计与编写,不断调试直至成功。
  1 设计分析
  使用8个按键作为参赛选手抢答的8路抢答信号,当主持人宣布抢答时,即按下开始键后,各路选手才可以抢答,对于第一个抢答的选手,通过一位LED数码管直观显示出该抢答选手的编号,如果主持人尚未宣布比赛活动开始,即没有按下开始键,就有某一路选手进行抢答,则这路的选手属于犯规,亮起红灯。本次设计中,用LED发光二极管来表示,并通过LED数码管显示出该犯规选手的编号,此时,按下复位键后重新开始抢答。
  2 硬件电路设计
  本设计以AT89S51单片机为系统控制核心制作8路抢答器,由于8路选手使用8个按键,假设采用8个独立按键,按键的识别是通过逐个查询每个按键的状态来判断是否按下的,如果有多个选手同时抢答,即几路按键同时按下,先查询的按键则被认为是第一个抢答的,显然就不公平了;假设采用4×4行列式按键,按键的识别如果采用输入输出线反转法,则无法识别多个按键,按键的识别如果采用逐行扫描法,此时有多个选手同时抢答,则先扫描到行的按键存在优先查询的情况,同样失去了公平性。因此,无论独立按键还是4×4行列式按键,都不能做到对多个按键同时按下作出判断。
  为了解决这一问题,可以使用高速的数字电路芯片,但这增加了设计的成本和复杂性。本设计的思路是:使用单片机的外部中断,把8路上的按键信号作为外部设备,一旦有一个按键按下,立即进入外部中断服务子程序,先保存各路按键的状态,再确定是哪一路的按键引起的中断,在这期间,单片机的CPU不再响应其他任何中断。
  由于8路抢答器的8个按键作为8个外部中断源,而MCS-51单片机只有两个外部中断源,这就需要扩展外部中断源来满足需要。本设计使用CD4068芯片来解决,结合中断和查询的方式来扩展外部中断源。CD406芯片是一个8输入的与门/与非门集成电路,管脚图和功能逻辑图如1所示。图1中:2,3,4,5,9,10,11,12是8路输入;1管脚是8路与门输出端;13管脚是8路与非门输出端;7管脚接地;14管脚接电源。
  8路抢答器的电路原理图如图2所示。图2中,P3.2为外部中断0的中断请求输入端,将CD4068的1管脚接P3.2,8路抢答器的8个按键分别接CD4068的输入端,作为扩展的外部中断源。当没有抢答按键按下,根据与逻辑关系,P3.2端口为高电平,不响应。当8路中有一路或者多路抢答按键按下,P3.2端口为低电平,响应外部中断0的中断请求。然后,在外部中断0的服务程序中,确定究竟是哪路抢答的。S2为抢答开始按键,只有主持人宣布比赛开始,8位选手才能进行抢答。P3.1接红色发光二极管,当有选手违规时点亮。
  3 軟件程序设计
  3.1 主程序设计
  在主程序main()函数中主要完成外部中断的初始化,如打开中断、设置外部中断信号的触发方式等,不断地查询抢答开始键是否按下,即主持人是否宣布开始抢答,只有宣布开始抢答之后,各路按下的按键才算有效,否则违规。一旦检测到抢答开始键按下,置抢答标志位keypress=1,否则等待,其流程图如图3所示。具体程序如下:
  sbit key=P3^0;
  bit keypress=0;
  int main() //主函数
  { IT0=0; //设置外部中断0为电平触发方式
  EA=1;//打开中断
  EX0=1; //打开外部中断0
  while(1); //死循环
  { if(!key); //判断抢答开始键是否按下
  { delay();
  if(!key) //再次判断抢答开始键是否按下
  { keypress=1; //设置抢答标志位
  while(!key);}}}}
  3.2 外部中断0程序设计
  当8路抢答器中有选手按下抢答键,自动转入外部中断0服务程序执行,首先关闭中断、保存各路按键的状态,再通过逐位查询获取按键编号,确定究竟是哪一路的按键引起的中断,最后判断抢答标志位keypress,如果keypress=1,说明抢答开始键已经按下,主持人已经宣布抢答开始,则数码管显示抢答选手的编号;如果keypress=0,说明主持人尚未宣布抢答开始,则属于犯规,亮起红灯并显示犯规选手的编号,其流程图如图4所示。具体程序如下:
  unsigned char code seg[]={0xc0,0xf9,0xa4,
  0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  unsigned char state,number;
  sbit led=P3^1;
  void int0() interrupt 0
  { EX0=0; //關外部中断0
  state=P2;
  switch(state) //switch语句获取按键编号
  { case 0xfe:number =1;break;
  case 0xfd:number =2;break;
  case 0xfb:number =3;break;
  case 0xf7:number =4;break;
  case 0xef:number =5;break;
  case 0xdf:number =6;break;
  case 0xbf:number =7;break;
  case 0x7f:number =8;break;}
  if(keydown)
  { P1=seg[number];} //如果抢答标志位置1,显示按键编号
  else
  {P1=seg[number];led=0;}}//如果犯规,亮起红灯并显示按键编号
  4 结束语
  本文以AT89S51单片机为主控制器设计了一款8路抢答器。实验结果表明,该8路抢答器的设计稳定可靠,达到了预期的要求,具有反应快、操作简便、成本低廉、使用性强等特点,对于单片机产品的开发具有一定的参考价值。
  参考文献:
  [1] 周向. 基于数字电路的四路抢答器优化设计[J]. 武汉交通职业学院学报,2016(1):90-92.
  [2] 程建峰. 基于Multisim的多功能8路抢答器的设计与仿真[J]. 工业仪表与自动化装置,2015(1):31-34.
  [3] 封伯燕. 8路抢答器的制作原理及制作过程[J]. 重庆三峡学院学报,2012(3):3-5.
  [4] 张翠云. 基于AT89C51的八路抢答器的设计[J]. 机电工程技术,2014(8):25-28.
  [5] 朱加顺. 竞赛抢答器系统分析[J]. 电子制作,2014(2):90-91.
其他文献
通过理论分析和双轴向断裂试验,研究了我国压力容器常用钢16MnR所制成的含中心穿透Ⅰ-Ⅱ复合型裂纹十字形板试样的断裂性能,探讨了英国中央电力局(CEGB)R6法和美国电力研究所(EPRI
本文讨论了用边界元法来分析轴对称弹性问题。给出了奇异积分的处理方法,这种方法较单纯应用高阶高斯积分求积,显得精度高计算时间少。对于所形成的满系数非对称的系统方程组
目的:探讨不同过敏原检测方法检测过敏性疾病的结果。方法:择取2018年2月~2019年2月期间某院收治的48例过敏性皮肤疾病患者,根据其入院时间先后顺序分为对照组与观察组,每组2
通过失重法和极化曲线、线性极化两种电化学方法,研究了十二烷基二甲基(2-羟基)乙基氯化铵(122)、十四烷基二甲基(2-羟基)乙基氯化铵(142)和十六烷基二甲基(2-羟基)乙基氯化铵(162)对20#碳钢在5%盐酸中的缓蚀作
目的: 分析原发性甲状腺功能减退症的常见误诊原因, 提高对不典型原发性甲状腺功能减退症的诊断水平, 减少其误诊、 漏诊率.方法: 回顾性分析某院内分泌科2 0 1 4年1月~2 0 1 4
目的:探讨高龄股骨粗隆骨折患者动力髋螺钉(DHS)内固定术后恢复效果的影响因素。方法:纳入某院收治的高龄股骨粗隆骨折病例70例,患者均行DHS内固定术,分析手术疗效,并分析术后恢
目的:分析微通道经皮肾镜联合软镜钬激光治疗复杂性肾结石的疗效。方法:随机选取2016年8月~2018年8月某院收治的复杂性肾结石患者60例,随机分为两组:1组30例患者接受微通道经
城市雨洪利用是解决我国三大水问题的一个好的途径.城市雨洪利用的实质是利用弃水,化弃为用,兴利除害,且技术条件具备,经济和社会效益显著.其具体途径包括雨水集流、水域返还
通过对温州市依法治水存在的问题进行分析、探讨,并结合法律知识和水利工作实践,提出解决问题的主要对策和保障措施为:(1)研究制订水利规章和相关政策;(2)增强全社会水法意识
在党中央、国务院和全国人大常委会的关怀下,在水利系统广大干部职工的努力下,在有关部门的支持下,修订后的《中华人民共和国水法》已经九届全国人大常委会第二十九次会议审议通