路智能抢答器的设计方案_第1页
路智能抢答器的设计方案_第2页
路智能抢答器的设计方案_第3页
路智能抢答器的设计方案_第4页
路智能抢答器的设计方案_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8路智能抢答器的设计方案1 引言 智能抢答器,顾名思义就是用于比赛时,跟对手比反应时间,思维运转快慢的新型电器。随着社会科技技术的不断发展,它的应用场合也随之增加;技术含量大大提升;更加方便可靠。目前, 在电视台、商业机构、学校及企事业单位,广泛采用多种多样、功能齐全的智能抢答器用于各种竞赛,为竞赛增添了刺激性和娱乐性, 人们的业余生活得到了一定程度的丰富和充实。用单片机进行知识竞赛抢答器设计,其控制方便,灵活,只要按按钮,便可改变竞赛抢答器的抢答方案。1.1课题的背景和意义无论军队还是电视节目中,都会用到抢答器。目前市场上已经有很多类型的抢答器,但其中绝大多是早期设计的,采用模拟电路、数字电

2、路或者模数混合电路的产品。这些已经相当成熟,但是随着功能的增多,人们要求的复杂和电路的高要求,成本普遍偏高,故障率高,显示方式简单或者没有,无法准确的判断,也不便于参数的调节和功能的升级换代。近年来随着科技的发展,应用的不断的深入,单片机、PCLD、PCL的应用技术的成熟和准确性,同时带动传统的控制检测技术的不断更新。本文就是利用单片机为核心部分的控制及信号的产生,单片机的性能优势必将使得竞赛真正达到公平、公正、公开。1.2本课题的主要任务本课题所设计和制作的智能抢答器具有如下功能:1) 在主持人按下开始键后显示“F FF”。2) 有8个抢答按键,在开始倒计时后可进行抢答。3) 抢答成功后进入

3、回答时间倒计时。4) 如若选手违规抢答,则显示选手号并报警。5) 可以自由调整抢答时间和回答时间。2 智能抢答器的整体设计2.1硬件设计 图2.1 系统框图 如图2.1所示,智能抢答器由单片机、八段数码管显示电路、选手抢答按扭电路、主持人控制电路、时间调整电路和蜂鸣器报警电路组成。 2.1.1单片机本设计所用的单片机为STC89C52单片机,STC89C52单片机采用40Pin封装的双列直插DIP结构,如图2.2所示,40个引脚中,电源Vcc和接地GND各一根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口和P3口复用。 图2.2 STC89C52的引脚图2.2.2 最小系统 图

4、2.3 STC89C52最小系统图如图所示为最小系统图。1)复位电路:电容取10u,电阻R取8.2K2)晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)或者12MHz(产生精确的方波便于12分频,方便定时操作)。3)电源为4.5V,用3节5号电池2.1.3 选手抢答电路键盘有两类:独立键盘和矩阵键盘。独立键盘的特点是每个按键单独占用一个I/O口,每个按键工作不会影响其它的I/O口线的状态,多用于按键不多的场合。可采用JNB或JB来查询是哪一个按键按下,并转向相应的功能处理程序。当按键较多时,就用到了矩阵键盘。矩阵键盘又称行列

5、键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上设置一个按键,这样键盘上按键的个数就是4*4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。但由于本设计的按键只有八个,所以采用独立键盘方式,编写程序比较简单,运行速度也较快。如图2.4所示。 图2.4 选手抢答电路图2.1.4 八段显示电路本次设计采用了LG3641AH共阴数码管完成电路的显示工作,该数码管利用了BCD编码显示数字,程序编译容易,资源占用较少。并且具有低能耗、低损耗、低压等特点。同时它还易于维护,精度高,操作简单。如图2.5: 图2.5 显示电路图2.1.5 主持人控

6、制电路主持人按开始抢答键时,选手开始抢答。主持人按停止/确定键时,禁止选手抢答,并且可以设置回答抢答,如图2.6所示。 图2.6 主持人控制电路图2.1.6 时间调整电路 持人可自由设定每次抢答时间,本人设置的初始值是30s。若参赛选手在设定的抢答时间内进行抢答,抢答才算有效,数码管将显示选手号与答题时间,每次答题时间由主持人自由设定,本人设置的初始值是60s,如图2.7所示。 图2.7 时间调整电路图2.1.6 蜂鸣报警电路当主持人启动开始键后,定时器进行减计时,同时扬声器发出短暂的声响。参赛选手在设定的抢答时间内进行抢答,抢答才有效,数码管将显示选手号与答题时间。若抢答时间已到且无人抢答,

