(完整版)基于单片机的抢答器设计
基于单片机8路抢答器的设计与实现
基于单片机8路抢答器的设计与实现引言:抢答器是一种用于比赛或考试中进行抢答的设备,它可以实现多个参与者同时抢答,实时显示最先抢答者的编号。
本文将介绍一种基于单片机的8路抢答器的设计与实现。
一、设计方案:1.硬件设计:本设计采用单片机作为主控制器,使用LED显示器显示抢答编号。
按键用于选择参与抢答的编号。
____________________+------------------,P1.0,,P1.1,,P1.2,,P1.3Infrared sensor ----- ------- ----- -----+------------------,P1.4,,P1.5,,P1.6,,P1.7LED display ----- ------- ----- -----+---------------+---------+---------+---------+---------+AVRMicrocontroller+---------------+---------+---------+2.软件设计:本设计的软件部分主要涉及中断、定时器、按键扫描和显示控制几个方面的内容。
(1)中断:使用外部中断响应红外传感器的触发信号,并处理中断程序。
(2)定时器:使用定时器来实现LED显示的时序控制,以达到流畅的显示效果。
(3)按键扫描:定时扫描按键,当一些按键按下时,触发相应的抢答编号。
(4)显示控制:根据抢答编号,通过对LED显示器的控制,实现编号的显示。
二、实现步骤:1.硬件部分的实现:(1)按照上述连接图的方式,将红外传感器和LED显示器与单片机进行连接。
(2)编写硬件程序,对红外传感器和LED显示器进行初始化配置。
2.软件部分的实现:(1)编写中断服务函数,用于响应红外传感器的触发信号,并完成相应的中断处理。
(2)编写定时器中断服务函数,用于控制LED显示的时序。
(3)编写按键扫描函数,用于检测按键是否按下,并触发相应的抢答编号。
基于单片机8路抢答器的设计与实现
基于单片机8路抢答器的设计与实现基于单片机的8路抢答器是一种常见的电子竞赛设备,用于测验、培训或竞赛等活动中进行抢答的过程。
它能够为多个参与者提供公平竞争机会,并通过显示屏和声音提示来呈现结果。
下面是一个基于单片机的8路抢答器的设计与实现的参考内容。
一、硬件设计:1. 微控制器选择:可以选择一款适合的单片机作为抢答器的主控芯片,常见的选择有STC89C52、AT89C52、PIC16F877A 等。
2. 输入部分设计:为每个参与者设置一个按钮,用于抢答。
可以使用电子按键、触摸按钮等。
3. 显示部分设计:可以选择LCD液晶显示屏或数码管进行显示,显示参与者的编号或抢答进度等信息。
4. 声音提示设计:可以使用蜂鸣器或扬声器作为声音提示装置,用于鸣笛提示抢答结果。
5. 电源部分设计:选择合适的电源模块,如直流电源模块或电池供电。
二、软件设计:1. 系统初始化:设置IO口的输入输出状态,初始化LCD显示屏,配置中断等。
2. 抢答逻辑:设置抢答模式,设定抢答者数量,记录抢答时间,并根据抢答顺序进行显示和提示。
3. 显示与提示:根据抢答结果,将结果显示在LCD屏幕上,并通过声音提示器进行声音提示。
4. 延时与计时:设置合适的延时函数和计时器用于计算抢答的时间长度。
5. 节拍控制:设置一个节拍控制函数,用于判断抢答按钮的按下时间是否在某一节拍内,以增加抢答的公平性。
6. 按键检测与处理:使用中断或轮询方式对抢答器上的按键进行检测和处理,并根据按键的触发来执行相应的命令。
三、实现步骤:1. 硬件搭建:按照上述设计,完成抢答器的硬件搭建,包括连接单片机与按钮、显示屏和声音提示器等。
2. 程序编写:根据所选的单片机型号,使用对应的编程软件,编写相应的程序。
3. 调试与测试:将编写好的程序下载到单片机中,通过串口或者编程器与单片机进行连接,进行调试与测试。
4. 优化与改进:根据实际使用情况,进行程序的优化和改进,以提高系统的稳定性和可靠性。
基于51单片机智能抢答器的设计
基于51单片机智能抢答器的设计51单片机智能抢答器是一种智能化的电子设备,可以用于各种有奖答题活动中,通过简单的按键操作即可实现抢答功能。
本文将介绍基于51单片机的智能抢答器的设计,包括硬件电路设计和软件程序设计。
一、硬件电路设计1. 电源模块:采用直流电源供电,可选择使用电池或者适配器供电。
为了保证正常的使用,建议使用干电池或者锂电池供电,并加入适当的电源保护电路。
2. 控制模块:使用51单片机作为控制核心,通过外部按键输入实现答题和抢答功能。
需要接入外部中断输入端口并编写相应的中断服务程序。
3. 显示模块:采用液晶显示模块作为主要的显示设备,用于显示答题结果和其他信息。
需要编写相应的驱动程序以实现显示功能。
4. 输入模块:设置抢答按钮和答题按钮作为输入设备,通过按键操作来实现抢答和答题功能。
需要加入合适的按键消抖电路以确保按键操作的稳定性。
5. 信号处理模块:通过外部传感器检测抢答按钮的按下情况,并将信号输入到51单片机进行处理。
需要设计合适的信号处理电路以满足系统的要求。
二、软件程序设计1. 系统初始化:在系统上电之后,需要对51单片机进行初始化设置,包括外部中断设置、定时器设置、IO口配置等。
2. 按键检测:通过轮询或者中断方式检测抢答按钮和答题按钮的按下情况,并根据按键的不同状态进行相应的处理。
3. 答题逻辑:根据抢答按钮的按下顺序和答题按钮的按下情况,判断抢答者是否答题正确,并根据结果进行相应的显示和处理。
4. 显示控制:根据答题的结果和其他相关信息,控制液晶显示模块显示相应的内容,包括抢答者的得分、答题结果等。
5. 系统完善:考虑到系统的稳定性和可靠性,需要对系统进行进一步的优化和完善,包括添加异常处理程序、加入错误提示功能等。
通过以上硬件电路设计和软件程序设计,可以实现一个基于51单片机的智能抢答器,并可以在各种有奖答题活动中使用。
这种智能抢答器可以提高活动的趣味性和互动性,成为活动中的一种重要设备。
基于51单片机智能抢答器的设计
基于51单片机智能抢答器的设计
51单片机智能抢答器是一种基于51单片机的电子设备,用于抢答竞赛或教育活动中,能够实现自动抢答、计分和显示等功能。
本文将介绍基于51单片机智能抢答器的设计原理、硬件结构和软件实现。
基于51单片机智能抢答器的设计原理是通过轮询按钮的状态来判断参赛者是否按下按钮进行抢答,然后根据抢答的顺序进行计分和显示。
其硬件结构包括51单片机、按钮、显示屏和蜂鸣器等组件。
具体来说,按钮用于参赛者按下进行抢答,采用并口方式连接到51单片机的IO口。
当有参赛者按下按钮时,会通过IO口向单片机发送一个高电平信号。
显示屏用于显示抢答的顺序和当前得分,可以使用数码管或液晶显示屏。
蜂鸣器用于发出抢答成功或错误的提
示音。
在软件实现方面,需要编程实现如下功能:使用中断来检测按钮的按下状态,并记录
抢答的时间顺序;根据抢答的顺序,对参赛者进行计分;通过显示屏和蜂鸣器进行抢答结
果的显示和提示。
在编程方面,可以使用C语言来编写程序。
需要配置IO口为输入和输出模式,并设置中断函数,以实现对按钮状态的检测和记录。
然后,通过数组或链表来保存参赛者的抢答
顺序,并根据顺序对参赛者进行计分。
根据计分结果,将数据通过数码管或液晶显示屏进
行显示,并通过蜂鸣器进行相应的提示音。
基于51单片机的智能抢答器可以实现自动抢答、计分和显示等功能,可以广泛应用于抢答竞赛和教育活动中,提高活动的趣味性和教学效果。
该设计也可以作为学习51单片机的实践项目,对于提高学生的编程能力和电子设计能力有一定的帮助。
基于单片机八路抢答器设计
基于单片机八路抢答器设计设计基于单片机的八路抢答器,需要考虑以下几个方面:硬件设计、软件设计以及抢答器工作流程。
硬件设计:1.单片机选择:可以选择一款具有较多IO引脚和较强处理能力的单片机,如STC89C51、这款单片机具有40个IO口,并且内部集成了PWM、ADC等模块,适合本次设计。
2.触发器设计:使用8个按钮作为触发器,每个按钮与一个IO口连接。
当有用户按下按钮时,会通过IO口向单片机发送一个高电平信号。
3.显示模块设计:可以使用LED灯作为显示模块,用于显示抢答的结果。
每个参与者对应一个LED灯,抢答成功的参与者对应的LED灯会亮起。
4.电源模块设计:使用适配器将220V交流电转换为5V直流电,供给单片机和LED灯。
5.电路连接:将按钮和LED灯与IO口连接,并接地,保持电路的正确连接。
软件设计:1.IO口初始化:将涉及到的IO口初始化为输入或输出口。
2.中断设置:将按钮连接到中断引脚,当按钮按下时,触发中断。
在中断函数内根据按下的按钮编号,判断抢答的结果。
3.抢答逻辑:设计一个数组来保存参与抢答者的结果。
当用户按下按钮后,根据按下按钮的编号,将结果保存到数组中。
根据题目的要求,可以选择先按下的为正确答案或者最后按下的为正确答案。
4.显示结果:根据抢答结果,控制相应的LED灯点亮或熄灭。
抢答器工作流程:1.开机初始化:开机后,进行硬件初始化,包括IO口的初始化和LCD屏幕的初始化。
2.抢答准备:显示等待抢答,等待用户按下按钮。
3.抢答开始:当用户按下按钮后,系统根据按下按钮的编号判断答案是否正确,并将结果保存到数组中。
4.结果显示:根据抢答结果,控制相应的LED灯点亮或熄灭,显示抢答结果。
5.重置抢答器:在每轮抢答结束后,将抢答器重置为初始状态,清空结果数组,准备下一轮抢答。
通过上述硬件设计、软件设计以及抢答器工作流程的设计,实现了基于单片机的八路抢答器。
抢答器的设计可以根据实际需求进行修改和扩展,例如增加显示屏幕显示更多信息、添加声音提示等,以满足不同的使用场景。
基于51单片机智能抢答器的设计
基于51单片机智能抢答器的设计一、需求分析随着社会的不断发展,教育教学工作也在不断改进和创新。
在学校教育中,课堂互动是非常重要的一环,而智能抢答器作为课堂互动的一种工具,其作用愈发突显。
智能抢答器可以有效地帮助老师激发学生的兴趣,增加课堂互动的趣味性,提高学生参与度和课堂效果。
设计一款基于51单片机的智能抢答器具有非常重要的意义。
基于51单片机的智能抢答器,需要满足以下一些功能需求:1. 可以实现学生抢答的功能,即学生按下按钮进行抢答,系统记录按键顺序并显示结果。
2. 可以设置不同的抢答模式,如抢答模式、排队模式等,满足不同场景下的教学需求。
3. 可以显示抢答结果,并根据不同情景进行排名显示。
4. 可以具备查询功能,老师可以查询学生抢答的结果并对结果进行分析和统计。
二、方案设计1. 系统整体设计智能抢答器整体由51单片机、按钮、LED显示屏和蜂鸣器等组成。
其工作原理是通过单片机对按钮的输入信号进行检测并记录,然后根据不同的抢答模式进行结果的显示和排名。
系统还具备查询功能,通过按下相应的按钮可以对抢答结果进行查询。
2. 软件设计基于51单片机的智能抢答器的软件设计主要包括两个部分:抢答器的逻辑控制和抢答结果的显示。
(1) 抢答器的逻辑控制在抢答器的逻辑控制部分,需要对按钮的输入信号进行检测和记录,并根据抢答模式对学生的抢答顺序进行排序。
还需要对老师的查询指令进行响应,将抢答结果进行显示和输出。
(2) 抢答结果的显示抢答结果的显示主要通过LED显示屏进行,可以根据不同的排名情况进行不同方式的显示,如按下按钮的顺序、得分高低等。
3. 硬件设计硬件设计主要包括51单片机的选型和外围电路的设计。
在选型方面,需要选择合适的51单片机以及与之匹配的LED显示屏、按钮和蜂鸣器等外围电路,保证系统的正常工作。
在外围电路的设计过程中,需要注意充分考虑稳定性和可靠性,同时还需要考虑系统的可维护性和扩展性。
三、系统实现在系统实现过程中,首先需要完成软件的编写和硬件的搭建。
单片机课程设计(完整版六路抢答器)
学号 2010《单片机中级教程原理与应用》课程设计(2010届本科)题目:六路抢答器设计学院:物理与机电工程学院专业:电气程及其自动化作者姓名:指导教师:职称:副教授完成日期: 201 年12 月15 日摘要本设计是六路智力抢答器。
使用51系列单片机,编写应用程序来实现智力抢答功能。
硬件设计使用的是51系列单片机中的89C51。
硬件设计利用其中断控制程序进行抢答部分的处理,通过非门的控制去申请单片机内部的中断,以达到显示抢答的目的。
软件设计利用中断系统的基本构成原理编写中断服务程序,其信号由按键电路提供,由CPU响应中断,并输出响应。
用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。
关键词:89C51 中断定时器报警电路等目录第1章绪论 (3)1.1 智能抢答器的发展现状 (3)1.2 抢答器的背景和特点 (3)第2章抢答器的系统概述 (3)2.1 六路抢答器设计功能要求 (3)2.2 抢答器设计方案 (4)第3章系统硬件电路设计 (4)3.1 系统电路图 (4)3.2 时钟频率电路的设计 (5)3.3 键盘扫描电路的设计 (5)3.4 显示电路的设计 (6)第4章系统软件设计 (7)4.1 程序流程图 (7)4.2 系统程序 (7)第5章仿真调试及性能分析 (8)5.1 仿真调试 (8)一、上电显示 (8)二、开始抢答倒计时显示 (8)三、正确抢答显示 (9)四、违规抢答显示 (9)5.2 性能分析 (10)第6章设计出现的问题及总结 (10)6.1 设计出现的问题 (10)6.2 总结 (10)附录 (13)第1章绪论1.1 智能抢答器的发展现状随着电子技术的发展,现在的抢答器功能越来越强,可靠性和准确性也越来越高。
能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大。
对于目前抢答器的功能描述,如涵盖抢答器、抢答限时、选手答题计时及犯规组号抢答器具有抢答自锁,灯光指示、暂停复位、电子音乐报声、自动定时等功能,还有工作模式的切换和时间设定,对于这些,随着科学技术的发展,肯定还要得到进一步的改进。
基于51单片机智能抢答器的设计
基于51单片机智能抢答器的设计一、引言二、设计思路1.系统功能需求智能抢答器主要包括以下功能:(1)抢答功能:允许学生在教师提出问题后进行抢答;(2)提前设置答题时间:教师可以设置每次抢答的时间;(3)显示抢答结果:显示学生选手的抢答结果和答题情况;(4)记录抢答情况:记录学生的抢答情况,方便教师进行统计和评估。
2.系统硬件设计系统采用51单片机作为核心,通过按键、显示屏等外设实现系统的各项功能。
系统还需配备一套抢答设备,每位学生需要配备一个手持式抢答器,用于进行抢答操作。
3.系统软件设计系统需要设计相关的软件程序,包括抢答逻辑、结果显示、数据统计等功能。
需要考虑系统的稳定性和易用性,确保教师和学生可以轻松操作系统。
三、系统设计与实现1.抢答器的设计抢答器采用51单片机作为核心,通过按键输入学生答案,再通过无线通信将答题结果发送给主控系统。
抢答器还需配备显示屏,显示学生的抢答结果。
为了保证系统的安全性,还需设计防作弊功能。
2.主控系统的设计主控系统也采用51单片机作为核心,通过接收抢答器的信号,处理并显示抢答结果。
主控系统还需要设计相应的操作界面,方便教师进行设置和操作。
系统还需设计数据存储和统计功能,记录学生的抢答情况。
四、系统性能测试及改进1.系统性能测试完成系统的硬件和软件设计后,需要进行系统的性能测试,主要包括以下几个方面:(1)抢答功能测试:测试学生抢答器的响应速度和稳定性;(2)结果显示测试:测试主控系统的抢答结果显示效果;(3)数据统计测试:测试系统的数据统计和记录功能。
2.系统改进根据测试结果,对系统进行相应的改进和调整,确保系统能够稳定运行并满足实际教学需求。
需要特别关注系统的稳定性、易用性和安全性等方面的改进。
五、系统应用与展望1.系统应用智能抢答器可以广泛应用于教育教学领域,提高课堂互动和学生的参与度。
还可以应用于各类知识竞赛、学科竞赛等活动中。
2.系统展望智能抢答器作为新型的教学辅助工具,具有较大的市场前景。
基于单片机的多路抢答器设计
基于单片机的多路抢答器设计在教育场景中,为了增加学生的参与度和互动性,常常会设置抢答环节。
为了简化抢答的流程,提高效率,很多学校会选择使用基于单片机的多路抢答器。
本文将详细介绍基于单片机的多路抢答器的设计过程。
一、设计目标设计一个基于单片机的多路抢答器,满足以下要求: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.是否能够正确统计抢答结果。
基于AT89S52单片机的抢答器设计
基于AT89S52单片机的抢答器设计一、AT89S52 单片机简介AT89S52 是一款低功耗、高性能的 CMOS 8 位单片机,具有 8K 在系统可编程 Flash 存储器。
使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。
片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
二、抢答器的功能需求分析抢答器的主要功能是在多个参赛者同时抢答时,能够准确地判断出最先抢答的选手,并进行相应的显示和提示。
具体来说,抢答器应具备以下功能:1、抢答功能:参赛者在规定的时间内按下抢答按钮,系统能够准确地捕捉到最先抢答的信号。
2、计时功能:设置抢答时间和答题时间,时间到后进行相应的提示。
3、显示功能:能够显示抢答者的编号和答题剩余时间。
4、报警功能:在违规抢答或时间到后,发出声音或灯光报警。
三、硬件设计1、单片机最小系统AT89S52 单片机:作为核心控制单元。
晶振电路:为单片机提供时钟信号。
复位电路:确保单片机能够正常初始化。
2、抢答输入电路采用独立按键作为抢答按钮,每个参赛者对应一个按键。
通过上拉电阻将按键信号连接到单片机的 I/O 口。
3、显示电路采用数码管显示抢答者的编号和时间。
可以使用动态扫描的方式驱动数码管,以节省 I/O 口资源。
4、报警电路使用蜂鸣器和发光二极管进行报警。
通过三极管驱动蜂鸣器和发光二极管。
四、软件设计1、主程序流程系统初始化,包括设置 I/O 口状态、初始化定时器和中断等。
进入抢答等待状态,检测是否有抢答信号。
若有抢答信号,判断抢答是否合法,并进行相应的处理。
在答题过程中,进行计时,并在时间到后进行提示。
2、抢答检测程序采用中断方式检测抢答信号。
当有按键按下时,产生中断,在中断服务程序中读取按键状态,确定抢答者的编号。
基于51单片机智能抢答器的设计
基于51单片机智能抢答器的设计智能抢答器是一种集电子技术、语音技术、计算机技术于一体的智能化设备。
它具备自动抢答、语音提示、计时等功能,并可以实现多人同时抢答、成绩统计等多种功能。
其中,基于51单片机的智能抢答器是一种经济实用并且易于操作的设备。
本文就以此为例,对基于51单片机的智能抢答器进行设计。
一、设计方案51单片机智能抢答器的设计方案主要包括硬件和软件两部分内容。
硬件方面,需要设计信号输入部分、信号处理部分、语音提示部分、显示部分以及计时部分。
信号输入部分是指抢答信号的输入,需要考虑抢答按键与51单片机的连接方式以及按键防抖处理。
信号处理部分是指对抢答信号进行处理,需要实现自动抢答、多人抢答、成绩统计等功能。
语音提示部分是指用于提示答题情况的语音播报设备,需要考虑语音芯片的选择、接口连接等问题。
显示部分是指用于显示抢答结果的设备,需要考虑LED数码管的选择、连接方式等。
计时部分是指用于计时的设备,需要考虑时钟模块的选择、接口连接等问题。
软件方面,需要设计对抢答信号的处理程序和对语音提示、显示、计时等操作的控制程序。
对抢答信号的处理主要包括抢答的触发、抢答的判断和存储等功能。
语音提示、显示和计时等程序需要根据硬件方案设计相应的操作接口并编写控制程序。
二、电路设计(1)信号输入部分信号输入部分采用4个抢答按键,分别对应4个LED指示灯,用于表示抢答结果。
在抢答按键与51单片机之间加入一个电阻,可以起到按键的防抖作用。
例如,当按下按键时,由于机械原因,按键可能会反弹几次,这样就可能引起不必要的误操作。
加入电阻可以使按键的电平稳定,避免误操作。
信号处理部分通过对抢答信号的处理,实现自动抢答、多人抢答和成绩统计等功能。
采用中断方式来读取抢答信号。
当一个按键被按下后,51单片机通过中断程序自动判断抢答是否正确,并在LED指示灯上显示抢答正确与否。
如果抢答正确,则该按键所对应的LED点亮,如果抢答错误,则LED不亮。
基于51单片机八路抢答器的设计
基于51单片机八路抢答器的设计八路抢答器是一种常见的电子设备,利用该设备可以实现多人同时抢答的功能。
本设计基于51单片机,通过电路和程序的设计,实现了一个八路抢答器。
一、硬件设计1.单片机选择本设计选择51单片机作为控制核心,采用STC89C52微控制器,该单片机具有丰富的外设接口和较大的存储空间,能够满足实现八路抢答器的要求。
2.抢答按键设备中需要设置八个抢答按键,用于参与者抢答。
按键采用常闭型按键,接通时为低电平,用于触发中断。
3.电源设计为了提供稳定的电源给抢答器,设计中采用了5V稳压电源电路,供电采用AC220V转DC5V电源适配器。
4.显示设计为了方便显示抢答结果,本设计采用了一个共阴数码管,用于显示抢答结果。
具体显示方式根据需求进行编程显示。
5.连接器设计为方便接线和扩展,设计中使用了排针排插连接器,将各个按键、数码管等连接到主控板上。
二、软件设计1.引脚设置首先需要对单片机的I/O引脚进行设置,将各个按键连接到相应的引脚上。
同时,还需要设置数码管的引脚,用于控制显示。
2.中断设置为了实现按键的检测和抢答功能,需要设置外部中断。
具体的中断设置根据引脚的连线情况进行配置。
3.抢答逻辑抢答的逻辑可以根据需求进行设计,本设计采用最先按下的键位为答题者,其他键位将被屏蔽。
按下按键后,相应的数码管会显示该答题者的编号或名称,并输出一个信号用于记录答题者的顺序。
4.结果显示抢答结束后,根据答题者的顺序,将结果显示在数码管上。
可以根据需求进行设计,如按照答题者的编号显示。
5.功能扩展除了基本的抢答功能外,还可以对设备进行功能扩展。
如设置答题时间限制,设置显示答题者的得分,设置答题者的排名等。
三、PCB设计完成硬件电路和软件设计后,需要进行PCB设计,将各个元件进行布局,进行连线和焊接。
PCB设计需要保证连接的正确性和布线的合理性。
四、测试与调试完成PCB的焊接后,需要进行设备的测试与调试。
通过逐个按下按键,观察数码管的显示结果是否正确。
《单片机原理及应用》基于单片机的抢答器设计
《单片机原理及应用》基于单片机的抢答器设计1 系统设计1.1 设计要求1.1.1 设计任务设计一个基于单片机的抢答器,实现抢答器的基本功能。
1.1.2 性能指标要求1、设计好电路并焊接电路板。
2、设计一个主持人控制开关和6路抢答按扭,当主持人允许抢答时才能进行抢答操作,并用一个数码管显示抢答选手的号码,同时其他选手不能再抢答。
3、当主持人允许抢答后倒计时5秒时间,在这5秒内抢答有效,过后就不能进行抢答了。
4、电路上设置一个蜂鸣器的电路,当有选手抢答时蜂鸣器响一下。
5、当有选手抢答后,进行倒计时20秒作为选手回答问题时间,用两个数码管显示,倒计时时间到时有声光提示。
6、画电路板时要增加下载接口,方便调试程序。
7、扩展功能(选做),用按键可设置倒计时的时间,范围在5秒到30秒之间。
1.2 设计思路及设计框图1.2.1设计思路我首先制作主持人控制开关和6路抢答电路,在单片机I/O 口的P3.2口作为选主持人开关接入口,P1.0-P1.5作为6路选手抢答按钮接入口。
将P2.0-P2.3作为4位数码管的位选控制端口,接入数码管。
P3.3作为蜂鸣器控制端口,蜂鸣器连接上拉电阻和三极管。
P2.5作为LED 控制端口。
设置S9作为复位键,复位电路接入单片机上的RST 口。
主持人按钮按下后,4位数码管上有2位数码管分别显示’0’和’5’,表示5秒倒计时,然后P1.0和P1.5其中一个接通,也就是选手抢答,按钮按下,1位数码管显示选手序号,蜂鸣器响,然后2位数码管显示20秒倒计时,倒计时结束时,LED 亮,蜂鸣器响。
1.2.2总体设计框图2 各个模块程序的设计1)时钟频率振荡电路电路中的振荡源(晶振)能产生时钟信号送到单片机中,使其工作,晶振的频率为12MHZ。
电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的值为22pF。
2)复位电路复位电路是单片机初始化,当按下按键S9时,RST由低电平变为高电平,数码管显示清零,程序从头开始运行。
基于单片机的八路智能抢答器的设计_毕业设计
基于单片机的八路智能抢答器的设计_毕业设计华北科技学院毕业设计(论文)根据抢答器的功能,智能抢答器的设计要求如下:抢答器可以同时供8名选手或8个代表队比赛使用;主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间;具有清零和非法抢答控制功能,设置一个系统清除和抢答控制开关,并由主持人操控;当主持人启动“开始抢答按键”后,定时器进行减计时,抢答时间耗尽后禁止抢答;倒计时5秒时,如果仍无人抢答,则系统每1s报警一次,用以提示参赛选手;抢答器具有锁存与显示功能。
即选手按下按键,锁存相应选手的参赛编号,并在LED数码管上显示,选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者;参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号,同时进入回答问题的时间倒计时;倒计时期间,主持人想终止倒计时,可以按下“停止”键,系统会自动进入准备状态。
本系统采用软硬件结合的方法而设计,其中硬件设计是借用单片机AT89C51为中心控制模块,采用模块化设计思想,根据系统功能划分成六个模块,分别为:核心控制模块、电源模块、时钟与复位模块、按键输入模块、显示模块、报警模块。
软件设计是采用汇编语言编程。
按键输入模块共有14个按键,分为抢答按键和控制按键。
抢答按键共有八个,分别为S1―S8,供抢答选手进行抢答使用;控制按键有六个,分别为S9―S14,其中S9和S10分别为“抢答时间调整键”和“回答时间调整键”;S11和S12分别为时间“加1”和“减1”按键;S13和S14分别为“抢答开始按键”和“停止按键”。
显示模块本系统采用四个共阳极LED数码管显示,一个数码管用来显示抢答到问题的选手的号码,两个用来显示倒计时时间,一个未使用的数码管作为以后的扩展使用。
时钟与复位模块包括时钟电路和复位电路,单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
基于51单片机的抢答器设计
基于51单片机的抢答器设计设计一个基于51单片机的抢答器,可以用于教育培训、竞赛等场合。
抢答器由主控制器、抢答器模块和显示器等组成,可以实现多人同时抢答、自动计分和答题结果显示等功能。
1.系统结构设计:系统由主控制器、抢答器模块和显示器组成。
主控制器使用51单片机,通过IO口与抢答器模块和显示器进行通信。
抢答器模块包括按钮、指示灯和计分器等,用于获得用户的抢答信号和显示计分信息。
显示器用于显示抢答排名、答题结果以及题目等信息。
2.功能设计:-多人抢答功能:主控制器通过轮询方式检测抢答器模块的按钮状态,记录首先按下按钮的参与者信息,并显示其抢答排名。
-自动计分功能:主控制器根据参与者的抢答顺序和答题正确与否,自动计算得分。
得分可以通过显示器进行实时显示。
-答题结果显示功能:在抢答结束后,主控制器将抢答排名、得分和题目等信息发送给显示器,显示器将其显示。
3.系统硬件设计:主控制器部分由51单片机、外围电路和通信接口组成。
外围电路包括时钟电路、复位电路和按键矩阵扫描电路。
通信接口与抢答器模块和显示器相连,通过IO口进行通信。
抢答器模块由按钮和指示灯组成,用于用户抢答和显示抢答状态。
计分功能可以通过数字显示器实现。
显示器部分包括LCD显示屏和控制电路,用于显示抢答排名、答题结果和题目等信息。
4.系统软件设计:主控制器的软件设计主要包括抢答状态检测、计分规则实现和与外围设备的通信。
-抢答状态检测:通过轮询方式检测抢答器模块的按钮状态,记录首先按下按钮的参与者信息,并显示其抢答排名。
-计分规则实现:根据参与者的抢答顺序和答题正确与否,自动计算得分并更新显示器上的得分信息。
-与外围设备通信:与抢答器模块和显示器进行通信,发送抢答排名、得分和题目等信息。
5.系统优化:为提高系统的稳定性和可靠性-设计合理的接口电路,提高抗干扰能力。
-采用合适的检测算法,提高抢答状态检测的准确性。
-优化算法,提高计分规则的实时性和正确性。
基于某单片机的抢答器设计报告材料
基于某单片机的抢答器设计报告材料一、设计目的:本设计旨在利用单片机技术制作一个简单的抢答器,用于进行课堂或者活动中的抢答活动。
通过本设计,可以提高学生们的积极性和参与度,增加互动性,使课堂更加生动有趣。
二、设计原理:本设计基于单片机技术,利用单片机的输入输出功能和定时器等模块实现。
抢答器由一个发射器和多个接收器组成,发射器用于发射信号,接收器用于接收信号并显示抢答者的编号。
具体原理如下:1.发射器:发射器由一个按钮和一个LED灯组成。
当按钮按下时,单片机产生一个信号,并同时点亮LED灯表示开始抢答。
单片机发送一个指令给接收器,并记录抢答者的编号。
2.接收器:接收器由若干LED灯和一个蜂鸣器组成。
当接收器接收到发射器发送的信号时,单片机点亮对应的LED灯并发出声音提示抢答成功。
同时,单片机记录并显示抢答者的编号。
三、硬件设计:本设计的硬件主要包括发射器和接收器两部分。
1.发射器硬件设计:-单片机:选用STM32系列单片机作为控制核心。
-按钮:用于启动抢答器。
-LED灯:用于指示抢答器状态。
-电池供电:为了方便携带和使用,采用电池供电。
2.接收器硬件设计:-单片机:选用STM32系列单片机作为控制核心。
-LED灯:用于显示抢答者编号。
-蜂鸣器:用于抢答成功提示。
-电源模块:接收器需要外接电源供电。
四、软件设计:1.发射器软件设计:-初始化:设置单片机的输入输出引脚。
-按钮检测:检测按钮是否按下。
-发送信号:当按钮按下时,发送抢答信号给接收器。
-点亮LED灯:同时点亮LED灯表示抢答开始。
-记录编号:记录抢答者编号。
2.接收器软件设计:-初始化:设置单片机的输入输出引脚。
-接收信号:接收发射器发送的信号。
-点亮LED灯:根据接收到的编号点亮对应的LED灯。
-发出声音:抢答成功时发出蜂鸣器声音。
五、实验结果:经过搭建和测试,本设计的抢答器能够正常工作,发射器按下按钮后,接收器能够准确接收并显示抢答者编号。
基于单片机的八路抢答器设计
基于单片机的八路抢答器设计一、介绍抢答器是一种常见的电子设备,用于组织学生进行抢答活动。
传统的抢答器设备通常采用机械按钮或者红外线传感器,但是这些设备具有限制,例如按钮设备需要人工操作,而红外线传感器则需要维护激光束的稳定性。
基于单片机的抢答器能够解决这些问题,并给予更多的功能扩展。
二、系统设计本设计的基本需求是能够同时支持八个参与者进行抢答,并实时显示第一个抢答者的编号。
设计采用单片机进行控制,为了满足多个参与者的需求,需要使用多个按键进行输入,并通过数码管显示抢答结果。
具体系统设计如下。
1.硬件设计硬件设计基于单片机STM32F103C8T6,具有30个可编程输入/输出引脚。
为了支持八个参与者的抢答,我们使用了八个按钮进行输入,并使用七段数码管显示抢答结果。
引脚的分配如下表:引脚功能PA0 参与者1按钮输入PA1 参与者2按钮输入...PA7 参与者8按钮输入PB0-6 七段数码管段选择PC0-3 七段数码管位选择2.软件设计软件设计基于Keil uVision软件进行编写。
主要功能包括按键输入检测、抢答者编号判断以及数码管显示。
具体的设计流程如下。
(1)按键输入检测使用GPIO口作为输入模式,每个参与者的按键连接到相应的引脚。
通过读取GPIO口的电平来检测按钮是否被按下。
当检测到按键按下时,会触发中断并执行相应的处理函数。
(2)抢答者编号判断通过记录按键按下的时间顺序来判断抢答者的编号。
每次有按钮按下时,会先检测当前是否已经有抢答者,并且记录下第一个抢答者的编号。
在抢答者确认后,会将其他按钮的输入禁用,以防止其他参与者的干扰。
(3)数码管显示使用GPIO口作为输出模式,将七段数码管的段选择信号连接到PB0-6引脚,位选择信号连接到PC0-3引脚。
通过依次设置段和位选择信号的电平,来控制数码管的显示内容。
三、系统实现四、总结本文介绍了基于单片机的八路抢答器设计。
通过使用多个按钮进行输入,以及数码管进行显示,实现了同时支持八个参与者进行抢答的功能。
基于单片机的8路抢答器的设计
基于单片机的八路抢答器设计方案第一章抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生, 它是用于很多竞赛场合, 真正实现先抢先答, 让最先抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上, 体现了公平公正的原则。
1.2 设计任务与要求1.基本要求:给主持人设置一个开关, 用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。
抢答器具有数据锁存和显示的功能。
抢答开始后, 若有选手按动抢答器按钮, 编号立即锁存, 并在LED数码上显示选手的编号, 同时扬声器给出音响提示。
此外, 要封锁输入电路, 禁止其他选手抢答。
1.发挥部分:2.抢答器具有定时抢答的功能, 且一次抢答的时间可以由主持人设定(如30秒)。
当节目主持人启动“开始”键后, 要求定时器立即减计时, 并用显示器显示, 同时扬声器发出短暂的声响, 声响持续时间0.5秒左右。
3.参加选手在设定的时间内抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答时刻的时间, 并保持到主持人将系统清零为止。
如果定时抢答的时间已到, 却没有选手抢答时, 本次抢答无效, 系统短暂报警, 并封锁输入电路, 禁止选手超时后抢答, 时间显示器上显示00。
选手如果在主持人按开始键之前违规抢答, 系统报警, LED显示违规选手号码和FF, 直到主持人按下停止键。
第二章抢答器方案论证抢答器的实现方式有种多样, 通过纯电子器件搭建电路实现, 如优先编码器, 锁存器, 555定时器译码器等, 纯电子器件实现没有软件参与, 调试简单, 但是它不易于扩展和修改, 而且电路结构复杂, 调试困难电子, 电子器件管脚很多, 实际搭建起来费时费力, 焊接很容易出错。
于是, 我想到了用单片机实现。
单片机体积小价格低, 应用方便, 稳定可靠。
单片机将很多任务交给了软件编程去实现, 大大简化了外围硬件电路, 使外围电路的实现简单方便。
完整版)基于单片机的抢答器设计
完整版)基于单片机的抢答器设计nThe purpose of this project is to design a quiz buzzer system based on a microcontroller。
The project was carried out by Yang Cunen。
a student from the Department of Physics and Mechatronics Engineering。
majoring in Electrical Engineering and n 122.The project was supervised by Associate Professor Xiang Genxiang and was completed on June 28.2015.Design ObjectivesThe main objective of this project is to design a quiz buzzer system that can be used in XXX。
The system should be able to handle XXX winner.Design RequirementsThe quiz buzzer system should have the following features: XXX 4 participantsFast response timeClear and audible soundEasy to operate and resetLow power nDesign PlanThe quiz buzzer system will be based on a microcontroller and will consist of the following components:XXX (MCU)Input/output (I/O) portsLED indicatorsXXXPower supplyXXXXXX used in the system is the ATmega328P。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号1251401243《单片机》课程设计(2012级本科)题目:基于单片机的抢答器设计系(部)院:物理与机电工程学院专业:电气工程及其自动122班作者姓名:杨存恩指导教师:向根祥职称:副教授完成日期: 2 0 1 5 年 6 月28 日目录1 引言 (2)1.1 设计目的 (2)1.2 设计要求 (2)2 设计方案 (2)3 硬件设计 (3)3.1 电路原理图 (3)3.2总体设计电路图 (3)3.2.1 振荡电路 (4)3.2.2 复位电路 (4)3.2.3 加减分电路及蜂鸣器报警电路 (5)3.2.4 抢答电路及裁判控制开始停止电路 (5)3.2.5 数码管显示电路 (6)4 仿真过程示意 (7)4.1 开始抢答 (7)4.2 抢答倒计时 (8)4.3 答题及答题倒计时 (8)4.4 违规抢答 (9)4.5 答题正确加分 (9)4.6 答题错误减分 (9)4.7 抢答结束 (10)5 程序流程图 (11)6 课程设计总结 (11)参考文献 (12)附录:源程序清单 (13)1 引言1.1 设计目的现如今电视节目日益丰富其中的竞赛环节也越来越多,其中智力抢答器是不可或缺的器材。
在本学期学习了单片机这门课之后,我觉得可以试着自己来实现抢答器的功能,令它能准确、公正、直观地判断出第一抢答者,并通过抢答器的数码管显示和蜂鸣器报警指出抢答组别。
最终做出一种数字式抢答器的设计方案,通过Proteus设计完成,利用keil2软件编辑程序,仿真验证,适用于多种竞赛场合。
1.2 设计要求设计一个用于智力竞赛的抢答器,其功能的实现是由单片机控制的,满足:(1)能容许2-6组进行抢答。
(2)能显示抢答组号。
(3)各组记分,并能记分显示。
(4)比赛结束时,能发出报警声。
2 设计方案在设计中采用的单片机是AT89C51,它主要负责控制各个部分协调工作。
P1.0和P1.7由裁判控制,分别是抢答开始和停止键。
P1.1—P1.6是6组抢答的输入口,按下对应按钮即为抢答。
P0口为数码管的段选口,位选口用的是P2口的低4位,外部中断0。
外部中断1,P3.3用于控制有组答题完成后结束计时。
P3.4—P3.5分别实现了分数的加一和减一。
P3.6为蜂鸣器的控制口。
外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。
外部还接有蜂鸣器用来发出报警音。
采用7SEG-MPX4-CC-BLUE显示,它是共阴极的由高电平点亮。
系统仿真用到了Proteus软件,通过仿真可以显示所设计系统的功能,对于程序的调试等有很大的帮助。
3 硬件设计3.1 电路原理图电路原理图如图3.1所示。
图3.1 电路原理图3.2总体设计电路图整个系统分为:外部振荡电路、复位电路、加减分电路及蜂鸣器报警电路、抢答电路及裁判控制开始停止电路、数码管显示电路几个部分。
本设计的核心是单片机AT89C51。
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
3.2.1 振荡电路振荡电路使用外部振荡电路,由两个1nF的电容和一个晶体振荡、外部振荡电路。
图3.2.1 晶振振荡电路3.2.2 复位电路外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。
硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值。
因为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软复位。
软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序开始。
图3.2.2 复位电路3.2.3 加减分电路及蜂鸣器报警电路P3.3接口的开关按下意味着答题结束,P3.4接口开关表示给抢答相应组加上一分,P3.5接口开关按下表示相应组减去一分。
裁判示意开始抢答、有组抢答成功、违规抢答、最后5s倒计时都会触发蜂鸣器发出警报。
P3.6为蜂鸣器控制口。
图3.2.3 加减分电路及蜂鸣器报警电路3.2.4 抢答电路及裁判控制开始停止电路P1.0和P1.7由裁判控制,分别是抢答开始和停止键。
P1.1-P1.6是6组抢答的输入口,按下按钮抢答。
图3.2.4 抢答电路及裁判控制开始停止电路3.2.5 数码管显示电路采用排阻RESPACK-8来做为上拉电阻,排阻一般应用在数字电路上,通常作为某个并行口的上拉或者下拉电阻用。
排阻具有方向性,与色环电阻相比具有整齐、少占空间的优点,比用若干只固定电阻更方便。
图3.2.5 排阻RESPACK-8数码管7SEG-MPX4-CC-BLUE,它是共阴极的数码管图3.2.6 数码管7SEG-MPX4-CC-BLUE4 仿真过程示意4.1 开始抢答开始抢答时,数码管显示000。
图4.1 开始抢答4.2 抢答倒计时允许抢答后,开始倒计时从15s直到0s。
在最后5s蜂鸣器会发出警报。
图4.2 抢答倒计时4.3 答题及答题倒计时第四组抢答,答题时间有30s,在最后5s蜂鸣器会发出警报。
图4.3 第四组答题及答题倒计时4.4 违规抢答若还没有允许抢答就有人按下抢答器,那么蜂鸣器会发出警报,并显示是哪一组违规抢答。
如图为第二组违规抢答。
图4.4 第二组违规抢答4.5 答题正确加分如图为第四组回答正确加一分图4.5 第四组答题正确加一分4.6 答题错误减分如图为第四组回答错误减一分图4.6 第四组答题错误减一分4.7 抢答结束抢答结束后电路复位,并记录各组抢答得分,待下次抢答得分累计。
5 程序流程图图5.1 程序流程图6 课程设计总结在这次课程设计中,我们运用到了以前所学的专业课知识,如:汇编语言、模拟和数字电路知识等。
虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。
要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
参考文献[1] 周立功.夏宇闻.单片机与CPLD综合应用技术[M].北京:北京航空航天大学出版[2] 丁元杰.单片微机原理及应用[M].北京:机械工业出版社.[3] 靳达编.单片机应用系统开发实例导航[M].北京:人民邮电出版社.[4] 李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社.[5] 胡宴如.高频电子线路[M].北京:高等教育出版社.[6] 白驹珩.雷晓平.单片计算机及其应用[M].成都:电子科技大学出版社.[7] 李广弟.单片机基础[M].北京:北京航空航天大学出版社.[8] 沈美明.温冬婵.IBM汇编语言程序设计[M].北京:清华大学出版社.[9] 彭传正.林春景.凌阳单片机原理与实践[M].北京:北京航空航天大学出版社.[10] 李荣正.陈学军.PIC单片机实践教程[M].北京:北京航空航天大学出版社。
附录:源程序清单OK EQU 20HRING EQU 22HORG 0000HAJMP MAINORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN:MOV R1,#15;设置抢答倒计时时间15sMOV R2,#30;设置答题倒计时时间30sMOV TMOD,#11H;设置未定时器/工作方式1(16位计数器)MOV TH0,#0F0H;MOV TL0,#0FFH;越高发声频率越高,越尖(3.842ms)MOV TH1,#3CH;MOV TL1,#0B0H;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX1;允许3个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;开始就运行定时器,初始显示888如果想重新计数,重置TH1/TL1;=====查询程序=====START: MOV R5,#00HMOV R4,#00HMOV R3,#00HACALL DISPLAY;未开始抢答时候显示888JB P1.0,NEXTACALL DELAYJB P1.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1->R6,因为R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT:JNB P1.1,FALSE1JNB P1.2,FALSE2JNB P1.3,FALSE3JNB P1.4,FALSE4JNB P1.5,FALSE5JNB P1.6,FALSE6AJMP START;=====非法抢答处理程序=====FALSE1: ACALL BARK;按键发声MOV R3,#01HAJMP ERRORFALSE2: ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERROR;=====INT1(答题对错加减分数程序)===== INT1SUB:MOV R4,#0AHMOV R5,#0AHJNB P3.4,INC1JNB P3.5,DEC1JNB P1.7,BACK1ACALL DISPLAYAJMP INT1SUBMOV A,R3SUBB A,#01HJZ XXY1SUBB A,#02HJZ XXY2SUBB A,#03HJZ XXY3SUBB A,#04HJZ XXY4SUBB A,#05HJZ XXY5SUBB A,#06HJZ XXY6XXY1:MOV R7,41HXXY2:MOV R7,42HXXY3:MOV R7,43HXXY4:MOV R7,44HXXY5:MOV R7,45HXXY6:MOV R7,46HINC1:INC R7CJNE R3,#01H,L1MOV 51H,R7L1:CJNE R3,#02H,L2MOV 52H,R7L2:CJNE R3,#03H,L3MOV 53H,R7L3:CJNE R3,#04H,L4MOV 54H,R7L4:CJNE R3,#05H,L5MOV 55H,R7L5:CJNE R3,#06H,LLMOV 56H,R7LL:ACALL DELAY1AJMP INT1SUBDEC1:DEC R7ACALL DELAY1AJMP INT1SUBBACK1:RETI;=====倒计时程序(抢答倒计时和回答倒计时都跳到该程序)=====COUNT: MOV R0,#00H;重置定时器中断次数MOV TH1,#3CH;MOV TL1,#0B0H;重置定时器(53ms)RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6MOV B,#0AHDIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;个位存于(31H)MOV R5,30H;取十位MOV R4,31H;取个位MOV A,R6SUBB A,#07HJNC LARGER;大于5s跳到LARGER,小于等于5s会提醒MOV A,R0CJNE A,#0AH,FULL;1s中0.5s向下运行CLR RINGAJMP CHECKFULL:CJNE A,#14H,CHECK;下面时1s的情况,报警,显示号数并清R0,重新计数SETB RINGMOV A,R6JZ QUIT;计时完毕MOV R0,#00HDEC R6;一秒标志减1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECK;如果1s向下运行,否则跳到查"停/显示"DEC R6;计时一秒R6自动减1MOV R0,#00HCHECK: JNB P1.7,QUIT;如按下停止键退出ACALL DISPLAYJB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)AJMP RECOUNTACCOUT:JNB P1.1,TRUE1JNB P1.2,TRUE2JNB P1.3,TRUE3JNB P1.4,TRUE4JNB P1.5,TRUE5JNB P1.6,TRUE6AJMP RECOUNTQUIT:CLR OK;如果按下了"停止键"执行的程序CLR RINGAJMP START;=====正常抢答处理程序=====TRUE1: ACALL BARK;按键发声MOV A,R2MOV R6,A;抢答时间R2送R6MOV R7,41HCLR OK;因为答题的计时不再查询抢答,所以就锁了抢答AJMP COUNTTRUE2:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#02HMOV R7,42HCLR OKAJMP COUNTTRUE3:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#03HMOV R7,43HCLR OKAJMP COUNTTRUE4:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#04HMOV R7,44HCLR OKAJMP COUNTTRUE5:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#05HMOV R7,45HCLR OKAJMP COUNTTRUE6:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNT;=====犯规抢答程序=====ERROR:MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3;犯规号数暂存与(34H)HERE: MOV A,R0CJNE A,#0AH,FLASH;0.5s向下运行->灭并停响CLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0AH;三灯全灭AJMP CHECK1FLASH:CJNE A,#14H,CHECK1;下面系1s的情况,响并显示号数并清R0,重新计SETB RINGMOV R0,#00HMOV R3,34H;取回号数MOV R5,#0BHMOV R4,#0BH;显示FF和号数AJMP CHECK1CHECK1:JNB P1.7,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJMP START;=====显示程序=====DISPLAY:MOV 41H,51HMOV 42H,52HMOV 43H,53HMOV 44H,54HMOV 45H,55HMOV 46H,56HMOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,MOV A,r5MOVC A,@A+DPTRMOV P2,#01HMOV P0,AACALL DELAYMOV DPTR,#DAT2MOV A,r4MOVC A,@A+DPTRMOV P2,#02HMOV P0,AACALL DELAYMOV A,r3MOVC A,@A+DPTRMOV P2,#04HMOV P0,AACALL DELAYMOV A,R7MOVC A,@A+DPTRMOV P2,#08HMOV P0,AACALL DELAYRETDAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;"灭","1","2","3","4","5","6","7","8","9","灭","F"DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;第一个为零,其他与上相同,因为十位如果为零显示熄灭;====加减时间延时(起到不会按下就加N个数)======DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET;=====延时(显示和去抖动用到)=====DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=====发声程序=====BARK: SETB RINGACALL DELAY1ACALL DELAY1CLR RING;按键发声RET;=====TO溢出中断(响铃程序)=====T0INT: MOV TH0,#0ECHMOV TL0,#0FFHJNB RING,OUT;CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音OUT: RETI;=====T1溢出中断(计时程序)=====T1INT: MOV TH1,#3CHMOV TL1,#0B0HINC R0RETIENDPLC程设计成绩评定表指导教师签字:年月日。