基于51单片机的数字抢答器.docx
基于51单片机的数字抢答器目录1前言(1)2方案论证与比拟(2)2.1方案一(2)2.2方案二(2)2.3方案论证与比拟(3)3系统设计(4)3.1单元模块(4)3.1.1STC89C52单片机控制部分(4)3.1.2电源部分(5)3.1.3十六位抢答键盘部分(5)3.1.4四位数码管显示部分(6)3.1.5抢答报警部分(6)3.2电路参数的计算及元器件的选择(7)4软件设计(8)4.1软件设计原理及设计所用工具(8)4.1.1制图软件:protel99se(8)4.1.2仿真软件:Proteus(8)4.1.3集成开发环境:KeiluVision3(8)4.2程序设计总体框图(9)4.3软件设计主要构造图(9)4.4程序设计相关讲明(10)4.4.1倒计时模块(10)4.4.2显示字程序模块(10)4.4.3按键扫描程序模块(11)4.4.4报警程序模块(12)5结论(13)附录一.设计原理图(14)附录二.仿真电路(15)附录三.程序.错误!未定义书签。1前言抢答器是一种广泛应用于企事业单位和商业部门,为各种知识竞赛、文娱活动提供公正客观快速裁决的一种常用电子设备,也是一种逐步成型的电子产品,但市面上所售抢答器价格一般较贵且多为小规模集成电路构成,其性能单一,工作起来不够理想。因而,提高抢答器的性能,使其具有更强的功能,使用可靠方便已为抢答器发展的一个方向。随着集成技术和计算机技术的发展,单片机作为其一个分支亦于20世纪80年代以来获得了飞速发展,各种新品不断涌现,使单片机的应用愈加深化,灵敏性也大大加强。本设计是以MCS-51单片机STC89C52RC单片机为核心的16路抢答器系统,它充分利用了单片机系统的优点,具有构造简单、功能强大、可靠性好、实用性强的特点。抢答器的功能暂定如下:,能用软件设定抢答时限。,抢答开场,数码管的前两位自动倒计时以秒为单位,数码管后两位显示无关序号“00,倒计时记到零,假如没有人抢答,则蜂鸣器报警,报警时间长度自拟。,有人抢答以后倒计时停止计时,并且数码管后两位显示选手的组号,并且蜂鸣器报警,其余选手的抢答将无效。,主持人控制按键按下以后,显示复位,并显示倒计时的初值。比拟方案一和方案二,我们能够得出这样的结论:用方案一是全数字电路的,能够用74LS148优先编码器为核心,采用555定时器作为秒脉冲产生电路,能够用74LS192等计数器作为计数,以供数码管显示,数码管也需要74LS48或者是C4511作为编码器等等,所构成的电路复杂,控制繁琐。并且抢答按键也遭到了优先编码器输入端口的限制,假如是用74LS148,那么输入按键就被限制到了8位,最多能够做8位抢答。但是假如选择方案二,就能够轻松解决这个问题,51单片机提供的4组共计32位的I/O端口能够轻松扩展足够的按键,并且外接8255控制器,扩展并行I/O口,还能够用移位寄存器将扩展I/O口以提供足够过的按键。同时整个方案简单明了,一目了然,针对抢答器的复位和报警还能够用单片机的中断系统,使单片机的执行效率大大提高。3系统设计3.1单元模块3.1.1STC89C52单片机控制部分图3-1STC89C52单片机控制部分本次设计的控制器采用了STC89C52RC单片机:K1、C10、R3连接到单片机RESET9脚构成复位电路,RESET:复位信号端和后备电源输入端。输入10ms以上高电平脉冲,单片机复位。Y2晶振选用了11.0592MHZ,决定了系统的时钟周期,C9和C13用于帮助晶振起振。由于本次采用的STC89C52RC自带8K程序存储器,而本次设计程序小于8K,所以31脚EA/VP接VCC,不允许从外部读程序。P0口内部无上拉电阻,为加强其驱动能力,上接了上拉电阻。3.1.2电源部分图3-2直流稳压电源供电部分本次设计电源部分采用,常用DC+5V电源电路,从外部接入8-10VAC/DC电压,通过电桥整流以及电容滤波后,进入7805,再次滤纹波后由DC_OUT接出,电压为+5V。注意的是,由于7805的功耗较大,所以必需要加散热片。加D6是为了防止电流反冲。3.1.3十六位抢答键盘部分图3-34X4扫描键盘该4X4扫描键盘是在单片机中常用的键盘,用单片机的任意一组I/O口,就能够扩展这样的16个键盘。本设计采用的是P1口,假如用到P0口扩展时间需要加上拉电阻。对于扫描键盘的编程也比拟简单,没有涉及到其他外接的控制器,也就不涉及硬件的时序等。只需要对行或列进行扫描,然后用延时来防抖动就行。再用查表方法能够查出对应的按键状态。