(完整版)基于51单片机的4人抢答器课程设计

合集下载

单片机课程设计四路抢答器

单片机课程设计四路抢答器

xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:四路抢答器院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2课程设计原理 (1)1.3课程设计思路 (2)1.4实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (4)2.3功能模块的设计与实现独立式按键功能模块 (4)第3章调试及结果分析 (7)3.1调试步骤及方法 (7)3.2实验结果及分析 (7)参考文献 (8)附录一(源程序) (9)附录二(原理图) (13)附录三(元器件清单) (14)第1章总体设计方案1.1课程设计的内容和要求(1)课程设计内容:使用51单片机制作抢答器功能如下:①常规模式主持人按下抢答开始开关,数码管从10S开始倒计时,此时选手可以抢答,若有选手抢答,相应LED亮,单数码管显示其选手号,双数码管从30S开始进行答题倒计时,答题时间到则单数码管闪烁显示选手号5次,再回到初始状态,若时间到但没有人抢答则回到初始状态(所有灯灭,检测主持键是否按下)②违规模式主持人尚在念题还未按下抢答开始开关,某选手违规抢答,则单数码管闪烁显示其选手号5次后回到初始状态。

(2)课程设计要求:①认真完成课程设计任务;②通过老师现场验收;③交出完整的课程设计报告。

1.2 课程设计原理根据题目要求,设计中采用8031芯片、LED灯、数码管和一些独立式按键构成一个简易四路抢答器。

设计中由于数码管扫描延时比较长,采用单片机的内部定时器进行定时,并采用中断方式。

整个抢答器的工作原理是:在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则执行相应的键功能程序。

1.3 课程设计思路(1)提出方案根据设计要求,系统采用个独立式开关作为按键,通过单片机不停地扫描P1口来控制LED数码管的显示,当按下启动按键后,经单片机处理,输出控制信号,数码管从10开始进入减计时并在数码管上显示剩余时间,在有选手按下按键时,就会有对应于这个按键的编码在数码管上显示,同时蜂鸣器给出声响来提示主持人和选手;如果在10秒内没有选手抢答,则本次抢答无效,系统封锁输入电路,禁止选手超时抢答。

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

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

基于51单片机智能抢答器的设计一、引言二、设计思路1.系统功能需求智能抢答器主要包括以下功能:(1)抢答功能:允许学生在教师提出问题后进行抢答;(2)提前设置答题时间:教师可以设置每次抢答的时间;(3)显示抢答结果:显示学生选手的抢答结果和答题情况;(4)记录抢答情况:记录学生的抢答情况,方便教师进行统计和评估。

2.系统硬件设计系统采用51单片机作为核心,通过按键、显示屏等外设实现系统的各项功能。

系统还需配备一套抢答设备,每位学生需要配备一个手持式抢答器,用于进行抢答操作。

3.系统软件设计系统需要设计相关的软件程序,包括抢答逻辑、结果显示、数据统计等功能。

需要考虑系统的稳定性和易用性,确保教师和学生可以轻松操作系统。

三、系统设计与实现1.抢答器的设计抢答器采用51单片机作为核心,通过按键输入学生答案,再通过无线通信将答题结果发送给主控系统。

抢答器还需配备显示屏,显示学生的抢答结果。

为了保证系统的安全性,还需设计防作弊功能。

2.主控系统的设计主控系统也采用51单片机作为核心,通过接收抢答器的信号,处理并显示抢答结果。

主控系统还需要设计相应的操作界面,方便教师进行设置和操作。

系统还需设计数据存储和统计功能,记录学生的抢答情况。

四、系统性能测试及改进1.系统性能测试完成系统的硬件和软件设计后,需要进行系统的性能测试,主要包括以下几个方面:(1)抢答功能测试:测试学生抢答器的响应速度和稳定性;(2)结果显示测试:测试主控系统的抢答结果显示效果;(3)数据统计测试:测试系统的数据统计和记录功能。

2.系统改进根据测试结果,对系统进行相应的改进和调整,确保系统能够稳定运行并满足实际教学需求。

需要特别关注系统的稳定性、易用性和安全性等方面的改进。

