八路电子抢答器课程设计_第1页
八路电子抢答器课程设计_第2页
八路电子抢答器课程设计_第3页
八路电子抢答器课程设计_第4页
八路电子抢答器课程设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、等级:湖南工程学院课程设计课程名称单片机原理与应用课题名称电子抢答器的设计专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称单片机原理与应用课题电子抢答器设计专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月 日设计内容与设计要求设计内容:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0S7表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)

2、。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行软硬件调试;主要设计条件1 单片机开发板2 PC机3 PROTEL软件4 PROTEUS软件说明书格式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计

3、5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录11、课程设计成绩评分表。进度安排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、各硬件模块设计第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参考文献1、王迎旭.单片机原理及及应用.北京:机械工业出版社,2012.2、李建忠.单片机原理及应用. 西安:西安电子科技大学出版

4、社,20023、高峰.单片微型计算机原理与接口技术.北京:电子工业出版社,2003.4、邹逢兴.单片机应用新技术教程.北京: 高等教育出版社,20085、朱宇光.16位微型计算机原理接口及其应用.北京: 电子工业出版社, 6、陈海宴主编. 51单片机原理及应用基于Keil C 与Proteus. 北京:北京航空航天大学出版社,2010.目录第1章课题概述61.1课题的设计要求6 1.2 课程设计的目的和意义6第2章 总体设计方案7 2.1 总体思路7 2.3总体设计框图72.4系统工作原理8第3章 系统的硬件设计93.1单片机的选择93.2LED显示器10 3.3时钟电路设计113.4复位电路

5、设计12第4章 系统软件设计134.1系统软件设计方案134.2系统应用程序设计13 主程序设计134.2.2 1秒定时子程序设计14 4.2.3 中断服务程序15 4.2.4 字形码的定义16第5章 仿真与调试17第6章 总结与体会20第7章 参考文献21第8章 附录22 8.1 总机硬件设计原理图228.2 源程序清单23第1章 课题概述1.1 课题的设计要求以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0S7表示。设置一个系统清除和抢答控制开关S,开关由主持人控制。抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直

6、保持到主持人将系统清除为止。抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。1.2 课题的设计目的和意义在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。该系统设计就是针对上述各种要求设计出的供8名

7、选手参赛使用的电子抢答器。而且可以通过本次的课程设计我们可以学到关于单片机在实际生活中的设计应用,也可以深入地学习到单片机的编程。第2章总体设计方案2.1 总体思路该电路的根本任务是准确的判断出第一抢答者的信号和抢答的剩余时间并将其锁存。而目前使用的小型抢答器基本上采用小规模数字集成电路设计,其功能比较单一,使用起来也不够理想。但在各种知识、智力竞赛中,电子抢答器又是必不可少的设备之一。因此研制开发一个更先进、更实用的电子抢答器显得很重要。本次的课程设计就是为此而做。因此选用单片机技术为核心的设计方法设计一款数字抢答器,其技术、功能等方面都能满足现行的各种知识、智力竞赛的要求。2.2 总体设计

8、框图图2.1 总体设计框图2.3 系统工作原理系统主要以单片机为核心,设计了开始、复位功能模块,抢答功能模块,倒计时显示模块和系统报警模块。八名选手,意味着是八路输入的数字抢答器。用AT89C51的单片机的P1口连接系统八位选手的抢答开关,而控制输入信号从P3口输入,分别都是外接了上拉电阻的按钮构成。蜂鸣器只需要接到P3.2上,通过其电平输出驱动蜂鸣器发声,达到报警的效果。工作原理软件的实现通过对各个按钮的扫描,实现抢答的功能,由于扫描时间相当小,所以可以很精确得判断出那一位选手最先抢答成功和准确地判断出那一位选手抢答失败而导致犯规,并显示。在倒计时显示中,我使用了单片机的串行通信,到事先存好

9、的字形码传送到显示上来,用的是查表方式。倒计时还要一个秒单位的脉冲计时,系统使用了单片机内部硬件定时器,实现延时一秒的功能,使得倒计时以秒为单位准确地计时。第3章系统硬件设计3.1 单片机的选择AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机。AT89C51芯片不仅包括CPU、RAM、ROM、定时器、串行口、I/O接口等主要功能部件之外,还有驱动器、锁存器、指令寄存器、地址寄存器等辅助部分。CPU是单片机最核心的部分,是单片机的大脑和心脏,主要完成运算和控制功能。RAM用于存放变化的数据,其地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个

10、,后128个被专用寄存器占用。ROM用于存放程序和固定不变的常数等等。通常采用只读存储器,且其有多种类型,在89系列单片机中全部采用闪存、定时/计数器用于实现定时和计数功能。AT89C51共有四个8位的并行I/O口,每个口都有一个锁存器和1个驱动器组成。并行I/O口主要用于实现与外部设备中数据的并航输入输出,有些I/O口还有其他功能。AT89C51有1个UART全双工异步串行口,用于实现单片机和其他具有相应接口的设备之间的异步串行数据传送。AT89C51采用40Pin封装的双列直接DIP结构。40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口

