当前位置:文档之家› (完整版)基于51单片机的八路抢答器要点

(完整版)基于51单片机的八路抢答器要点

(完整版)基于51单片机的八路抢答器要点
(完整版)基于51单片机的八路抢答器要点

题目基于单片机的八路抢答器

学院名称信息工程学院

指导老师 X X X 班级11级电信2班

学号

学生姓名

时间

在日常生活中,我们可以在电视,或者现实生活活动现场可以看到在答题或者游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不必要的争议,那是什么,那就是抢答器。

通过一次又一次科学的进步,单片机在发展,各种功能运用到现实生活的各种领域让我们生活更加的接近理想话以及通过简单的操作完成手工无法完成或者很难做到的事情,例如家电,通信,商业,工业,航空,航天,军事以及汽车方面。当然这次我们做的是其中的一种那就是抢答器,它具有很高的安全性、可靠性,准确性,应用日益广泛。

本次设计使用 AT89C51 实现一基于单片机的抢答器设计,其主要具有如下功能:

(1)抢答时间调试,限时时间调试这两个功能都是要在最开始时调试。可以改变调试抢答时间和限时时间。

(2)声光报警系统。抢答时间倒计时时会报警闪烁,以及蜂鸣器报警还有时间提示。

(3)锁定功能。为了很好的在第一时间锁定第一位,抢答器做了很好的反馈功能,为此能够更加精确的锁定反馈第一位

抢答器是由一个AT89C51、输出八段显示电路。另外系统还有 LED 提示灯,报警蜂鸣器等。

抢答器的功能在于反馈以及最快的时间做出选择:

(1)限时时间调试·抢答时间调试功能:这是一个十分人性化的设计,他可以在不同的场合用不同的时间来限定抢答以及限时时间的调试。

(2)抢答锁定功能:当按下抢答键时,抢答器会判断第一个抢答的以及显示抢答人的编号。

(3)报警系统:当抢答倒计时到5秒时开始二极管开始闪烁报警蜂鸣器开始鸣叫。

主要的设计实施过程:首先,选用 ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。第二步,使用Protel设计硬件电路原理图,并设计 PCB图完成人工布线。第三步,使用Medwin 软件编写单片机的 C语言程序、仿真、软件调试。第四部,使用 PROTEUS 软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次设计。

概述 (4)

1 总体设计方案 (4)

1.1系统设计方案 (5)

1.2系统总体结构框图 (5)

1.3功能显示区 (6)

2 软件设计 (6)

2.1主程序流程图 (7)

3 仿真和调试 (7)

4 附录 (9)

随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。

本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。

本设计是基于单片机的抢答器设计方案,根据要求,给出了该单片机抢答器的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容

1总体设计方案

方案一:采用数字电路控制。

采用数字显示电路的好处就是设计简单。用以在P0口外接电阻做输出口并接数码管来显示时间,共设了8个用户输入键,当抢答的时候,其中只有1个是有效按键,其它的都是干扰按键,若按下干扰键,将无反应只显示第一位抢答编号,如果用户抢答的时间剩下5秒(一般情况下,用户不会超过5秒,若用户觉得不便,还可以修改)电路将报警。

电路由两大部分组成:显示器电路和主电源电源(UPS),其中设置时间调整是为了可以合理的调节时间更加的人性化和用于不同的场合。

方案二:采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的抢答器功能,还能添加调节功能等等。

通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,故本次设计采用方案二。

1.1 系统设计方案

本方案采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的抢答显示功能。

初步设计思路如下:

抢答器用按钮为了更加方便直观的使用。

LED数码管显示第一位抢答号以及抢答时间以及限时时间。

用发光二极管代替报警的电路,发光表示倒计时已经进入5秒计时。

到计时间到,系统报警。

打开电源后,显示器显示“F FF”,只要第一个按下抢答器的就会显示抢答号。这样可预防抢答的时候出现不必要的麻烦。

按“复位”键,清除显示器为“F FF”。

按开始键开始抢答倒计时,当有人抢到第一个诞生那么主持人开始问问题,并且按下限时按钮开始倒计时,一共为二十秒,抢答人必须要在20秒内讲出答案如果进入最后5秒那么开始报警闪光提示,当闪光介绍那么就说明答题介绍并且蜂鸣器鸣叫以提示。然后进入第二轮的抢答要按下复位按钮,来更好的完成接下来的任务。

1.2 系统总体结构框图

本次设计主控制器为A T89C51单片。

1.3 功能实现显示区

在本次设计中,基于节省材料的原则,暂时用发光二极管代替提示系统,发光管亮,表示5秒倒计时;灭,表示倒计时介绍。当P口输出低电平时,二极管发光,提示答题即将结束。

硬件设计

2.软件设计

主要过程是LED数码管提示开始倒计时和限时抢答号,通过按键抢答,同时LED显示倒计时情况,按下抢答键后判断第一位抢答号,作出倒计时和抢答号已经报警提示处理。

