基于MCS-51单片机的四路抢答器精选.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MCS-51单片机的四路抢答器精选

13.3? 基于MCS-51单片机的四路抢答器 抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,广泛应用于各种知识竞赛、文娱活动等场合。能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大,安装、维护困难。本节介绍一种利用8051单片机作为核心部件进行逻辑控制及信号产生的四路抢答器。 13.3.1? 硬件设计 硬件电路应能完成以下功能:参加竞赛者对主持人提出的问题要在最短的时间内作出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示此竞赛者的号码并进行声音提示,同时电路将其他抢答按键封锁,使其不起作用。若有人在可以抢答之前按键,应该有违规提示。电路应该具有倒计时功能,倒计时时间可以设置并显示,在规定时间内没有人抢答则本题作废。回答完或超时后,由主持人将所有按键恢复,重新开始下一轮。 完成上述功能的电路包括时间设定开关、声光显示、按键控制以及按键锁存等部分,如图13.6所示。 各电路模块的功能如下。 ·? 单片机部分:通过读取P3.7~P3.3的状态决定倒计时时间;通过读取P1.3~P1.0的状态读取按键情况;通过P2.4~P2.2控制显示模块以显示按键者的号码和倒计时所剩时间;通过P0.1控制蜂鸣器。 ·? 时间设定模块:以拨码开关U3作为倒计时时间的选择信号。若P3.7通过U3接地,倒计时时间为10s;若P3.6通过U3接地,倒计时时间为8s,若P3.5通过U3接地,倒计时时间为6s,若P3.4通过U3接地,倒计时时间为4s。判断时P3.7优先级最高,P3.4优先级最低。 ·? 按键模块:KEY1~KEY4的信息可以直接传输到P1.3~P1.0。单片机一旦检测到有按键按下,立即将P1.4置为低电平,将按键信息锁存,以免后来的按键对其产生影响。KEY1~KEY4为抢答按键,KEY5为主持人控制按键。 ·? 数码管显示模块:数码管显示模块由一片MAX7219和3个数码管组成。其中U5用来显示按键者的编号,U6、U7在倒计时时显示还有多长时间,如果有人犯规抢答,U6~U7显示“FF”。 ·? 蜂鸣器模块:蜂鸣器在主持人发出可以抢答信号、有人按下抢答按键和倒计时时间到等3种情况下发出蜂鸣声。 ? ???????????? 13.3.2? 程序设计 抢答器工作过程如下。 ·? 首先主持人选定倒计时时间,单片机扫描U3以获取此信息。如果没有人为设置,默认为10s。 ·? 在按下抢答按键之前,3个数码管全部显示“0”。 ·? 按下抢答按键之后,蜂鸣器响一声,单片机开始倒计时,数码管U6和U7显示倒计时时间,数码管U5显示“0”。 ·? 如果有竞赛者率先在规定时间内按键,则蜂鸣器响一声,数码管U5显示该竞赛者的编号,U6和U7停止更新。 ·? 如果在主持人未按下抢答按键的时候有选手抢答,则此时蜂鸣器响一声,U5显示犯规者的编号,U6和U7显示“FF”以指示有人犯规。 ·? 如果在规定时间内无人按键,则U5显示“0”,U6和U7显示“EE”以指示无人按键。 ·? 无论是在规定时间内有人按键、在规定时间内无人按键或者是有人犯规,都需要主持人再按一下抢答按键,之后单片机根据U3状态决定倒计时时间,3个数码管全部显示“0”,恢复到初始状态,准备下一轮抢答。 程序流程如图13.7所示。 图13.7? 四路抢答器程序流程图 程序如例13-4所示。 【例13-4】用8051单片机控制的四路抢答器程序。限于篇幅,这里没有给出显示程序,参见12.2.2节中例12-5。 #include reg51.h typedef unsigned char uchar; sbit LE=P1^4; sbit KEY5=P3^7; sbit DIN=P2^4;????????????????????????? //定义P2.5控制MAX7219的串行数据输入端 sbit LOAD=P2^3;???????????????????????? //定义P2.4控制MAX7219的载入使能端 sbit CLK=P2^2;????????????????????????? //定义P2.3控制MAX7219的时钟信号 sbit BUZ=P0^1; #define TIMER_HBYTE -50000/256????????? //定时50ms #define TIMER_LBYTE -50000%256 uchar intr_counter;???????????????????? //设定的时间用需要产生的中断次数表示 uchar bdata byte;?????????????????????? //在bdata区定义一个变量,便于位操作 s

文档评论(0)

beoes + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档