EDA课程设计论文-基于单片机上的八路电子抢答器设计.doc_第1页
EDA课程设计论文-基于单片机上的八路电子抢答器设计.doc_第2页
EDA课程设计论文-基于单片机上的八路电子抢答器设计.doc_第3页
EDA课程设计论文-基于单片机上的八路电子抢答器设计.doc_第4页
EDA课程设计论文-基于单片机上的八路电子抢答器设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

EDA课程设计论文课程设计题目:基于单片机上的八路电子抢答器设计 目录1设计要求与功能31.1设计基本要求.31.2设计主要功能.32 硬件设计42.1控制系统及所需元件.42.2各模块方案选择及硬件设计.42.2.1 AT89C52功能介绍42.2.2 抢答器显示模块52.2.3 电源方案的选择52.2.4抢答器键盘的选择62.2.5 外部振荡电路72.2.6 复位电路72.2.7 蜂鸣器b82.2.8 控制功能模块83 软件设计83.1 软件功能.94 Proteus软件仿真94.1 Proteus软件介绍与结构系统原理图.94.2 Proteus软件仿真104.2.1 抢答和答题时间调整114.2.2 有效抢答处理124.2.3 无效抢答处理125 结论与展望14附录 汇编程序15II1设计要求与功能1.1设计基本要求(1)抢答器同时供8名选手或8个代表队比赛使用,分别用8个按钮K1K8表示。(2)设置裁判开关S1S6,该开关由主持人控制。其中按键S1为抢答开始功能键,S2为停止键,S3为抢答时间调节键,S4为答题时间调节键,S5时间加1S键,S6为时间减1S键。(3)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。(4)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,数码管上显示选手的编号和答题的时间(如60秒)。(5)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答。 (6)如果选手犯规,系统报警并显示犯规组号。1.2设计主要功能(1)具有抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。如果主持人未按“抢答开始”键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数,并且响个不停,直到按下“停止” 键为止。(2)具有定时功能,在30秒内无人抢答表示所有参赛选手或者参赛队对本题弃权,此时报警器工作。(3)如果想调节抢答时间或答题时间,按“抢答时间调节”键或“答题时间调节”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下“加1s”键,如果想减一秒按一下“减1s”键,时间LED上会显示改变后的时间,调整范围为099s, 0s时再减1s会跳到99,99s时再加1s会变到0s。 (4)主持人按“抢答开始”键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。 (5)如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。 2 硬件设计2.1控制系统及所需元件控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机AT89C52是系统工作的核心,它主要负责控制各个部分协调工作。 所需元件:该系统的核心器件是 AT89C52。各口功能:P0.0-P0.6是数码管的段选口,为其传送段选信号;P1.0-P1.7 是8组抢答信号的输入口;P2.0-P2.2 是数码管的位选口;P3.0、P3.1由裁判控制,分别是抢答开始锦囊功能键和停止键;P3.2(INT0)、P3.3(INT1)抢答倒计时时间以及答题倒计时时间设置口;P3.4、P3.5 分别实现了时间的加1和减1功能;P3.2-P3.5 可以实现对抢答倒计时时间以及答题倒计时时间进行设置,并且加减调整;P3.6为蜂鸣器的控制口。在其外围接上电复位电路、上拉电阻、数码管、按钮及扬声器。元件为:晶振 X1、电容 C1、C2、C3、电阻R1。2.2各模块方案选择及硬件设计电子抢答器用单片机来设计制作完成的,由于其功能的实现主要是通过软件编程来完成的,所以采用单片机AT89C52,它是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。2.2.1 AT89C52功能介绍AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。同时AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性:兼容MCS51指令系统。8k可反复擦写(1000次)Flash ROM。32个双向I/O口,256x8bit内部RAM。3个16位可编程定时/计数器中断,时钟频率0-24MHz。2个串行中断,可编程UART串行通道。2个外部中断源,共6个中断源。2个读写中断口线 。 3级加密位。低功耗空闲和掉电模式。软件设置睡眠和唤醒功能。图1 AT89C52管脚图2.2.2 抢答器显示模块数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。采用七段码7SEG-MPX4-CC 显示,它是共阴极的由高电平点亮,如图2-2所示。2.2.3 电源方案的选择系统需要5V电源来驱动单片机AT89C52。利用电脑的USB接口可以提供5V电压来驱动单片机。2.2.4抢答器键盘的选择键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。图2 数码管显示模块本设计采用独立式键盘。键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。如图2-3所示。最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。图3 独立式键盘CPU对键盘的扫描可以采用取程序控制的随机方式,即只有在CPU空闲时才去扫描键盘,响应操作人员的键盘输入,但CPU在执行应用程序的过程中,不能响应键盘输入,对键盘的扫描可以采用定时方式,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU总是定时的关心键盘状态。在大多数情况下,CPU对键盘可能进行空扫描。为了提高CPU的效率而又能及时响应键盘输入,可以采用中断方式,既CPU平时不必扫描键盘,只要当键盘上有键盘闭合时就产生中断请求,向CPU申请中断后,立即对键盘上的键盘进行扫描,识别闭合键,并做相应的处理。其模块电路图如图4所示。采用八个BUTTON 按钮作为抢答的选择按钮,与AT89C52的P1.0-P1.7相连。图4 选手用键2.2.5 外部振荡电路外部振荡电路单片机必须在AT89C52的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,外部振荡电路见图5所示。图5外部振荡电路2.2.6 复位电路外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,应为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位。只能用软复位。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序初始位置。复位电路采用图6所示。图6 复位电路2.2.7 蜂鸣器b蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件,其图形如图7所示。 图7 报警电路2.2.8 控制功能模块如图8所示为抢答开始键、停止键、抢答时间调整键、回答时间调整键、加1S键、减1S键。图8 裁判用键连接图3 软件设计智力竞赛抢答器要求有计时记忆功能,一次时间设置完, 复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码。当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功。可实现八路抢答。在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法。并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2 口低3位为位选输入端。通过查表将字型码送给 7 段数码管显示的数字。软件必须去抖动,如果开始键按下就向下执行,否则跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5秒。采用发声警报起到报警作用。3.1 软件功能1、如果想调节抢答时间或答题时间,按“抢答时间调节”键或“答题时间调节”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加1s按一下“加1s”键,如果想减一秒按一下“减1S”键, LED上会显示改变后的时间, 调整范围为099s, 0s时再减1s会跳到99,99s时再加1s会变到0s。2、按“抢答开始”键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设 60s答题时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。3、如倒计时期间,如果想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待按“抢答开始”进入下次抢答计时。 4、如果未按“抢答开始”键,而有人按了抢答按键,犯规抢答,LED 上不断闪烁FF和犯规号数并响个不停,直到按下“停止”键为止。 5、P3.0 为开始抢答,P3.1 为停止,P1.0-P1.7 为八路抢答输入数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。P3.2抢答时间调整键,P3.3 回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。当抢答开始时,判断选手是否求助,如求助,裁判可以按“开始”键重新为选手计时。4 Proteus软件仿真4.1 Proteus软件介绍与结构系统原理图Proteus的ISIS是一款Lab center出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。要进行Proteus仿真,首先要运用Proteus软件构建一个.DSN为后缀名的文件。在主窗口处点击左上方的Pick Devices按钮,将会弹出Pick Devices对话框。在该对话框中输入所需元件的封装名称,就可以找到相应的元件了。即分别输入AT89C52、7SEG-MPX4-CC、BUTTON、CAP、CAP-ELEC、CRYSTAL、RES、SPEAKER,分别得到单片机、数码管、按键、电容、电解电容、晶振、电阻和报警器这些元器件。按照原理图构建的Proteus仿真原理图如图9所示:4.2 Proteus软件仿真双击仿真图中的单片机AT89C52,将会出现如图10所示的单片机对话框窗口:在Program File中装载由WAVE生成的后缀名为.HEX的文件,点击仿真按钮即可进行仿真。点击Proteus软件仿真开始按键按钮,则开始进行仿真。如图11所示为初始时的显示。如图12所示为当主持人按下抢答开始键后的显示图:当主持人按下开始键S1后,启动开始抢答。数码管上显示的“30”代表抢答时间。系统预设30S倒计时抢答,也可以通过抢答时间调整键S3调整倒计时时间。如果在抢答倒计时期间,没有选手按下抢答键,则视为选手自动放弃抢答机会。同样在抢答倒计时5S后,系统会在每过1S,发出“嘟嘟”声,直到时间耗尽为止。图9 Proteus仿真原理图4.2.1 抢答和答题时间调整抢答时间调整的具体方法是:主持人按下开始按键S1后,接着按下抢答时间调整键S3。如果按下一次“加1”键S5,则倒计时时间加1S,即31S;如果按下“减1”键S6,则倒计时减1S。答题倒计时时间同样可以调整,具体方法如下:主持人按下开始按键S1后,接着按下答题时间调整键S4。如果按下一次“加1”键S5,则答题倒计时时间加1S,但是当60S时,“加1”后会直接置零;如果按下“减1”键S6,则倒计时减1S,当为0S时,“减1”则会变成60S。图10 单片机对话框图11 初始显示图图12启动抢答时的显示图4.2.2 有效抢答处理在抢答倒计时期间,如果有选手按下抢答键,则为有效抢答。系统将会发出警报,并在数码管上显示抢答组号和答题倒计时时间,系统预设60S。选手需要在答题倒计时期间回答主持人提出的问题,否则视为自动放弃。系统同时在答题时间还有5S的时候,会在每少一秒时发出“嘟嘟”声,直到答题倒计时耗尽为止。如图4-5所示为有效抢答6号选到时的显示图。另外,如果在答题倒计时期间,选手选择求助或者锦囊功能时,主持人可以按下抢答开始键S1,此时系统会重置答题倒计时,回到答题倒计时原点,即预设60S。4.2.3 无效抢答处理如果当主持人未按下开始抢答键S1,有选手抢答,这时候为非法抢答。此时系统会发出报警声,并在数码管上显示犯规的组号,其数码会产生闪烁。如图13所示为非法抢答时1号犯规显示图。当按下停止按键S2,这标着着抢答结束,回到初始显示图,如图14所示。图13有效抢答6号选到时的显示图图14 非法抢答时1号犯规显示图5 结论与展望本论文在深入理解单片机原理和基础理论上,主要设计了单片机控制模块以及实现各项功能的模块,最终实现了抢答器的工作。所做的主要工作:(1)在阅读了大量的国内外相关资料的基础上,对与抢答器有关的基础理论有了深入的理解,为系统设计奠定了理论基础。(2)详细分析本系统各模块方案的选定,并最终选定适合本系统的模块。(3)研究学习了AT89C52单片机,掌握了芯片的功能应用。同时对于其管脚图以及工作原理的了解,为系统设计提供了方便。在这次关于电子抢答器的课程设计中,我采用了单片机技术,模拟电子技术,以及仿真等相关技术,将自己在学校所学的知识连成一串,理论联系实际,体现出了大学生的动手能力。通过查阅和搜集有关的文献,培养了自学能力和动手能力,并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。通过论文的设计,我学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。把握重点、攻克难关,学到用到、活学活用。目前,电子抢答器仍处在不断完善的过程中,同时抢答器功能的实现形式也各种各样。不仅可以通过单片机实现抢答器,同时也可以通过数字编码来实现。在本设计中由于水平有限,目前该系统还有一些不足之处,有待于进一步完善的内容如下:(1)本设计中当抢答开始后,选手抢答后将立即进入答题倒计时,这样使得选手不能充分做好准备去回答问题,影响比赛。如果能够将设计更改为在选手抢答到后,主持人按下开始回答按键后再进入答题倒计时,会使得系统更完美。(2)由于时间与学识水平的限制,本文设计的硬件电路系统中还有一些方面需要改进,如时钟电路不稳定等,这些都有待于以后进一步的研究和完善。(3)由于设计中采用模块化的程序设计方法,因此将各个软件功能模块系统的连续起来,构成一个完全的系统也将是下一步需要完成的一个重要工作。理清各种子程序之间的关系,正确处理各种中断程序之间的关系,防止中断冲突,提高系统的稳定性。附录 汇编程序20OK EQU 20H RING EQU 22H ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: CLR P3.6 MOV R1,#30 MOV R2,#60 MOV TMOD,#11H MOV TH0,#0F0H MOV TL0,#0FFH MOV TH1,#3CH MOV TL1,#0B0H SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1 CLR OK CLR RING SETB TR1 SETB TR0 ;=查询程序= START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY JB P3.0,NEXT ACALL DELAY JB P3.0,NEXT ACALL BARK MOV A,R1 MOV R6,A SETB OK MOV R7,#01H MOV R3,#0AH AJMP 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 START ;=非法抢答处理程序= FALSE1: MOV R3,#01H AJMP ERROR FALSE2: MOV R3,#02H AJMP ERROR FALSE3: MOV R3,#03H AJMP ERROR FALSE4: MOV R3,#04H AJMP ERROR FALSE5: MOV R3,#05H AJMP ERROR FALSE6: MOV R3,#06H AJMP ERROR FALSE7: MOV R3,#07H AJMP ERROR FALSE8: MOV R3,#08H AJMP ERROR ;=INT0(抢答时间R1 调整程序)= INT0SUB: MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC0 JNB P3.5,DEC0 JNB P3.1,BACK0 ;P3.1 为确定键,如按下跳到BACKO AJMP INT0SUBINC0: MOV A,R1 CJNE A,#63H,ADD0 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1 DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETI ;=INT1(回答时间R2 调整程序)= 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 INT1SUB INC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUB ADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUB BACK1: 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 MOV B,#0AH DIV AB MOV 30H,A MOV 31H,B MOV R5,30H MOV R4,31H MOV A,R6 SUBB A,#07H JNC LARGER MOV A,R0 CJNE A,#0AH,FULL CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK SETB RING MOV A,R6 JZ QUIT MOV R0,#00H DEC R6 AJMP CHECK LARGER: MOV A,R0 CJNE A,#14H,CHECK DEC R6 MOV R0,#00H CHECK: JNB P3.1,QUIT JNB OK,CHECKK AJMP NEXTT CHECKK: JNB P3.0,REPEAT NEXTT: ACALL DISPLAY JB OK,ACCOUT AJMP RECOUNT ACCOUT: MOV A,36H JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TRUE3 JNB 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 TRUE8QUIT: CLR OK CLR RING AJMP START ;=正常抢答处理程序= TRUE1: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#01H CLR OK AJMP COUNT TRUE2: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNT TRUE3: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNT TRUE4: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNT TRUE5: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNT TRUE6: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNT TRUE7: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#07H CLR OK AJMP COUNT TRUE8: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT ;=犯规抢答程序= ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3 HERE: MOV A,R0 CJNE A,#06H,FLASH CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH AJMP CHECK1 FLASH: CJNE A,#0CH,CHECK1 SET

温馨提示

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

评论

0/150

提交评论