由于采用多个按键来完成抢答,那么其中一个第一个完成按键的会在数码管上显示抢答号。在抢答过程中,首先要进入开始抢答的步骤,接着根据抢答号由显示的抢答人来答题,直到回答出或者倒计时结束,才能完成抢答过程。进入抢答号的判断比较处理状态并给出相应的处理过程。

2.1程序流程图

3 仿真和调试

采用Keil 和Protues软件相结合进行仿真。数码管初始化显示“F FF”:

按下开始按钮后,进入抢答倒计时:

选手在20秒内抢答,如8号选手:

进入倒计时(5s):

非正规抢答,如6号选手:

4 附录(源代码:)

#include

#define uchar unsigned char

#define uint unsigned int

char s;

uchar num=0;

char time=20; //抢答时间

char datitime=30; //答题限时时间

uint tt,t1; //T0,T1定时器定一秒时

bit flag,s_flag=1,b_flag,fall_flag; //标志位

bit K_startcountflag,K_timecountflag; //时间调整标志位sbit K0=P3^0;

sbit beep=P3^7; //蜂鸣器输出口

sbit rled=P3^1; //指示灯输出口

sbit K1=P1^0;

sbit K2=P1^1;

sbit K3=P1^2;

sbit K4=P1^3;

sbit K5=P1^4;

sbit K6=P1^5;

sbit K7=P1^6;

sbit K8=P1^7;

sbit K_Time=P3^2; //答题计时键

sbit K_startcount=P3^3; //开始抢答时间调整键

sbit K_timecount=P3^4; //答题计时时间调整键void delay(uchar ms)

{

uchar y;

for(;ms>0;ms--)

for(y=120;y>0;y--);

}

uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71

};

uchar code tablewe[]={0XFE,0XFD,0XFB,0XF7}; void T0_Init(void)

{

TMOD=0X01;

TH0=(65536-2000)/256;

TL0=(65536-2000)%256;

TH1=(65536-2000)/256;

TL1=(65536-2000)%256;

ET0=1;

ET1=1;

EA=1;

P0=0;

}

void Key_Scan(void) //开始键扫描

{

if(K0==0)

{

delay(10);

if(K0==0)

{

while(!K0);

TR0=1;

s=time;

tt=0;

flag=1;

s_flag=1;

b_flag=1;

num=0;

beep=1;

rled=1;

fall_flag=0; //清除违规标志位

K_startcountflag=0;

K_timecountflag=0;

}

}

}

void Scan(void) //八路热键扫描(哪个键先按下,哪个优先级最高) {

if(K1==0)

{

delay(10);

if(K1==0)

{

while(!K1);

num=1; //数码管显示1号"1"

TR0=0; //关闭定时器0,时间停止

TR1=1; //打开定时器1,使扬声器响一声

s_flag=0; //关闭开始键标志位,使再按其他七个键不会响应}

}

if(K2==0) //下面七个键的处理同上

{

delay(10);

if(K2==0)

{

while(!K2);

num=2;

TR0=0;

TR1=1;

s_flag=0; //重要

}

}

if(K3==0)

{

delay(10);

if(K3==0)

{

while(!K3);

num=3;

TR0=0;

TR1=1;

s_flag=0;

}

}

if(K4==0)

{

delay(10);

if(K4==0)

{

while(!K4);

num=4;

TR0=0;

TR1=1;

s_flag=0;

}

}

if(K5==0)

{

delay(10);

if(K5==0)

{

while(!K5);

num=5;

TR0=0;

TR1=1;

s_flag=0;

}

}

if(K6==0)

{

delay(10);

if(K6==0)

{

while(!K6);

num=6;

TR0=0;

TR1=1;

s_flag=0;

}

}

if(K7==0)

{

delay(10);

if(K7==0)

{

while(!K7);

num=7;

TR0=0;

TR1=1;

s_flag=0;

}

}

if(K8==0)

{

delay(10);

if(K8==0)

{

while(!K8);

num=8;

TR0=0;

TR1=1;

s_flag=0;

}

}

}

void display(void)

