单片机课程设计多路抢答器
- 格式:doc
- 大小:3.16 MB
- 文档页数:19
基于PROTEUS的PIC单片机设计——多路抢答器设计————————————————————————————————作者:————————————————————————————————日期:目录:1 绪论 (3)1.1 课题研究的相关背景 (3)1.2 选题的目的和意义 (3)1.3 课题研究的内容 (3)1。
4 国内外研究现状 (4)1.5 抢答器目前存在的主要问题 (4)2 PROTEUS简介 (4)2。
1 进入PROTEUS ISIS (5)2.2 PROTEUS 工作界面 (5)2。
3PROTEUS的主要功能 (8)2。
3.1PROTEUS VSM功能 (8)2。
3.2PROTEUS PCB设计功能 (8)3PIC单片机 (9)3.1 PIC单片机简介 (9)3.2 PIC16F87的RAM数据存储器 (9)3。
2。
1通用寄存器 (9)3。
2。
2特殊功能寄存器 (10)3.3输入/输出端口的基本功能 (10)3.4 PIC单片机指令系统简介 (11)3.5MPLAB简介 (14)4抢答器系统的设计原理及方案 (15)4。
1方案 (15)4.1.1方案一(采用数字电路) (15)4.1。
2方案二(采用单片机) (16)4。
1.3方案三(采用PLC) (16)4.2方案比较及选择 (17)5基于PROTEUS的多路抢答器硬件电路设计 (17)5。
1多路抢答器设计要求 (17)5.2PIC单片机控制的多路抢答器工作原理 (18)5.3基于PROTEUS的多路抢答器硬件电路设计 (19)5。
3。
1多路抢答器总体电路设计 (19)5。
3.2多路抢答器编码电路设计 (22)5。
3。
3多路抢答器报警电路设计 (23)5。
4多路抢答器系统软件设计 (23)5。
4.1 多路抢答器系统软件流程图 (23)5。
4。
2汇编程序清单 (24)5。
4.3基于MPLAB的程序编译和调试 (30)6 仿真与调试 (33)6.1 仿真结果分析及说明 (33)6.1.1 仿真分析 (35)6。
单片机课程设计三人抢答器在现代电子技术的快速发展中,抢答器作为一种常见的电子设备,广泛应用于各种竞赛、游戏和活动中。
本次课程设计的任务是设计一个三人抢答器,通过单片机的控制实现抢答功能,并具备相应的显示和提示功能。
一、设计要求1、有三个抢答按键,分别对应三位选手。
2、当有选手按下抢答键时,系统能锁定该选手,并在显示屏上显示其编号。
3、同时伴有声音提示,表示抢答成功。
4、抢答成功后,其他选手再按下抢答键无效。
二、硬件设计1、单片机选型我们选择了常见的 51 系列单片机,如 STC89C52 单片机。
它具有价格低廉、性能稳定、易于编程等优点。
2、按键输入使用三个独立按键作为抢答按键,分别连接到单片机的三个I/O 口。
通过检测这些 I/O 口的电平变化来判断是否有按键按下。
3、显示模块采用数码管作为显示模块,用于显示抢答成功选手的编号。
可以选择共阴或共阳数码管,通过单片机的 I/O 口控制数码管的段选和位选,实现数字的显示。
4、声音提示模块使用蜂鸣器作为声音提示装置,连接到单片机的一个 I/O 口。
当抢答成功时,单片机输出高电平驱动蜂鸣器发声。
5、电源模块为整个系统提供稳定的电源,可以使用 5V 直流电源适配器或者通过电池供电。
三、软件设计1、主程序流程系统初始化后,进入循环等待状态,不断检测三个抢答按键的状态。
当有按键按下时,进行相应的处理,包括锁定选手、显示编号、发声提示以及禁止其他选手抢答。
2、按键检测程序通过不断读取与按键连接的 I/O 口的电平状态,判断是否有按键按下。
为了消除按键抖动的影响,需要进行软件消抖处理。
3、显示程序根据抢答成功选手的编号,将对应的数字编码发送到数码管的段选和位选端口,实现数字的显示。
4、声音提示程序当抢答成功时,单片机控制与蜂鸣器连接的 I/O 口输出高电平,使蜂鸣器发声。
四、系统调试1、硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
然后测量各个电源点的电压是否正常,确保硬件电路工作正常。
抢答器设计内容提要:电子智能抢答计分器在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
如果在抢答中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
本设计使用AT89C51单片机来设计智能抢答器,组数可以在八组以内任意使用。
并且具有倒计时和时间设置及报警功能。
利用AT89C51单片机对信号进展锁存、显示等功能。
分别从硬件和软件两方面阐述了该控制系统的设计方法,并经过调试和运行使该系统到达预期目标,具有反响快、功能齐全、实用性强的特点。
一、系统总体方案设计电子智能抢答计分器在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
为了完成这个任务设计时系统能显示抢答组号、各组计分并能计分显示以及比赛完毕时能发出报警声三个要求;电子智能抢答计分器主要是由硬件局部和软件局部构成,硬件和软件分开设计;系统综框图1-1 系统框架图抢答器的工作原理抢答器的工作原理是利用单片机的定时器T0、T1中断完成,其余状态循环调用显示子程序,用4个共阴极LED数码管来显示,用P0口作为数码管的八个段选,用P2口中的、P2.1、P2.2、作为4个数码管其中3个位选,P1口接4个按键,提供选手抢答,P3.0-P3.5四个接四个按键,提供开场、完毕、答题时间调整、抢答时间调整,加1、减1调整之用。
抢答功能:通过四路按键配合程序来实现抢答功能。
当主持人按下抢答键开场抢答后,此时任一路按下按钮均闭锁其它各路,由程序对键盘译码并显示最先按下抢答键的路数及其当前时间。
抢答限时:主持人按下抢答键后,设置5秒为抢答时间(此时间可在1-99秒之间修改)。
假设5秒内无人抢答,倒计时为0时发出报警,说明该抢答题目作废。
此时闭锁所有抢答按键,只有当主持人再次按下抢答键开场下一次抢答方可抢答。
答题限时:中选手按下按钮时,启动倒计时(此倒计时时间可在1~99秒之间修改),倒计时为0时发出报警,说明答题时间到。
51多路抢答器课程设计一、课程目标知识目标:1. 学生理解抢答器的原理,掌握51单片机的使用方法。
2. 学生能够运用所学知识,设计并实现一个多路抢答器的电路。
3. 学生了解抢答器在现实生活中的应用,理解其工作原理与电路设计之间的关系。
技能目标:1. 学生能够独立完成51单片机的编程与调试。
2. 学生能够利用所学知识,解决实际电路设计中的问题。
3. 学生通过动手实践,培养电路设计与制作的能力。
情感态度价值观目标:1. 学生在学习过程中,培养团队协作精神和解决问题的能力。
2. 学生通过实践,体会科技的魅力,增强创新意识。
3. 学生关注科技发展,树立正确的科技观,认识到科技对生活的影响。
课程性质:本课程为实践性较强的课程,通过理论与实验相结合的方式,让学生在实际操作中掌握知识。
学生特点:学生具备一定的电子技术基础知识,具有较强的动手能力和好奇心。
教学要求:注重理论与实践相结合,鼓励学生动手实践,培养学生的创新意识和实际操作能力。
将目标分解为具体的学习成果,以便在教学过程中进行有效评估。
二、教学内容本课程依据课程目标,结合教材内容,制定以下教学大纲:1. 抢答器原理介绍- 抢答器的基本概念- 抢答器的工作原理与分类- 51单片机在抢答器中的应用2. 51单片机基础- 51单片机的内部结构与功能- 51单片机的编程语言与指令系统- 51单片机的I/O口编程与应用3. 多路抢答器电路设计- 电路设计原理与步骤- 常用电子元件的选择与应用- 抢答器电路图绘制与仿真4. 抢答器程序设计- 程序设计基本思路与方法- 51单片机程序编写与调试- 抢答器程序功能实现5. 实践操作与调试- 抢答器电路搭建与测试- 程序下载与调试- 系统优化与故障排查教学内容安排和进度:1-2课时:抢答器原理介绍与51单片机基础3-4课时:多路抢答器电路设计5-6课时:抢答器程序设计7-8课时:实践操作与调试教学内容与教材关联性:本教学内容紧密围绕教材中关于51单片机及其应用的相关章节,确保科学性和系统性。
多路智力抢答器课程设计一、课程目标知识目标:1. 学生能理解多路智力抢答器的基本工作原理,掌握相关电子元件的功能和连接方式。
2. 学生能描述抢答器中涉及的数字电路知识,包括触发器、计数器等。
3. 学生了解多路智力抢答器的应用场景,并能结合实际需求进行设计和改进。
技能目标:1. 学生能独立完成多路智力抢答器的搭建,提高动手实践能力。
2. 学生能通过编程实现对抢答器的控制,培养编程思维和问题解决能力。
3. 学生能运用所学知识,对多路智力抢答器进行故障排查和维修。
情感态度价值观目标:1. 学生在课程学习中,培养团队协作精神和竞争意识,提高沟通与表达能力。
2. 学生通过实践操作,体会科技带来的乐趣,激发对电子技术的兴趣和热情。
3. 学生认识到科技发展对社会进步的重要性,增强创新意识和责任感。
课程性质:本课程为电子技术实践课程,结合理论知识与动手操作,提高学生的综合运用能力。
学生特点:六年级学生,具备一定的电子技术基础,好奇心强,喜欢动手实践,但注意力容易分散。
教学要求:注重理论与实践相结合,引导学生主动参与,提高学生的动手能力和创新能力。
通过课程学习,使学生能够将所学知识应用于实际项目中,培养解决问题的能力。
将课程目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容本章节教学内容主要包括以下三个方面:1. 电子元件及工作原理:- 学习常用电子元件如电阻、电容、二极管、三极管等的功能和特点。
- 探究触发器、计数器等数字电路的工作原理及其在抢答器中的应用。
2. 多路智力抢答器设计与搭建:- 分析多路智力抢答器的电路图,理解各部分电路的功能及相互关系。
- 学习电路搭建方法,动手搭建多路智力抢答器,并进行调试与优化。
3. 编程与控制:- 学习抢答器控制程序的设计与编写,掌握基本编程语句和逻辑结构。
- 结合实际需求,对抢答器程序进行修改和优化,实现功能扩展。
教学大纲安排:1. 电子元件及工作原理(1课时)2. 多路智力抢答器设计与搭建(2课时)3. 编程与控制(2课时)教材章节及内容:- 第四章:数字电路基础,涉及触发器、计数器等知识点。
设计课题:多路抢答器学院:电气与信息工程学院专业:电气工程及其自动化班级:学号:姓名:目录一、任务及设计要求 (2)1.任务 (2)2.要求 (2)二、系统原理图 (2)三、硬件原理图 (6)1.元器件清单 (6)2.硬件设计 (6)3.软件设计 (11)4.性能分析 (13)四、流程图 (15)1.总体流程图 (15)2.抢答器模块 (16)3.北京时间模块流程图 (17)五、程序 (18)六、产品使用说明书 (27)1.功能 (27)2.使用说明 (28)七、心得体会 (29)八、参考文献,教师评语 (30)一、任务及设计要求1、任务设计一多路抢答器,每组设计一抢答按扭供选手使用2、要求(1)设计一多路数字抢答器(2)设置一个系统清除和抢答控制开关,该开关由主持人控制(3)抢答器具有锁存与显示功能。
选手按动按扭,锁存相应的编号,并在LED数码管或LCD上显示,同时系统报警。
优先抢答选手的编号一直保持到主持人将系统信号清除为止(4)抢答器具有定时抢答功能。
当主持人启动“开始”键后,计时器进行计时,同时绿灯亮(可蜂鸣器替代或显示对应标志)。
参赛选手在设定时间内进行抢答,抢答有效,定时器停止工作,绿灯灭,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止,如果定时时间已到,无人抢答,本次抢答无效,系统报警。
中途可以暂停。
(5)显示定时时间,可倒数显示(6)定时时间进入最后十秒时,可用蜂鸣器提醒(7)显示北京时间,可调整二、系统原理图硬件原理:ADUC848管脚图如下图所示。
Pin1~4:(P1.0~P1.3)作为矩阵式键盘或独立按键的输入,P1口只能用于输入,默认用于模拟输入,作为数字输入使用时应先往P1口相应引脚写0,这里可以用P0&=0xf0。
若P2、P3、P0口要作为输入,则应往相应引脚写1。
Pin5、6:AVDD、AGND,模拟电源输入。
Pin7、8:外部参考电压接入,Pin7接AGND。
目录摘要 (I)第1章绪论 (1)1.1 单片机抢答器的背景 (1)1.2 抢答器的意义 (1)第2章设计概述 (2)2.1 抢答器工作原理 (2)2.2 设计目的与要求 (2)2.3 设计任务 (2)2.4 运行环境及工具 (2)第3章系统硬件电路设计 (3)3.1 AT89C51单片机硬件电路 (3)3.2 原理及电路总框图 (3)3.3 晶振复位及开始抢答电路 (4)3.4 选手抢答键 (4)3.5 显示与显示驱动电路 (5)3.6 蜂鸣器音频输出电路 (6)第4章系统软件设计 (7)4.1 程序设计 (7)4.2 主程序设计 (7)4.3 系统流程图 (8)4.4 程序清单 (9)第5章系统仿真 (18)5.1 Proteus软件介绍 (18)5.2 仿真电路设计 (18)5.3 仿真测试 (18)5.4 仿真结果分析 (20)第6章结束语 (21)参考文献 (22)第1章绪论1.1 单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上[1]。
基于单片机的多路抢答器设计在教育场景中,为了增加学生的参与度和互动性,常常会设置抢答环节。
为了简化抢答的流程,提高效率,很多学校会选择使用基于单片机的多路抢答器。
本文将详细介绍基于单片机的多路抢答器的设计过程。
一、设计目标设计一个基于单片机的多路抢答器,满足以下要求:1.支持多路抢答,最少支持4个人同时抢答;2.抢答按照先后顺序进行,每个人只有一次机会;3.可以显示抢答的状态,并且能够记录抢答的时间;4.方便操作,使用简单。
二、硬件设计1.单片机选择在本设计中,我们选择常用的STM32单片机作为主控芯片。
其具有强大的计算能力和丰富的外设接口,能够满足本设计的需求。
2.LCD显示屏为了显示抢答的状态和时间,我们需要选择一个合适的显示屏。
在本设计中,我们选择4行16列的液晶显示屏,能够满足显示需求。
3.按键为了实现学生的抢答操作,我们需要设计抢答按钮。
在本设计中,我们选择使用一个矩阵按键,可以支持多路抢答。
4.时钟模块为了记录抢答的时间,我们需要使用一个时钟模块。
在本设计中,我们选择使用DS1302时钟模块。
5.电源模块为了供给系统电源,我们需要设计一个电源模块。
在本设计中,我们选择使用一个DC稳压电源模块。
三、软件设计1.系统初始化在系统启动时,进行各个模块的初始化,包括单片机、LCD显示屏、按键、时钟模块等。
2.抢答操作当学生按下抢答按钮时,检测到按键信号,单片机会记录下当前的时间,并根据抢答顺序显示学生的抢答状态。
每次抢答完毕后,禁用对应的按键。
3.时间记录单片机通过时钟模块获取当前时间,并将抢答的时间记录下来。
4.状态显示利用LCD显示屏,实时显示当前抢答的状态,包括谁在抢答、抢答时间等信息。
5.结果统计当所有学生抢答完毕后,统计每个学生的抢答时间,并按照顺序显示出来。
四、系统测试完成软硬件的设计后,需要对系统进行测试,确保系统功能正常运行。
测试的主要内容包括:1.是否能够正确识别学生的抢答操作;2.是否能够正确记录抢答的时间;3.是否能够正确显示抢答的状态;4.是否能够正确统计抢答结果。
单片机抢答器系统一、项目要求1、设计一个智力竞赛抢答器,晶振12MHZ,可同时提供8路选手或8个代表对参加比赛,编号为1,2,3,4,5,6,7,8各用一个按钮。
2、节目主持人5个控制开关,用来控制清零和抢答开始,即时开始,以及抢答时间和限时时间的调节。
3、抢答器具有数字锁存功能,显示功能和声音提示功能。
抢答开始,若有选手按动抢答器按钮,编号立即锁存,并在LED上显示选手的编号,同时灯亮且伴有声音提示。
此外,要封锁输入电路,禁止其它选手抢答。
4、最先抢答的选手编号一直保持到主持人讲系统清零。
5、(1)4位LED分功如下:当某选手固定后:显示限答时间(2)主持人功能键①K1—选手加十分②K2—选手加五分③K3—回答时间设置(+50s)限时开始④K4—回答时间设置(+10s)⑤K5—抢答开始⑥K6—RST键,清零⑦K7—回答开始开始抢答:抢答时间选手编号二、原理框图三、设计方案论证1.设计方案的可行性本课题是设计一个智力竞赛抢答器,能够实现8组选手同时抢答、回答倒计时、选手加分及主持人控制等各项功能。
本设计采用Protues模拟硬件电路、KEIL软件进行编程相结合以达到理论模拟的效果。
根据课程设计项目要求该系统所需要的器件在Protues中基本都可以找出来。
KEIL编出的程序也能与Protues结合。
因此该系统可以实现。
2.需求分析(1)系统功能需求本系统是借用单片机采用模块化设计的智能抢答器,主控与参赛者设为终端分系统。
参赛者分系统设有:抢答按纽、提示功能等(声音提示和LED显示);主控分系统有:开始控制按钮、时限设定、加分按钮、复位按钮。
参赛者系统,除享有抢答按纽的权利功能外[1],还有人性化的提示功能和时间提示功能;主控系统的控制按钮做开始控制,根据活动参赛者的层次,对提前抡答者的行为设定为无效,对回答问题限时设为倒计时式,并有公示性显示。
本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答按钮。
单片机课程设计-智力竞赛抢答器单片机课程设计-智力竞赛抢答器摘要设计要求:1)能容许2-8组进行抢答。
2)能显示抢答组号。
3)各组记分,并能记分显示。
4)比赛结束时,能发出报警声。
硬件系统设计1)控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。
其中单片机AT89C51是系统工作的核心,它主要负责控制各个部分协调工作. 2)硬件组成及所需元件:该系统的核心器件是AT89C51。
在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。
元件为:晶振X1、电容C1、C2、C3、电阻RP1。
P3.0和P3.1由裁判控制,分别是抢答停止和开始键。
P1.0-P1.7是8组抢答的输入口, P2.0--P2.3口为数码管的段选口,位选口用的是P0.0--P0.6口输出,外部中断0、1和P3.3,P3.4为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1实现了答题时间调整.P3.4 P3.5分别实现了时间的加一和减一.P3.6为蜂鸣器的控制口。
控制系统防真用到了伟福软件,集成调试环境,集成了编缉器、编译器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。
树状结构显示,一目了然,支持ASM(汇编)、C语言,多语言多模块源程序混合调试,在线直接修改、编译、调试源程序,错误指令定位。
功能很强大。
系统仿真还用到了PROTUCE软件,可通过仿真可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助.1 概述《单片机原理及应用技术》是一门技术性,应用性、实践性很强的学科。
课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
目录1引言12 功能概述12.1抢答器工作原理12.2设计目的与要求12.3设计任务12.4运行环境及工具23 系统硬件设计23.1芯片的选择23.2原理及电路总框图23.3晶振复位及开始抢答电路33.4选手抢答键33.5显示与显示驱动电路43.6蜂鸣器音频输出电路44系统软件设计54.1系统主程序设计54.2系统流程图64.3程序清单75系统仿真结果145.1开始抢答仿真145.2抢答犯规仿真155.3抢答成功仿真166课程设计的总结与体会17参考文献资料171 引言当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。
而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
因此,我们制作了这款简易多路<十六路)数字抢答器摒弃了成本高、体积大、操作复杂。
我们采用了数字显示器直接指示,自动锁存显示结果,因而本抢答器具有显示直观,操作简单的特点。
而且在显示时抢答器会发出蜂鸣声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。
2 功能概述2.1抢答器工作原理抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。
采用动态显示组号。
主持人按下开始抢答键才可以抢答。
主持人没有按下开始抢答按纽<P3.2),有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。
主持人按下开始抢答按纽<P3.2),蜂鸣响声提示,且数码管10秒倒计时<10秒内抢答有效),有人在10秒抢答,蜂鸣器响声提示并显示他的组号,3秒开始20秒倒计时<20秒内必须回答完问题)。
20秒后主持人按下复位开关为下一题的抢答做准备。
基于单片机应用的多路无线抢答器的设计一、引言多路无线抢答器是一种常见的教育教学设备,它可以帮助老师更好地组织课堂抢答活动,激发学生的学习兴趣和积极性。
本文将介绍基于单片机应用的多路无线抢答器的设计方案。
二、硬件设计1. 抢答器主控板设计本设计采用STC89C52单片机作为主控芯片,通过串口通信与无线模块进行数据传输。
主控板还需要接收来自按键模块的信号,并通过LED灯指示当前状态。
2. 无线模块选择考虑到稳定性和传输距离等因素,本设计选择了nRF24L01+ 2.4GHz 无线模块作为通信模块。
3. 按键模块设计按键模块需要包括多个按键和一个编码器,编码器将按键输入转换为数字信号并发送给主控板。
三、软件设计1. 主控板程序设计主控板程序需要实现以下功能:(1)初始化各个外设;(2)接收来自无线模块的数据,并根据数据指令执行相应操作;(3)接收来自按键模块的信号,并将其转换为数字信号发送给无线模块;(4)控制LED灯的亮灭。
2. 无线模块程序设计无线模块程序需要实现以下功能:(1)初始化nRF24L01+无线模块;(2)接收来自主控板的数据,并将其转发给其他无线模块;(3)接收来自其他无线模块的数据,并将其发送给主控板。
3. 按键模块程序设计按键模块程序需要实现以下功能:(1)初始化编码器和按键;(2)检测按键输入,并将其转换为数字信号发送给主控板。
四、系统测试经过硬件和软件设计后,我们进行了系统测试。
测试结果表明,本设计具有稳定的通信距离和快速的响应速度,可以满足教学需求。
五、结论本文介绍了基于单片机应用的多路无线抢答器的设计方案。
该方案采用了STC89C52单片机作为主控芯片,nRF24L01+ 2.4GHz无线模块作为通信模块,以及编码器和按键等外设。
经过系统测试,该设计具有良好的稳定性和响应速度,可以满足教学需求。
单片机课程设计(基于多路数字抢答器)(范文)第一篇:单片机课程设计(基于多路数字抢答器)(范文)一、概述大学四年的学习生活中,会遇到各种各样的竞赛,抢答器便成为了主要的工具之一。
而现在的抢答器智能化越来越强,这必然会提高抢答器的成本。
本抢答器与其他抢答器电路相比较成本低、制作方便,并且还有作弊显示功能。
因此,这款四路抢答器摒弃了成本高、体积大、操作复杂等不足。
我们采用了数字显示器直接指示,因而本抢答器具有显示直观,操作简单的特点。
二、主要功能及技术指标抢答器的工作原理是用矩阵式键盘进行抢答。
采用动态显示组号。
主持人按下开始抢答键才可以抢答。
主持人没有按下开始抢答按纽(P3.2),有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。
主持人按下开始抢答按纽(P3.2),蜂鸣响声提示,且数码管10秒倒计时(10秒内抢答有效),有人在10秒抢答,蜂鸣器响声提示并显示他的组号,3秒开始20秒倒计时(20秒内必须回答完问题)。
20秒后主持人按下复位开关为下一题的抢答做准备。
单片机最小系统、抢答按键模块(四位并行数码显示、1*4矩阵式键盘)、显示模块、抢答开关模块、蜂鸣器输出模块。
三、系统组成及原理1、分图四、软件1、分配流程图初始化开始20秒回答问题时间到并响声提示调用读键子程序作为延时程序设定定时器初值并启动定时器中断条件是否满足Y开中断并响声提示NN 读键盘是否有键按下Y调用显示抢答违规并报警子程序报警提示编号10秒抢答倒计时开始显示显示违规者编号是否有按键按下NY调用抢答者获得回答的子程序10到时中断并返回响声提示设定定时器初值并启动显示抢答者并且3秒后倒计时RET32、源程序ORG 0000H LJMP MAIN ORG 0013H LJMP ESS1 ORG 0100H MAIN:SETB EA SETB EX1 SETB IT1;外部中断1初始化L16:MOV P1,#0FFH MOV R2,#00H CLR P1.0 INC R2 JB P1.4,L0 LCALL DE0 L0:INC R2 JB P1.5,L1 LCALL DE0 L1:INC R2 JB P1.6,L2 LCALL DE0 L2:INC R2 JB P1.7,L3 LCALL DE0 L3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,L4 LCALL DE0 L4:INC R2 JB P1.5,L5 LCALL DE0 L5:INC R2 JB P1.6,L6 LCALL DE0 L6:INC R2 JB P1.7,L7 LCALL DE0 L7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,L8 LCALL DE0 L8:INC R2JB P1.5,L9 LCALL DE0 L9:INC R2 JB P1.6,L10 LCALL DE0 L10:INC R2 JB P1.7,L11 LCALL DE0 L11:SETB P1.2 LJMP L16;读行列式键盘 ESS1:MOV 70H,#30D;外部中断1 MOV R7,#0CH CLR P3.0 S2:LCALL DELAY DJNZ 70H,S2 SETB P3.0;蜂鸣器提示开始抢答 MOV TMOD,#00010000B MOV R3,#0AH L20:MOV 55H,#14H L19:MOV TH0,#3CH MOV TL0,#0B0H;定时器1初始化 SETB TR1;启动定时器1 MOV A,R3 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR MOV 53H,A CLR P2.4 MOV P0,53H LCALL DELAY1 SETB P2.4 MOV A,B MOVC A,@A+DPTR MOV 54H,A CLR P2.5 MOV P0,54H LCALL DELAY1 SETB P2.5 L18:JNB TF1,L18 CLR TF1 DJNZ 55H,L19 DEC R3 CJNE R7,#00H,D6LJMP D5 D6:CJNE R3,#0FFH,L21 LJMP L22 L21:LJMP L20;抢答倒计时 L22:MOV 73H,#02D S5:MOV 70H,#20D MOV 71H,#20H CLR P3.0 S4:LCALL DELAY DJNZ 70H,S4 SETB P3.0 S6:LCALL DELAY DJNZ 71H,S6 DJNZ 73H,S5;抢答倒计时时间到声音提示D5:RETI DE0:MOV DPTR,#TAB;抢答违规报警并显示抢答违规组号MOV A,R2 MOV B,#0AH S10:MOV 72H,#20D MOV 73H,#10D CLR P3.0 S8:LCALL LCC DJNZ 72H,S8 SETB P3.0 S9:LCALL LCC DJNZ 73H,S9 DJNZ 71H,S10 L17:LCALL LCC LJMP L17 LCC:CLR P2.4 MOV P0,50H LCALL DELAY DELAY1:MOV P1,#0FFH;正常抢答读键MOV R4,#250D W17:MOV R2,#00H CLR P1.0 INC R2 JB P1.4,W0 LCALL DE1 W0:INC R2 JB P1.5,W1 LCALL DE1 W1:INC R2 JB P1.6,W2 LCALL DE1 W2:INC R2 JB P1.7,W3 LCALL DE1 W3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,W4 LCALL DE1 W4:INC R2 JB P1.5,W5 LCALL DE1 W5:INC R2 JB P1.6,W6 LCALL DE1 W6:INC R2 JB P1.7,W7 LCALL DE1 W7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,W8 LCALL DE1 W8:INC R2 JB P1.5,W9 LCALL DE1 W9:INC R2 JB P1.6,W10 LCALL DE1 W10:INC R2 JB P1.7,W15 LCALL DE1 W15:SETB P1.3 DJNZ R4,W16 LJMP W18 W16:LJMP W17 W18:RET DE1:MOV P1,#0FFH;MOV 70H,#20D CLR P3.0 S3:LCALL DELAY DJNZ 70H,S3 SETB P3.0 SETB P2.0 抢答成功声音提示及回答问题时间20秒倒计时7SETB P2.1 MOV DPTR,#TAB MOV A,R2 MOV B,#0AH DIV AB MOVC A,@A+DPTR MOV 56H,A MOV A,B MOVC A,@A+DPTR MOV 57H,A MOV TMOD,#00000001B MOV R5,#16H L32:MOV R6,#14H L31:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 CLR P2.4 MOV P0,56H LCALL DELAY SETB P2.4 CLR P2.5 MOV P0,57H LCALL DELAY SETB P2.5 CJNE R5,#14H,L34 LJMP L35 L34: JC L35 LJMP L30 L35: MOV A,R5 MOV B,#0AH DIV AB MOVC A,@A+DPTR MOV 58H,A MOV A,B MOVC A,@A+DPTR MOV 59H,A CLR P2.6 MOV P0,58H LCALL DELAY SETB P2.6 CLR P2.7 MOV P0,59H LCALL DELAY SETB P2.7 L30:JNB TF0,L30 CLR TF0 DJNZ R6,L31 DEC R5 CJNE R5,#0FFH,L32 MOV P1,#0FFH MOV 70H,#50D CLR P3.0 S7:LCALL DELAY DJNZ 70H,S7 SETB P3.0 MOV P2,#0FFH MOV R3,#00H MOV R7,#00H RET DELAY:MOV 51H,#10D;延时子程序D0:MOV 52H,#248D D1:DJNZ 52H,D1 DJNZ 51H,D0 RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END五、分析这次实训遗憾的是,我的实训材料是买的成品的板,没有自己去焊制自己的实训板,当然这节省了一些时间,但是,在原理图上确实也花费了一些时间。
目录第一部分、设计任务与调研 (2)第二部分、设计说明 (3)第三部分、设计成果 (11)第四部分、结语 (12)第五部分、致谢 (13)第六部分、参考文献 (14)第一部分、设计任务与调研1毕业设计及主要任务给主持人设置一个开关,用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。
在主持人允许的情况下,优先抢答者发出抢答信号,此时其他参赛者的抢答电路失去控制作用;在主持人解除抢答信号后,电路才恢复到各组又均可抢答的状态中。
2设计的思路方法一、当节目主持人启动“开始”键后,要求定时器(如30秒)立即减计时,并用显示器显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。
二、参加选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定抢答时刻的时间,并保持到主持人将系统清零为止。
三、如果定时抢答的时间已到,却没有选手抢答,本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时抢答,时间显示器上显示00。
四、选手如果在主持人按开始键之前违规抢答,系统报警,LED显示违规选手号码和FF,直到主持人按下停止键。
3调研与总结抢答器广泛应用在学校和企事业单位举行的各种竞赛、抢答活动中,它能通过指示灯显示、语音提醒、数字显示、警示显示等手段迅速、准确、公正、地判断出最先获得发言权的选手。
通过这次课程的设计,了解简单多功能数字电路抢答器的组成原理,初步掌握数字电路抢答器的调整及测试方法,提高思考能力和实践能力。
同时通过本课题的设计,巩固已学的理论知识,简历逻辑数字电路的理论和实践的结合,了解多功能抢答器个单元之间的关系及相互影响,从而正确设计和计算定时计数的各个单元电路。
初步掌握多功能抢答器的调整及测试方法。
第二部分、设计说明1设计需求及工作原理按照设计需求,本系统具有以下几个主要功能:(1)抢答器同时供8名选手或8支参赛队伍使用;(2)抢答或回答时间主持人可自行设置;(3)能够显示抢答或答题时间的倒计时;(4)在有人犯规时可以显示选手号、闪烁显示以及蜂鸣器报警;(5)答题时间还剩5s时,蜂鸣器报警提示。
单片机课程设计 抢答器一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,了解抢答器的电路构成和工作原理。
2. 使学生熟悉抢答器程序设计的基本方法,掌握相关编程语言和开发工具。
3. 帮助学生了解抢答器在实际应用中的技术要求和注意事项。
技能目标:1. 培养学生动手搭建简单抢答器电路的能力,提高实践操作技能。
2. 培养学生运用编程语言设计抢答器程序的能力,提升编程技巧。
3. 培养学生分析问题、解决问题的能力,提高团队协作和沟通能力。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新意识和实践精神。
2. 培养学生严谨、细心的学习态度,养成勤奋、刻苦的学习习惯。
3. 增强学生的团队合作意识,培养公平竞争、尊重他人的价值观。
课程性质分析:本课程为单片机课程设计,以实践操作为主,注重培养学生的动手能力和实际应用能力。
学生特点分析:学生处于高中年级,已具备一定的电子基础和编程知识,具有较强的学习兴趣和求知欲,但实践操作经验不足。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的实际操作能力。
2. 采取分组教学,培养学生的团队协作能力和沟通能力。
3. 注重过程评价,关注学生的个体差异,激发学生的学习兴趣和自信心。
二、教学内容1. 单片机原理:回顾课本第二章内容,讲解单片机的组成、工作原理及主要性能参数。
- 单片机的基本结构- 工作原理及性能参数- 单片机的应用领域2. 抢答器电路设计:结合课本第四章实例,学习抢答器电路的构成及原理。
- 抢答器电路的构成- 抢答器工作原理- 常用元器件的选择与使用3. 抢答器程序设计:参考课本第五章编程知识,学习抢答器程序设计方法。
- 编程语言基础- 程序设计思路- 编程技巧及调试方法4. 实践操作:根据教学进度,安排学生进行抢答器电路搭建和程序设计。
- 电路搭建与调试- 程序编写与优化- 成果展示与评价5. 教学大纲:- 第一周:回顾单片机原理,学习抢答器电路构成及原理;- 第二周:学习抢答器程序设计方法,进行程序编写;- 第三周:实践操作,完成抢答器电路搭建和程序设计;- 第四周:成果展示,总结评价。
单片机四路抢答器的设计一、设计需求分析在设计四路抢答器之前,我们首先需要明确其功能需求。
1、能够同时支持四路选手进行抢答。
2、当有选手按下抢答按钮时,能够迅速锁定并显示抢答者的编号。
3、具备倒计时功能,在规定时间内无人抢答则显示超时。
4、要有声音提示,如抢答成功、违规抢答、倒计时结束等。
二、硬件设计1、单片机选择我们选用常见的 51 系列单片机,如 STC89C52 单片机。
它具有性能稳定、价格低廉、编程方便等优点。
2、输入模块使用四个独立按键作为四路选手的抢答按钮,分别连接到单片机的四个 I/O 口。
3、显示模块采用数码管显示抢答者的编号和倒计时时间。
可以选择共阴极或共阳极数码管,通过单片机的 I/O 口进行驱动。
4、声音模块使用蜂鸣器来实现声音提示功能。
通过单片机控制蜂鸣器的通断,产生不同频率的声音。
5、电源模块为整个系统提供稳定的电源,可以使用 5V 直流电源适配器。
三、软件设计1、编程语言选择 C 语言进行编程,C 语言具有语法简洁、可读性强、可移植性好等优点。
2、主程序流程系统初始化后,进入等待抢答状态。
当有选手按下抢答按钮时,判断是否违规抢答(即在倒计时未结束前抢答)。
如果是合法抢答,锁定抢答者编号并显示,同时发出抢答成功的声音提示;如果是违规抢答,则发出违规提示音并显示违规者编号。
在抢答成功后,开始倒计时,倒计时结束时发出超时提示音。
3、中断处理利用单片机的外部中断功能,实现对抢答按钮按下事件的快速响应。
4、计时与显示程序通过定时器实现倒计时功能,并将剩余时间实时显示在数码管上。
四、系统调试1、硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
然后测量各个电源点的电压是否正常,确保硬件工作在稳定的状态。
2、软件调试将编写好的程序下载到单片机中,通过单步调试、断点调试等方式,检查程序的执行流程和逻辑是否正确。
同时观察数码管显示和蜂鸣器发声是否符合预期。
五、设计优化与拓展1、增加更多的抢答通道,以满足更多选手参与的需求。
武汉理工大学华夏学院信息工程课程设计报告书课程名称单片微型计算机与接口技术课程设计总评成绩学生姓名、学号朱富鑫***********学生专业班级物联网1141指导教师姓名苏明霞课程设计起止日期2016.6.13~2016.6.24课程设计基本要求课程设计是工科学生十分重要的实践教学环节,通过课程设计,培养学生综合运用先修课程的理论知识和专业技能,解决工程领域某一方面实际问题的能力。
课程设计报告是科学论文写作的基础,不仅可以培养和训练学生的逻辑归纳能力、综合分析能力和文字表达能力,也是规范课程设计教学要求、反映课程设计教学水平的重要依据。
为了加强课程设计教学管理,提高课程设计教学质量,特拟定如下基本要求。
1. 课程设计教学一般可分为设计项目的选题、项目设计方案论证、项目设计结果分析、答辩等4个环节,每个环节都应有一定的考核要求和考核成绩。
2. 课程设计项目的选题要符合本课程设计教学大纲的要求,该项目应能突出学生实践能力、设计能力和创新能力的培养;该项目有一定的实用性,且学生通过努力在规定的时间内是可以完成的。
课程设计项目名称、目的及技术要求记录于课程设计报告书一、二项中,课程设计项目的选题考核成绩占10%左右。
3. 项目设计方案论证主要包括可行性设计方案论证、从可行性方案中确定最佳方案,实施最佳方案的软件程序、硬件电路原理图和PCB图。
项目设计方案论证内容记录于课程设计报告书第三项中,项目设计方案论证主要考核设计方案的正确性、可行性和创新性,考核成绩占30%左右。
4. 项目设计结果分析主要包括项目设计与制作结果的工艺水平,项目测试性能指标的正确性和完整性,项目测试中出现故障或错误原因的分析和处理方法。
项目设计结果分析记录于课程设计报告书第四项中,考核成绩占25%左右。
5. 学生在课程设计过程中应认真阅读与本课程设计项目相关的文献,培养自己的阅读兴趣和习惯,借以启发自己的思维,提高综合分和理解能力。
文献阅读摘要记录于课程设计报告书第五项中,考核成绩占10%左右。
6. 答辩是课程设计中十分重要的环节,由课程设计指导教师向答辩学生提出2~3个问题,通过答辩可进一步了解学生对课程设计中理论知识和实际技能掌握的程度,以及对问题的理解、分析和判断能力。
答辩考核成绩占25%左右。
7.学生应在课程设计周内认真参加项目设计的各个环节,按时完成课程设计报告书交给课程设计指导教师评阅。
课程设计指导教师应认真指导学生课程设计全过程,认真评阅学生的每一份课程设计报告,给出课程设计综合评阅意见和每一个环节的评分成绩(百分制),最后将百分制评分成绩转换为五级分制(优秀、良好、中等、及格、不及格)总评成绩。
8. 课程设计报告书是实践教学水平评估的重要资料,应按课程、班级集成存档交实验室统一管理。
一、课程设计项目名称多路抢答器二、项目设计目的及技术要求1.四个独立的按键分为四路,每一个按键按下后对应的LED灯会亮。
2.在数码管上显示09到00后开始抢答,抢答时四个按键有一个按下了则对应的LED灯会亮,其它按键无效,并且会把对应的编号显示在数码管上面,同时把对应的编号通过串口显示在上位机的串口助手上。
3.抢答完毕后,如果重新开始,则在上位级的串口助手上发送A到单片机,单片机接受到后,开始新一轮的抢答,即继续完成第2个步骤。
如:在K1,K2,K3,K4都开始按的情况下,先判断谁先按下,那么其他键无效。
再按也无效。
注:以上所有的功能都是用单片机来完成的。
三、项目设计方案论证(分析项目要求和指标,给出总的设计方案) 实际项目实现内容:当主持人向串口发送字符“A ”后,单片机接收到开始信号,然后LED 点阵移动显示3,2,1,GO 后,数码管从09到00倒计时显示,当显示到00时,抢答器可以开始抢答,当其中任何一方先按下按钮后,将其代表的号码显示到数码管上,并发送到串口上,同时锁住其他的按钮,让其他选手无法再次抢答。
然后通过选手的回答,主持人判断对错后,在串口上发送“Y ”,则在LED 点阵上显示“对号”,如若回答错误,在串口上发送“N ”,则在LED 点阵上显示“X ”。
设计方案:通过对单片机程序的编写,调用LED 灯,数码管,LED 点阵,按键,以及串口部分,控制好单片机的时序,实现设计要求,并加入适当的拓展模块。
流程框图:LED灯及数码管模块:由开发板原理图可知可以编写一个扫描函数,使用74HC138译码器实现对6个数码管以及LED 灯的控制。
代码如下:void LedScan(){static unsigned char i = 0;P0 = 0xFF;P1 = (P1 & 0xF8) | i;P0 = LedBuff[i];if (i < 7)i++;elsei = 0;}LED点阵模块:由开发板原理图可知,使能U4的74HC138控制点阵,即在调用LED点阵时赋ADDR3 = 0即可,同理可以将LED点阵理解成8个数码管显示,使用取模软件,取出想要的图片显示,并存放在数组里,通过对LED点阵的循环赋值,可以达到LED点阵纵向移动的功能。
按键模块:由开发板原理图可知,将P2^3口置0,是KeyOut1输出低电平,即使K1~K4转换为独立按键使用。
串口模块:可以通过配置串行控制寄存器,调好通信的波特率,完成串口通信模块。
配置方法:⏹1、配置串口为模式1。
⏹2、配置定时器T1为模式2,即自动重装模式。
⏹3、根据波特率计算TH1和TL1的初值,如果有需要可以使用PCON进行波特率加倍。
⏹4、打开定时器控制寄存器TR1,让定时器跑起来。
配置波特率的函数:void ConfigUART(unsigned int baud){SCON = 0x50;TMOD &= 0x0F;TMOD |= 0x20;TH1 = 256 - (11059200/12/32)/baud;TL1 = TH1;ET1 = 0;ES = 1;TR1 = 1;}设计完整代码:#include <reg52.h>sbit ADDR3 = P1^3;sbit ENLED = P1^4;sbit KEY1 = P2^4;sbit KEY2 = P2^5;sbit KEY3 = P2^6;sbit KEY4 = P2^7;unsigned char code LedChar[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};unsigned char LedBuff[8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF};unsigned char code led[ ]={ 0xFF,0xC1,0xDF,0xDF,0xC1,0xDF,0xDF,0xC1,0xFF,0xC1,0xDF,0xDF,0xC1,0xFD,0xFD,0xC1, 0xFF,0xF7,0xF3,0xF7,0xF7,0xF7,0xF7,0xF7,0xC1,0xFF,0xFF,0xFF,0x10,0x5E,0x5E,0x52,0x56,0x10,0xF7,0xFF,0xFF,0xFF,0xFF,0xFFF };unsigned char image[] = {0xFF,0xFF,0x7F,0xBF,0xDF,0xEE,0xF5,0xFB};unsigned char no[]={0xFF,0x7D,0xBB,0xD7,0xEF,0xD7,0xBB,0x7D};unsigned char T0RH = 0;unsigned char T0RL = 0;unsigned char RxdByte = 0;unsigned char index = 0;unsigned char tmrs;unsigned int sec = 10;unsigned int cnt = 0;unsigned int over = 0;unsigned int go = 0;unsigned int flag1s = 0;unsigned int flag250ms = 0; unsigned int begin = 1;void ConfigTimer0(unsigned int ms); void ConfigUART(unsigned int baud); void main(){bit backup1 = 1;bit backup2 = 1;bit backup3 = 1;bit backup4 = 1;EA = 1;ENLED = 0;ADDR3 = 1;P2 = 0xF7;ConfigTimer0(1);ConfigUART(9600);while (1){if(go == 1){LedBuff[0] = led[index+0];LedBuff[1] = led[index+1];LedBuff[2] = led[index+2];LedBuff[3] = led[index+3];LedBuff[4] = led[index+4];LedBuff[5] = led[index+5];LedBuff[6] = led[index+6];LedBuff[7] = led[index+7];}if(flag1s&begin == 1){if(sec == 0){begin = 0;over = 0;}LedBuff[0] = LedChar[sec];LedBuff[1] = LedChar[0];LedBuff[2] = 0xFF;LedBuff[3] = 0xFF;LedBuff[4] = 0xFF;LedBuff[5] = 0xFF;LedBuff[6] = 0xFF;}if(begin == 0){if(over == 0){if(KEY1 != backup1 ) { o ver = 1;if(backup1 == 0){LedBuff[6] = 0x7F;LedBuff[0] = LedChar[1];LedBuff[1] = LedChar[0];SBUF = 0x01;while(!TI);TI = 0;RI = 0;}backup1 = KEY1;}}if(over == 0){if(KEY2 != backup2) {if(backup2 == 0){ over = 1;LedBuff[6] = 0xBF; LedBuff[0] = LedChar[2]; LedBuff[1] = LedChar[0];SBUF = 0x02;while(!TI);TI = 0;RI = 0;}backup2 = KEY2;}if(over == 0){if(KEY3 != backup3) {if(backup3 == 0) { over = 1;LedBuff[6] = 0xDF; LedBuff[0] = LedChar[3]; LedBuff[1] = LedChar[0]; SBUF = 0x03;while(!TI);TI = 0;RI = 0;}}backup3 = KEY3;}}if(over == 0){if(KEY4 != backup4) {if(backup4 == 0){ over = 1;LedBuff[6] = 0xEF; LedBuff[0] = LedChar[4]; LedBuff[1] = LedChar[0];SBUF = 0x04;while(!TI);TI = 0;RI = 0;}backup4 = KEY4;}}}}}void ConfigTimer0(unsigned int ms) //定时器配置函数{unsigned long tmp;tmp = 11059200 / 12;tmp = (tmp * ms) / 1000;tmp = 65536 - tmp;tmp = tmp + 18;T0RH = (unsigned char)(tmp>>8);T0RL = (unsigned char)tmp;TMOD &= 0xF0;TMOD |= 0x01;TH0 = T0RH;;TL0 = T0RL;ET0 = 1;TR0 = 1;}void ConfigUART(unsigned int baud) //波特率配置函数{SCON = 0x50;TMOD &= 0x0F;TMOD |= 0x20;TH1 = 256 - (11059200/12/32)/baud;TL1 = TH1;ET1 = 0;ES = 1;TR1 = 1;}void LedScan() //数码管及LED扫描函数{static unsigned char i = 0;P0 = 0xFF;P1 = (P1 & 0xF8) | i;P0 = LedBuff[i];if (i < 7)i++;elsei = 0;}void InterruptTimer0() interrupt 1 //定时器0中断函数{static unsigned int tmr1s = 0;TH0 = T0RH;TL0 = T0RH;LedScan();tmr1s++;tmrs++;if(tmrs >=250){tmrs = 0;flag250ms =1;index++;if(index >= 32){if(go == 1){go = 0;ADDR3 = 1;begin = 1;flag1s = 1;sec = 9;}index = 0;}}if(tmr1s >= 1000){tmr1s = 0;flag1s = 1;if (sec > 0){sec--;}else{sec = 0;}}}void InterruptUART() interrupt 4 //串口中断函数{if (RI){RI = 0;RxdByte = SBUF;SBUF = RxdByte;if( SBUF == 'A'){ADDR3 = 0;go = 1;sec = 9;index = 0;}if( SBUF == 'Y'){ADDR3 = 0;LedBuff[0] = image[0];LedBuff[1] = image[1];LedBuff[2] = image[2];LedBuff[3] = image[3];LedBuff[4] = image[4];LedBuff[5] = image[5];LedBuff[6] = image[6];LedBuff[7] = image[7]; }if(SBUF == 'N'){ADDR3 = 0;LedBuff[0] = no[0];LedBuff[1] = no[1];LedBuff[2] = no[2];LedBuff[3] = no[3];LedBuff[4] = no[4];LedBuff[5] = no[5];LedBuff[6] = no[6];LedBuff[7] = no[7];}}if (TI){TI = 0;}}实验现象图:按下按钮2,其他按钮在重新开始之前无法使用判断对错:发送’A’重新开始:LED移动显示3,2,1,GO后从09~00显示完后可以进入抢答环节四、项目设计结果分析(分析试验过程中,现象或问题的正确性和必然性,以及对有没有达到技术要求进行分析,写出整个调试经过和现象,并分析产生不正确结果的原因和处理方法。