• 【单片机项目实训】八路抢答器


    将单片机项目实训——8路抢答器分享出来,如有不足,敬请指出。

    【实验图片】 

    【实验视频】

    【项目实训】8路抢答器

    目录

    一、设计要求

    二、方案选择

    三、硬件电路设计

    五、其他图片

    六、资料链接

    七、关于作者

    八、后记


    一、设计要求

            设计一个共8名选手参加的8路抢答器。每名选手一个抢答器按钮,供参加者使用。电路具有第一抢答信号的鉴别和储存存储功能。主持人发出抢答指令后,如果参赛者在第一时间按下抢答按钮,则数码管立即显示出相应的选手编号,同时电路应具有自锁功能,使其他选手抢答按键不起作用。

            功能与要求:每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有信号的鉴别和数据的储存显示的功能。抢答开始后若有选手抢答,则在数码管上相显示相应的编号,同时电路应具有自锁功能,禁止其他选手再抢答,优先抢答选手的编号,一直保持到后台管理员将系统清零为止,抢答器具有定时抢答的功能,在主持人发出抢答指令后定时器立即进行减计时,并在显示器上显示,同时蜂鸣器发出短暂的声响。选手在设定的时间内进行抢答,抢答有效。定时器停止工作,显示器显示选手编号,并保持到后台管理员将系统清零为止。

    二、方案选择

            方案1:利用硬件电子元器件实现,但电路结构复杂,调试困难,涉及到外围元件多,不便于安装,实验给实验操作带来很大的麻烦。

            方案2:采用STC89C52RC单片机,其片内带有8KB  Flash ROM、512KB  RAM,指令代码完全兼容传统8051,无需专用仿真器,可通过串口直接下载用户程序,数秒即可完成程序下载。STC89C52RC内部几乎包含了数据采集和控制所需的所有单元模块,其内部结构框图如下:

             分析以上两种方案,从方案1可以看出,这个抢答器就是有抢答电路、定时电路、报警电路、时序控制电路4个电路组成的。扩展电路是由秒钟脉冲信号产生电路、译码电路、显示电路等组成的,它的功能很齐全,设计的电路也很稳定。但是它的造价很高,仅仅集成电路它就使用了八个,所以选用单片机方案。

            八路抢答器实现方案组成框图如图所示:

    三、硬件电路设计

            系统硬件电路原理图如下图所示。它主要包括系统管理员按键(复位按键)、3个主持人按键(K1、K2、K3)、8个选手按键(S1、S2、S3、S4、S5、S6、S7、S8、S9)、4位共阳极数码管显示电路、蜂鸣器报警电路,以及电源接口和电源指示灯电路。

    四、软件设计

    主函数如下所示:

    1. void main(void)
    2. {
    3. timer0_init();
    4. while(1)
    5. {
    6. time_set();
    7. display_time(time);
    8. if(user_flag)//当有用户按键被按下时(user_flag在外部中断函数中被修改)
    9. {
    10. if(user != ERROR)//当用户按键被正常按下时
    11. display_user(user);//显示用户的编号
    12. else//如果显示错误(当有多个按键同时被按下时)
    13. display_error();//显示错误
    14. }
    15. if(stop_flag)//当倒计时停止后(stop_flag在定时器零中断函数装备修改),仍然没有用户按一下按键
    16. display_error();//显示错误
    17. }
    18. }

    五、其他图片

    (1)PCB-3D图片

    (2)实物图片

    六、资料链接

    (1)演示视频链接:

    链接①:哔哩哔哩--------点击播放

    链接②:

    链接③:爱奇艺--------点击播放

    链接④:腾讯视频--------点击播放

    链接⑤:快手视频--------点击播放

    (2)原理图下载:

    链接:百度网盘--------点击下载

    (3)源程序下载:

    链接:百度网盘--------点击下载

    七、设计要点

    (1)如何将8个用户抢答按键,“综合”到外部中断0端口,使得一旦用户抢答按键被按下,则立刻通过中断响应发生相应动作?

    充分利用二极管的单向导电性,一旦某个按键被按下,则外部中断0端口被拉低,就会产生一个高电平到低电平的转变,这时候进入外部中断0响应,然后通过读取用户端口的状态,就可以达到所需的效果。这里是二极管组成了“与”门,一般的“与”门芯片,比如74LS/HC系列,一块芯片的成本至少需要几毛钱,而且体积比较大,这里采用二极管代替“与”门芯片,无论从价格还是从体积上都优于专用芯片。(注意:这里的上拉电阻必不可少)

    八、关于作者

    微创电子工作室,刺客阿瑞

    九、后记

    (不断完善中)

  • 相关阅读:
    计算机的源头:二进制
    OGG-01449、OGG-01519问题处理
    linux如何运行c程序命令
    408王道计算机组成原理强化——指令系统及大题解构
    在群晖NAS上搭建导航页_通过Web Station搭建
    2310月问题描述
    python爬取某乎保存为json文件
    C/C++ vs2017 OpenCV简单入门
    Spring相关知识点
    9.在canvas绘制图片和视频
  • 原文地址:https://blog.csdn.net/yagnruinihao/article/details/125214322