{

if(flag==1) //开始键按下,开始计时抢答

{

if(num!=0) //如果有人抢答,则显示相应的几号

{

P0=tabledu[num]; //显示几号抢到了

P2=tablewe[0];

delay(2);

P0=0;

P2=0XFF;

}

else //否则没人抢答,则前面不显示几号

{

P0=0;

P2=0XFF;

}

P0=tabledu[s/10]; //下面为显示抢答倒计时

P2=tablewe[2];

delay(2);

P0=0;

P2=0XFF;

P0=tabledu[s%10];

P2=tablewe[3];

delay(2);

P2=0XFF;

P0=0;

}

else //如果开始键没有按下,则显示F FF(若有违规者,则显示违规号码及FF)或时间调整

{

if(fall_flag==1) //违规显示

{

if(num!=0)

{

P0=tabledu[num]; //显示几号违规了

P2=tablewe[0];

delay(2);

P0=0;

P2=0XFF;

P0=tabledu[15]; //下面显示FF,表示违规了

P2=tablewe[2];

delay(2);

P0=0; //消隐

P2=0XFF;

P0=tabledu[15];

P2=tablewe[3];

delay(2);

P0=0;

P2=0XFF;

}

else

{

P0=0;

P2=0XFF;

}

}

else //没有人违规才显示调整时间

{

if(K_startcountflag==1)

{

P0=0X6D; //第一位数码管显示"5(S)"(表示抢答时间调整)

P2=tablewe[0];

delay(2);

P0=0;

P2=0XFF;

P0=tabledu[time/10]; //下面显示调整的抢答时间

P2=tablewe[2];

delay(2);

P0=0;

P2=0XFF;

P0=tabledu[time%10];

P2=tablewe[3];

delay(2);

P0=0;

P2=0XFF;

}

else if(K_timecountflag==1)

{

P0=0X07; //第一位与第二位数码管合起来显示"T",表示答题时间调整

P2=tablewe[0];

delay(2);

P0=0;

P2=0XFF;

P0=0X31;

P2=tablewe[1];

delay(2);

P0=0;

P2=0XFF;

P0=tabledu[datitime/10];

P2=tablewe[2];

delay(2);

P0=0;

P2=0XFF;

P0=tabledu[datitime%10];

P2=tablewe[3];

delay(2);

P0=0;

P2=0XFF;

}

else //否则显示F FF

{

P0=tabledu[15];

P2=tablewe[0];

delay(2);

P0=0;

P0=tabledu[15];

P2=tablewe[2];

delay(2);

P0=0; //消隐

P2=0XFF;

P0=tabledu[15];

P2=tablewe[3];

delay(2);

P0=0;

P2=0XFF;

}

}

}

}

void Time_Scan(void) //调整时间键扫描

{

if(K_startcount==0) //抢答时间调整

{

delay(10);

if(K_startcount==0)

{

while(!K_startcount);

time++;

if(time==50)

{

time=20;

}

K_startcountflag=1; //将抢答时间标志位置1

K_timecountflag=0; //同时关闭答题时间标志位

}

}

if(K_timecount==0) //答题时间调整

{

delay(10);

if(K_timecount==0)

{

while(!K_timecount);

datitime++;

if(datitime==60)

{

datitime=30;

}

K_timecountflag=1;

K_startcountflag=0;

}

}

}

void main(void)

{

T0_Init();

while(1)

{

Key_Scan(); //开始键扫描

if((flag==0)&(s_flag==1)) //当开始键没按下及没有人违规时才可进行时间调整

{

Time_Scan();

}

if((flag==1)&(s_flag==0))//当开始键按下及有人抢答才进行开始回答计时倒计时

{

if(K_Time==0)

{

delay(10);

if(K_Time==0)

{

while(!K_Time);

s=datitime;

TR0=1;

tt=0;

TR1=1;

}

}

}

if((flag==0)&(s_flag==1)) //违规

{

Scan();

if(num!=0) //开始键没有按下时,有人按下了抢答器,则置违规标志位

{

fall_flag=1;

rled=0;

}

}

if((flag==1)&(s_flag==1)) //如果开始键按下且抢答键没有人按下,则进行八路抢答键扫描

{

Scan();

}

display(); //显示到数码管上

}

}

void timer0(void) interrupt 1

{

TH0=(65536-2000)/256; //2ms

TL0=(65536-2000)%256;

if(b_flag) //开始(START)键按下,嘟一声(长1秒),表示开始抢答

{

beep=~beep;

}

else

beep=1;

if(s<5) //抢答时间快到报警,隔1秒响一声且红灯闪烁,响三声

{

if(s%2==0)

{

b_flag=1;

rled=0;

}

else

{

b_flag=0;

rled=1;

}

}

tt++;

if(tt==500) //1秒

{

tt=0;

s--;

b_flag=0; //关闭开始键按下响一秒的嘟声

if(s==-1)

{

s=20;

TR0=0;

flag=0; //显示F FF

s_flag=1;

num=0;

rled=1;

}

}

}

void timer1(void) interrupt 3 //定时器1处理有人按下抢答器嘟一声(长1秒) {

TH1=(65536-2000)/256;

TL1=(65536-2000)%256;

beep=~beep;

t1++;

if(t1==500)

{

t1=0;

TR1=0;

}

}

八路抢答器设计课程设计