五、系统应用与展望1.系统应用智能抢答器可以广泛应用于教育教学领域,提高课堂互动和学生的参与度。

还可以应用于各类知识竞赛、学科竞赛等活动中。

2.系统展望智能抢答器作为新型的教学辅助工具,具有较大的市场前景。

基于单片机的四路抢答器的课程设计

基于单片机的四路抢答器的课程设计

课程设计(论文)课程设计名称单片机原理及其在电气和测控学科中的应用题目名称基于单片机的四路抢答器设计系别专业电气工程系、姓名学号指导教师2011年6月21日邵阳学院课程设计(论文)任务书注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。

指导教师(签名):学生(签名):邵阳学院课程设计(论文)评阅表学生姓名学号系电气工程系专业班级电气测控类一班题目名称四路抢答器设计课程名称单片机原理及应用一、学生自我总结二、指导教师评定注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。

目录........摘要 (1)第一章抢答器总体设计 (2)1.1 设计任务与要求 (2)1.2 方案设计与论证 (2)第二章单片机应用系统简介 (3)2.1 单片机结构 (3)2.2 单片机的封装形式,引脚定义及功能 (3)第三章硬件电路设计 (4)3.1 抢答器的电路图 (5)3.2 单元电路设计 (5)3.3 复位电路设计 (6)3.4 报警电路设计 (6)3.5 显示电路 (7)第四章软件设计 (7)4.1 系统主程序设计 (8)4.2 主程序清单 (9)第五章调试及性能分析 (23)第六章设计总结及心得 (24)附录:参考文献摘要随着现代娱乐节目及其它游戏环节的需要,也为了完善节目的紧张气氛和观众的互动,就出现了多路抢答器。

它是人们常用于各种需要抢答比赛时用的电路器材,是一名公正的裁判员。

抢答器的出现给人们带来极大的方便,他能准确无误的从若干名参赛中确定出最先抢答者,并且有显示,声效等功能。

DigestWith modern entertainment programs and other game loop, also need in order to improve the program of tension and the audience interaction, appeared more road vies to answer first device. It is often used in all kinds of people in the game to vies to answer first circuit equipment, is a fair judge. The emergence of the vies to answer first people brings great convenience, he can accurate from several of participating in the first vies to answer first determine the, and have a show, sound effects, and other functions.第一章 抢答器的总体设计1.1设计任务与要求要求实现功能:将其中3个按键定义为1—4号,第一位数码管用于计时,第二位数码管用于显示当前抢答着。

4人抢答器课程设计

4人抢答器课程设计

4人抢答器课程设计一、课程目标知识目标:1. 学生能够理解抢答器的电路原理,掌握基本的电子元件功能和使用方法。

2. 学生能够描述抢答器的工作流程,并解释其背后的科学原理。

3. 学生能够运用所学的电子知识,分析并解决抢答器在实际使用过程中可能遇到的问题。

技能目标:1. 学生通过小组合作,能够设计并搭建一个简单的4人抢答器电路。

2. 学生能够运用逻辑思维和问题解决能力,对抢答器进行调试和优化。

3. 学生能够在规定时间内,通过操作抢答器展示自己的学习成果。

情感态度价值观目标:1. 学生培养对电子科技的兴趣,激发探索精神和创新意识。

2. 学生在团队合作中,学会相互尊重、沟通协作,培养团队精神和责任感。

3. 学生通过实践活动,增强自信心,培养克服困难的意志品质。

课程性质:本课程为实践性、探究性的电子技术课程,注重理论知识与实际操作相结合。

学生特点:四年级学生具备一定的电子知识基础和动手能力,好奇心强,喜欢探索新事物。

教学要求:教师需引导学生通过小组合作、动手实践等方式,自主探索抢答器的工作原理,注重培养学生的创新能力和团队合作精神。

同时,关注学生的学习进度和情感态度,确保课程目标的实现。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 电子元件基础知识:介绍抢答器中涉及的电子元件,如按钮、LED灯、晶体管、继电器等,结合教材相关章节,让学生理解各元件的功能和电路符号。