7、则该次抢答无效,系统报警并禁止抢答,数码管显示选手号与“FF” ,如图2.8所示。 图2.8 蜂鸣报警电路图智能抢答器的总电路图见附录一 2.2软件设计 本程序采用子程序设计,在主程序中调用子程序来完成特定的功能,这样程序会通熟易懂,同时也有利于程序的调试和修改,本程序流程如图2.9。 图2.9 程序流程图 从流程图上可以看出,启动时显示出“F FF”然后按下抢答键,若非法抢答则显示犯规,正常抢答则显示抢答号并倒计时。按下时间调整加一键可调整抢答时间,减一键则调整回答时间。 目前,单片机的编程语言主要有C语言和汇编语言两种。C语言是高级语言,编写起来比较简便且易维护,汇编语言介于机器语言和高级

8、语言之间,更接近硬件,但编写起来比较冗长,所以本次运用的为汇编语言,源程序见附录一。3 智能抢答器的设计实现3.1原理图绘制3.1.1protel软件介绍 PROTEL是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用, Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计 功能:它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、

9、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式。 特点:专题数据库管理环境,对设计文档采取统一的管理机制 网络设计组,可以实现基于异地设计的全新设计方法 具有在线库编辑的库管理 强大的设计自动化功能 智能化的基于形状的自动布线功能及交互式手工布线 更丰富的PCB设计规则 可靠的设计校验,使电路板的可靠性得到保证 具有良好的兼容性和开放性3.1.2原理图绘制过程第一步,创建ddb文件,首先打开protel99SE软件,新建一个工程项目即执行菜单命令【FILE】/【NEW】,在弹出的对话框如图3.1所示中将文件格式设置

10、为MS Access Database,文件名改好,然后点击“OK”就创建了一个后缀名为DDB的文件,我所做的所有内容都会在这个文件里面了。我的工程中我将它命名为 “抢答器.ddb”。 图3.1创建ddb文件第二步,新建原理图文件,在上一步之后显示的有Design Team,Recycle Bin,Documents,双击Documents,进入后执行菜单命令【FILE】/【NEW】/【SCHEMATIC DOCUMENT】,这样原理图文件就建立在“彩灯”工程项目的文档下了,将其命名为“抢答器原理图.sch”在以后的制 作PCB电路板的过程中我也把PCB图建立在该文档下,这样就可以保持文件的有

11、序。图3.2 新建原理图文件第三步,载入元件库,装入所需元件库就是将用户设计中需要用到的元件库载入当前系统,以便在绘图过程中随时查找和取用库中的元器件。如图3.3所示。图3.3 载入元件库例如在本设计任务中我需载入sim仿真库 ,如图点击“Add ”,此元件库便添加到工作界面。如果要移除此库,点Remove即可。 图3.4元件表如上图,便可直接在元器件列表中寻找所需的元器件。此外,为更加方便地找寻元件,还可点击左边的“Browse Sch”下的“Find”可直接搜索,打开直接输入RES系统自动在所有库中寻找到目标元件(如图3.5,之间加入这个库并且点击就可以放置这个元件到所需要的位置。图3.5

12、搜索元件第四步,放置元器件,从装入的元件库中选定所需的各种元器件,将其注意防止到以建立好的工作平面上。然后根据美观清晰的设计要求,调整元件位置。并对元件的序号、封装形式和显示状态等进行定义和设置,以便为下一步的布线工作打好基础。总原理图如下 图3.6 总原理图3.2PCB图生成PCB板生成步骤如下:第一步,定义元件封装,双击元件如图3.7所示的框图,在FootDrint后面的框中输入该元件的封装。图3.7元件封装第二步,电气法则测试,打开菜单命令【TOOL】中的【ERC】出现如图3.8所示的框图。图3.8电气测试规则设置第三步,生成网络表,在菜单栏Design中选择 create Netlis

13、t命令,出现如图3.9的框图。图3.9 生成的电路原理图网络表第四步,装入网络表,单击菜单栏Design中 Load Nets命令,出现如图3.10。图3.10 装入网络表对话框第五步,选择网络表文件,在装入网络表的对话框中,点击Browes,出现如图3.11所示。图3.11 选择网络表文件对话框第六步,生成无错误网络表宏信息,如图3.12. 图3.12网络表宏信息第七步,装入网络表与文件,自动布局,如图3.13。 图3.13 PCB板4 智能抢答器的制作4.1智能抢答器的安装 首先是对照清单表核对零件,然后用识环法认出各个阻值的电阻并且分类归好。依据实现绘制成的电气原理图开始排版,然后焊接。

14、然后再此次焊接过程中遇到了问题,做出了以下归纳一般来说,造成硬件问题的首要原因就是焊接失误,即焊接的好坏直接影响到产品的正常与否,在本次设计制作的焊接过程中遇到了一些问题,通过查找资料,找到了相关原因:1)焊锡用量过多导致焊点的锡堆积;焊锡过少又不足以包裹焊点;2)冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮,有细小裂纹。3)焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这对超小元器件及细小印刷电路板进行焊接时要尤为注意。4)焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当造成的。 表1 元器件清单表 位号名称规格数