11、线复用。图3.1 AT89C513.2LED显示器LED显示器是由发光二极管显示字段的显示器件。由图可知它由8个发光二极管构成,通过不同的组合可用来显示09、AF及小数点“.”等字符。图中DP表示小数点,COM表示公共端。数码管通常有共阴极和共阳极两种型号。共阴数管的发光二极管阴极必须接低电平,当某一发光二极管的阳极连到高电平时,此发光二极管点亮;共阳极数码管的发光二极管是阳极并接到高电平,须点亮的发光二极管阴极接低电平即可。显然,要显示某字形就应使此字形的相应字段点亮,实际就是送一个用不同电平组合代表的数据到数码管。LED显示器的驱动是一个非常重要得问题,显示电路由LED显示器、段驱动电路和

12、位驱动电路组成。由于单片机的并行口不能直接驱动LED显示器,所以必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够,显示器亮度不够,而且驱动电路长期在超负荷下工作容易损坏。LED显示器显示控制方式有两种:静态和动态。本设计方案选择的是动态控制方式。由于一位数据的显示是由段码和位码信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。图3.2 显示器共阳极与共阴极3.3时钟电路的设计单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。

13、电路中,电容器C1和C2对振荡频率有微调作用,通常取(30±10)pF。石英晶体选择12MHz。如图3.3图3.3时钟电路设计原理图3.4 复位电路的设计单片机的RST管脚为主机提供了一个外部复位信号输入端口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式由上电自动复位和手动复位两种。电阻电容器件的参考值R=1K欧、C3=10uF。如图3.4图3.4 复位电路设计第4章系统软件设计4.1 系统软件设计方案系统软件设计方案的确定可以把系统软件按照其功能分为6的模块,每个独立的模块在通过联系程序联系成一个完整的系统程序。系统的6的功能模块分别是:(1)主程

14、序模块(2)数码管显示模块(3)按键扫描输入模块(4)1秒的定时硬中断模块(5)LED灯输出显示模块(6)蜂鸣器报警输出模块图4.1 电子抢答器软件设计模块4.2系统应用程序设计4. 2. 1主程序的设计AT89C-51系列单片机复位后,系统一启动,就显示00,这就是系统的初始状态。此时等待复位键的输入信号,一直处于扫描P3.1的输入电平。然后等待开始信号的输入,同时扫描所有选手的输入信号,检查是否发生犯规。若开始键按下,则进行抢答过程,主要是扫描各选手的输入信号。先产生输入信号的选手抢答成功,转到显示模块。主程序流程图如图4.2图4.2 主程序流程图4. 2.21秒定时子程序的设计1S定时有

15、硬件定时和软件定时两种,由于软件定时浪费CPU的资源,在很多的地方都不才用。相比之下,硬件定时他不浪费CPU资源,且定时准确,使用方便,因此得到了广泛的使用。由于定时器定时初值较小,所以需扩展定时时间。使用寄存器R2,设定R2=20,通过20个50ms为1S的方法来实现定时。图4.3是硬件定时的使用流程图。本系统要显示倒计时间,所以在1S定时子程序的中断服务程序中加如了修改倒计值的指令,从而实现计数的变化。图4.3 1秒定时程序流程图4.2.3中断服务程序图4.4 中断服务程序流程图4. 2. 4字形码的定义由于系统LED显示器使用的是共阴极的显示器,而显示器不能直接识别十进制和别的进制,他这

16、样根据给定的字行码进行显示,有了十进制对应的字行码,就能实现十进制数通过编译然后在LED显示器上显示,准确无误。字行码程序清单如下:ORG 10000HTAB:DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,1FH DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H第5章仿真与调试1、主持人按下抢答开始键之前,抢答选手若按下抢答键,视为违规,显示其号码,同时报警,仿真电路如图5.1:图5.1显示违规组号2、当主持人按下抢答开始键后,进入30秒抢答倒计时,显示仿真电路如图5.2:图

17、5.2开始抢答并倒计时3、主持人按下抢答开始键,若有选手进行抢答,显示其号码和剩余枪弹时间,显示仿真电路如图5.3:图5.3显示抢答选手号码和抢答剩余时间4、主持人可以调整抢答时间,仿真电路如图5.4:图5.4 调整抢答时间第6章总结与体会经过将近二周的单片机课程设计,终于完成了八路抢答器的设计,其中有着许多苦闷也有着许多实验成功的喜悦。我们的课题并不是很难,在图书管里也有很多资料可查。平时的学习只是理论性的,很难理解,而且很难知道自己有没有掌握。在两周的时间里充分的把学过的东西拿来回味,拿来用。不但了解了那些已经掌握,那些还不知道在设计的同时复习了掌握的知识,还在此基础上把知识扩开学到了更广

