您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于AT89C51单片机的抢答器设计
基于AT89C51单片机的抢答器设计硬件设计:一、项目要求:基于AT89C51单片机设计制作一个抢答器,晶振采用12MHZ,具体设计要求如下:1.设计一个智力竞赛抢答器,可同时供8名选手参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮。2.给节目主持人设置一个控制开关,用来控制系统的清零和抢答开始3.抢答器具有所锁存功能、显示功能和声音提示功能。抢答开始后若选手按动抢答按钮,编号立即锁存,并在LED数码管上显示选手编号,同时亮灯伴随声音提示。此外要封锁输入电路,禁止其他选手抢答,最先抢答选手的编号一直保持到主持人将系统请0.二、框图设计:基于AT89C51单片机抢答器由控制核心AT89C51单片机、复位电路、电源电路、选手按键、主持人按键、声音提示和数码显示等部分构成,系统框图如图示电源电路AT89C52单片机声音提示数码显示复位电路选手按键主持人按键基于AT89C51单片机抢答器系统框图本项目需要通过学习和查阅资料,掌握和了解如下知识:+5V电源原理及设计单片机复位电路工作原理及设计单片机晶振电路工作原理及设计按键电路设计蜂鸣器驱动电路设计数码管特性及使用AT89C51单片机引脚单片机汇编语言及程序设计电路原理图:其工作原理为:电源电路为单片机以及其他模块提供标准5V电源。晶振模块为单片机提供时钟标准,使系统各部分协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统进行相应的控制。选手按下相应的键,蜂鸣器发出提示音,直到按键释放。数码管显示最先按下选手的编号。选手回答完毕,主持人按下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答。基于AT89C51的单片机抢答器元件清单如下:软件设计:上电复位后数码管清零,P2.0置高电平,蜂鸣器不发声,循环扫描P3口,看是否有按键按下,如果有按键按下,则转入判断是哪个选手按下按键,并在数码管上显示选手号;P2.0置低电平,蜂鸣器发生,主持人按键按下,系统重新进入主程序继续进行下一轮抢答。程序流程图如下序号元件名称规格数量用途151单片机AT89C511个控制核心2晶振12M立式1个晶振电路3集成电路74LS245(8路总线接收/发送器)1个驱动4八段数码管一位共阴极1个显示电路5三极管90151个蜂鸣器机器驱动电路6起振电容30pF瓷片电容2个晶振电路7复位电容10uF/10V1个复位电路8复位电阻10K欧1个复位电路限流电阻500欧1个限流电路9喇叭8欧/05W1个蜂鸣器及其驱动电路10按键1个主持人按键按键8个选手按键11电源5V/05A1个提供+5V程序流程图:小结:1.程序调试参考了好多资料,也请教了同学,最后编程问题都得到了解决2.在Protus中画图失败,以至于不能仿真出来结果3.理论联系实际,培养自学能力,和动手能力,学会了怎么更好的处理知识和实践相结合的问题4.为以后有关单片机只是的学习积累宝贵经验附:源程序代码如下:ORG0000HJMPBEGINTABLE:;共阴极数码管显示代码表DB3FH,06H,5BH,4FH,66H,;01234开始初始化有选手按键判断选手显示选手号蜂鸣器发生主持人按键按下DB6DH,7DH,07H,7FH;6789DELAY:MOVR5,#20LOOP4:MOVR6,#50HLOOP5:MOVR7,#100H;延时20*20msDJNZR7,$DJNZR6,LOOP5DJNZR5,LOOP4RETBEGIN:MOVP2,#0FFH;P2口置高电平,准备接收信号MOVR4,#0MOVA,R4;R4位标志值送A寄存器AGIN:MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP1,ALOOP1:MOVA,P3;接受P3口的抢答信号CPLAJZLOOP1LOOP2:RRCA;有抢答信号则逐次移动判断哪一位抢答INCR4JNCLOOP2;***************MOVA,R4MOVCA,@A+DPTR;找到相应位显示代码MOVP1,ALOOP3:JNBP2.2,BEGIN;若主持人按下复位键信号,则转向主程序CPLP2.0;若没有按复位信号键,则通过P2.2口给出高低信号驱动蜂鸣器LCALLDELAY;调用延时子程序SJMPLOOP3;P2.2口反复间隔0.4s变化,驱动蜂鸣器END程序仿真:Protus中画电路图
本文标题:基于AT89C51单片机的抢答器设计
链接地址:https://www.777doc.com/doc-2568410 .html