2. 电路原理:讲解抢答器的电路设计,包括基本电路图、电路连接方式、工作原理等,结合教材中的电路知识,让学生掌握抢答器电路的构成。

3. 制作与调试:引导学生分组进行抢答器制作,按照教学大纲逐步完成电路搭建、调试和优化,确保学生能够将理论知识应用于实际操作。

4. 抢答器工作流程:分析抢答器的工作流程,包括抢答、计时、显示等环节,结合教材内容,让学生深入理解抢答器的工作原理。

5. 故障分析与排除:教授学生如何分析抢答器可能出现的故障,掌握基本的故障排除方法,提高学生的问题解决能力。

基于c51单片机四路抢答器课程设计

基于c51单片机四路抢答器课程设计
有一时钟振荡电路,只需外界一个震荡器就可以将一定的时钟信号送到各个单元,采用11.0592MHz的晶振,其时钟周期为1\11.0592us,电路中两个电容C1和C2的作用:一是帮助振荡器起振;而是对振荡器的频率进行微调,它们的值都为30PF。
3
上图为指示灯电路,采用共阳极的方式,为低电平是发光二极管量,基发光二极管的正极接上500兆的保护电阻再接到高电平,另外一端街道单片机的P0口的P0.0-P0.4,当其对应的按键按下时,相应的二极管就会被点亮。
基于c51单片机四路抢答器
一.
单片机作为一种工具,现在已经广泛的应用于竞赛场合。本次试验是基于单片机51系列的理论知识综合运用AT89c52单片机设计的简易四路抢答器。运用AT89c52单片机的外围借口来实现抢答系统,利用单片机的定时器/计数器计数和定时的原理,将软、硬件有机的结合起来,使得系统能正确的记时,发光二极管能正常的闪烁。同时系统能够实现:在抢答过程中只有主持人按下开始抢答按键后抢答才有效,如果在开始抢答之前抢答视为无效。在抢答成功之后发光二极管会变成闪烁状态并提示选手开始回答问题。同时还有主持人控制的系统复位键,以实现系统的复位。还有按键锁定,在一个选手抢答成功或者违规状态下其他按键无效。
RST:复位输入。
EA\VPP:当\EA保持低电平时,则在此期间外部程序存储器不变,不管是否有内部程序存储器。当EA端保持高电平时,此期间内部程序存储器不变。
XTAL1:反向振荡放大器的输入及内部时钟电路的输入。
XTAL2:来自反向振荡器的输出。
3
如右图(图3)4个独立式按键K1-K4分别接在P3口的P3.0-P3.3另外一端接地。当有一键按下时相应的口线的电平发生变化,单片机进行扫描确定哪个键按下。
六.

基于MCS-51单片机的四路抢答器

基于MCS-51单片机的四路抢答器

【实例56】基于MCS-51单片机的四路抢答器1.显示程序void delay_20ms(void) //延时20msvoid max7219_reset(void) //初始化MAX7219void write_reg(uchar reg,uchar sdata) //写入命令void write_digit(uchar digit,uchar number)//显示数字void send_data(uchar byte) //MAX7219的驱动程序void display_time(void) //显示倒计时剩余时间2.按键扫描程序bit control_key(void) //检测主持人是否按键{if(KEY5==1) //如果KEY5为高说明没有按键return 1; //返回1,表示没有按键动作else //如果KEY5为低说明可能有按键动作delay_20ms(); //延时20ms,去抖动if(KEY5==1) //如果20ms后KEY5变为高电平是干扰return 1; //返回1else //如果20ms后仍为低电平确认有按键动作return 0; //返回0}子程序get_key_num()用于检测是否有参赛者按动答题按键。

程序代码如下:uchar get_key_num() //检测哪个参赛者按键{uchar key_state=0;key_state=P1;key_state&=0x0f; //读取P1口的低四位if(key_state==0x0f) //若均为高电平,说明无人按键return 0; //返回1else{key_state^=0xff;if(key_state&0x01) return 1; //如果KEY1被按下,返回1else if(key_state&0x02) return 2; //如果KEY2被按下,返回2else if(key_state&0x04) return 3; //如果KEY3被按下,返回3else return 4; /如果KEY4被按下,返回4}}子程序key_handle()用于对答题按键进行处理。

