完美抢答器仿真图及程序.docx

上传人:b****2 文档编号:11576825 上传时间:2023-06-01 格式:DOCX 页数:14 大小:187.63KB
下载 相关 举报
完美抢答器仿真图及程序.docx_第1页
第1页 / 共14页
完美抢答器仿真图及程序.docx_第2页
第2页 / 共14页
完美抢答器仿真图及程序.docx_第3页
第3页 / 共14页
完美抢答器仿真图及程序.docx_第4页
第4页 / 共14页
完美抢答器仿真图及程序.docx_第5页
第5页 / 共14页
完美抢答器仿真图及程序.docx_第6页
第6页 / 共14页
完美抢答器仿真图及程序.docx_第7页
第7页 / 共14页
完美抢答器仿真图及程序.docx_第8页
第8页 / 共14页
完美抢答器仿真图及程序.docx_第9页
第9页 / 共14页
完美抢答器仿真图及程序.docx_第10页
第10页 / 共14页
完美抢答器仿真图及程序.docx_第11页
第11页 / 共14页
完美抢答器仿真图及程序.docx_第12页
第12页 / 共14页
完美抢答器仿真图及程序.docx_第13页
第13页 / 共14页
完美抢答器仿真图及程序.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完美抢答器仿真图及程序.docx

《完美抢答器仿真图及程序.docx》由会员分享,可在线阅读,更多相关《完美抢答器仿真图及程序.docx(14页珍藏版)》请在冰点文库上搜索。

完美抢答器仿真图及程序.docx

完美抢答器仿真图及程序

 

完美抢答器仿真图及程序

课程设计题目:

 基于单片机的智能八路抢答器设计

一、设计项目简介

1.设计意义及目的

抢答器在现实生活中应用广泛,比如在各类娱乐节目中,像中央电视台的幸运52,开心辞典,因此做一个抢答器是具有现实意义的。

抢答器具有人数限制,我们选择做八路抢答器。

当某人抢答时,能够显示他的号码,限定他的答题时间,别人不能抢答,主持人要有启动和清空的权利。

八路抢答器在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。

如果在抢答中,靠视觉是很难判断出哪组先答题。

利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。

抢答组数可以在八组以内任意使用,本系统采用AT89S52单片机作为核心,控制系统的四个模块分别为:

单片机最小系统、显示模块、显示驱动模块、抢答开关模块。

2.系统功能描述

设计一个具有特定功能的抢答器。

该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号。

蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。

3.设计达到目标

我们在要求的基础上拓展了一些功能,比如增加倒数剩下5S的时候每秒响一声,最后一声比较悠长,以提示选手抢答或者回答时间将尽,还将抢答按键和答完按键做在了同一个按键上,抢答之后选手答完题目再次按下该抢答按键即是答完,使剩余时间与台号定格。

总体上我们达到了:

按该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;最后5S倒计时蜂鸣器每秒响一声提示,最后一声比较悠长,提示抢答时间到;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号,和抢答期间一样,回答期间最后5S倒计时蜂鸣器每秒响一声提示,最后一声比较悠长,提示回答时间到;答完按钮设置在抢答按键上,再次按下抢答按键即是答完,此时蜂鸣器响一声,时间定格在答完题目之后剩下的时间;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。

二、系统硬件设计

1.系统设计方案

(1)利用译码芯片

先根据74LS148的优先功能,确定了先抢答到的选手的编码号,再根据74LS279的锁存功能,将其信号保持下来,并实现了锁定功能,将选手的编码锁定。

再者,根据74LS48的译码功能,将74LS279锁定的数字编译成二进制,将信号送到显示器中。

这样就实现了抢答功能。

原理框图如图1所示。

(2)利用单片机

可以利用单片机的定时/计数器进行计时,设定抢答时间和答题时间;可以利用单片机的I/O口线接按键,通过按键按下后,所接口线电平的变化来判断那位选手按下键。

我选择利用单片机做抢答器。

1、仿真图

2、程序

/**************************************************************************************

*操作非常简单

*主持人先按键,然后有30s的时间,等待选手按键

*选手在30s内按键,就显示选手的号数,及30s的回答倒计时

*此时,其他选手按键无效,

*只有抢答选手按键,才停止,并显示锁定

*最后,按复位,进行新一轮抢答

**************************************************************************************/

#include""

#include""

#include""

#defineucharunsignedchar

#defineuintunsignedint

#defineulongunsignedlong

/*定义定时器T0和T1时间常数和方式控制字*/

#definev_th00x3c

#definev_tl00xb0

#definev_tmod0x11

sbitP30=P3^0;

sbitP36=P3^6;

sbitP32=P3^2;

sbitP31=P3^1;

ucharled_buf[8];示程序

{

uchardmask=0x01;序

if(P30==0)//主持人是否按下启动键

delay(100);

if(P30==0)

{

c=1;

break;

}

if(keyzhiii!

=0xff)

{

c=2;

led();

break;

}

}

init_sys();//调用init_sys()函数对系统初始化

time=30;

time2=30;

TR0=1;//开定时器0

while

(1)

{

put_on_leds();//调显示函数

delay(100);//调延时函数

if(c==1)//判断有没有违规

{

keyzhiii=key();//调键盘扫描函数得到按键键码

j=keyzhiii;

}

if(c==3)

{

keyzhiii=key();//调键盘扫描函数得到按键键码

}

if(time==0)

{

while

(1)

{

TR0=0;

put_on_leds();

delay(100);

}

}

if(c==1||c==2)

switch(keyzhiii)//按键功能控制

{

case0xfe:

//1号选手抢答,抢答时间设定为三十秒

{

m=1;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0xfd:

//2号选手抢答

{

m=2;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0xfb:

//3号选手抢答

{

m=3;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0xf7:

//4号选手抢答

{

m=4;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0xef:

//5号选手抢答

{

m=5;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0xdf:

//6号选手抢答

{

m=6;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0xbf:

//7号选手抢答

{

m=7;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

case0x7f:

//8号选手抢答

{

m=8;

if(c==1)

{

ring();//有人正常按下,蜂鸣器发出声音

TR1=1;//开定时器1,关定时器0

TR0=0;

c=3;

keyzhiii=0xff;

}

if(c==2)//有人违规

{

TR1=0;

time=0;

}

led_buf_auto_flush();

put_on_leds();

break;

}

}

if(c==3)//无人违规,等待答完

{

TR1=1;

TR0=0;

if(j==keyzhiii)

{

ring();//有人答完,蜂鸣器发出声音

TR1=0;

TR0=0;

while

(1)

{

led_buf_auto_flush();

put_on_leds();

}

}

}

led_buf_auto_flush();

put_on_leds();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2