基于51单片机8路抢答器仿真设计(毕设课设资料)

本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用STC89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间为60秒,倒计时为5秒时蜂鸣器报警,选手抢答成功后显示选手编号以及剩余时间。

1) 八个按键分别表示1至8号选手。

2) 有开始键,暂停键,复位键。

3) 当按下开始键后,从60秒开始倒计时,当倒计时为5秒时,蜂鸣器报警。

4) 有选手按下抢答按键后,液晶屏显示选手编号和剩余时间。

5) 抢答成功后按复位键从新开始。

【资源下载】下载地址如下:765
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

 keytz=P3^1;	//定义停止按键
sbit keyqc=P3^2;	//定义清除按键
sbit key1=P1^0;		//定义1号抢答选手
sbit key2=P1^1;		//定义2号抢答选手
sbit key3=P1^2;		//定义3号抢答选手
sbit key4=P1^3;		//定义4号抢答选手
sbit key5=P1^4;		//定义5号抢答选手
sbit key6=P1^5;		//定义6号抢答选手
sbit key7=P1^6;		//定义7号抢答选手
sbit key8=P1^7;		//定义8号抢答选手
sbit spk=P3^7;		//定义蜂鸣器
int djs=60,js=0;		   //djs和bt是初始倒计时时间,可修改
//int table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40};

void delayms(int x)	   //延时函数
{
char i;
while(x--)
 {
  for(i=500;i>0;i--); 
 }
}
 

一、功能分析 1、设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的编号分别为0、1、2、3、4、5、6、7,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别为S0-S7。 2、给节目主持人置一个控制开关,用来控制系统的清零和抢答的开始。 3、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态,此时会显示现在定的抢答时间或回答时间值,如想加一秒按一下"+1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,调整范围为0s~99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。 4、主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。 5、如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态(清零),等待主持人按"抢答开始"进入下次抢答计时。 6、如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下"停止" 键为止。 7、P3.0为开始抢答,P3.1为停止,p1.0-p1.7为八抢答输入,数码管段选P0口,选P2口低3,扬声器输出为P3.6口。P3.2抢答时间调整,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值