六路抢答器说明书
六路抢答器课程设计(附程序)
北京科技大学本科生课程设计说明书题目:六路抢答器学院:专业:姓名:学号:指导教师签字:摘要随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
各种技术都离不开计算机,计算机已经在人们生活的各个方面普及了。
本课程设计是微机原理及接口技术的简单应用。
运用所学的微机原理和接口技术知识完成六路抢答器。
通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了六路抢答器出现的各种情况。
该抢答器以主持人为中心,操作抢答器的开始与复位,选手们可以根据主持人的提示进行抢答,该抢答器基本能满足现在社会抢答的需要,设计简单,成本低,适合小型抢答场合。
关键词:抢答器硬件电路软件编程模拟系统前言随着人们生活水平的提高,微机已经成为人们生活中重要的部分,掌握微机原理是我们信息类专业的必备知识。
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路抢答的抢答器,启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。
基于-51单片机6路抢答器
摘要此次设计选择使用AT89C51单片机为核心的控制元件,设计制作一个简易的抢答器。
本设计是以AT89C51单片机作为控制的主要核心,LED显示器,蜂鸣器等六路抢答器的程序,并且利用了单片机的延迟时电路,时钟电路,键复位电路以及定时器/中断等其他电路。
六路抢答器的设计特点是让选手应答时间与选手实时显示出来,利用复位电路开场新一轮的比赛或者游戏,我们使用的也是我们所掌握的C语言来进展编程,实现了一些根本功能。
该系统的设计是可行的,以确定准确,简便,强烈的扩展能力。
它的表达的功能主要是比赛开场时,主持人读完题目后按下抢答键,语音提示答题开场,提示音完毕后开场倒计时,这时数码管开场进展10s的倒计时,当有选手进展抢答时,选手按下抢答键,这时候数码管显示屏上就会显示出对应答题者的编号以及抢答所剩余的时间。
如果10秒计时时间到了还没有人做出抢答,蜂鸣器就会发出声音并且语音提示抢答完毕,这一题就作废即所有人均不得分,然后开场新一轮的抢答。
在下一轮抢答开场之前按下复位键将时间归零,再按下开场键进展新的一轮。
抢答者答复正确后,评审员按下加分键,该选手编号所对应的数码管显示的数字就增加〔按一次加一分,最高显示9分〕。
相反,如果抢答者答复错误,在抢答者分数不为0的情况下,评审员按下减分键,该选手编号所对应的数码管显示数字就减少〔按一次减一分,最低显示0分〕。
关键词:单片机、AT89C51、抢答器Abstract:The design options using AT89C51 microcontroller as the core control elements, design a simple Responder. The design is based on the six-way Responder AT89C51 microcontroller as the main core control, LED display, beeper and other procedures, and use of the single-chip delay circuit, clock circuit, key reset circuit and a timer / interrupt other circuits. Six-way Responder design feature is to allow players the response time and the player numbers displayed in real time, using the reset circuit to start a new round of the petition or game, we used our disposal C language programming, to achieve some basic functions.The design of the system is feasible to determine the accurate, simple, strong expansion capability. Its main function is to reflect the start of the game, the host title after reading press answer key, voice prompt answer began, the tone began the countdown ends, then the digital countdown began 10s, when there are players to answer in time , players press the answer key, this time will show the number of respondents and the corresponding answer in the time remaining on the digital display. If 10 seconds to answer in time of time to make a nobody, a buzzer will sound and the end of the voice prompt answer this question on the void that all men are not scoring, then start a new round of answer. Before you start to answer in the next round will be time to press the reset button to zero, and then press the start key to make a new round. Responder who answered correctly, the assessors press plus key, alphanumeric display of the player number corresponding increases (once plus one points, the maximum display 9 points). Conversely, if the answer were wrong answer, answer in person at a fraction is not 0, the panelists Press the minus key points, the player number that corresponds to the digital display figures decrease (once by one point, the lowest display 0 ).Keywords:AT89C51、RESPONDER、SCM目录第一章概述 (1)第二章各模块的选择和论证 (2)1. 方框图┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ (2)2.1抢答器显示模块选择 (2)2.2 控制器选择 (3)2.3 键盘选择 (3)2.4 时钟频率电路的设计 (4)2.5 复位电路的设计 (5)2.6 报警电路 (5)3. 系统硬件连接图 (6)4. 元器件清单 (6)第三章软件的设计 (6)3.1程序流程图 (7)3.2源程序 (8)第四章系统调试 (16)4.1 硬件调试问题分析 (17)4.2 软件调试问题分析 (17)参考文献 (19)第一章概述随着科学技术的开展,电子技术在近几年也得到了快速的开展,而在我们的生活中处处都运用到电子技术,例如现在随着智力竞赛、电视娱乐节目越来越多,为了实现比赛的公平性,就需要一个能在多人进展比赛的情况下能够实现抢答的机器,所以我们就需要这么一个能够简单操作的抢答器。
六路抢答器说明书
附件1:学号:课程设计题目六路电子抢答器学院机电工程学院专业机械工程及其自动化班级机自1205姓名于永杰指导教师尹海斌2015 年 1 月8 日单片机课程设计任务书目录第一章选题背景———————————————— 4 1.1概述———————————————————4 1.2选题的目的和意义—————————————4 ————————————— 4第二章方案选择及设计思路与原理方框图—————5————————————————— 6 ———————————————— 6—————————————7第三章系统硬件总体设计————————————8 3.1 中央控制器———————————————8 译码驱动显示电路设计———————————10时钟电路设计———————————————13 ——————————————— 14 ——————————————— 14 ——————————————— 15 ————————————16第四章 Proteus系统仿真————————————17第五章程序设计————————————————22第六章课程设计总结——————————————28第七章参考文献————————————————28第一章选题背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
现在大多数抢答器均使用单片机和数字集成电路,并增加了许多新功能,如选手号码显示、抢按报警、选手得分等功能。
本课题利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时/计数器定时和计数的原理使得系统能够正确地进行计时同时使LED显示屏能够正确的显示时间和选手的号码。
用开关做键盘输出,扬声器发出提示。
①、通过单片机课程设计,熟练掌握编程方法,将单片机理论知识与实践相结合。
②、通过六路电子抢答器控制系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,提高实践能力。
六路抢答器说明书
情况一:抢答时间已到,但是没有人抢答;意味着本次抢答无效,系统短暂报警,此时将切断抢答电路,禁止选手超时抢答,时间显示为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)当有几个人同时按键时,由于在时间上必定存在先后,系统将对第一个按下者进行锁存,显示的编号也是第一个按下者,其他按键者将不能响应,以便公平地选择第一个抢答者。
单片机六路抢答器课程设计
单片机六路抢答器课程设计概述在现代教育中,抢答器是一种被广泛应用的工具,能够有效提高学生的积极性和参与度。
本课程设计旨在使用单片机设计一个六路抢答器,实现简单、高效的抢答系统,为教学活动增添趣味和互动性。
设计要求1.使用单片机实现六个抢答按键,每个按键代表一个选手。
2.设计一个显示屏,显示抢答结果,包括选手编号和抢答时间。
3.实现按键的状态检测和抢答时间的计时功能。
4.提供简单的用户界面,包括开始抢答、停止抢答和重置功能。
结构设计按键和状态检测为了实现六个抢答按键,可以使用六个GPIO口作为输入端,通过外部上拉电阻连接到VCC电源。
当按键按下时,GPIO口会检测到低电平。
使用中断机制可以实现按键状态的实时检测,当检测到按键按下时,触发中断处理函数进行相应的操作。
抢答时间计时抢答时间计时可以使用定时器实现,定时器在启动抢答过程后开始计时,当有选手按下按键时,记录下计时器的当前值作为该选手的抢答时间。
为了满足要求,可以选择使用32位定时器,以提供足够的计时范围。
显示屏和界面设计为了显示抢答结果,可以使用简单的数码管或液晶显示屏。
数码管可以显示选手编号和抢答时间,而液晶显示屏可以提供更多的显示信息,如选手姓名等。
为了方便用户操作,可以设计几个按钮实现开始抢答、停止抢答和重置功能。
可以使用单片机的GPIO口作为输出端,通过外部上拉电阻连接到VCC电源。
当按钮按下时,GPIO口会检测到低电平。
使用中断机制可以实现按钮状态的实时检测,当检测到按钮按下时,触发中断处理函数进行相应的操作。
硬件原理图以下是单片机六路抢答器的硬件原理图:1. VCC2. GND3. 抢答器按键14. 抢答器按键25. 抢答器按键36. 抢答器按键47. 抢答器按键58. 抢答器按键69. 显示屏数据线10. 显示屏使能线11. 按钮112. 按钮213. 按钮3软件设计初始化在软件设计中,首先需要进行初始化设置,包括初始化GPIO口、定时器、中断等。
单片机六人抢答器程序讲解
题目如下:六人抢答器,以拨动开关K0~K5中的某个开关为ON作为抢答按键,无人抢答时,6只数码管循环轮流显示1~6跑马,谁先抢答,数码管停止跑马,6个数码管同时亮谁的编号,气候再有按键按下,系统不予回应,知道此拨为OFF,恢复1~6跑马开始下一轮抢答。
#include<reg51.h>#define uchar unsigned char#define uint unsigned intvoid delay(uchar x);void Js_Scan1(void);void Js_Scan2(void);int flag=0,i;int code LED_Num[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d};void main(){EA=1;ET0=1;EX0=1;while(1){Js_Scan1();flag=0;}}void key() interrupt 0 using 0{int x;x=P2;if(x==0xfe&&flag==0){i=0;Js_Scan2();flag=1;}if(x==0xfd&&flag==0){i=1;Js_Scan2();flag=1;}if(x==0xfb&&flag==0){i=2;Js_Scan2();flag=1;}if(x==0xf7&&flag==0){i=3;Js_Scan2();flag=1;}if(x==0xef&&flag==0){i=4;Js_Scan2();flag=1;}if(x==0xdf&&flag==0){i=5;Js_Scan2();flag=1;}}void Js_Scan1() //数码管扫描函数{P1=0xfe;P0=LED_Num[0];delay(100);P1=0xfd;P0=LED_Num[1];delay(100);P1=0xfb;P0=LED_Num[2];delay(100);P1=0xf7;P0=LED_Num[3];delay(100);P1=0xef;P0=LED_Num[4];delay(100);P1=0xdf;P0=LED_Num[5];delay(100);}void Js_Scan2() //数码管扫描函数{uchar j; //定义j数据类型for(j=0;j<5;j++) //建立循环{P1=0x00;P0=LED_Num[i];delay(1);}}void delay(uchar x) //延时函数,防止数码管显示不稳定{uchar k;while(x--)for(k=0;k<125;k++);}基本功能:(1)抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 ~ S7表示。
抢答器使用手册
抢答器使用手册抢答器配置清单配置名称数量主机 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 三、进度安排设计时间为两周,第一周查资料、方案论证,完成数字抢答器电路设计,对元器件进行筛选,第二周组装、调试,进行实物检查、设计答辩并完成设计报告。
PLC六路抢答器课程方案设计书
封面作者:Pan Hongliang仅供个人学习摘要随着我国经济和文化实业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。
最初的抢答器是由优先权编码器构成的逻辑电路,其运算速度慢,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更加困难。
因此,一种能够体现竞赛的公开、公平、公正性的知识竞赛抢答器成为一种需求。
本设计将以PLC为核心设计了系统结构图、程序指令、梯形图以及输入输出端子的分配方案,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能并简化其电路结构,其将以其控制方便,灵活,只要改变输入PLC的控制程序,便可改变竞赛抢答器的抢答方案,从而使得竞赛不断完善其公平、公正性。
关键词:PLC;竞赛抢答器;七段译码器目录摘要 (I)1绪论 (1)1.1课题研究背景 (1)1.2 课程设计研究内容 (2)2 整体方案选择 (3)2.1整体功能介绍 (3)2.2竞赛抢答器控制要求 (3)3 硬件电路设计 (4)3.1控制特点分析 (4)3.2 外部接线图 (5)4 软件设计 (6)4.1 I/O地址分配 (6)4.2 结构流程图 (7)4.3 梯形图设计与分析 (8)4.4系统源程序 (11)5 程序调试及分析 (12)5.1程序运行过程分析说明 (12)5.2调试结果 (12)总结 (13)致谢 (14)参考文献 (15)1绪论可编程控制器是以计算机为核心的通用自动控制装置,它的功能强、可靠性极强、编程简单、使用方便、体积小。
现已广泛应用于工业控制的各个领域,它以微处理器为核心,用编写的程序进行逻辑控制、定时、记数和算术运算等,并通过数字量和模拟量的输入/输出来控制机械设备或生产过程。
PLC的学习比一般编程学习困难在于,要完成一个控制系统不仅需要掌握一定的编程技术,更为重要的是要知道如何针对实际应用的需要选择合适的PLC型号,然后进行资源配置,设计控制系统。
数电-六路抢答器
课程设计说明书课题名称:数字式竞赛抢答器专业名称:电子信息工程技术学生班级:电信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的值)。
六路竞赛抢答器(数电)课设
目录第一部分设计任务与要求---------------------------------------------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 报警电路的设计................................................ 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件1:学号:0121204930527课程设计题目六路电子抢答器学院机电工程学院专业机械工程及其自动化班级机自1205姓名于永杰指导教师尹海斌2015 年 1 月8 日单片机课程设计任务书目录第一章选题背景———————————————— 4 1.1概述———————————————————4 1.2选题的目的和意义—————————————4 1.3抢答器的设计要求————————————— 4 第二章方案选择及设计思路与原理方框图—————5 2.1设计思路————————————————— 6 2.2总体方框图———————————————— 62.3抢答器的工作流程—————————————7第三章系统硬件总体设计————————————83.1 中央控制器———————————————8 3.2译码驱动显示电路设计———————————10 3.3时钟电路设计———————————————13 3.4复位电路设计——————————————— 14 3.5抢答电路设计——————————————— 14 3.6音乐电路设计——————————————— 15 3.7主持人控制电路设计————————————16 第四章 Proteus系统仿真————————————17第五章程序设计————————————————22第六章课程设计总结——————————————28第七章参考文献————————————————28第一章选题背景1.1概述抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
现在大多数抢答器均使用单片机和数字集成电路,并增加了许多新功能,如选手号码显示、抢按报警、选手得分等功能。
本课题利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时/计数器定时和计数的原理使得系统能够正确地进行计时同时使LED显示屏能够正确的显示时间和选手的号码。
用开关做键盘输出,扬声器发出提示。
1.2选题的目的和意义①、通过单片机课程设计,熟练掌握编程方法,将单片机理论知识与实践相结合。
②、通过六路电子抢答器控制系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,提高实践能力。
③、初步掌握多功能抢答器的调整及测试方法。
提高动手能力和排除故障的能力。
1.3抢答器的设计要求①. 该抢答器具有控制系统清零、控制抢答器开始,便于主持人控制现场时间(例如抢答时间可以设置为15s,当主持人按下开始键时时间进入倒计时,在LCD上显示,同时有0.5s-1s的蜂鸣器的声响)②. 如果出现如下情况:情况一:抢答时间已到,但是没有人抢答;意味着本次抢答无效,系统短暂报警,此时将切断抢答电路,禁止选手超时抢答,时间显示为88.情况二:如果选手在主持人按开始键之前抢答,系统报警,LCD 同时显示违规选手的号码和倒计时时间为FF。
情况三:如果有一选手在抢答时间内先按下抢答键,此时倒计时结束(定时器停止工作),LCD同时显示抢答者的号码和抢答时刻的时间,直至回答完毕后主持人进行系统清零。
③.不限制使用LCD的类型④.在满足以上要求的基础上,可以加以创新。
1)回答和抢答时间倒计时五秒的时候,都会有报警提醒。
2)开始抢答之前,电子显示屏一直显示F 88 。
3)除主持人具有开始、清零开关以外,还具有一个总清零开关。
第二章方案选择及设计思路与原理方框图为了使设计更具有针对性,使用性更强,我们对其精心的设计,在设计过程中我们想到了很多的设计方案。
2.1设计思路设计一个六路电子抢答器,可同时提供六名选手或者代表队参加比赛,他们的编号分别为1.2.3.4.5.6各用一个抢答器按钮,按钮的编号与选手的编号相对应,分别设为S1.S2.S3.S4.S5.S6.节目主持人设置一个控制开关,用来控制系统的清零和抢答器的开始,并且抢答器具有数据锁存和显示功能。
同时主持人可以根据要求设置抢答时间和回答时间,抢答未开始选手抢答则警报并显示选手号码和FF。
抢答开始时若有选手按抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,并且需在规定时间内回答出问题,倒计时计数五秒会有提示音。
此外,要封锁输入电路,禁止其他选手抢答,优先抢答的选手的编号一直保持到主持人将系统清零结束为止。
2.2总体方框图多路抢答器系统的整个系统从大体来看可以分为键盘抢答输入,系统处理,LED电子显示屏显示,报警电路等。
2.3抢答器的工作流程第三章系统硬件总体设计3.1 中央控制器AT89C51是由美国Atmel 公司生产的至今世界上最新型的高性能八位单片机。
该芯片采用FLASH存储技术,内部具有2kb字节快闪存储器,采用DIP封装,是目前在中小系统中应用最为普及的单片机。
系统控制芯片采用MCS51系列单片机AT89C51,AT89C51 是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
3.1.1MCS51单片机的内部基本结构由以下部分组成:1)一个8 位的微处理器(CPU)。
2)片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及状态标志位等。
3)片内程序存储器ROM(4KB),用以存放已编制好的程序及程序中用到的常数。
4)四个8 位并行I/O 接口P0~P3,每个口既可以用作输入,也可以用作输出使用。
5)两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。
6)五个中断源的中断控制系统,提供两个中断优先级,能实现两级中断嵌套。
7)一个全双工串行异步通信接口,用于实现单片机之间或单机与微机之间的串行通信。
8)片内振荡器和时钟产生电路,但需要外接石英晶体和微调电容,最高允许振荡频率为12MHz。
单片机内部各功能部件通过内部总线连接,传送地址信息、数据信息和控制信息,各功能部件分时使用总线,即所谓的内部单总线结构。
AT89C52与其他MCS51单片机的不同之处在于具有8KB可反复擦写(大于1000次)Flash ROM以及3个16位可编程定时/计数器中断。
可反复擦写的Flash ROM使得单片机能反复写入程序,使用更加地方便。
3.1.2 AT89C51引脚的功能AT89C51单片机为40引脚芯片,采用PDIP封装形式的AT89C51 P0口为8位双向I/O口,可被定义为数据或地址的低八位,在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻;P1口为8位双向I/O口,在FLASH编程和校验时,P1口作为低八位地址接收;P2口为8位双向I/O口,可被定义为地址的高八位,在FLASH编程和校验时接收高八位地址信号和控制信号;P3口为8位双向I/O口,同时P3口具有第二功能;VCC——工作电压+5V;GND——接地;RST——复位输入;ALE/PROG——地址锁存允许信号输出;/PSEN——程序存储器允许信号输出;/EA/VPP——外部访问信号输入;XTAL1——片内振荡器输入端;XTAL2——片内振荡器输出端;RXD——串行口输入;TXD——串行口输出3.2译码驱动显示电路设计为了将编码显示出来,需用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电平,这种译码器通常称为7段译码显示驱动器。
显示器件采用7段数码管显示电路。
7段数码管显示电路有共阳显示模式和共阴显示模式两种。
如果7段数码管选用共阳显示模式,那就需要选用如74LS47等译码驱动集成电路。
连接时将7段数码管的abcdefg7个发光二极管的正极连接在一起并接到5V电源上,而把其余的7个负极接到74LS47相应的abcdefg输出端上。
如果7段数码管选用共阴显示模式,那就是把7段数码管的abcdefg 7个发光二极管的负极连接在一起并接地;同它们的7个正极分别接到译码驱动电路的相对应的驱动端上,并且由译码驱动电路输出高电平时,点亮7段数码管的相应笔划,如果要显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平。
配接共阴显示模式数码管的译码驱动集成电路有74LS48、CD4511等。
本设计拟采用共阴显示模式的7段数码管显示电路,所以选择CD4511。
CD4511功能表如表2.1所示:CD4511常用于驱动共阴极LED数码管显示器的 BCD 码—七段码译码器。
具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS 电路,能提供较大的拉电流,可直接驱动LED显示器,方便地将信号传送给7段数码显示管。
但HCF4511与LED数码显示器件连接时要加限流电阻,否则通电后会把7段译码管烧坏。
通常数码管的工作电流选取在10-20mA,电流太小了,7段数码管不太亮;电流过大,7段数码管容易损坏。
限流电阻的选取为: R = 5 - 发光二极管的工作电压/发光二极管的工作电流。
一般发光二极管的工作电压在 1.8V--2.2V。
理论上我暂时按照3V/10m =300Ω来设计,实际阻值的大小,可以在调试中再调整在六路电子抢答器的设计中,我们选择了7SEG-MPX4-CC(即四个共阴二极管显示器),其1、2、3、4是阴公共端,分别对应4个共阴二极管显示器;ABCDEFG DP表示共阴八段数码管,高电平时点亮,DP表示小数点。
如下图1所示为六路电子抢答器显示电路连接方式。
图1其中P0口控制八段数码管所要显示的内容,即P0口输出段选信号;P2口的0、1、2 I/O口分别控制显示器的第1、3、4位,即P2口输出位选信号;排阻RP2作为上拉电阻使用。
P0口作为I/O 口输出的时候时输出低电平为0 输出高电平,给所接的负载提供电流,因此必须接上拉电阻(电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。
而其它三个端口芯片内部已经设置有上拉功能,无需外接上拉电阻。
3.3时钟电路设计时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。
其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。
在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。
本设计采用12MHz晶振和两个30uF瓷片电容,他们构成一个稳定的自激振荡器。
该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
为单片机提供标准时钟。