单片机 四人抢答器 课程设计4

单片机 四人抢答器 课程设计4

四人抢答器模拟实验报告一、目的与要求1.目的:(1)培养学生综合利用MCS-51单片机的软硬件知识进行程序设计的能力,解决一些实际问题。

(2)进一步加深对MCS-51单片机内部结构和程序设计方法的理解。

(3)提高学生建立程序文档、归纳总结的能力。

2.基本要求:(1)要求用MCS-51单片机知识完成程序的设计;(2)源代码程序要求必要的注释。

3.创新要求在基本要求达到后,可以进行创新设计,如更加完善程序功能。

二、系统总体设计基于MCS-51单片机的智能抢答器的设计,主要要实现以下几种功能:(1)当主持人按下他的按键时,抢答开始,LED显示器开始从0到20的定时记数。

(2)在20秒定时的时间内,如果有竞赛者要回答问题,那么按下自己的按键,此时,与该竞赛者对应的显示灯亮,并且LED显示器的计时停止。

先按键的竞赛者可屏蔽其他人的抢答信号。

(3)如果在20秒定时结束后,即LED显示器显示20时,仍然没竞赛者按下按键回答问题,那么报警信号灯亮(4)在20秒内,可以进行累加计时三、硬件系统设计该抢答器的设计是基于MCS-51单片机的,使用到的硬件主要有8051的P1口和P3口,LED显示器,8155芯片及单片机内部的定时器/计数器T/C。

如图示(图1):图11.使用4个开关分别代表4个选手控制号,用P1口中的P1.0,P1.1,P1.2,P1.3表示四个选手2.用P1.7(X6)表示红灯,P3口中的P3.2与外来脉冲连接,控制继续计时。

3.资源分配:在设计过程中,用到了8051的P1口和P3口,主要是/INT0和/INT1,用竞赛者的按键X0、X2、X3、X4控制/INT1。

当程序运行时,启动T/C计数,用8155芯片使LED显示计;当/INT1产生有效信号时,停止T/C计数,LED计时停止。

四、程序流程图(如图2):图2五:系统软件设计1. 主程序主程序功能:完成单片机MCS-51的初始化操作;定时器初始化;等待定时器中断的发生;发生中断,则转入相应的中断服务程序,执行相应功能的子程序。

四人抢答器课程设计

四人抢答器课程设计

四人抢答器课程设计一、课程目标知识目标:1. 学生能理解抢答器的基本原理,掌握其电路组成及功能。

2. 学生能运用所学的电子技术知识,分析并设计简单的抢答器电路。

3. 学生了解抢答器在现实生活中的应用,认识到电子技术在实际问题解决中的价值。

技能目标:1. 学生能独立完成抢答器电路图的绘制,并正确识别电路中的元件。

2. 学生通过动手实践,掌握基本的焊接技巧,能够组装和调试抢答器电路。

3. 学生能够运用抢答器进行团队竞赛,提高沟通与协作能力。

情感态度价值观目标:1. 学生通过抢答器的设计与制作,培养创新意识和实践能力,增强对电子技术的兴趣。

2. 学生在团队协作中,学会尊重他人,培养合作精神,提高团队荣誉感。

3. 学生认识到科技发展对社会进步的重要性,激发学习科学技术的热情,树立为国家和民族发展贡献力量的信心。

课程性质:本课程为电子技术实践课程,注重培养学生的动手能力、创新能力和团队协作能力。

学生特点:五年级学生,具有一定的电子技术基础,好奇心强,喜欢动手实践,团队合作意识逐渐形成。

教学要求:教师应关注学生的个体差异,提供适当的指导与帮助,鼓励学生积极参与,确保课程目标的实现。

同时,注重将理论与实践相结合,引导学生将所学知识应用于实际问题解决。

通过课程学习,使学生达到预期的学习成果。

二、教学内容本课程教学内容主要包括以下三个方面:1. 抢答器基本原理及电路组成- 介绍抢答器的工作原理,包括信号发射、接收和处理过程。

