《多路抢答器课程设计.doc》由会员分享,可在线阅读,更多相关《多路抢答器课程设计.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流多路抢答器课程设计.精品文档.福建师范大学闽南科技学院微型计算机控制技术课程设计题目:多路抢答器设计 系别:计算机与信息科学系 专业:08网络工程 学号:122622008067 姓名:黄巧燕 组别:第六组 设计时间:2011年5月20日摘要 新新时代,生活娱乐的多元化已是现代的生活形式之一。知识、娱乐比赛更是流行于各行各业, 而其中又以抢答形式为主。 在抢答过程中,为了知道哪一组或哪一位选手抢先获得抢答权,必须要设计一个系统来完成这个任务,避免人的主观意识判断。在抢答中,只靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题
2、得以解决,即使两组的抢答时间相差甚小,也可分辨出哪组优先答题。此次设计使用AT89C51单片机为核心控制元件,设计一个简易的抢答器,与数码管、报警器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断电路等。设计的抢答器具有实时显示抢答选手的号码和抢答时间的特点,而复位电路,则使其能再开始新的一轮答题和比赛,与此同时还利用汇编语言编程,使其能够实现一些基本的功能。【关键词】:单片机、抢答器、数码管、报警器一、系统概述1.设计目的在信息化高速发展的时代,各种娱乐丰富着人们的多姿生活。 智力竞赛是一种生动活泼的教育方式,而抢答就是智力竞赛中非常常见的一种答题方式。抢答能引起
3、参赛者和观众的极大兴趣,并且能在极短的时间内,使人们迅速增加一些科学知识和生活常识。但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。本设计为八路抢答器,它能准确、公正、直观地判断出第1位抢答者。通过抢答器的指示灯显示、数码显示和警示蜂鸣等手段指示出第1位抢答者。其制作成本低,线路简单,选材及制作容易等特点,并且能够实现优先抢答,具有数字集成电路的锁存性。2.设计要求(1)设计一款6路或以上的抢答器。(2)设计一个抢答控制开关(开始抢答后才允许答题者
4、抢答),供主持人用。(3)设定抢答时间限制,超过时间后,该题作废。(4)设定抢答时间。(5)数字LED显示答题者号数。3.适用范围a待开发的软件名称:多路抢答器的设计b项目提出者:福建师范大学闽南科技学院c用户:主持人d运行该软件的单位:福建师范大学闽南科技学院4.参考资料1. 微型计算机控制技术(第2版) 潘新民 王燕芳 编著2. 单片机原理及应用教程(第2版) 赵全利 肖兴达 主编 3. 微机计算机原理与借口技术(第2版) 冯博琴 吴宁 主编4. 软件工程导论(第5版) 张海藩 主编5电子技术基础实验高等教育出版社 陈大钦 主编6电子技术课程设计指导 高教出版社 彭介华 主编二、系统硬件设
5、计1.总体设计 本设计是采用单片机设计的比赛用抢答器系统。它具有电路简单、功能齐全、制作成本低、性价比高等特点,是一种经济、实用的比赛用抢答器。硬件部分主要由单片机、CD4511 译码器、LED 显示器、发光二极管、声音报警器、主持人操作键盘和其它基本外围电子电路组成。采用Proteus模拟硬件电路、KEIL软件进行编程相结合以达到理论模拟的效果。根据课程设计项目要求该系统所需要的器件在Proteus中基本都可以找出来。KEIL编出的程序也能与Proteus结合。因此该系统可以实现。以AT89C51为核心,连接LED数码管,晶振电路,开关电路组成。其工作原理图如下所示:显示器抢答器AT89C5
6、1单片机开关按钮晶振和复位报警器 图1 工作原理图元件功能:RX8 驱动译码单片机,输入接单片机的P口,输出接数码管的七段;三极管驱动发光二极管和蜂鸣器。2.多路抢答器电路(1)本次设计为了方便论述选以8路抢答器来设计。分别用8个按钮 17 表示。图2 多路抢答器电路图(2)给节目主持人设置一个控制开关,用来控制系统的清零和抢答的开始。 (3)抢答器具有优先抢答功能,先按按钮的选手编号能被锁存和显示,并有喇叭提示。此外,要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。 (4)抢答器具有定时抢答的功能,且一次抢答的时间为n秒钟,从有人抢答开始,用数码管倒计时间
7、n、n-1、n-21、0;倒计时到0的时候,喇叭发出声响。当节目主持人启动“开始”键后,要求定时器立即进行减计时,并用显示器进行显示,同时喇叭发出响声。 (5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间。(6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答。三、系统软件设计1.总体设计 工作原理为:接通电源后,主持人将开关拨到清除状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置“开始”状态,宣布“开始”抢答,抢答器工作。定时器倒计时,扬声器给出声响提示,选手在定时时间内抢答时,抢答器完成:优先判断、编号
8、锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。2.关键模块设计原理图思想:主持人按下按键等待定时器开始定时定时器到时 有人按下键 无人按下键外部中断并查询按钮蜂鸣器响显示发光答题 图3 开始 初始化是否有开始抢答按钮按下调用犯规程序 N Y 外部中断服务程序 图4主程序流程图记录犯规抢答号并响声提示在LED数码管上显示犯规抢答号 返回 图5犯规抢答程序流程图允许抢答并响声提示 初始化定时器 倒计时并显示是否有抢答 Y显示抢答者号和剩余时间 N时间到 N Y停止抢答 图6外部中断服务程序 定时器赋初值
9、 中断允许 启动定时器 返回 图7初始化定时器流程图3.功能实现 整个原理图由最小系统,滤波电路,抢答电路,抢答显示电路,主持人控制电路,以及蜂鸣器控制电路。下面主要介绍功能实现:1. 主持人控制电路,当主持人按下“开始”按键时,通过软件启动定时器。2. 抢答电路,“开始”后,选手可以答题,当有人按下抢答按键时,对应的 P 口将变为低电平,通过程序控制使得对应的发光二极管发光,并在数码管上显示对应的按键号码。3. 如果单片机内部的定时器定时完毕无人抢答,则通过定时器中断来启动蜂鸣器响。4. 抢答显示电路,单片机通过P口输出对应的低电平控制发光二极管发光,以及将按键号码输到RX8,通过RX8译码
10、给数码管,显示按键号码。4.程序说明(部分)倒计时程序(抢答倒计时和回答倒计时都跳到改程序):COUNT: MOV R0,#00H ; 重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H ; 重置定时器RECOUNT:MOV A,R6 ; R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,#0AH DIV AB ; 除十分出个位/十位 MOV 30H,A ; 十位存于(30H) MOV 31H,B ; 个位存于(31H) MOV R5,30H ; 取十位 MOV R4,31H ; 取个位 MOV A,R6 SUBB A,#07H JNC LARGER
11、; 大于5s跳到LARGER,小于等于5s会提醒 MOV A,R0 CJNE A,#0AH,FULL ; 1s中0.5s向下运行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK ; 下面是1s的情况,响并显示号数并清R0,重新计 SETB RING MOV A,R6 JZ QUIT ; 计时完毕 MOV R0,#00H DEC R6 ; 一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK ; 如果1s向下运行,否者跳到查停/显示 DEC R6 ; 计时一秒R6自动减1 MOV R0,#00HCHECK:
12、JNB P3.1,QUIT ; 如按下停止键退出 ACALL DISPLAY JB OK,ACCOUT ; 如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT:JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 JNB P1.6,TZ3 JNB P1.7,TZ4 AJMP RECOUNTTZ3: JMP TRUE7TZ4: JMP TRUE8 QUIT: CLR OK ; 如果按下了停止键执行的程序 CL
13、R RING AJMP START四、调试1、仿真测试由keil软件编译生成hex文件,将此文件导入单片机中,进行硬件仿真。1.1 初始状态仿真主持人未按开始按钮且选手都处于准备状态时。仿真结果如图7。图8 初始状态仿真图1.2 抢答开始仿真主持人按下开始按钮后,选手们进入抢答30秒倒计时。仿真结果如图8。图9抢答开始仿真图1.3 抢答成功仿真主持人按下开始按钮后,30秒内抢答则为成功抢答。仿真图为6号选手成功抢答,抢答后进入60秒倒计时答题时间。仿真结果如图9。图10 抢答成功仿真图1.4 抢答违规仿真若在主持人还未按下开始按钮时,选手就抢答则为抢答犯规。图为2号选手在主持人未宣布开始时就抢
14、答,从而造成犯规。仿真结果如图10。图11 抢答违规仿真图1.5 抢答过时仿真主持人按下开始按钮后,开始30秒抢答倒计时,如果在这30秒中无人抢答,此次抢答算作失败,系统又将恢复为初始状态。仿真结果如图11图12 抢答过时仿真图2、仿真结果分析通过对电路的仿真,可以看出基于AT89C51单片机控制的抢答器在PROTEUS软件上可以很好的实现抢答报警、抢答成功显示、抢答倒计时等一系列功能。当仿真开始运行时,各个模块处于初始状态。此时显示器并无状态显示,但此时抢答键和蜂鸣器都处于开启状态,若此时有选手按下抢答键,则蜂鸣器会发出报警声,并且在数码管上显示犯规的选手的编号。主持人重新按下开始键,此时表
15、示抢答正式开始,并且数码管显示30秒倒计时,同时蜂鸣器发出声音提醒选手抢答开始了。选手抢答成功,同时也进入到倒计时60秒答题时间。从仿真的测试结果来看,此设计还是能比较好的实现预期的目标。五、心得体会 通过本次课程设计使我对Proteus仿真软件的使用和汇编语言有了更进一步的了解和掌握。在最初编写过程中,我们曾经因为实践经验的缺乏失落过,也曾经因仿真成功而热情高涨。特别是Proteus仿真软件的使用,一开始因为对软件不熟悉,要慢慢摸索,后来差不多会了以后,画仿真图又浪费了我大量的时间,最后在不断努力中终于把仿真图画出来了,最后要把写好的程序导入芯片。其实这也是一大难事,由于对于书本上的很多知识还不能灵活运用,尤其是对程序语言的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂。但后来我们组员详细地讨论,并认真分析了原来已有的代码和应有的硬件后,经过多次调试和测试终于成功了。平心而论,这次课程设计耗费了我们不少的心血。虽说这次课程设计有点辛苦,但是苦中还是有乐的,而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后的毕业论文会有更多帮助。同时在查找资料的过程中我也学到了许多新的知识,在和同学协作的过程中增进同学友谊,使我对团队精神的积极性和重要性有了更加充分的理解,为以后进入社会奠定了一定基础。