摘要 随着生活水平的提高,人们的娱乐生活也越来越丰富,各类比赛也随之增多,对抢答器的要求也就越高,抢答器的公平公正就显得特别重要。为了满足各种竞赛的需要,本次设计制作了一个智力竞赛抢答器,该抢答器可以同时供8名选手参加比赛。 本次设计的电路可以分成抢答电路、可预置时间的定时电路、时钟产生和时序控制电路、报警控制电路、电源电路等几个模块组成,具体的实现过程是:给节目主持人设置一个控制开关,用来控制系统的清零和抢答的开始。该抢答器具有数据锁存和显示的功能,即抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在数码管上显示选手的编号,同时蜂鸣器给出音响提示,并且封锁输入电路,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止。除此之外,抢答器还具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30s)。当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时蜂鸣器发出声响;参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00。 该抢答器由数码显示、灯光、音响等多种手段指示出第一抢答者。具有电路简单、成本较低、操作方便、灵敏可靠等优点, 经使用效果良好, 具有较高的推广价值。 关键字:八路抢答器,倒计时,报警,计时 目录

前言 (4) 第一章设计任务及要求 (5) 第二章系统设计方案的选择 (6) 第三章系统的组成及工作原理 3.1 系统的组成 (7) 3.2 电路设计原理 (8) 第四章单元电路设计、参数计算、器件选择 4.1抢答电路 (9) 4.2定时电路 (10) 4.3报警电路 (11) 4.4时序逻辑电路 (12) 第五章实验、调试及测试结果与分析 (13) 第六章实验总结 (14) 参考文献 (15) 附录一 (16) 附录二 (19) 附录三 (21)

根据单片机的三路抢答器的设计王辉

基于单片机的三路抢答器的设计 1课程设计的任务与要求 1.1 课程设计的任务 (1)设计一个可供3人进行的抢答器。 (2)系统设置复位按钮,按动后,重新开始抢答。 (3)抢答器开始时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。 (4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动“开始”开关后,定时器开始减计时。 (5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。 1.2 课程设计的要求 (1)基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。 (2)程序用Keil编程出来,并且生成Hex文件。 (3)设计的方案要能够长期,有效,稳定的运行。 (4)力求简单实用。 1.3 课程设计的研究基础 本设计是以三路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答时间和回答问题时间倒记时显示,满时后系统计时手动复位。 2 基于单片机三路抢答器系统方案制定 2.1 方案提出 方案一:

图1 方案一设计方案 方案二: 图2 方案二设计方案 2.2 方案比较 第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比较复杂。 2.3 方案论证 该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。 2.4 方案选择 通过以上两个方案的比较,选择第二个方案。 3 基于单片机三路抢答器系统方案设计 3.1各单元模块功能介绍及电路设计

C51单片机和电脑串口通信电路图

C51单片机和电脑串口通信电路图与源码 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。

按图7-3加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站https://www.doczj.com/doc/c78595258.html,可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

八路抢答器设计(附源程序)

烟台大学单片机课程设计说明书课题:八路抢答器 学生姓名: 学号: 院系:机电汽车工程学院 专业:机械设计制造及其自动化 指导老师: 同组成员: 组长: 2012 年06 月07 日 目录

1 概述 (2) 2设计任务 (2) 3 系统总体方案 (3) 4 硬件设计 (4) 控制系统所需硬件 (4) 硬件原理介绍 (4) 5 软件设计 (7) 软件总体设计 (7) 程序流程图 (8) 6 Proteus软件仿真 (12) Keil软件 (12) 在Proteus软件 (12) 7小结 (14) 8心得体会 (15) 附1:源程序代码 (16) 附2:参考文献 (24) 1 .概述

8路智能抢答器的设计 现如今,各种智力知识竞赛已经成为人们的一种娱乐形式,人们在答题的过程中不仅可以享受到乐趣,还可以学到一些科学知识和生活常识。然而在抢答过程中,单靠视觉是很难判断出哪组最先完成抢答操作。为了辨别哪一组或哪一位选手获得答题权,必须要设计一个智能抢答控制系统——智能抢答器。 抢答器作为一种电子产品,已被人们所熟知并广泛应用于各种智力知识竞赛场合。抢答器在竞赛中有很大用处,通过抢答器的指示灯显示,数码管显示和警示蜂鸣等手段,能准确,公正,直观地判断出第1抢答者并协助比赛的顺利进行。但是,目前使用的抢答器大多数都采用了逻辑电路进行设计,分立元件较多,造成抢答器的成本较高。此外一般抢答器由模拟电路,数字电路或二者结合组成,其智能化程度低,故障率高,显示简单。现代电子技术的发展要求电子电路朝数字化,集成化方向发展,因此设计出全集成电路的多路抢答器是现代电子技术发展的要求。 2 .设计任务 本设计要求学生结合现有的实际条件,以单片机为控制核心,设计一个8路智能抢答器。要求实现的功能如下: 1) 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。 2) 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间。 3) 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人说“开始”前提前抢答,违反规则。 4) 当主持人启动“开始抢答键”后,定时器进行减计时,在10s内无人抢答表示所有参赛选手或参赛队对本题弃权,抢答时间耗尽后禁止抢答。 5) 倒计时5s时,如果仍无人抢答,则系统每1s报警一次,用以提示参赛选手。 6) 抢答器具有锁存与显示功能。即选手按下按键,锁存相应选手的参赛号码,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者。 7) 参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号同时进入回答问题的30s倒计时。 8) 倒计时期间,如果主持人想终止倒计时,可以按下“停止”按键,系统

