基于51单片机设计的16路抢答器

时间:2022-06-07 04:08:31

基于51单片机设计的16路抢答器

摘 要 本设计采用AT89C51单片机为MCU核心控制,由16路矩阵检测、led+蜂鸣器声光报警、4位数码管显示三个硬件部分和相应的软件部分组成。主持人按下开始按钮后哪一位选手先按下抢答器则在数码管上显示相应选手编号并给出声音提醒并封锁抢答电路,具有定时抢答,限时报警等功能,同时还可自行设置相应的限定时间。

关键词 16路;声光报警;AT89C51

中图分类号:TP368 文献标识码:A 文章编号:1671-7597(2014)17-0019-02

现代生活中,随着单片机设计的应用不断深入,无论大型还是小型的各种比赛,都少不了抢答器,传统的四路或八路抢答器在很多场合往往会因为路数不够而带来不便,为此我们设计了能适应更高要求的16路抢答器

1 硬件设计

硬件总体设计:本设计采用的是AT89C51单片机控制,AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。在单片机引脚分配方面,因为引脚充足,故没有使用75HC573锁存器来作为辅助,以此简化设计。单片机的P0.0到P0.7口接数码管段选端,P2.0到P2.3接数码管的位选端;P1.0到P1.3分别是加、减,开始,清零按钮,P1.4到P1.6分别接蜂鸣器和LED灯;P3口接矩阵按键。设计的功能模块是时钟和复位电路,抢答电路,显示及声光报警电路。硬件总体设计仿真电路图如图1所示。

图1 硬件总体设计

1.1 时钟和复位电路硬件设计

通过外接时钟电路,为单片机提供时序脉冲,设计采用11.0592石英晶体振荡器,其两端分别接引脚XTAL1和XTAL2端,外接晶振时还需要加两个30PF左右的电容对时钟频率微调。AT80C501复位方式分为两种:一是上电复位与手动复位,二是上电复位,开始时+5的电源迅速给22PF电容充电,当按下复位键以后电容迅速放电并持续一段时间,使RST引脚端出现两个机器周期以上的复位脉冲。

1.2 抢答电路设计

考虑到独立式按键电路占用I/O口过多因此本设计采用矩阵行列式键盘电路。键盘检测时。P3口高四位作为行线,P3口低四位作为列线。行与列线之间是隔开的,所有行线输入全部为高电平,当键盘上某个按键被按下而闭合时。对应行与列线接通。则通过读取行线输入值的状态是否全为“1”判断有无键按下。

1.3 显示及声光报警电路设计采用四位数码管显示

高两位为倒计时显示,低两位显示选手编号。由于P0口不带上拉电阻,所以在设计中需要另外接上拉电阻以提供一定的拉电流。用单片机设计的报警电路,相对来说比较简单。硬件电路只要使用P3口的任意一个口来外接蜂鸣器就可以实现。

2 软件设计

2.1 软件总体设计流程

系统上电后初始化,数码管显示抢答倒计时时间同时扫描键盘,当开始键按下后绿灯亮起倒计时开始同时开始扫描选手矩阵按键,哪位选手按下后数码管低两位进行显示同时封锁抢答电路,若倒数五秒还未有选手抢答,则红灯亮起同时蜂鸣器报警提醒,未按开始键,而按下加值键或减值键时,倒计时值依次加一秒或减一秒。程序流程图如图2所示。

图2 程序流程图

2.2 部分源程序

/*************************矩阵检测**********************************/

void KEYS_SCAN() //按键检测部分

{while(1)

{P3=0xff; //先将P3口全部拉为高电平

P3_4=0; //P3=0xef

TEMP=P3;

TEMP=TEMP & 0x0f; //“与”运算判断低四位是否为0

if (TEMP!=0x0f) //若有键被按下

{

delay(5); //延时去抖操作

TEMP=P3; //重新读一次P3口操作

TEMP=TEMP & 0x0f;//重新进行一次“与”运算

if (TEMP!=0x0f) //确定第一行确实有键被按下

{ TEMP=P3;TEMP=TEMP & 0x0f;

switch(TEMP) //读出具体键值

{case 0x0e:{delay(5);num1=4;l2=0;xianshi();} break;

case 0x0d:{delay(5);num1=3;l2=0;xianshi();}break;

case 0x0b:{delay(5);num1=2;l2=0;xianshi();}break;

case 0x07:{delay(5);num1=1;l2=0;xianshi();} break;

}

}

} ....

}

3 结论

本次设计的16路抢答器在实物测试中达到了仿真和预期的效果,不足的地方主要是整个过程的完整性须进一步完善,进一步补充不同比赛场合根据比赛规则不同加上相应的子程序,程序需要进一步优化。

参考文献

[1]郭天祥编.新概念51单片机c语言教程[M].电子工业出版,2013: 450-456.

[2]徐爱钧,徐阳.单片机原理与应用―基于Proteus虚拟仿真技术[M].机械工业出版社,2013.

[3]杨晓辉,张彤,姜俊海.智能抢答器的设计与制作[J].长春大学学报,2000(06):24-25.

[4]封伯燕.8路抢答器的制作原理及制作过程[J].重庆三峡学院学报,2012(03):69-71.

[5]韦穗林.四路抢答器的设计和制作[J].电子制作,2010(01):26-28.

[6]康丽杰,康迪.基于单片机的8路抢答器简单设计[J].信息系统工程,2010(02):60-61.

作者简介

唐小虎(1994-),男,汉族,重庆荣昌县人,本科,学生,信息工程。

上一篇:短波通信中基于FFT技术与同步头的初始相位估计... 下一篇:变电站数字视频监控系统的设计与实现分析