- 分析抢答器电路的组成,包括按键、编码器、解码器、指示灯等。

- 引导学生结合课本第四章第二节内容,了解抢答器各部分功能及相互关系。

2. 抢答器电路设计与制作- 讲解抢答器电路图的绘制方法,引导学生识别电路中的各个元件。

- 指导学生运用第五章第一节所学知识,设计简单的抢答器电路。

- 安排实践环节,让学生动手焊接组装抢答器,并学会调试电路。

3. 抢答器应用与团队竞赛- 介绍抢答器在实际生活中的应用场景,激发学生学习兴趣。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机的4人抢答器设计
设计要求:
以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。

设置一个系统清除和抢答控制开关S,开关由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。

抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

工作原理:
通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。

同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值
uchar flag1,flag2; //清零键及开始键按下标志位
uchar flag3,flag4=0; //定义键盘按下标志位
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f}; //数码管编码
sbit dula=P1^6; //定义段选端口
sbit wela=P1^7; //定义位选端口
sbit sp=P3^0; //定义蜂鸣器端口
sbit clear=P1^0; //定义清零键
sbit start=P1^1; //开始键
sbit key1=P1^2;
sbit key2=P1^3;
sbit key3=P1^4;
sbit key4=P1^5; //key1到key4为选手按键
void delay(uint z) //延时函数
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void beep() //定义蜂鸣器函数
{
sp=0;
delay(500);
sp=1;
}
void display(uint a) //选手编号显示函数
{
wela=1;
P2=0xff; //防止锁存干扰
wela=0;
dula=1;
P2=table[a];
dula=0;
P2=0xff;
wela=1;
P2=0xfd;
wela=0;
delay(5);
}
void clr() //清零函数(主持人按下清零键后数码管显示0) {
dula=1;
P2=table[0];
dula=0;
P2=0xff;
wela=1;
P2=0xfc;
wela=0;
delay(5);
}
void dis30s() //十秒倒计时显示函数{
uchar shi,ge;
shi=num1/30;
ge=num1%30;
wela=1;
P2=0xff;
wela=0;
dula=1;
P2=table[shi];
dula=0;
P2=0xff;
wela=1;
P2=0xfe;
wela=0;
delay(5);
wela=1;
P2=0xff;
wela=0;
dula=1;
P2=table[ge];
dula=0;
P2=0xff;
wela=1;
P2=0xfd;
wela=0;
delay(5);
}
void player() //选手按键检测函数{
if(key1==0&&flag4==0)
{
delay(10);
if(key1==0&&flag4==0)
{
display(1);
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key1);
}
}
if(key2==0&&flag4==0)
{
delay(10);
if(key2==0&&flag4==0)
{
display(2);
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key2);
}
}
if(key3==0&&flag4==0)
{
delay(10);
if(key3==0&&flag4==0)
{
display(3);
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key3);
}
}
if(key4==0&&flag4==0)
{
delay(10);
if(key4==0&&flag4==0)
{
display(4);
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key4);
}
}
}
void keyscan() //检测按键{
if(clear==0&&flag2!=1) //判断清零键,判断语句的作用是按下开始键清零键失效
{
delay(10);
if(clear==0&&flag2!=1)
{
while(!clear); //等待按键释放
flag1=0;
flag2=0;
flag3=0;
flag4=0;
num=0;
num1=10;
clr(); //清零
flag1=1; //按下清零键标志位
}
}
if(flag1==1) //如果按下清零键
{
if(start==0&&flag3==0) //判断开始键,判断语句的作用是按下开始键后开始键失效
{
delay(10);
if(start==0&&flag3==0)
{
flag2=1;
flag3=1;
while(!start);
}
}
}
if(flag2==1) //按下开始键
{
TR0=1; //启动定时器0
dis30s();
player();
}
}
void main()
{
TMOD=0x01; //设置定时器0工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断while(1) //一直检测按键
{
keyscan();
}
}
void T0_ser() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20)
{
num=0;
num1--;
}
if(num1==0)
{
TR0=0;
flag1=0;
flag2=0;
num=0;
num1=30;
clr();
beep();
}
}。

相关文档
最新文档