基于51单片机的6路抢答器

摘要 此次设计选择使用AT89C51单片机为核心的控制元件,设计制作一个简易的抢答器。本设计是以AT89C51单片机作为控制的主要核心,LED显示器,蜂鸣器等六路抢答器的程序,并且利用了单片机的延迟时电路,时钟电路,键复位电路以及定时器/中断等其他电路。六路抢答器的设计特点是让选手应答时间与选手号码实时显示出来,利用复位电路开始新一轮的比赛或者游戏,我们使用的也是我们所掌握的C 语言来进行编程,实现了一些基本功能。 该系统的设计是可行的,以确定准确,简便,强烈的扩展能力。它的体现的功能主要是比赛开始时,主持人读完题目后按下抢答键,语音提示答题开始,提示音结束后开始倒计时,这时数码管开始进行10s 的倒计时,当有选手进行抢答时,选手按下抢答键,这时候数码管显示屏上就会显示出对应答题者的编号以及抢答所剩余的时间。如果10秒计时时间到了还没有人做出抢答,蜂鸣器就会发出声音并且语音提示抢答结束,这一题就作废即所有人均不得分,然后开始新一轮的抢答。在下一轮抢答开始之前按下复位键将时间归零,再按下开始键进行新的一轮。抢答者回答正确后,评审员按下加分键,该选手编号所对应的数码管显示的数字就增加(按一次加一分,最高显示9分)。相反,如果抢答者回答错误,在抢答者分数不为0的情况下,评审员按下减分键,该选手编号所对应的数码管显示数字就减少(按一次减一分,最低显示0分)。 关键词:单片机、AT89C51、抢答器 Abstract:The design options using AT89C51 microcontroller as the core control elements, design a simple Responder. The design is based on the six-way Responder AT89C51 microcontroller as the main core control, LED display, beeper and other procedures, and use of the single-chip delay circuit, clock circuit, key reset circuit and a timer / interrupt other circuits. Six-way Responder design feature is to allow players the response time and the player numbers displayed in real time, using the reset circuit to start a new round of the competition or game, we used our disposal C language programming, to achieve some basic functions. The design of the system is feasible to determine the accurate, simple, strong expansion capability. Its main function is to reflect the start of the game, the host title after reading press answer key, voice

单片机实验8路抢答器C语言知识版

单片机综合实验报告 题目: 8路抢答器实验 班级: 姓名: 学号: 指导老师: 时间:

一、实验内容: 以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。本实验有Protues软件仿真。 分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。 当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。 二、实验电路及功能说明 分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。复位后参赛队员可继续抢答。 如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。

三、实验程序流程图: 主程序; 非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。主流程图如下图所示 子程序

四、实验结果分析 五、心得体会

六、程序清单 #include #define uchar unsigned char #define uint unsigned int sbit wela_a=P3^0; sbit wela1=P3^1; sbit wela2=P3^7; sbit rest=P3^5; sbit host=P3^6; sbit led1=P3^4;//绿灯 sbit led2=P3^3;//红灯 sbit led3=P3^2;//黄灯 sbit key1=P1^0; sbit key2=P1^1; sbit key3=P1^2; sbit key4=P1^3; sbit key5=P1^4; sbit key6=P1^5; sbit key7=P1^6; sbit key8=P1^7; uchar x,q,d,s,ge,t0,t1,start,flag; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void init();/*初始函数申明*/ void display(uchar s,uchar ge,uchar a); void delay(uint z); void keyscan(); void main() { init(); display(s,ge,a); while(1) { if(host==0) //主持人控制开关 { delay(5); if(host==0) { flag=1; start=1; delay(5); 延时 while(!host); 检测开关 } } if(rest==0) //复位 { delay(5); if(rest==0) { q=30; led2=1; led3=1; x=0; delay(5);

单片机电路图详解

单片机:交通灯课程设计(一) 目录 摘要--------------------------------------------------------- 1 1.概述 -------------------------------------------------------- 2 2.硬件设计----------------------------------------------------- 3 2.1单片机及其外围--------------------------------------------3 2.1.1单片机的选择-----------------------------------------3 2.1.2单片机的特点及其应用范围----------------------------- 3 2.1.3存储器的扩展----------------------------------------- 4 2.1.4内存的扩展------------------------------------------- 6 2.1.5MCS-52的I/O接口扩展--------------------------------- 8 2.2电路部分--------------------------------------------------11 2.2.1元器件选用-------------------------------------------11 2.2.2电路完成功能-----------------------------------------13 3.软件设计------------------------------------------------------15 3.1软件概述-------------------------------------------------15 3.2汇编语言指令说明-----------------------------------------16 3.3定时/计数器的原理----------------------------------------16 3.3.1定时/计数器的概述-----------------------------------16 3.3.2 8255A片选及各端口地址-------------------------------18 3.3.3信号控制码------------------------------------------18 3.3.4工作方式寄存器--------------------------------------19 3.3.5定时/计数器初值及定时器T0的工作方式----------------20