15、量位号名称规格数量RP19脚排电阻1K1S1-S15按键开关6X6X516RP29脚排电阻10K1DSP1数码管 四位0.56共阴1RP37脚排电阻10K1Q1三极管S90121R1色环电阻10K1LS蜂鸣器无源蜂鸣器1R2、R3色环电阻0欧2X1接线座2P接线座5.081R4色环电阻1.5K1X2排针4PIN1R5色环电阻4.7K1CY1晶振12M1C1、C3电解电容10uF2LED1发光二极管5MM红色1C2瓷片电容104P1IC1单片机STC89C52RC1C4、C5瓷片电容20P2单片机IC座DIP40标准座1PCB板8X7.6CM14.2智能抢答器的测试1) 启动电源后系统自动复位,

16、数码管显示“F FF”。这次设计中,电源用的是3节5号电池,以下为调试运行时的实物拍摄如图4.1: 图4.1调试开始显示“F FF”2)抢答开始后, 抢答器倒计时状态 本次设计的八路抢答器可同时供八名选手进行比赛,分别用八个按钮S1S8表示。该系统还设置一个系统清除键S9和一个抢答器开始键S10,并由主持人自由控制。下图是抢答开始后, 抢答器进入5秒倒计时状态实物拍摄如图4.2: 图4.2 5秒倒计时3)8号选手抢答后42秒倒计时状态 主持人启动开始键后,定时器进行减计倒计。下图便是8号选手成功抢答后42秒倒计时状态如图4.3: 图4.3 8号抢答后倒计时42秒4)3号选手犯规状态主持人按清除

17、键时,禁止抢答,若某选手犯规抢答,数码管将显示选手号与“FF” 。下图是主持人禁止抢答后, 3号选手犯规抢答时的实物拍摄如图4.4: 图4.4 3号犯规5)抢答和回答时间的调整主持人可以根据现场的具体情况自由调节抢答和回答时间上限,下图为加减时间的实物图4.5: 图4.5 抢答和回答时间设置6)实物展示通过这段时间的努力,终于成功做好了预期的八路抢答器。如图4.6所示为实物图。 图4.6 实物图 结论 通过上述测试可知,本抢答器具备了预期的功能,它设计合理,结构简单,通用性好,功能强大,抢答可靠,能快速反应。致谢首先我要感谢我的导师王老师在毕业设计中对我给予的悉心指导和严格要求,她的指导使我有

18、完成论文的信心。王老师从选题、论文资料的收集、论文框架的确定、开题报告准备及论文初稿与定稿过程中倾注了大量的心血。她对单片机的专业研究和对该课题深刻的见解,使我受益匪浅。同时也感谢本校的一些老师在毕业设计期间所给予我的帮助,是你们的关怀使我能够顺利的完成毕业论文。在我的学业和论文的研究工作中无不倾注着老师们辛勤的汗水和心血。老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。在此我要向我的导师再次致以最衷心的感谢和深深的敬意,同时还要感谢学校在毕业设计期间提供给我们优越的条件。接着,我还要感谢和我一起做毕业设计的同学,在毕业设计的短短几个月里,你们给我提出很多宝贵的意见,给了我不少帮助

