AT89C51单片机实现的八路抢答器设计

0 下载量 5 浏览量 更新于2024-06-23 收藏 1.24MB DOC 举报
"这篇本科论文主要探讨了基于AT89C51单片机的多人抢答器的设计,适用于机械设计制造及其自动化课程设计。该设计旨在解决比赛中因人为因素导致的不公平问题,通过电子方式确保抢答的公正性。论文涵盖了抢答器的系统构成、硬件设计以及软件应用等方面,利用了WAVE和PROTEUS等工具进行设计和仿真。" 这篇论文详细介绍了如何使用AT89C51单片机设计一个多路数字抢答器,这种设备常见于各类智力竞赛中,可以避免由于主观误判带来的不公。设计者利用这次课程设计的机会,不仅加深了对模拟和数字电路知识的理解,还提升了实际设计和解决问题的能力。控制系统的核心是AT89C51单片机,它管理着整个系统的协调工作。 在硬件设计部分,论文提到了几个关键组件。首先,单片机外接了复位电路,用于初始化系统。上拉电阻、数码管和按钮等部件也是必不可少的。8组输入口P1.0-1.7用于连接参赛者的抢答按钮,段选口P2.0-P2.3和位选口P0.0-P0.6用于控制数码管显示,以便实时显示抢答队伍的状态。外部中断0和1以及P3.3和P3.4接口用于抢答计时的调整,而P3.4和P3.5则分别用于增加和减少计时。此外,P3.6作为蜂鸣器控制口,当有选手成功抢答时,蜂鸣器将发出提示音,同时还有LED灯显示。 软件方面,论文提到了WAVE软件,这是一个集成了编辑器、编译器和调试器的开发环境,支持软件模拟,便于开发者调试程序。PROTEUS软件则用于硬件仿真,可以模拟整个设计系统的功能,确保设计的正确性。 关键词包括多路数字抢答器、AT89C51单片机,以及WAVE和PROTEUS软件,表明了论文的主要研究对象和技术工具。论文的结构包括了引言、抢答器的工作原理、硬件设计等多个章节,全面地阐述了设计过程和实现方法。 总体来说,这篇论文为基于AT89C51的多人抢答器提供了一个详细的设计方案,展示了单片机在解决实际问题中的应用,对于学习单片机控制和电子设计的学生具有很高的参考价值。
2023-02-27 上传
基于AT89C51单片机的抢答器设计 硬件设计: 项目要求: 基于AT89C51单片机设计制作一个抢答器,晶振采用12MHZ,具体设计要求如下: 1.设计一个智力竞赛抢答器,可同时供8名选手参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮。 2.给节目主持人设置一个控制开关,用来控制系统的清零和抢答开始 3.抢答器具有所锁存功能、显示功能和声音提示功能。抢答开始后若选手按动抢答按钮,编号立即锁存,并在LED数码管上显示选手编号,同时亮灯伴随声音提示。此外要封锁输入电路,禁止其他选手抢答,最先抢答选手的编号一直保持到主持人将系统请0. 框图设计: 基于AT89C51单片机抢答器由控制核心AT89C51单片机、复位电路、电源电路、选手按键、主持人按键、声音提示和数码显示等部分构成,系统框图如图示 电源电路AT89C52单片机声音提示数码显示复位电路选手按键主持人按键 电源电路 AT89C52 单片机 声音提示 数码显示 复位电路 选手按键 主持人按键 基于AT89C51单片机的抢答器设计全文共8页,当前为第1页。 基于AT89C51单片机的抢答器设计全文共8页,当前为第1页。 基于AT89C51单片机抢答器系统框图 本项目需要通过学习和查阅资料,掌握和了解如下知识: +5V电源原理及设计 单片机复位电路工作原理及设计 单片机晶振电路工作原理及设计 按键电路设计 蜂鸣器驱动电路设计 数码管特性及使用 AT89C51单片机引脚 单片机汇编语言及程序设计 电路原理图: 基于AT89C51单片机的抢答器设计全文共8页,当前为第2页。其工作原理为:电源电路为单片机以及其他模块提供标准5V电源。晶振模块为单片机提供时钟标准,使系统各部分协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统进行相应的控制。选手按下相应的键,蜂鸣器发出提示音,直到按键释放。数码管显示最先按下选手的编号。选手回答完毕,主持人按下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答。 基于AT89C51单片机的抢答器设计全文共8页,当前为第2页。 基于AT89C51的单片机抢答器元件清单如下: 序号 元件名称 规格 数量 用途 1 51单片机 AT89C51 1个 控制核心 2 晶振 12M立式 1个 晶振电路 3 集成电路 74LS245(8路总线接收/发送器) 1个 驱动 4 八段数码管 一位共阴极 1个 显示电路 5 三极管 9015 1个 蜂鸣器机器驱动电路 6 起振电容 30pF瓷片电容 2个 晶振电路 7 复位电容 10uF/10V 1个 复位电路 8 复位电阻 10K欧 1个 复位电路 限流电阻 500欧 1个 限流电路 9 喇叭 8欧/05W 1个 蜂鸣器及其驱动电路 10 按键 1个 主持人按键 按键 8个 选手按键 11 电源 5V/05A 1个 提供+5V 软件设计: 上电复位后数码管清零,P2.0置高电平,蜂鸣器不发声,循环扫描P3口,看是否有按键按下,如果有按键按下,则转入判断是哪个选手按下按键,并在数码管上显示选手号;P2.0置低电平,蜂鸣器发生,主持人按键按下,系统重新进入主程序继续进行下一轮抢答。程序流程图如下 基于AT89C51单片机的抢答器设计全文共8页,当前为第3页。 基于AT89C51单片机的抢答器设计全文共8页,当前为第3页。 开始初始化有选手按键判断选手显示选手号蜂鸣器发生主持人按键按下程序流程图: 开始 初始化 有选手按键 判断选手 显示选手号 蜂鸣器发生 主持人按键按下 小结: 程序调试参考了好多资料,也请教了同学,最后编程问题都得到了解决 在Protus中画图失败,以至于不能仿真出来结果 理论联系实际,培养自学能力,和动手能力,学会了怎么更好的处理知识和实践相结合的问题 为以后有关单片机只是的学习积累宝贵经验 附: 源程序代码如下: ORG 0000H JMP BEGIN TABLE: ;共阴极数码管显示代码表 基于AT89C51单片机的抢答器设计全文共8页,当前为第4页。 DB 3FH,06H,5BH,4FH,66H, ;01234 基于AT89C51单片机的抢答器设计全文共8页,当前为第4页。 DB 6DH,7DH,07H,7FH ;6789 DELAY:MOV R5,#20 LOOP4:MOV R6,#50H LOOP5:MOV R7,#100H ;延时20*20ms DJNZ R7,$ DJNZ R6,LOOP5 DJNZ R5,LOOP4 RET BEGIN:MOV P2,#0FFH ;P2口置高电平,准备接收信号 MOV R4,#0 MOV A,R4 ;R4位 标志值送A寄存器 AGIN:MOV DPTR,#TABLE MOVC A,@A+DPTR MO