基于80C51单片机的八路抢答器设计分析

专业论文 题目:基于80C51单片机的八路抢答器设 计

摘要:八路智力抢答器是一个可供八个参赛组进行智力竞赛的电路装置,该装置主要是由单片机最小系统、控制电路(八个选手抢答按钮;三个主持人控制按钮;四个修改按钮)、数码显示电路与蜂鸣器电路组成的。单片机(MCU)是目前在电气控制技术中广泛应用的重要元件。它具有体积小,稳定性高,应用范围广,控制能力强,升级改造容易等诸多优点。本论文介绍采用ATMEL公司AT89S52单片机设计八路智能抢答器。软件采用汇编语言编程,汇编语言属于计算机领域的低级语言,具有简明易懂,执行效率高等的优点。智能八路抢答器具有抢答时间与答题时间调整,抢答错误报警提示等功能,可以广泛应用于各类知识竞赛。 关键词:抢答器;单片机;硬件系统;软件编程

基于80C51单片机的八路抢答器设计 一、系统概述与原理方框图 在文中,我对八路抢答器的总体设计及其主要的功能特点进行简单的分析,并给出它的特点,实现的功能以及系统的简单操作,以对单片机及其控制系统的了解。 (一)单片机技术发展的概述与系统问题的提出 目前,单片机正朝着高性能和多品种方向发展,单片机的发展正朝着 CMOS化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等 几个方面 发展。近几年,由于某种原因CHMOS技术的进步,大大地促进了单片机的CMOS 化,此种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功 耗精细管理状态,特别是IIC,API等串行总线的引入,可以使单片机的引脚 设计得更少,单片机系统结构更加简化及规范化。 我们设计出的8路抢答器是一种基于MCS-51单片机的硬件和软件设计及 实现方法,这种电路设计具有按键有效提示,输入错误提示,控制报警电路, 在线修改功能等多种功能,保密性强,灵活性高,特别适用于家庭!办公室!学 生宿舍及宾馆等场所。它具有全集成化,智能化,高精度,高性能,高可靠 性和低价格等优点,是一个值得推广的一种方法。接下来我们就对方案与设 计原理方框图进行比较分析。 (二)设计思路与系统组成及主要特点 为了使设计更具有针对性,使用性更强,我对其进行精心的设计,在设 计过程中,我们想到了很多的设计方案。 1.设计思路 设计一个八路抢答器,可同时供8名选手或者8个代表队参加比赛,他 们的编号分别为1——8,各用一个抢答器按钮,按钮的编号与选手的编号相 对应,分别设为S1…S8。节目主持人设置一组控制开关,用来控制系统的清 零和抢答器的开始,修改抢答时间与答题时间,如果想调节抢答时间或答题 时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态。并且抢答器具 有数据锁存和显示的功能,抢答开始,若有选手按动抢答按钮,编号立即锁

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

创新实践课 课程名称:创新实践课 实践题目:基于51单片机8路抢答器设计学院:信息工程与自动化学院 专业:生物医学工程 年级:2014级 学生:4 丽莎2海星 指导教师:嘉林 日期:2016-12-30 教务处制

目录 一、前言 (3) 二、电路原理图设计 (3) 三、印制版图设计 (7) 四、软件设计 (9) 五、测试数据及分析 (16) 六、总结 (18)

一、前言 目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用51单片机为核心控制元件,设计一个简易的八路抢答器。本方案以51单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。本次设计的系统实用性强、判断精确、操作简单、扩展功能强。 功能:以STC89C52RC单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位和报警的功能。 此系统是基于51单片机,led发光二极管,一位共阳数码管,蜂鸣器,按键,等分立元件设计而成。 元件设计的意义:关于按键:共设计了10个独立按键,其中8个分别为八位选手抢答输入用,另外两个分别为开始和停止按键!只有裁判按下了开始键才进入正常抢答,否则属于犯规抢答,抢答完毕,裁判按下停止,数码管显示0。关于led发光二极管:共设计了9个发光二极管,其中一个为电源指示,其他8个为选手抢答状态指示,正确抢答时led发光二极管缓慢闪烁,犯规抢答时,快速闪烁。关于数码管:选手按下自己的按键时显示相应的选手编号!裁判按下开始键时数码管显示倒计时,

51单片机AD89电路设计程序+原理图

AD0809在51单片机中的应用 我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D或V/F实现。下现我们就来了解一下AD0809与51单片机的接口及其程序设计。 1、AD0809的逻辑结构 ADC0809是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