19、和支持,在此也真诚的谢谢你们。参考文献1 张平.AT89S52单片机基础项目教程.北京理工大学出版社,20122 周润景等.单片机电路设计、分析与制作.机械工业出版社,20103 张宏伟等.单片机应用技术.北京理工大学出版社,20104 皮大能.单片机课程设计指导书.北京理工大学大学出版社, 20105 姜治臻.单片机技术实践.高等教育出版社, 2010附 录附录一智能抢答器的总电路图 附录二源程序ST EQU 20H;开始抢答标志 RING EQU 22H;响铃标志 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT

20、 ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#15;初始设置抢答时间为15s MOV R2,#45;初始设置答题时间为45s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR ST CLR RING SETB

21、TR1 SETB TR0;刚开始就运行定时器,并显示FFF.如果想重新计数,重置TH1/TL1就可以START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF JB P3.0,NEXT;ddddddd ACALL DELAY JB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB ST;抢答标志位,用于COUNT子程序中判断是否查询抢答 MOV R7,#01H;读抢答键数据

22、信号标志,这表示只读一次有用信号 MOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序, 在COUNT里面查询有效抢答的程序 NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP STARTFALSE1: MOV R3,#01H AJMP ERRORFALSE2: MOV R3,#02H AJMP ERRORFALSE3: MOV R3,#0

23、3H AJMP ERRORFALSE4: MOV R3,#04H AJMP ERRORFALSE5: MOV R3,#05H AJMP ERRORFALSE6: MOV R3,#06H AJMP ERRORFALSE7: MOV R3,#07H AJMP ERRORFALSE8: MOV R3,#08H AJMP ERRORINT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1 JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,

24、DEC0;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO AJMP INT0SUBINC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1 AJMP INT0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H

25、 ACALL DELAY1 AJMP INT0SUBBACK0: RETI INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUBINC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUBDEC1: MOV A,R2 JZ SET

26、R2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUBBACK1: RETI REPEAT: MOV A,R2;使用锦囊时重新计时 MOV R6,A CLR RING 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

27、;个位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取个位 MOV A,R6 SUBB A,#07H JNC LARGER;大于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,CHE

28、CK;如果1s向下运行,否者跳到查停/显示 DEC R6;计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.1,QUIT;如按下停止键退出 JNB ST,CHECKK;只在回答倒计时才有效 AJMP NEXTTCHECKK:JNB P3.0,REPEAT;判断是否使用锦囊NEXTT: ACALL DISPLAY JB ST,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT:MOV A,36H JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TRUE3 JNB

29、 ACC.3,TRUE4 JNB ACC.4,TRUE5 JNB ACC.5,TRUE6 JNB ACC.6,TZ1 JNB ACC.7,TZ2 AJMP RECOUNT TZ1:JMP TRUE7 TZ2:JMP TRUE8 QUIT: CLR ST;如果按下了清除键执行的程序 CLR RING AJMP STARTTRUE1: ACALL BARK MOV A,R2 MOV R6,A;抢答时间R2送R6 MOV R3,#01H CLR ST;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE2:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#

30、02H CLR ST AJMP COUNTTRUE3:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#03H CLR ST AJMP COUNTTRUE4:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#04H CLR ST AJMP COUNTTRUE5:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#05H CLR ST AJMP COUNTTRUE6: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#06H CLR ST AJMP COUNTTRUE7:ACALL BARK MOV A

31、,R2 MOV R6,A MOV R3,#07H CLR ST AJMP COUNTTRUE8:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#08H CLR ST AJMP COUNTERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3;犯规号数暂存与(34H)HERE: MOV A,R0 CJNE A,#06H,FLASH;0.3s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH;三灯全灭 AJMP CHECK1FLASH: CJNE A,#0CH,CHECK1;下面是0.8s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH MOV R4,#0BH;显示FF和号数 AJMP CHECK1CHECK1: JNB P3.1,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论