本帖最后由 engineerarui 于 2022-7-25 17:00 编辑
将单片机项目实训——八路抢答器分享出来,如有不足,敬请指出。 【图片展示】 【视频展示】
一、设计要求 设计一个共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)PCB-3D图片 (2)实物图片 六、资料链接 (1)演示视频链接: (2)原理图下载: (3)源程序下载: 七、设计要点 (1)如何将8个用户抢答按键,“综合”到外部中断0端口,使得一旦用户抢答按键被按下,则立刻通过中断响应发生相应动作? 充分利用二极管的单向导电性,一旦某个按键被按下,则外部中断0端口被拉低,就会产生一个高电平到低电平的转变,这时候进入外部中断0响应,然后通过读取用户端口的状态,就可以达到所需的效果。这里是二极管组成了“与”门,一般的“与”门芯片,比如74LS/HC系列,一块芯片的成本至少需要几毛钱,而且体积比较大,这里采用二极管代替“与”门芯片,无论从价格还是从体积上都优于专用芯片。(注意:这里的上拉电阻必不可少) 八、关于作者 九、后记 (不断完善中)
|