2、AD0809的工作原理 IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道

的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。 C B A 选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。

智能八路抢答器设计

智能八路抢答器设计

智能八路抢答器设计 1引言 1.1设计目的 此设计采用AT89C52单片机为核心控制元件,结合数码管、蜂鸣器、发光二极管等器件构成一个简易的八路抢答器。利用了单片机的按键复位电路、时钟电路、定时中断等电路,设计的抢答器具有实时显示抢答功能。 1.2设计要求 (1)设计一个可供8人进行抢答的抢答器。 (2)系统设置复位按钮,按动后,重新开始抢答。 2设计方案及原理 2.1设计方案 (1)复位电路 89C52的复位输入引脚RST为89C52提供了初始化的手段,可以使程序从指定处开始执行,在89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,如果RST保持高电平,则单片机循环复位。只有当RST由高电平变低电平以后,89C52才从0000H地址开始执行程序。本系统采用按键复位方式的复位电路。 (2)时钟电路 89C52的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。本论文根据实际需要和简便,采用内部振荡方式。89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。 (3)输入电路 抢答器输入信号由八个小按键控制,八个按键连接在P2口当有键按下的时候,就产生了有效的输入信号,使与这个按键相连的引脚变为低电平,产生一个低电平的输入信号。 2.2系统组成框图 该系统的组成框图如图1所示,在89C52单片机的P2口接上八个开关用于八路抢答;P3.2口接启动开关,用于主持人控制抢答是否开始;在RST脚接复位开关用于清零;在P1.0口接蜂鸣器用于开始提示和超时后报警;在P0口接三个数码管

八路抢答器设计方案

1概述 1.1开发背景 智力竞赛是一种能锻炼人的头脑开发人的IQ的一种大众化游戏,也起到娱乐的作用。现在智力竞赛越来越被多数人喜爱和娱乐,像中央卫视的三星智力快车、金苹果、幸运50等等多档智力竞赛节目都拥有大批的忠实观众。而且国内外各地电视台、工厂、学校等单位也会常常举办类似的智力竞赛活动,然而智力竞赛抢答器是必要设备。 在有些地方举行的各种智力竞赛游戏中我们经常看到有抢答的环节,举办方大多数采用让选手通过举答题板的方法或者是举手的方式判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。因此为解决这个问题,本论文采用了单片机制作了一个低成本但又能满足学校等需要的八路数显智力竞赛抢答器,并能实现循环显示各组选手得分。 1.2方案论证与比较 与普通抢答器相比,本作品有以下几方面优势: 1、具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。 2、具有定时功能,在10秒内无人抢答表示所有参赛选手获参赛队对本题弃权。 3、10秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。 4、抢答完成后,循环显示各组的得分情况。

2总体设计 2.1设计目标 1.抢答器同时供8名选手或8个代表队比赛,分别用8个按钮K1 ~K8表示。 2.设置一个系统清除和抢答控制开关S,该开关由主持人控制。 3.抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 4.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如10秒)。当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间1秒左右。 5.参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 6.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00 7.每抢答一次,主持人对其答案进行评分一次。最后抢答全部结束后,循环显示各组的得分情况。

基于51单片机八路抢答器的设计大学论文

毕业设计(论文) 题 目: 基于51单片机的抢答器系统设计 函授站点: 中国矿业大学继续教育学院 学习层次: 专科 班级名称: 徐工技师学院 函机电2015班 姓名: 学号: 中国矿业大学继续教育学院 20 年 月 日

摘要 随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。 关键词:STC89C52RC;共阴数码管;按键;蜂鸣器

51单片机的若干电路原理图

51单片机的若干电路原理图 单片机 2007-10-23 20:36:31 阅读198 评论0 字号:大中小订阅 利用下面这些原理图,就可以自己动手做个简单的实验板啦~~~~ 1 外接电源供电电路及电源指示灯 在单片机实训板上为系统设计了一个外接电源供电电路,这个电源电路具备两种电源供电方式:一种是直接采用PC的USB接口5V直流电源给实训板供电,然后在电源电路中加入一个500mA电流限制的自恢复保险丝给PC的USB电源提供了保护的作用;另一种是采用小型直流稳压电源供电,输出的9V直流电源加入到电源电路中,通过LM7805稳压芯片的降压作用,给实训板提供工作所需的5V电源。 如图2.4所示为采用LM7805稳压芯片进行降压供电的电源电路。 图2.4 外接电源供电电路 同时,为了显示外接电源给实训板提供了电源,在系统中增加了电源指示灯电路,如图2.5。 发光二极管工作在正常工作状态时,流过LED的电流只需要5~10mA左右就行,在电路中采用白发红高亮LED,所以可以取5mA左右

的电流值,通过计算,可知:连接LED的限流电阻的阻值可以采用680Ω。 图2.5 电源指示灯电路 2 系统复位电路 复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。 在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,如图2.6所示。 2.6 按键电平复位电路 从途中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc

