六路抢答器说明书终极版
六路抢答器课程设计(附程序)
北京科技大学本科生课程设计说明书题目:六路抢答器学院:专业:姓名:学号:指导教师签字:摘要随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
各种技术都离不开计算机,计算机已经在人们生活的各个方面普及了。
本课程设计是微机原理及接口技术的简单应用。
运用所学的微机原理和接口技术知识完成六路抢答器。
通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了六路抢答器出现的各种情况。
该抢答器以主持人为中心,操作抢答器的开始与复位,选手们可以根据主持人的提示进行抢答,该抢答器基本能满足现在社会抢答的需要,设计简单,成本低,适合小型抢答场合。
关键词:抢答器硬件电路软件编程模拟系统前言随着人们生活水平的提高,微机已经成为人们生活中重要的部分,掌握微机原理是我们信息类专业的必备知识。
8086/8088CPU是基础且广泛应用的处理器,它由执行单元和总线接口部分组成。
本说明书是包括课程设计的要求、汇编语言程序以及相关的硬件设计等内容组成。
根据汇编语言的优点,运用汇编语言的来编写程序,使程序更加便于阅读和理解。
本说明书是根据本人课堂上所学的知识以及参考相关文献的基础上编写的。
通过这次的编写,使我对微机原理和各种软硬件系统的认识变得更加深刻,打下实践的基础。
全书共分为4章,第1章为课题的来源,为本说明书的导论,基本概括来介绍了本设计题目的基本要求。
第2章为总体的设计思路,系统的介绍了本课题的具体如何实现。
第3章为硬件设计,该部分主要介绍了所需要的硬件和硬件的连接。
第4章为软件设计,该部分主要介绍了设计流程和具体实现的程序代码。
本说明书的编写得到了许多同学的关心和帮助,正是由于他们的指导、帮助和大力支持,才使本说明书得以顺利的完成。
由于本人水平有限,说明书中难免存在不足与疏漏之处,恳请老师不吝指正。
目录摘要 (2)引言 (3)课程设计任务书 (5)1[课题来源] (6)1.1[需求分析] (6)1.1.1[课题来源的意义] (6)1.1.2[设计内容] (6)1.1.3[设计目的] (6)1.1.4[系统功能] (6)2[总体设计思路] (8)2.1[设计思路] (8)2.2[红黄绿灯的表示] (9)3[硬件设计] (10)3.1[芯片8255] (10)3.1.1[芯片8255,8253,8259的引脚] (10)3.1.2[芯片8255,8253,8259的工作方式] (11)3.2[硬件连接] (12)3.2.1[硬件连接图] (12)3.2.2[其他配置] (14)4[软件设计] (15)4.1[程序流程图] (15)4.2[程序设计] (16)小结 (23)参考文献 (24)课程设计任务书一.设计内容设计一个具有6路抢答的抢答器,启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。
六路抢答器说明书
情况一:抢答时间已到,但是没有人抢答;意味着本次抢答无效,系统短暂报警,此时将切断抢答电路,禁止选手超时抢答,时间显示为88.
情况二:如果选手在主持人按开始键之前抢答,系统报警,LCD同时显示违规选手的号码和倒计时时间为FF。
情况三:如果有一选手在抢答时间内先按下抢答键,此时倒计时结束(定时器停止工作),LCD同时显示抢答者的号码和抢答时刻的时间,直至回答完毕后主持人进行系统清零。
1.2选题的目的和意义—————————————4
1.3抢答器的设计要求—————————————4
第二章 方案选择及设计思路与原理方框图—————5
2.1设计思路—————————————————6
2.2总体方框图————————————————6
2.3抢答器的工作流程—————————————7
3不限制使用LCD的类型
4在满足以上要求的基础上,可以加以创新。
设计步骤
1、根据课题,查阅相关资料
2、学习如何使用proteus和keil两款软件(网上可查找教程)
3、画出系统原理框图;
4、画出单元电路、撰写说明书
目录
第一章 选题背景————————————————4
1.1概述 ———————————————————4
1.2选题的目的和意义
①、通过单片机课程设计,熟练掌握编程方法,将单片机理论知识与实践相结合。
②、通过六路电子抢答器控制系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,提高实践能力。
③、初步掌握多功能抢答器的调整及测试方法。提高动手能力和排除故障的能力。
1.3抢答器的设计要求
①.该抢答器具有控制系统清零、控制抢答器开始,便于主持人控制现场时间(例如抢答时间可以设置为15s,当主持人按下开始键时时间进入倒计时,在LCD上显示,同时有0.5s-1s的蜂鸣器的声响)
单片机6路抢答器说明书正文
1.前言21世纪是瞬息万变的信息社会。
现代信息技术由三大部分组成,信息的采集──传感技术,信息传递──通信技术,信息处理──计算机技术。
而电子产品正在以前所未有的革新速度,向着功能多样化,体积最小化,功耗最低化的方向发展。
它与传统电子产品在设计上的显著区别一是大量使用大规模可编写芯片,以提高产品性能,缩小产品体各,降低产品功耗,二是广泛运用现代计算机技术,以提高电子设计自动化程序,缩短开发周期,提高产品的竞争力。
单片机的单芯片的微小体积和极低的成本,可广泛地嵌入到电子系统,办公自动化、舰船、个人信息终端及通信产品等方方面面,成为现代电子系统中最重要的智能化工具。
目前,形式多样、功能完备的抢答器已广泛应用于电视台、商业机构、学校及企事单位它为各种竞赛增添了刺激性、娱乐性,在一定程度上丰富了人们的业余生活。
在我们以前所学习的课程中,根据所学的知识来设计此电路。
电路中主要的功能模块是单片机、电源模块、数码管显示模块等。
在学习了数字电子技术基础的前提下,我们基本可以独立理解和分析电路,能够了解AT89C2051单片机、七段数码显示器、音乐IC等集成电路,能够知道这些集成电路的基本功用和应注意的问题。
本设计是以抢答为出发点,利用AT89C2051单片机及外围接口来实现的六路抢答系统。
综合应用了之前学校所学的单片机、微机控制、电路设计等方面的知识。
适合于多种场合的保密,特别适合于公众场合比赛等。
利用单片机的计数器的原理,将软、硬件有机的结合起来,使得系统能够正确地进时计数,同时使数码管能够正确地显示按键者的编号。
用抢答按钮做键盘输出,扬声器发出提示。
2.系统设计技术参数要求抢答者编号显示:用LED数码管进行显示。
(1)当系统工作后,6路抢答者中只要有一人按下抢答键,系统的数码管便显示按键者的编号,同时喇叭中响起动听的音乐声,表示抢答成功。
(2)当有几个人同时按键时,由于在时间上必定存在先后,系统将对第一个按下者进行锁存,显示的编号也是第一个按下者,其他按键者将不能响应,以便公平地选择第一个抢答者。
单片机课程设计(完整版六路抢答器)
学号 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 智能抢答器的发展现状随着电子技术的发展,现在的抢答器功能越来越强,可靠性和准确性也越来越高。
能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大。
对于目前抢答器的功能描述,如涵盖抢答器、抢答限时、选手答题计时及犯规组号抢答器具有抢答自锁,灯光指示、暂停复位、电子音乐报声、自动定时等功能,还有工作模式的切换和时间设定,对于这些,随着科学技术的发展,肯定还要得到进一步的改进。
毕业设计118六路抢答器
数字电路课程设计报告数字竞赛抢答器2008年1月设计题目:数字竞赛抢答器一.设计任务与要求:有许多比赛活动中为了准确、公正、直观的判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。
同时,还可以设置记分、犯规及奖惩记录等多种功能。
1.设计制造一个可容纳六组参赛的数字式抢答器,每组设置一个抢答按钮供抢答者使用。
2.电路具有第一抢答信号的鉴别和锁存功能。
在主持人将系统复位并发出抢答指令后,开始抢答,定时器开始工作,数码管显示时间,从30开始减计数,并有小灯亮起(说明可以抢答,抢答有效)30秒内无人抢答则计数停,无人答显示“0”.如30秒内参赛者按抢答开关,则,该组指示灯亮并用组别显示电路显示出抢答者的组别,同时抢答器发出“嘀~嘟”的双音音响持续2~3秒钟。
此时,电路应具备自缩功能,使其他组的抢答开关不起作用。
3.设置记分电路。
每组在开始预置成100分,抢答后主持人记分,答对一次加10分,否则减10分。
4.设置犯规电路。
对提前抢答和超时抢答的组别鸣喇叭示警,并由显示电路显示出犯规组别。
二.总体方案设计:(一)设计思路:1.本题的根本任务是准确判断出第一抢答者的信号并将其锁存。
实现这一功能可用触发器或锁存器等。
在得到第一信号之后立即将电路的输入封存,使得其他组的抢答信号无效。
同时还必须注意,第一抢答信号应该在主持人发出抢答命令之后才有效,否则应视为提前抢答而犯规。
2.当电路形成第一抢答信号之后,用编码、译码及数码显示电路显示出抢答者的组别,也可以用发光二极管直接指示出组别,还可以用鉴别出的第一抢答信号控制一个具有两种工作频率交替变化的音频振荡器工作,使其推动扬声器发出两态笛音音响,表示该抢答有效。
3.记分电路可采用2位七段数码管显示,由于每次都是加或减10分,故个位总保持为零,只要十位和百位做加减计数即可,可采用两级加减计数器完成。
(二)原理框图如下:三.具体实现:1.抢答器同时供6名选手或6个代表队比赛,分别用6个按钮S1 ~S6表示。
抢答器使用手册
抢答器使用手册抢答器配置清单配置名称数量主机 1 主显示屏 1 计分显示屏 12 显示屏底座 13 数据线 13 抢答盒 13 电源线 1多北方民族大学多功能抢答器使用手册目录一、概述二、适用范围三、设备申请四、操作键说明五、功能及使用方法六.注意事项七、主机面板图手则一、概述为了展现选手风采,体现“公平、公正、公开”的竞技原则,更好的开展大学生知识竞赛比赛,现依据实际情况由校团委向学校有关部门申请购买多功能智能抢答器一台,用以各学院、学生会、学生社团组织开展知识竞赛。
现依据北方民族大学设备(器材)使用管理办法编制此手册用以解决具体操作当中的相关问题。
二、适用范围本设备适用于各学院、学生会、学生社团所开展的知识竞赛的抢答环节及加分环节,同时也可适用于辩论赛的计分环节和其他需要抢答、计分的综合性比赛,最多可同时进行12组选手当场竞赛。
三、设备申请为了加强设备管理,延长设备使用寿命,各学院、学生会、学生社团在申请使用多功能智能抢答器时必须按照申请流程申报请示,具体说明如下:(1)申请人要求:申请人必须具备以下几种情况方可向校团委提出设备使用申请:1.我校校园科技文化艺术节组委会成员2.我校各系辅导员3.我校校级学生主席4.我校团体管理委员会5.其他组织(2)申请流程1.申请人必须在正式比赛前三天向校团委提出设备使用申请,并填写北方民族大学校团委设备发放登记表,注明设备使用时间和归还日期。
申请必须由校团委书记签字同意方可。
2. 若申请人已经取得使用资格,在使用前应认真核实设备配置。
(3)相关责任1.申请人有责任指派专人对设备进行操作和管理。
由于申请人个人疏忽或安排不当造成的设备损坏或遗失由申请人具体负责。
2.申请人有责任维护设备,保障设备的完好运行,由于操作人员的误操作致使设备损坏由申请人负全部责任。
四、操作键说明1.《计时》键在选手开始回答问题时,按下此键开始为选手答题倒计时。
倒计时结束时,机器自动发出“时间到,请停止回答”的语音提示。
基于单片机的六路抢答器
目录第1节引言 (2)1.1 数字抢答器的概述 (2)1.2设计任务与要求 (2)1.3系统主要功能 (3)第2节系统主要硬件电路设计 (5)2.1 单片机控制系统原理图 (6)2.2 单片机主机系统电路 (6)2.2.1 时钟频率电路的设计 (6)2.2.2 复位电路的设计 (7)2.2.3 显示电路的设计 (7)2.2.4 键盘扫描电路的设计 (7)2.3 发声 (8)2.4 系统复位 (8)第3节系统软件设计 (10)3.1 主程序系统结构图 (10)3.2 程序流程图 (10)3.3 系统程序 (11)第4节调试及性能分析 (20)第5节结束语 (21)参考文献 (22)基于单片机的六路抢答器第1节引言单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。
若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。
本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。
单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,体现了公平公正的原则。
1.1 数字抢答器的概述对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,体现了公平公正的原则。
本实验设计的数字抢答器由主体电路与扩展电路组成。
六路抢答器
目录1、设计要求及设计思路 (2)1.1、设计要求 (2)1.2、设计思路 (2)2、各模块电路 (2)2.1、抢答电路 (2)2.2、违规报警电路 (5)2.3、蜂鸣器报警功能 (6)2.4、抢答超时报警功能 (8)2.5、加分减分功能 (11)3、整体电路图 (13)4、实验结果分析 (14)1、设计要求及设计思路1.1、设计要求1)抢答器可供6名选手进行抢答,每名选手有一个抢答按钮;2)抢答器具有主持人功能,主持人有重置按钮和开始抢答按钮;3)抢答器具有抢答报警功能,在主持人依次按下重置按钮和开始抢答按钮后,选手抢答有效抢答,否则视为违规抢答;4)抢答器具有锁定功能,当其中一名选手抢答完成时,其他选手抢答无效;5)抢答器具有抢答成功显示功能,当选手抢答成功后,能够显示抢答成功的选手号,且蜂鸣器发出两秒的“嘟嘟”声。
6)抢答器具有违规抢答报警功能,当选手违规抢答时,抢答器示出选手号,且蜂鸣器一直发出声音。
7)抢答器具有超时抢答功能,当主持人按下开始抢答按钮后进行倒计时,倒计时结束时无任何选手抢答,则视为本次抢答无效。
1.2、设计思路本课题的首要任务是准确判断第一位抢答选手,并无效化其他抢答选手。
实现这一功能,需要用到触发器和锁存器,在得到第一位抢答信号后,将电路状态进行锁存,使得其他选手的抢答无效;在第一抢答信号完成后,根据编码器、译码器、数码管显示抢答选手号;在主持人没有按下开始按钮后,抢答无效,在主持人按下抢答按钮且超过抢答倒计时时,本次抢答无效。
2、各模块电路2.1、抢答电路此部分电路主要功能是实现六路抢答选手的抢答,并实现锁存功能。
第一部分,在选手完成抢答时,将抢答成功的选手号先进行锁存,利用锁存芯片74LS373,再将选手号送入到74LS48译码器中,译码器输出接共阴极数码管,用来显示抢答成功的选手号;第二部分,在第一位选手抢答成功以后,74LS148产生抢答成功标志位,该标志位送入RS触发器74LS279中,74LS279产生低电平,将该低电平送入74LS373的使能端,使得后面的选手抢答无效。
抢答器课程设计说明书
专业课程设计说明书课题名称:六人抢答器电路设计姓名:胡星学号:21006021026专业:电子信息工程班级:电本一班成绩:指导教师:宁仁霞课题时间:2012年11月7日--2013年1月9日黄山学院教务处制目录一、设计目的 (1)二、课程设计任务及基本要求 (1)1、设计任务 (1)2、设计要求 (1)三、进度安排 (1)四、摘要 (1)1、中文摘要 (1)2、英文摘要 (1)五、系统框图 (2)六、六人抢答器总电路图及原理 (3)七、各分电路及其作用 (3)1、时序控制电路 (3)2、封锁电路 (4)3、编码电路 (5)4、译码报警电路 (5)5、语音提示电路 (6)6、显示驱动电路 (6)八、心得体会 (7)九、参考文献 (7)一、设计目的1.掌握六人智力竞赛抢答器电路的设计、组装与调试方法。
2.熟悉数字集成电路的设计和使用方法。
二、课程设计任务及基本要求1、设计任务设计一台可供6名选手参加比赛的智力竞赛抢答器。
用数字显示抢答倒计时间,由“9”倒计到“0”时,无人抢答,蜂鸣器连续响1秒。
选手抢答时,数码显示选手组号,同时蜂鸣器响1秒,倒计时停止2、设计要求(1)6名选手编号为:1, 2, 3, 4, 5, 6 各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1, 2, 3, 4, 5, 6(2)给主持人设置一个控制按钮,用来控制系统清零(抢答显示数码管灭灯)和抢答的开始。
(3)抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,并在抢答显示器上显示该编号,同时扬声器给出音响提示,封锁输入编码电路,禁止其他选手抢答。
抢答选手的编号一直保持到主持人将系统清零为止。
(4)如果抢答定时已到,却没有选手抢答时,本次抢答无效。
系统扬声器报警(音响持续1秒),并封锁输入编码电路,禁止选手超时后抢答,时间显示器显示0 三、进度安排设计时间为两周,第一周查资料、方案论证,完成数字抢答器电路设计,对元器件进行筛选,第二周组装、调试,进行实物检查、设计答辩并完成设计报告。
抢答器使用说明
图中1~8号按键选手按键9:复位键10:开始/重答键11:停止/确定键12:抢答时间调节键13 :回答时间调节键14:时间调节、分数调节加一键15:时间调节、分数调节减一键16:分数查看/犯规处理/回答完毕使用说明:1、抢答、答题在E EE状态(初始状态)下,按下键10,则开始进入抢答中,若无人抢答,当计时结束后跳回初始状态。
若有人抢答,则进入回答等待状态,当再次按下键10则开始计时,在计时没结束之前可以按下键10 重新回答。
当计时结束或按下键16表示回答完毕,进入分数修改程序。
按键14/15修改分数后,再按键11返回。
2、查看分数当数码管显示E EE状态时,点击键16会进入分数查看程序,初始时显示选手1的等分情况,每位选手初试分数为10分,当长按下各选手的抢答开关,就会显示对应选手的得分。
开关断开,又会回到初始状态,当按下键11 即可恢复到E EE状态。
3、抢答犯规程序当数码管显示E EE时,若有选手抢答则是违规的,数码将显示抢答位数,点击键16进入分数修改程序,按键14/15实现对分数的加减,修改完毕按键11,确定并退出。
4、抢答时间/回答时间修该按下键12/13进入分数修改程序,按键14/15实现对分数的加减,修改完毕按键11,确定并退出。
5、复位按下键9则复位单片机,清除一切数据。
程序:OK EQU 20H ;抢答开始标志位RING EQU 22H ;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP QTIM0ORG 000BHAJMP OVERRORG 0013HAJMP ASKTIM0ORG 001BHAJMP OVERTORG 0040HMAIN:MOV R1,#20 ;初设抢答时间为20sMOV R2,#60 ;初设答题时间为60sMOV 50H ,#10MOV 51H ,#10MOV 52H ,#10MOV 53H ,#10MOV 54H ,#10MOV 55H ,#10MOV 56H ,#10MOV 57H ,#10 ;初始化各选说分数为10分MOV TMOD,#11H ;设置定时器/不受外部中断控制/定时/模式1MOV TH0,#0F0HMOV TL0,#0FFH ;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H ;50ms为一次溢出中断SETB EA ;CPU开中断SETB ET0SETB ET1SETB EX0SETB EX1 ;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0 ;一开始就运行定时器,以开始显示E EE.如果想重新计数,重置TH1/TL1就可以了;*****查询程序*****START:MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL XIANSHI ;未开始抢答时候显示E EEJNB P3.6,SCOCHJB P3.0,NEX ;如果"开始键"按下就向下执行,否者跳到非法抢答查询ACALL BARK ;按键发声MOV A,R1MOV R6,A ;送R1->R6,因为R1中保存了抢答时间SETB OK ;抢答标志位,用于BACKT只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH ;抢答只显示计时,灭号数AJMP BACKT ;进入倒计时程序,"查询有效抢答的程序"在BACKT里面NEX:AJMP NEXT;*****分数查询******STAR:ACALL BARKAJMP STARTSCOCH:ACALL BARKAJMP SCOCHA SCOCHA:JNB P3.1,STARJNB P1.0,S1JNB P1.1,S2JNB P1.2,S3JNB P1.3,S4JNB P1.4,S5JNB P1.5,S6JNB P1.6,S7JNB P1.7,S8S1:MOV R3,#01HMOV A,50HAJMP SSS2:MOV R3,#02HMOV A,51HAJMP SSS3:MOV R3,#03HMOV A,52HAJMP SSS4:MOV R3,#04HMOV A,53HAJMP SSS5:MOV R3,#05HMOV A,54HAJMP SSS6:MOV R3,#06HMOV A,55HAJMP SSS7:MOV R3,#07HMOV A,56HAJMP SSS8:MOV R3,#08HMOV A,57HAJMP SSSS: MOV B,#0AHDIV ABMOV R5,AMOV R4,BACALL DELAY1AJMP SCOCHANEXT:MOV A, P1MOV 36H,AJNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START;*****非法抢答处理程序*****FALSE1:MOV R3,#01HAJMP ERRORFALSE2:MOV R3,#02HAJMP ERRORFALSE3:MOV R3,#03HAJMP ERRORFALSE4:MOV R3,#04HAJMP ERRORFALSE5:MOV R3,#05HAJMP ERRORFALSE6:MOV R3,#06HAJMP ERRORFALSE7:MOV R3,#07HAJMP ERRORFALSE8:MOV R3,#08HAJMP ERROR;*****抢答时间R1调整程序*****QTIM0:ACALL BARKQTIME:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL XIANSHI ;先在两个时间LED上显示R1JNB P3.4,INC0 ;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0 ;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0 ;P3.1为确定键,如按下跳到BACKOAJMP QTIMEINC0:ACALL BARKMOV A,R1CJNE A,#63H,ADD0 ;如果不是99,R2加1,如果加到99,R1就置0,重新加起。
数电-六路抢答器
课程设计说明书课题名称:数字式竞赛抢答器专业名称:电子信息工程技术学生班级:电信0604班学生姓名:段伶俐学生学号: 401060506指导教师:龙卓珉课程设计任务书数字式竞赛抢答器一、功能要求1、设计制作一个可容纳6组参赛的数字式枪答器,每组设置一个抢答按钮供抢答者使用。
2、给主持人设置一个控制开关,用来控制系统的清零和抢答的开始。
3、抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号(1~6),同时扬声器给出音响提示。
同时禁止其他选手抢答。
4、抢答器具有定时抢答的功能,抢答时间设定为30秒,当主持人按下开始按钮时,定时器立刻倒计时,并显示。
选手在设定的时间内抢答有效。
超过时间抢答无效,定时显示器显示00。
二、设计步骤与要求1、拟定电路的组成框图,要求能实现所有功能,使用的元器件少,成本低。
2、设计并安装电路,要求布线整齐、美观,便于级联和调试。
3、测试所设计抢答器的逻辑功能,满足各项功能要求。
4、画出整机逻辑电路图。
5、写出设计报告。
目录课程设计任务书 (1)第1章原理分析 (3)1.1定时抢答器的总体框图 (3)1.2方案选择及论证 (4)第2章单元电路的设计 (4)2.1抢答电路的设计 (4)2.2定时电路的设计 (6)2.3时序控制电路的设计 (7)2.4总电路图 (10)第3章元器件的介绍 (10)第4章安装与调试 (14)总结 (15)参考文献 (17)附录 (18)第1章原理分析1.1定时抢答器的总体框图定时抢答器的总体框图如图1所示。
他主要由主体电路和扩展电路两部分组成。
主体部分完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号。
同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成定时的抢答功能。
图1所示定时抢器的工作过程是:接通电源时,节目支持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯,定时器显示设定的时间,当主持持人宣布抢答题目后,说一声“抢答开始”,同时将控制开关拨到“开始”位置,抢答器处于工作状态,定时器倒计时,当定时时间到,却没有选手抢答时,输入电路被封锁,禁止选手超时后抢答。
六人抢答器
一课程设计题目六人抢答器二实现的功能1、抢答器同时供六名选手比赛,抢答按钮分别为P1,P2,P3,P4,P5,P62、test状态检测抢答装置是否正常。
3、在start状态下,最快按下按钮的选手抢答成功,且绿灯亮,至本轮结束。
4、在读题时,即prepare状态,按下抢答键视为犯规,红灯亮,取消本轮抢答机会。
5、主持人可以设置抢答时间,当系统鉴定出第一抢答后,自动开始倒计时,倒计时完后发出响声。
若在规定时间内回答,由主持人按使能开关,停止倒计时。
6、抢答器具有预置分和手动加分功能。
7、系统能显示分数和时间。
三系统结构框图P1P2P3P4P5P6控制三程序流程1、抢答模块2、时间模块3、记分模块4、显示模块四模块连接五程序设计1.程序代码:抢答模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity qiangdasix isport(test:in std_logic; --测试prepare:in std_logic; --读题start:in std_logic; --开始抢答p1:in std_logic; --抢答按钮p2:in std_logic;p3:in std_logic;p4:in std_logic;p5:in std_logic;p6:in std_logic;result:out std_logic_vector(3 downto 0); --抢答结果led1_green:out std_logic; --绿灯,抢答成功led2_green:out std_logic;led3_green:out std_logic;led4_green:out std_logic;led5_green:out std_logic;led6_green:out std_logic;led1_red:out std_logic; --红灯犯规led2_red:out std_logic;led3_red:out std_logic;led4_red:out std_logic;led5_red:out std_logic;led6_red:out std_logic;over:out std_logic); --抢答结束end qiangdasix;architecture behav of qiangdasix issignal stop:std_logic:='0';signal tled1_green:std_logic:='0'; --用于测试signal tled2_green:std_logic:='0';signal tled3_green:std_logic:='0';signal tled4_green:std_logic:='0';signal tled5_green:std_logic:='0';signal tled6_green:std_logic:='0';signal qled1_green:std_logic:='0';signal qled2_green:std_logic:='0'; --用于抢答signal qled3_green:std_logic:='0';signal qled4_green:std_logic:='0';signal qled5_green:std_logic:='0';signal qled6_green:std_logic:='0';signal qualify1:std_logic:='0'; --犯规标志signal qualify2:std_logic:='0';signal qualify3:std_logic:='0';signal qualify4:std_logic:='0';signal qualify5:std_logic:='0';signal qualify6:std_logic:='0';signal sell:std_logic_vector(5 downto 0);begincheck:process(test,start,prepare,p1,p2,p3,p4,p5,p6)beginif prepare='1'then --测试数据初始化tled1_green<='0';tled2_green<='0';tled3_green<='0';tled4_green<='0'; tled5_green<='0';tled6_green<='0';elsif test='1'and start='0'then --测试if p1='1' then tled1_green<='1';end if; --检查抢答按键if p2='1' then tled2_green<='1';end if;if p3='1' then tled3_green<='1';end if;if p4='1' then tled4_green<='1';end if;if p5='1' then tled5_green<='1';end if;if p6='1' then tled6_green<='1';end if;end if;end process check;qiang:process(start,test,prepare,p1,p2,p3,stop,qualify1,qualify2,qualify3) beginif(prepare='1')thenstop<='0';qualify1<='0';qualify2<='0';qualify3<='0';qualify4<='0'; qualify5<='0';qualify6<='0';qled1_green<='0';qled2_green<='0';qled3_green<='0';qled4_green<='0';qled5_green<='0';qled6_green<='0'; led1_red<='0';led2_red<='0';led3_red<='0';led4_red<='0';led5_red<='0';led6_red<='0'; --数据初始化elsif(start='0'and test='0')then --还未开始抢答,按下按键犯规if(p1='1')then qualify1<='1';led1_red<='1';end if;if(p2='1')then qualify2<='1';led2_red<='1';end if;if(p3='1')then qualify3<='1';led3_red<='1';end if;if(p4='1')then qualify4<='1';led4_red<='1';end if;if(p5='1')then qualify5<='1';led5_red<='1';end if;if(p6='1')then qualify6<='1';led6_red<='1';end if;elsif(stop='0'and test='0'and start='1') the--开始抢答,没犯规且按--下按键,抢答成功if (p1='1'and qualify1='0') then qled1_green<='1';end if;if (p2='1'and qualify2='0') then qled2_green<='1';end if;if (p3='1'and qualify3='0') then qled3_green<='1';end if;if (p4='1'and qualify4='0') then qled4_green<='1';end if;if (p5='1'and qualify5='0') then qled5_green<='1';end if;if (p6='1'and qualify6='0') then qled6_green<='1';end if;if(qled1_green<='0'and qled2_green<='0'and qled3_green<='0'and qled4_green<='0'and qled5_green<='0'and qled6_green<='0')thenstop<='0'; --还没有人抢答成功,不关进程else stop<='1'; --有人抢答成功,不继续扫描按键end if;else null;end if;over<=stop;end process qiang;evaluate:process(tled1_green,tled2_green,tled3_green,tled4_green,tled5_ green,tled6_green,qled1_green,qled2_green,qled3_green,qled4_green,qle d5_green,qled6_green) --绿灯显示beginled1_green<=tled1_green or qled1_green;led2_green<=tled2_green or qled2_green;led3_green<=tled3_green or qled3_green;led4_green<=tled4_green or qled4_green;led5_green<=tled5_green or qled5_green;led6_green<=tled6_green or qled6_green;sell<=qled1_green&qled2_green&qled3_green&qled4_green&qled5_green&qled6_green;case sell is --输出抢答结果,用于加分模块when"100000"=>result<="0001";when"010000"=>result<="0010";when"001000"=>result<="0011";when"100100"=>result<="0100";when"000010"=>result<="0101";when"000001"=>result<="0110";when others=> result<="0000";end case;end process evaluate;end behav;时间模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity tim isport(settime:in std_logic; --时间设置load:in std_logic; --读入预置数en:in std_logic; --使能端clk:in std_logic; --时钟信号bell:out std_logic; --时间到,蜂鸣器响q1,q0:out std_logic_vector(3 downto 0));--当前时间输出,用于显示end tim;architecture art of tim issignal clk1:bit;signal q:std_logic_vector(7 downto 0);signal tim1:std_logic_vector(3 downto 0);signal tim0:std_logic_vector(3 downto 0);signal time1:std_logic_vector(3 downto 0);signal stop:std_logic;begindividefreq:process(clk)beginif(clk'event and clk='1') then --该进程用于产生秒信号q<=q+1;if q="11111010" thenq<="00000000";clk1<=not clk1;else null;end if;end if;end process dividefreq;set:process(settime)beginif(settime'event and settime='1') then --时间设置if time1="1001"then time1<="0000";else time1<=time1+'1';end if;end if;end process set;timm:process(clk1,load,en,stop)beginif (load='1')then --读入预置时间tim1<=time1;tim0<="0000";stop<='0';bell<='0';elsif(clk1'event and clk1='1')thenif stop='0'and en='1' then --开始计时if tim0="0000"and tim1="0000"then bell<='1';stop<='1';elseif(tim0="0000")thentim0<="1001";tim1<=tim1-'1';else tim0<=tim0-'1';end if;end if;end if;end if;end process timm;q1<=tim1;q0<=tim0;end art;计分模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity score isport(set:in std_logic; --分数初始化add:in std_logic; --加分chos:in std_logic_vector(3 downto 0); --选择加分的选手a1,a2,a0:out std_logic_vector(3 downto 0);--寄存分数值b1,b2,b0:out std_logic_vector(3 downto 0);c1,c2,c0:out std_logic_vector(3 downto 0);d1,d2,d0:out std_logic_vector(3 downto 0);e1,e2,e0:out std_logic_vector(3 downto 0);f1,f2,f0:out std_logic_vector(3 downto 0));end score;architecture art of score issignal points_a2,points_a1:std_logic_vector(3 downto 0);signal points_b2,points_b1:std_logic_vector(3 downto 0);signal points_c2,points_c1:std_logic_vector(3 downto 0);signal points_d2,points_d1:std_logic_vector(3 downto 0);signal points_e2,points_e1:std_logic_vector(3 downto 0);signal points_f2,points_f1:std_logic_vector(3 downto 0);beginprocess(set,add,chos)beginif set='1'then --分数初始化points_a2<="0001";points_a1<="0000";points_b2<="0001";points_b1<="0000";points_c2<="0001";points_c1<="0000";points_d2<="0001";points_d1<="0000";points_e2<="0001";points_e1<="0000";points_f2<="0001";points_f1<="0000";elseif(add'event and add='1')then --对选中的选手加分if (chos="0001")thenif points_a1="1001"then points_a1<="0000";if points_a2="1001"then points_a2<="1010";else points_a2<=points_a2+1;end if;else points_a1<=points_a1+'1';end if;elsif chos="0010"thenif points_b1="1001"then points_b1<="0000";if points_b2="1001"then points_b2<="1010";else points_b2<=points_b2+1;end if;else points_b1<=points_b1+'1';end if;elsif chos="0011"thenif points_c1="1001"then points_c1<="0000";if points_c2<="1001"then points_c2<="1010";else points_c2<=points_c2+1;end if;else points_c1<=points_c1+'1';end if;elsif chos="0100"thenif points_d1="1001"then points_d1<="0000";if points_d1="1001"then points_d2<="1010";else points_d2<=points_d2+1;end if;else points_d1<=points_d1+'1';end if;elsif chos="0101"thenif points_e1="1001"then points_e1<="0000";if points_e2="1001"then points_e2<="1010";else points_e2<=points_e2+1;end if;else points_e1<=points_e1+'1';end if;elsif chos="0110"thenif points_f1="1001"then points_f1<="0000";if points_f2="1001"then points_f2<="1010";else points_f2<=points_f2+1;end if;else points_f1<=points_f1+'1';end if;end if;end if;end if;end process;a2<=points_a2;a1<=points_a1;a0<="0000"; --用于显示b2<=points_b2;b1<=points_b1;b0<="0000";c2<=points_c2;c1<=points_c1;c0<="0000";d2<=points_d2;d1<=points_d1;d0<="0000";e2<=points_e2;e1<=points_e1;e0<="0000";f2<=points_f2;f1<=points_f1;f0<="0000";end art;显示模块:library ieee;use ieee.std_logic_1164.all;entity display is --用动态扫描法,扫描时间,分数port(clk:in std_logic; --共14位数q1,q0:in std_logic_vector(3 downto 0);--时间a1,a2:in std_logic_vector(3 downto 0);--各选手成绩b1,b2:in std_logic_vector(3 downto 0);c1,c2:in std_logic_vector(3 downto 0);d1,d2:in std_logic_vector(3 downto 0);e1,e2:in std_logic_vector(3 downto 0);f1,f2:in std_logic_vector(3 downto 0);lsd:out bit_vector(13 downto 0);bcd:out std_logic_vector(3 downto 0));end display;architecture behav of display istype dis_p is array(0 to 13)of std_logic_vector(3 downto 0);signal dis_p1:dis_p;signal cnt: integer range 0 to 14;beginprocess(clk,a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2,q1,q0)begin --把要显示的数据装入数组,便于循环dis_p1(0)<=q1;dis_p1(1)<=q0;dis_p1(2)<=a2;dis_p1(3)<=a1;dis_p1(4)< =b2;dis_p1(5)<=b1;dis_p1(6)<=c2;dis_p1(7)<=c1;dis_p1(8)<=d2;dis_p1(9)<=d1;dis_p1(10)<=e2;dis_p1(11)<=e1;dis_p1(1 2)<=f2;dis_p1(13)<=f1;if rising_edge(clk)thencase cnt iswhen 0=>lsd<="10000000000000";when 1=>lsd<="01000000000000";when 2=>lsd<="00100000000000";when 3=>lsd<="00010000000000";when 4=>lsd<="00001000000000";when 5=>lsd<="00000100000000";when 6=>lsd<="00000010000000";when 7=>lsd<="00000001000000";when 8=>lsd<="00000000100000";when 9=>lsd<="00000000010000";when 10=>lsd<="00000000001000";when 11=>lsd<="00000000000100";when 12=>lsd<="00000000000010";when 13=>lsd<="00000000000001";when others=> null;end case;bcd<=dis_p1(cnt);cnt<=cnt+1;if(cnt=13) then cnt<=0; end if; end if;end process;end behav;3.波形仿真:①抢答部分的仿真,无人犯规②抢答部分的仿真,有人犯规③计时模块仿真(设置30秒)④计分模块仿真(初始100分,选手2加10分,选手3加20分,选手4加40分,选手5加10分)⑤显示模块(分别显示q0,q1,a2·····e2,e1,f1,f2的值)。
六路抢答器说明书终极版
六路抢答器说明书终极版《数字电子技术》课程设计任务书3课程设计成绩评定表4文档仅供参考,不当之处,请联系改正。
目录1引言............................................................................. 错误!未定义书签。
2 仿真软件介绍 ............................................................. 错误!未定义书签。
2.1 Multisim发展简介 ............................................ 错误!未定义书签。
2.2 Multisim 13概述 ............................................... 错误!未定义书签。
2.3 使用注意事项.................................................... 错误!未定义书签。
3 系统的组成及工作原理.............................................. 错误!未定义书签。
3.1系统的组成 ....................................................... 错误!未定义书签。
3.2系统的工作原理................................................ 错误!未定义书签。
4单元电路设计 ............................................................. 错误!未定义书签。
4.1抢答电路的设计................................................ 错误!未定义书签。
4.2定时电路的设计 (5)4.3 报警电路的设计................................................ 错误!未定义书签。
六人抢答器
EDA设计报告题目:六人抢答器班级:09应电成员:范晓雨:2009014486王学涛:2009014474艾亚楠:2009014498郭畅:2009014511一、功能简介抢答台数为6;具有抢答开始后20秒倒计时,20秒倒计时后六人抢答显示超时,并报警;能显示超前抢答台号并显示犯规报警;系统复位后进入抢答状态,当有一路抢答按键按下,该路抢答信号将其余各路抢答信号封锁,同时铃声响起,直至该路按键松开,显示牌显示该路抢答台号。
二、总体逻辑图根据六人抢答器功能的概述,可将抢答器划分为以下模块:1)按键模块:包括主持人的控制的复位按键,以及各位选手的抢答按键。
2)报警模块:报警模块主要选手实现抢答时的鸣响和有人犯规及抢答时间到时的报警。
3)显示模块:包括20秒倒计时显示,抢答选手号码显示。
三、各模块程序、电路图1、总体电路图2、报警模块程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity baojing isport(clk1,ring:in std_logic;key1:in std_logic_vector(5 downto 0);bell2:out std_logic);end baojing;architecture bhv of baojing issignal clk3:std_logic;beginprocess(clk1)--1KHZvariable mid3:integer:=0;beginif rising_edge(clk1) then mid3:=mid3+1;if mid3<=5000 then clk3<='0';elsif mid3<10000 then clk3<='1';else mid3:=0;end if;end if;end process;process(clk1,ring,key1)beginif rising_edge(clk1) thenif ring='1' thenif key1/="000000" then bell2<=clk3;else bell2<='0';end if;end if;end if;end process;end;3、动态显示模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dongtaixianshi isport(clk,rst,stop:in std_logic;sel:buffer std_logic_vector(2 downto 0);seg:out std_logic_vector(6 downto 0);bell:out std_logic);end dongtaixianshi;architecture bhv of dongtaixianshi issignal clk1:std_logic;-- 1KHZsignal clk2:std_logic;-- 1HZsignal wei0:std_logic_vector(3 downto 0); signal wei1:std_logic_vector(3 downto 0); signal en:std_logic:='0';beginprocess(clk)--1KHZvariable mid1:integer:=0;beginif rising_edge(clk) then mid1:=mid1+1;if mid1<=10000 then clk1<='0';elsif mid1<20000 then clk1<='1';else mid1:=0;end if;end if;end process;process(clk1)--1HZvariable mid2:integer:=0;beginif rising_edge(clk1) then mid2:=mid2+1;if mid2<=500 then clk2<='0';elsif mid2<1000 then clk2<='1';else mid2:=0;end if;end if;end process;process(clk2,rst,stop,wei0,en)beginif rst='1' then wei0<="0000";elsif rising_edge(clk2) thenif stop='0' thenif en='0' thenif wei0="0000" then wei0<="1001";else wei0<=wei0-1;end if;else wei0<="0000";end if;end if;end if;end process;process(clk2,rst,stop,wei0,wei1,en)beginif rst='1' then wei1<="0010";en<='0';elsif rising_edge(clk2) thenif stop='0' thenif en='0' thenif wei1="0000" and wei0="0001" then en<='1';elsif wei0="0000" then wei1<=wei1-1;end if;else wei1<="0000";end if;end if;end if;end process;process(wei0,wei1)beginif wei0="0000" and wei1="0000" thenbell<=clk1;else bell<='0';end if;end process;process(clk1,sel,wei1,wei0)beginif rising_edge(clk1) thenif sel="000" then sel<="001";case wei1 iswhen "0000"=>seg<="0111111";when "0001"=>seg<="0000110";when "0010"=>seg<="1011011";when "0011"=>seg<="1001111";when "0100"=>seg<="1100110"; when "0101"=>seg<="1101101"; when "0110"=>seg<="1111101"; when "0111"=>seg<="0000111"; when "1000"=>seg<="1111111"; when "1001"=>seg<="1101111"; when others=>NULL;end case;elsif sel="001" then sel<="000"; case wei0 iswhen "0000"=>seg<="0111111"; when "0001"=>seg<="0000110"; when "0010"=>seg<="1011011"; when "0011"=>seg<="1001111"; when "0100"=>seg<="1100110"; when "0101"=>seg<="1101101"; when "0110"=>seg<="1111101"; when "0111"=>seg<="0000111"; when "1000"=>seg<="1111111"; when "1001"=>seg<="1101111"; when others=>NULL;end case;end if;end if;end process;end;4、抢答模块library ieee;use ieee.std_logic_1164.all;entity qiangda isport(key:in std_logic_vector(5 downto 0);clk:in std_logic;rst:in std_logic;ring:out std_logic;name:out std_logic_vector(5 downto 0));end qiangda;architecture bhv of qiangda issignal mid:std_logic;signal qout:std_logic_vector(5 downto 0);beginprocess(clk,key,rst,mid)beginif rst='0' thenif rising_edge(clk) then mid<='0';qout<="000000";if mid='0' thencase key iswhen "000001"=>qout<="000001";mid<='1';when "000010"=>qout<="000010";mid<='1';when "000100"=>qout<="000100";mid<='1';when "001000"=>qout<="001000";mid<='1';when "010000"=>qout<="010000";mid<='1';when "100000"=>qout<="100000";mid<='1';when others=>null;end case;end if;end if;elsecase key iswhen "000001"=>qout<="000001";mid<='1';when "000010"=>qout<="000010";mid<='1';when "000100"=>qout<="000100";mid<='1';when "001000"=>qout<="001000";mid<='1';when "010000"=>qout<="010000";mid<='1';when "100000"=>qout<="100000";mid<='1';when others=>null;end case;end if;name<=qout;ring<=mid;end process;end bhv;5、仿真结果6、试验箱结果四、心得在这次课程设计过程中使我从中学到许多以前在课本和课堂上所无法学到的,特别是在课程设计过程中查找资料的过程中从中学到许多以前在课本和课堂上所无法学到的并从中体会到许多的乐趣,从而丰富了自己,使自己无论是上课时还是在课余都感到很充实。
六路竞赛抢答器(数电)课设
目录第一部分设计任务与要求---------------------------------------------1第二部分总体框图------------------------------------------------------2第三部分选择器件------------------------------------------------------43.1、元器件清单-----------------------------------------------------------------43.2、器件的相关介绍(1)四2输入与门74LS08、与非门74LS00-------------------------------5(2)四2输入或门74LS32----------------------------------------------------6(3) 8-3线优先编码器74LS148------------------------------------------7(4)同步十进制可逆计数器74LS192-------------------------------------9(5)四R-S触发器74LS279-------------------------------------------------10(6) 555定时器---------------------------------------------------------------11(7)四线七段数码显示管----------------------------------------------------12第四部分功能模块------------------------------------------------------13 4.1 抢答显示电路----------------------------------------------------------13 4.2 定时电路----------------------------------------------------------------15 4.4 报警电路----------------------------------------------------------------17 第五部分总体设计电路图----------------------------------------------18 第六部分课程设计心得体会---------------------------------------------22 参考文献------------------------------------------------------------------23六路智能抢答器一、设计任务与要求(分别为S1~S6)控制,并设置一个系统清零和抢答控制开关S,该开关由主持人控制。
多功能六路抢答器
OK EQU 20H;抢答开始标志位;JSQ EQU 24HRING EQU 22H;响铃标志位FEN EQU 60HNUM EQU 28HORG 0000HLJMP MAINORG 0003HLJMP INT0SUBORG 000BHLJMP T0INTORG 0013HLJMP DAOORG 001BHLJMP T1INTORG 0040HMAIN: MOV R1,#0FH;初设抢答时间为15sMOV R2,#0AH;初设答题时间为10sMOV TMOD,#11H;设置未定时器/模式1MOV TH0,#0F0HMOV TL0,#0FFH;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms为一次溢出中断MOV 52H,#00H;倒计时钟的秒MOV 58H,#10H;倒计时钟的分mov 53H,58HMOV 40H,#00HMOV 41H,#00HMOV 42H,#00HCLR JSQMOV NUM,#00HSETB EASETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=====查询程序=====START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY;未开始抢答时候显示FFFJNB JSQ,N0LJMP COUNT2N0: JB P1.0,NEXT;dddddddACALL DELAYJB P1.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1->R6,因为R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R3,0AH;抢答只显示计时,灭号数LJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT: JNB P1.1,FALSE1JNB P1.2,FALSE2JNB P1.3,FALSE3JNB P1.4,FALSE4JNB P1.5,FALSE5JNB P1.6,FALSE6LJMP START ;=====非法抢答处理程序=====FALSE1: ACALL BARK;按键发声MOV R3,#01HLJMP ERRORFALSE2: ACALL BARKMOV R3,#02HLJMP ERRORFALSE3: ACALL BARKMOV R3,#03HLJMP ERRORFALSE4: ACALL BARKMOV R3,#04HLJMP ERRORFALSE5: ACALL BARKMOV R3,#05HLJMP ERRORFALSE6: ACALL BARKMOV R3,#06HLJMP ERROR;=====INT0(抢答时间R1调整程序)=====INT0SUB:JNB P2.4,INT1SUBACALL DELAYJNB P2.4,INT1SUBJIXU: MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY;先在两个时间LED上显示R1K10: JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCOK20: JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKOLJMP INT0SUBINC0: ACALL DELAYJNB P3.4,K10MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99了,R1就置0,重新加起。
六路抢答器说明书终极版
六路抢答器说明书终极版《数字电子技术》课程设计任务书3课程设计成绩评定表4目录1引言............................................................................. 错误!未定义书签。
2 仿真软件介绍 ............................................................. 错误!未定义书签。
2.1 Multisim发展简介 ............................................ 错误!未定义书签。
2.2 Multisim 13概述 ............................................... 错误!未定义书签。
2.3 使用注意事项.................................................... 错误!未定义书签。
3 系统的组成及工作原理.............................................. 错误!未定义书签。
3.1系统的组成 ....................................................... 错误!未定义书签。
3.2系统的工作原理................................................ 错误!未定义书签。
4单元电路设计 ............................................................. 错误!未定义书签。
4.1抢答电路的设计................................................ 错误!未定义书签。
4.2定时电路的设计 (5)4.3 报警电路的设计................................................ 错误!未定义书签。
六人智力竞赛抢答器
广西科技大学(筹)课程设计说明书课程名称数字逻辑设计课程设计题目名称六人智力竞赛抢答器学生学院职业技术教育学院专业班级电子Z102班学号201002203053学生姓名孙思琪2012年6月8号摘要抢答器是机关学校开展智力竞赛活动必不可少的设备。
智力竞赛是一种生动活泼的教育形式和方法,通过抢答的方式引起参赛者和观众的兴趣。
它发展较快,从开始的仅具有抢答锁定功能的一个电路,到现在具有倒计时,报警,定时等功能。
本设计是一个可提供六人或六组参赛的抢答器,具有倒计时以及有人抢答和倒计结束时扬声器响,锁存等功能。
设计过程采用系统设计的方法,先分析任务,得到系统要求,然后进行总体设计,划分子系统,然后进行详细设计,决定各个功能子系统中的内部电路,最后进行测试。
本文针对智力竞赛抢答器的设计要求,提出了两种整体设计方案,在比较两个方案的优缺点后,选择了其中较优的一个方案,进行先分模块后整合的设计,先定义和规定各个模块的结构,再对模块内部进行详细设计。
详细设计的时候又根据可采用的芯片,分析各芯片是否适合本次设计,选择较合适的芯片进行设计,最后将设计好的模块组合调试,并最终在Quartus下仿真通过。
关键字:智力竞赛抢答器六路锁存倒计时扬声器响由于现代社会的数字电子技术高速发展,抢答器应运而生,又由于电子技术的不断改进,采用中规模的逻辑器件可以使抢答器的体积变得很小,实用更加方便,应用更加广泛。
作为电子信息工程专业的学生,我们都应该能够运用学到的数电和模电知识,去解决和分析一些逻辑电路的问题,继而学会设计具有一定逻辑功能的逻辑器件,这次课程设计给我们一个能力全面提升的契机。
我们设计的抢答器,严格按照设计要求,具有倒计时,扬声器响,锁存的功能,而且增加了停止计时,停止蜂鸣,只能出现有一个参赛者抢答成功等功能。
特别是,我们的电路能防止多人同时抢答成功的情况发生等,这些都是我们组,区别于其他组的地方。
参考文献:《数字逻辑设计》网上查询一、设计题目二、设计任务和要求1)设计任务2)设计要求三、设计过程1、设计方框图2、方案选择3、单元电路设计1)以触发器为中心的的显示电路2)倒计时模块3)扬声器部分电路4、完整电路图5、仿真波形图6、总的工作原理四、总结1、优点2、缺点3、心得体会六人智力竞赛智力抢答器设计报告一、设计题目:六人智力竞赛抢答器二、设计任务和要求1)设计任务六人参赛每人一个按钮,主持人一个按钮,按下就开始;每人一个发光二极管,强中者灯亮;有人抢答时,喇叭响两秒;答题时限为10秒,从有人抢答开始,用数码管倒计时间,0、9、8···1、0;倒计时到0的时候,喇叭发出两秒的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字电子技术》课程设计任务书课程设计成绩评定表目录1引言 (1)2 仿真软件介绍 (2)2.1 Multisim发展简介 (2)2.2 Multisim 13概述 (2)2.3 使用注意事项 (2)3 系统的组成及工作原理 (3)3.1系统的组成 (3)3.2系统的工作原理 (3)4单元电路设计 (4)4.1抢答电路的设计 (4)4.2定时电路的设计 (5)4.3 报警电路的设计 (7)4.4 时序电路的设计 (7)4.5相关元器件的介绍 (8)4.5.1 74LS148优先编码器 (8)4.5.3 十进制同步加减计数器74LS190 (9)4.5.4 74LS48译码器 (10)5 系统仿真与测试 (12)5.1仿真步骤 (12)5.2仿真结果及分析 (12)6 心得体会 ......................................................................................... 错误!未定义书签。
参考文献 .. (14)附录Ⅰ元件清单 (15)附录Ⅱ总体电路 (16)1 引言随着社会的发展抢答器作为一种工具已经广泛应用于各种智力竞赛场合。
此次设计以六路抢答器为基本概念,从实际应用出发,利用逻辑电路基础,由抢答电路、倒计时电路、报警电路组成。
实现能同时供6人抢答的电路。
该抢答器的设计利用Multisim完成了原理图设计和电路仿真,具有数字显示、倒计时显示、编码译码功能。
数字系统课程设计是一门独立课程、有独立学分的实践性教学环节,同“数字逻辑与数字系统”理论讲授课程有密不可分的关系,起着相辅相成的作用,也是在“数字逻辑与数字系统”课的基础上,进一步深化的实践环节。
其主要目的是通过指导学生循序渐进地独立完成数字电路的设计任务,加深学生对理论知识的理解,提高学生的动手能力,独立分析、解决问题能力,协调能力和创造性思维能力。
提高学生在数字电路应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力,学生通过电路的设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法,本课程设计培养、启发学生的创造性思维,进一步理解数字系统的概念,掌握小型数字系统的设计方法,掌握小型数字系统的组装和调试技术,掌握查阅有关资料的技能。
通过本次设计,加强学生的团结合作意识,提高独立解决问题的能力;通过指导学生循序渐进地独立完成数字电路的设计任务,加深学生对理论知识的理解,提高学生的动手能力,独立分析、解决问题能力,协调能力和创造性思维能力。
提高学生在数字电路应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力,学生通过电路的设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法,本课程设计培养、启发学生的创造性思维,鼓励学生开拓创新,为以后走向社会打下坚实基础;同时进一步理解数字系统的概念,掌握小型数字系统的设计方法,掌握小型数字系统的组装和调试技术,掌握查阅有关资料的技能。
2仿真软件介绍2.1 Multisim发展简介工程师们可以使用Multisim交互式地搭建电路原理图,并对电路进行仿真。
Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。
通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。
2.2 Multisim 13概述Multisim10是美国NI公司推出的以Windows为基础的仿真工具,适用于板级的模拟、数字电路板的设计工作。
它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。
有了Multisim 软件,就相当于拥有了一个设备齐全的实验室,可以非常方便的从事电路设计、仿真、分析工作。
此软件可以为你提供以下便利:通过直观的电路图捕捉环境, 轻松设计电路;通过交互式SPICE仿真, 迅速了解电路行为;借助高级电路分析, 理解基本设计特征;通过一个工具链, 无缝地集成电路设计和虚拟测试;通过改进、整合设计流程, 减少建模错误并缩短上市时间;NI Multisim软件结合了直观的捕捉和功能强大的仿真,能够快速、轻松、高效地对电路进行设计和验证。
凭借NI Multisim,您可以立即创建具有完整组件库的电路图,并利用工业标准SPICE模拟器模仿电路行为。
借助专业的高级SPICE分析和虚拟仪器,您能在设计流程中提早对电路设计进行的迅速验证,从而缩短建模循环。
与NI LabVIEW和SignalExpress软件的集成,完善了具有强大技术的设计流程,从而能够比较具有模拟数据的实现建模测量。
因此本次课设能深入了解交通信号灯的应用原理,更好的掌握所学知识,将理论联系实际,而且在实际操作中培养自己的实际动手能力,将理论应用与实际生活中。
2.3 使用注意事项不要长时间使软件处于仿真状态,以免死机;删除元件、仪器、连线等,一定要在断开仿真开关的情况下;注意数字地与模拟地的差别,使用标准符号;LED数码管的极性;分模块调试,最后综合调试。
3系统的组成及工作原理3.1系统的组成框图定时抢答器的总体框图如下图3-1:图3-1 系统组成图3.2系统的工作原理抢答器由输入电路,判别电路,显示电路,秒脉冲发生器,计时电路和报警电路等组成。
计数器选用十进制减法计数器,计数输入由秒脉冲发生器提供。
电路包括主体电路和扩展电路两部分。
其中主体电路完成基本的抢答功能,即主持人按下控制开关后,当选手按动抢答键时,数码管显示选手编号,同时封锁输入电路,其他选手抢答无效。
扩展电路完成定时抢答的功能以及报警功能。
电路的工作过程是:接通电源后,主持人将控制开关置于“清除”处,此时抢答器处于禁止状态,选手不能进行抢答,定时显示器显示设定的时间(9s),当主持人将控制开关置于“开始”时,抢答器处于工作状态,同时定时器开始倒计时。
当选手在定时时间内按动抢答键时,电路要完成以下功能:优先编码电路判断抢答者的编号,并由锁存器进行锁存,然后通过译码显示电路在数码管上显示抢答者的编号;扬声器发出短暂声响;控制电路对其余输入编码进行封锁,禁止其他选手进行抢答;控制电路要使定时器停止工作,数码管上显示剩余的抢答时间,当选手将问题回答完毕,主持人操作控制开关使系统回复到禁止工作状态,以便进行下一轮抢答。
当定时时间到,却没有选手抢答时,系统将报警,并封锁输入电路,禁止选手超时后抢答。
4单元电路设计4.1抢答电路的设计1. 抢答器电路参考电路如图所示。
该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。
工作过程:开关S置于"清除"端时,RS触发器(此处用74ls279代替)的R 端均为0,4个触发器输出置0,使74LS148的=0,使之处于工作状态。
当开关S置于"开始"时,抢答器处于等待工作状态,当有选手将键按下时(如按下J1),74LS148的输出经RS锁存后,2Q2=1,74LS48处于工作状态,2Q1 1Q2 1Q1=001,经译码显示为"1"。
此外,2Q1=1,使74LS148 =1,处于禁止状态,封锁其他按键的输入。
当按键松开即按下时,74LS148的此时由于仍为2Q1=1,使EI =1,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。
如有再次抢答需由主持人将S开关重新置清除,然后再进行下一轮抢答。
RS触发器工作原理如下。
74LS148为8线-3线优先编码器,表1-1为其功能表。
2.RS触发器:(1) 保持状态。
当输入端接入S=R=1的电平时,如果基本SR触发器现态Q=1、Q=0,则触发器次态Q=1、Q=0;若基本SR触发器的现态Q=0、Q=1,则触发器次态Q=0、Q=1。
即S=R=1时,触发器保持原状态不变。
(2) 置0状态。
当S=1,R=0时,如果基本SR触发器现态为Q=1、Q=0,因R=0,会使Q=1,而Q=1与S=1共同作用使Q端翻转为0;如果基本SR触发器现态为Q=0、Q=1,同理会使Q=0,Q=1。
只要输入信号S=1,R=0,无论基本SR 触发器的输出现态如何,均会使输出次态置为0态。
(3) 置1状态。
当S=0、R=1时,如果触发器现态为Q=0、Q=1,因S=0,会使G1的输出端次态翻转为1,而Q=1和R=1共同使G2的输出端Q=0;同理当Q=1、Q=0,也会使触发器的次态输出为Q=1、Q=0;只要S=0、R=1,无论触发器现态如何,均会将触发器置1。
(4) 不定状态。
当S=R=0时,无论触发器的原状态如何,均会使Q=1,Q=1。
当脉冲去掉后,S和R同时恢复高电平后,触发器的新状态要看G1 和G2两个门翻转速度快慢,所以称S=R=0是不定状态,在实际电路中要避免此状态出现。
抢答器电路如下图3-1所示图4-1 抢答电路4.2定时电路的设计该部分主要由555定时器秒脉冲产生电路、十进制可逆计数器74LS190,译码电路,7段数码管等相关电路组成。
定时电路如下:R15图4-2 定时电路工作过程为:抢答开始前,74LS190置数端为低电位,处于初始状态,数码管显示为9,5引脚接高电位。
抢答开始后,秒脉冲冲推动右边的芯片开始倒记时,同时右边芯片产生的信号做为左边芯片的CP信号推动左边的芯片倒记时,完成十进制的倒记时功能。
当有人抢答后1Q的输出为1,经过非门后变为0,通过与门屏蔽了秒信号,停止记时,完成显示抢答时间的功能。
当倒计时0秒时,左边的芯片产生的定时到信号输出为低电位,也屏蔽了秒信号,使得数码管显示为0。
当有人抢答时,停止计数并显示此时的倒计时时间;如果没有人抢答,且倒计时9s时间到时,输出低电平到时序控制电路,之后选手抢答无效,并报警。
4.3 报警电路的设计图4-3报警电路其中555构成多谐振荡器,振荡频率为:f0=1/(R12+2R13)*C*ln2=1.43/(R12+2R13)*C1其输出信号经三极管推动扬声器。
,555芯片的4号管脚(RST)作为控制端,当4号管脚,蜂鸣器发出声音;当4号管脚为高电平时,蜂鸣器不发声。
使4号管脚为高电平有两种情况,即9秒内有人抢答,或时间到没人抢答。
和4号管脚相连的为74LS148的ET端。
4.4 时序电路的设计这是抢答器设计的关键,它要完成以时序控制电路下三项功能:主持人将控制开关拨到“开始”位置时,抢答电路和定时电路进入正常抢答工作状态,当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。