18、的内容。同时还学习掌握了以前没学好的知识。现在我感受到课程设计的收获是很大的,它不但使我对单片机的知识有了一个整体的认识,使知识形成了一个连贯的体系,原来在课堂上学到的原理知识,感觉空洞了些,但是在这里实践了两周之后才发现,原来这些器件还可以实现这么多的功能。而且随着课程设计的深入,我们对单片机及其扩展有了更深刻的认识。虽然在设计过程中我遇到了很多困难,但还是收获良多。设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。在设计的过程中,遇到了很多的问题,有一些知识都已经不太清楚了,但是通过一些资料又重新的温习了一下数字电路部分的内容。在这次设计中也使我们的同学关系更进一步了,同学

19、之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此要感谢我的指导老师,感谢老师给我这样的机会锻炼。在整个设计过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次设计的最大收获和财富,使我终身受益。我也将继续努力,不断完善和充实自己。第7章参考文献1、王迎旭.单片机原理及及应用.北京:机械工业出版社,2012.2、李建忠.单片机

20、原理及应用. 西安:西安电子科技大学出版社,20023、高峰.单片微型计算机原理与接口技术.北京:电子工业出版社,2003.4、邹逢兴.单片机应用新技术教程.北京: 高等教育出版社,20085、朱宇光.16位微型计算机原理接口及其应用.北京: 电子工业出版社, 6、陈海宴主编. 51单片机原理及应用基于Keil C 与Proteus. 北京:北京航空航天大学出版社,2010.第8章附录8.1 总机硬件设计原理图图8.1 总机硬件设计原理图8.2 源程序清单OK EQU 20H ;抢答开始标志位 RING EQU 22H ;响铃标志位 DATOA EQU 36H ;抢答按键口数据存放地址 ORG

21、 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#30 ;初设抢答时间为30s 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/

22、INT1 CLR OK CLR RING SETB TR1 SETB TR0 START: MOV DATOA,#0FFH ;查询程序 MOV R5,#00H MOV R4,#00H MOV R3,#00H ACALL DISPLAY JNB P3.3 ,INT0SUB JNB P3.4,TZ1 ;倒计时调整 JB P3.0,NEXT ACALL DELAY JB P3.0,NEXT ;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询 SETB EX0 ;开放INT0 ACALL BARK ;按键发声 MOV A,R1 MOV R6,A ;送R1->R6,因

23、为R1中保存了抢答时间 SETB OK 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,TZ1 JNB P1.7,TZ2 AJMP STARTTZ1: JMP FALSE7TZ2: JMP FALSE8;非法抢答处理程序FALSE1: ACALL BARK ;按键发声 MOV

24、R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFALSE4: ACALL BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL BARK MOV R3,#06H AJMP ERRORFALSE7: ACALL BARK MOV R3,#07H AJMP ERRORFALSE8: ACALL BARK MOV R3,#08H AJMP

25、ERROR INT0SUB: MOV A,R1;INT0(抢答时间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,DEC0 ;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0 ;P3.1为确定键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1 CJNE A,#63H,ADD0 ;如果不是99,R2加1,如果加到99,R1就置0,重新加起。

26、MOV R1,#00H ACALL DELAY1AJMP INT0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1 DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETI COUNT: MOV R0,#00H;倒计时程序(抢答倒计时跳到改程序) MOV TH1,#3CH MOV TL1,#0B0H ;重置定时器RECOUNT: MOV A,R6 MOV B,#0AH DIV AB ;除十分出个位/

27、十位 MOV 30H,A ;十位存于(30H) MOV 31H,B ;个位存于(31H) MOV R5,30H ;取十位 MOV R4,31H ;取个位 MOV A,R6 SUBB A,#02H 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,#00HDEC R6 ;一秒标志减1AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查"

28、停/显示" DEC R6 ;计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.1,QUIT ;如按下停止键退出 ACALL DISPLAY JB OK,ACCOUT AJMP RECOUNTACCOUT: MOV A,DATOA 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,TZ4AJMP RECOUNT TZ3: JMP TRUE7 TZ4: JMP TRUE8 QUIT: CLR O

29、K ;如果按下了"停止键"执行的程序 CLR RINGAJMP START TRUE1: ACALL BARK;正常抢答处理程序 MOV R3,#01H CLR OK ;因为答题的计时不再查询抢答,所以就锁了抢答AJMP COUNTTRUE2:ACALL BARK; MOV R3,#02H CLR OKAJMP COUNTTRUE3:ACALL BARK; MOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BARK;MOV R3,#04H CLR OK AJMP COUNTTRUE5: ACALL BARK; MOV R3,#05H CLR OK

30、 AJMP COUNTTRUE6: ACALL BARK; MOV R3,#06H CLR OKAJMP COUNTTRUE7: ACALL BARK; MOV R3,#07H CLR OKAJMP COUNTTRUE8: ACALL BARK; MOV R3,#08H CLR OKAJMP COUNT ERROR: MOV R0,#00H;犯规抢答程序 MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3 ;犯规号数暂存与(34H)HERE: MOV A,R0 CJNE A,#0AH,FLASH ;0.5s向下运行->灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH AJMP CHECK1FLASH: CJNE A,#14H,CHECK1 ;下面是1s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H ;取回号数 MOV R5,#00H MOV R4,#00H ;显示00和号数 AJMP CHECK1CHECK1: JNB P3.1,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR

温馨提示

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

评论

0/150

提交评论