八路抢答器毕业论文设计

八路抢答器毕业论文设计 Revised by BLUE on the afternoon of December 12,2020.

青岛理工大学 毕业论文 题目:抢答器设计 学生姓名: ** 学生学号: ******** 院系名称:机电工程系 专业班级: *************** 指导教师: ***** 2016年 6 月 15 日

摘要 随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以AT89S51单片机为核心的八路抢答器,采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,充分利用了单片机系统结构简单、功能强大、可靠性好、实用性强的特点。 本设计是以抢答为出发点。考虑到依需设定限时回答的功能,利用89S51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。 关键词:抢答器,单片机,LED数码显示管,定时器/计数器,扬声器

ABSTRACT With the development of science and technology and the popularization of all kinds of competition more and more, which answer is more and more important. Paper design out to AT89S51 single tablets machine for core of eight answer device, used has digital display directly indicates, automatically lock save displayed results, and automatically reset of design thought, it can according to different of answer entered signal, after single tablets machine of control processing and produced different of and entered signal relative should of output signal, last through LED digital tube displayed corresponding of number, even two group of answer time difference several microseconds, also can tell out is which group priority by Xia of press, full using has single tablets machine system structure simple , Powerful, reliable and practical features. This design is to answer as a starting point. Taking into account the functions according to the set time limit to answer, using 89S51 microcontroller and peripheral interface implementations of the VIES system, using the principles of timing and counting timer/counter, combining software and hardware, and allows the system to correct timing, while allowing digital to display the time correctly. Switches the keyboard output, speaker tip. While the system can achieve: answer, only after the start of contest is only valid, if VIES to answer before you begin to be invalid; full systems after time automatic reset and master force reduction; key lock in the effective State, key is invalid illegal. Key Words: responder , single chip microcomputer , LED digital display , timer/counter speakers

基于51单片机的抢答器

/**********************51单片机实验开发板例程************************ * 名称:本例程为一抢答器;其中主持人操控S7与S8两个按键。选手共六位,分别操控S1--S6中的一个按键。 当主持人按下抢答开始按键S7后,倒计时开始,计时5s。此后最先按下按键的选手号码将显示与数码管上。 后来按下的将无显示。 若五秒计时结束后,再按下按键也不会显示。 若主持人没有按开始键,就有选手抢答,则视为犯规。此时犯规的选手号码将被显示于数码管上(最多显示五位犯规选手) 同时,蜂鸣器发出长笛声报警,数码管全亮。 而当主持人按下清零键S8后,一切状态均恢复,可以开始新一轮的抢答。 按键功能简介 S8抢答开始S7 清零 S1--S6 分别为1到6号选手按键 ******************************************************************/ #include #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit beep=P2^3; uchar key,j,k,temp,daojishi=5,wei; bit begin,end,clear,fangui; uchar a0,b0=16;c0=16;d0=16;e0=16;f0=5; unsigned int pp; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void delay(unsigned char i) { for(j=i;j>0;j--) for(k=125;k>0;k--); } void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f) { dula=0; P0=table[a]; dula=1; dula=0; wela=0; P0=0xfe; wela=1;

基于51单片机的8路抢答器

基于51单片机的8路抢答器 摘要 此次设计提出了用AT89S51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89S51单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用汇编语言编程,使其实现一些基本的功能。 本设计的系统实用性强、判断精确、操作简单、扩展功能强。它的功能实现是比赛开始,主持人读完题之后按下总开关,即计时开始,此时数码管开始进行30s的倒计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号和抢答所用的时间,同时蜂鸣器也会发出声音,以提示有人抢答本题,如果在规定的60s时间内没有做出抢答,则此题作废,即开始重新一轮的抢答。在抢答和回答时间的最后5s,蜂鸣器都会给予报警提示。 关键词:单片机、AT89S51、抢答器

目录 第一章前言 (1) 第二章各模块的选择和论证 (3) 2.1抢答器显示模块选择 (3) 2.2 控制器选择 (4) 2.3 键盘选择 (5) 2.4 时钟频率电路的设计 (7) 2.5 复位电路的设计 (7) 2.6 报警电路 (8) 2.7 AT89C51单片机简单概述 (8) 2.7.1 AT89C51单片机的结构 (8) 2.7.2 AT89C51单片机管脚说明 (9) 第三章模块最终方案的设计 (12) 3.1总体设计思路 (12) 3.2 功能介绍 (12) 3.3 抢答器的软件设计 (12) 3.4 数码显示软件设计 (13) 第四章系统调试与仿真 (15) 4.1 软件调试问题分析 (15) 4.2 Proteus 仿真 (16) 第五章电路板的制作与检查 (17) 5.1 焊接的问题及解决 (17) 第六章总结 (18)

相关主题
文本预览
相关文档 最新文档