抢答器设计《单片机技术》课程设计说明书.doc

上传人:仙人指路1688 文档编号:4149120 上传时间:2023-04-07 格式:DOC 页数:31 大小:421KB
返回 下载 相关 举报
抢答器设计《单片机技术》课程设计说明书.doc_第1页
第1页 / 共31页
抢答器设计《单片机技术》课程设计说明书.doc_第2页
第2页 / 共31页
抢答器设计《单片机技术》课程设计说明书.doc_第3页
第3页 / 共31页
抢答器设计《单片机技术》课程设计说明书.doc_第4页
第4页 / 共31页
抢答器设计《单片机技术》课程设计说明书.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《抢答器设计《单片机技术》课程设计说明书.doc》由会员分享,可在线阅读,更多相关《抢答器设计《单片机技术》课程设计说明书.doc(31页珍藏版)》请在三一办公上搜索。

1、 单片机技术课程设计说明书 抢答器 院 、 部: 电气与信息工程学院 学生姓名: 指导教师: 职称 副教授 专 业: 通信工程 班 级: 完成时间: 2014年 摘 要 在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者举手等方法进行抢答,主持人很容易误判,会造成抢答的不公平,为了在比赛中准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、音响等多种手段指示出第一抢答者。为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。 本设计是以六路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89S52单片机及外围接口实现的抢答系统,利用单片机的定时器

2、/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-30s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有声音提示;抢答时间和回答问题时间倒记时显示,满时后系统由主持人复位;按键锁定,在有效状态下,按键无效非法。关键词:抢答器;AT89S52;LED数码管ABSTRACTIn television and school, we can often see some intelligence vies

3、 to answer first the program, if let vies to answer first person with hands and other methods, the host is easy to misjudgment, and can cause vies to answer first the unfair, in the game in order to accurately, justice and intuitive to diagnose the first vies to answer first, the design is usually b

4、y digital display vies to answer first, sound and other means the first vies to answer first the instructions. In order to make this unfair not occur, and it is only by electronic products high accuracy to guarantee the fairness of the contest. This design is the basic concept for 6 vies to answer f

5、irst. Considering the need to set in the function of the answer within, using AT89S52 and peripheral interfaces vies to answer first the system, of the microcontroller timer/counter timing and counting principle, software and hardware organically, and makes the system can correctly to the time, at t

6、he same time make digital tube can properly shows the time. With a switch to do the keyboard output, the speaker happens hints. In vies to answer first, only after the start, if only effective in vies to answer first began to be invalid; before vies to answer first vies to answer first Vies to answe

7、r first the time limit and answer problem of time can be in 1-30 s set; Can display is which players effective vies to answer first and invalid vies to answer first, right after the key voice tip; Vies to answer first time and answer the question time, full display events after the system and main h

8、ost forced reset; Key lock, in effective state, the key is invalid illegal. Key words responder; AT89S52; LED digital tube 目 录 1 课程设计的任务和要求11.1 课程设计任务11.2 功能要求说明11.3 抢答器的总体方案介绍及工作原理说明12 抢答器硬件系统模块的设计32.1 AT89S52基本介绍32.2 时钟电路32.3 复位电路32.4 下载电路32.5 电源电路32.6 独立式键盘模块32.7 LED显示电路模块32.8 蜂鸣电路模块32.9 LED指示灯电路

9、模块42.10 PCB图和元器件布局42.11 元器件清单42.12 电路原理图43 抢答器软件系统的设计53.1 使用的单片机资源的情况53.2 程序的流程框图53.3 程序清单104 抢答器的设计结论、仿真结果、教学建议104.1 设计结论114.2 仿真结果114.3 教学建议11结束语11致 谢12参考文献14附 录151 课程设计的任务和要求1.1 课程设计任务学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2 功能要求

10、说明设计一个具有特定功能的抢答器。该抢答器上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,显示器显示违规台号。蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。1.3 抢答器的总体方案介绍及工作原理说明

11、1.3.1 总体方案介绍本设计中的AT89S52单片机是六人抢答器的控制主体,起到识别按键,对数据做出相应的处理(复位、清零、报警等)。而数码管主要显示倒计时与选手按键号码。报警时间的长短也可以调节。在整个实验中调节按键然后观察显示同步,完成实验,抢答器的硬件框图如图1所示。图1 抢答器硬件框图1.3.2 工作原理说明抢答器的工作原理是利用单片机的两个定时/计数器T1和中断完成,通过循环调用显示子程序,用4个共阳极LED数码管来显示时间或台号,用P0口作为LED数码管的八个段控,用P2口中的外接74HC573的Q4、Q5、Q6、Q7、P2.0、P2.1、P2.2、作为4个数码管其中3个位选,P

12、1口接8个按键,S1S6为选手控制抢答按键,供选手抢答,S7为主持人开始按键,S8为主持人复位按键提P3.0-P3.7接8个LED指示灯,提供选手违规抢答、超时抢答、报警等提示。抢答功能,通过八路按键配合程序来实现抢答功能。当主持人按下抢答键开始抢答后,此时任一路按下按钮均闭锁其它各路,由程序对键盘译码并显示最先按下抢答键的台号及倒计时时间。违规抢答,主持人未按下抢答开始键,有选手开始抢答。违规抢答时数码管显示台号和违规指示灯。答题限时功能,当选手按下按钮时,启动倒计时,在30s内未答完即倒计时为0时发出报警和显示台号,说明答题时间到。 2 抢答器硬件系统模块的设计2.1 AT89S52基本介

13、绍 AT89S52单片机是一种低功耗,高性能的片内含有4KB可编程/擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与AT89C52引脚和指令系统完全兼容。芯片上的FLASH允许在线编程或采用通用的非易失存储编程器对存储器重复编程。2.2 时钟电路时钟电路由一个12MHz的石英晶体振荡器和两个33pF的的电容组成振荡电路和分频电路。2.3 复位电路复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。2.4 下载电路下载电路

14、主要用来给单片机烧写程序和提供电源。2.5 电源电路电源电路为单片机提供5伏稳压电源,是单片机能够工作。2.6 独立式键盘模块 采用独立式键盘接法,共有八个按键来对电路进行控制。分别”挂”在单片机的P1口线上。其中有六个按键为抢答键(接在P1.0-P1.5口线上),开始键接在P1.6口线上,复位键接在P1.7口线上。2.7 LED显示电路模块采用两个四位一体共阳型数码管显示器进行显示。本设计中用单片机P0口控制显示管的段码,连接时段选信号接在P0口的P0.0P0.7八个I/O口上,P0口是准双向I/O接口在输出驱动部分具有驱动4个TTL负载的能力,即输出电流不大于400A,所以在接电阻时选择接

15、470限流电阻。用P2口外接一个锁存器74HC573控制显示管的位码,LED显示电路模块主要用来指示第一抢答者,显示倒计时和违规的台号。2.8 蜂鸣电路模块 单片机P3.1口线上接上一个1K电阻然后再通过一个PNP型三极管与蜂鸣器相连接组成蜂鸣器电路,接入PNP型三极管是为了增强蜂鸣器的驱动电流。蜂鸣电路主要完成提示和违规报警功能。2.9 LED指示灯电路模块单片机P3.0口线上经过一个470的电阻与LED灯的阴极相连接,LED灯的阳极接正五伏电压。470的电阻起限流的作用。LED指示灯电路模块主要用来指示用违规操作发生。2.10 PCB图和元器件布局PCB图正反面和元器件布局见附录A。2.1

16、1 元器件清单 元器件清单见附录B。2.12 电路原理图 抢答器Altium Designer原理图见附录C。3 抢答器软件系统的设计3.1 使用的单片机资源的情况该抢答器用到了单片机的四个I/O口线和定时器1,定时器采用工作方式1并以中断方式工作;使用了单片机的位寻址区的20H单元作为抢答标志位,在数据的显示时采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。3.2 程序的流程框图3.2.1 主程序流程框图如图2所示为主程序流程框图。图2 主程序流程框图3.2.2 违规抢答程序流程框图违规抢答程序流程框图如图3所示,如果选手在主持人还没有按下开始键时按下抢答键,则执行违规,

17、同时指示灯亮,显示其台号。图3 违规抢答程序流程框图3.2.3 正常抢答程序流程框图如图4所示,如果选手抢答成功后,则蜂鸣器响一下,显示台号和封锁其他键的内容,并等待30内按下答完键,最后主持人按下复位键,抢答结束。图4 正常抢答程序流程框图3.2.4 显示程序和倒计时流程框图如图5所示,显示流程框图首先送段控来控制数码管的显示字形,接着再送位控来控制不同位的数码管显示。30S倒计时流程框图如图6所示。 图5 显示流程框图图6 倒计时流程框图3.2.5 键扫程序如图7所示为键扫程序,调用延时是为了去按键抖动。 图7 键扫程序3.2.6 中断服务程序如图8所示为中断服务程序。 图8 中断服务程序

18、3.3 程序清单 程序清单见附录D。4 抢答器的设计结论、仿真结果、教学建议4.1 设计结论通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了抢答器P.显示以及抢答倒计时的显示,正常抢答时显示台号,抢答违规时显示违规台号、违规指示灯亮、蜂鸣器报警。通过测试和仿真以及修改,该抢答器完成了设计任务,基本符合设计要求。其中不完善的地方是选手答完后不能按下答完键,只能由主持人复位。4.2 仿真结果 如图7所示为抢答器上电和复位时的proteus仿真图图7 上电显示图4.3 教学建议王老师的教学注重于理论与实践的结合,让我们能够学以致用,受益匪浅。王老师独特的教学方式让我在

19、以后的学习生涯中知道如何去自学。不仅传授了知识给我们还教会了我们不少做人的道理,这些做人的道理对于我们经后进入社会将会有很大的帮助。培养兴趣和创新是现代教学的追求目标,老师可以培养同学们学习兴趣和创新意识。结束语经过此次抢答器的课程设计,让我能从单片机的理论学习中应用到我们的生活实践,一个学期的单片机学习主要是课本上理论知识的学习,这些理论知识远不能满足对单片机的应用的要求,这次设计给我们提供了一次很好的理论联系实际的机会,使得我们对单片机的功能以及应用有了更深刻的了解和认识。 另外,程序设计是本次设计的一个难点,由于对指令的运用不够熟练使得在编程时屡屡碰壁。特别对于一些中断程序,因涉及到一些

20、标志位而使得编程难度更高,虽然通过查资料以及同学老师的指导解决了这些问题,但编程方面的欠缺还是很大的,这为我以后的学习业敲响了警钟,在以后我应加强这方面的练习以提高自己。 致 谢首先,我要感谢指导老师王老师耐心的对我们指导,使得我的这次课程设计能够顺利的完成,在这段时间我确实学到了很多实用的知识,同时经过不断的实践操作,我也加深了对理论的理解。他的严格要求让我熟练掌握了单片机这门课程。同时,我要感谢帮助过同学和朋友们,感谢他们在我遇到问题时能够及时的给我讲解,也感谢他们在我编程碰壁快要放弃时,能给我积极的鼓励和告诉我要坚持。谢谢你们!参考文献1 求是科技.单片机通信技术与工程实践M. 北京:人

21、民邮电出版社 Realistic technology. Single-chip microcomputer communication technology and engineering practice M. Beijing: peoples posts and telecommunications publishing house2 李广第,朱月秀,冷祖祁.单片机基础M.北京:北京航空航天大学出版社,2007.6LiGuang first, ZhuYueXiu, LengZuQi. Single chip microcomputer based M. Beijing: Beijing

22、university of aeronautics &astronautics press, 2007.6附 录附录A: 抢答器实物PCB图A1 PCB元件布局图图A2 PCB反面图图A3 PCB正面图附录B: 抢答器元件清单 表B1 元件清单 元器件名称规 格数 目备注AT89S52单片机40P1AT89S52单片机芯片锁紧座40P1四位一体共阳数码管2四位一体共阳数码管插座40P174HC57320P174HC573芯片插座20P1晶振12MHz1发光二极管9单排插针40P2三极管90121蜂鸣器1小按键10下载口座子1六脚按键电源开关1USB电源线1USB电源线插座1电阻2001电阻47

23、08电阻1K4电解电容22uf2瓷片电容33pf2排阻10k4排阻4701短路冒4杜邦线8P1PCB板子1固定螺钉螺帽3mm4USB下载线1附录C 抢答器Altium Designer原理图附录D 程序清单*项目名称:抢答器的设计设计者:方炯锟设计日期:2013年12月功能要求: 设计一个具有特定功能的抢答器。该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。主持人按下开始按钮后,抢答开始并限用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,显示器显示违规台号。蜂

24、鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。*;初始化*LED数码管显示器设定;P0.7-P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,aP2.2、P2.1、P2.0接位控线,从左至右(,LED3,LED1,LED0),其中P2.0用来显示台号,P2.1秒十位,p2.0秒个位P3.6P3.0接发光二极管D1D7其中发光二极管D1D6为16选手指示灯D7超时指示,P3.1接蜂鸣器*独立式键盘设定;8个按键S1至S8分别依次接在P1.0至P1.7口线; * 子程序DISPLAY(数码管显示子程序)DELAY延时子程序,晶振频率12MHz

25、)*常数表格;DAT(共阳数码管字型代码表)*键功能程序;中断服务程序;*;系统起始程序区 OKEQU 20H.1 ;抢答开始标志位 ORG0000H AJMP MAIN ORG 001BH AJMP T1INT ORG 0040HMAIN:MOV SP,60H MOV R1,#30 ;初设抢答时间为30s MOV R2,#30 ;初设答题时间为30s MOV TMOD,#10H ;设置T定时器T1模式1 MOV TH1,#3CH MOV TL1,#0B0H ;50ms为一次溢出中断 SETB EA SETB ET1 CLR OK SETB TR1*查询监控程序*START:MOV R5, #

26、0BH MOV R4,#0BH MOV R3,#0BH LCALL DISPLAY JB P1.6,CHA ACALL DISPLAY JB 1.6,CHA MOV A,R1 MOV R6,A ;送R1-R6,因为R1中保存了抢答时间 SETB OK ;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,#0AH ; 抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT里面CHA: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5

27、 JNB P1.5,FALSE6 AJMP START;*非法抢答处理程序*; 1号选手FALSE1:CLR P3.0 ;违规指示灯亮 MOV R3,#01H MOV R5,#0AH MOV R4,#0AH CHECK1:JNB P1.7,QUIT1 ACALL DISPLAY AJMP CHECK1QUIT1: SETB P3.0 CLR OK AJMP START 2号选手 FALSE2:CLR P3.1MOV R3,#02H MOV R5,#0AH MOV R4,#0AH CHECK2: JNB P1.7,QUIT2 ACALL DISPLAY AJMP CHECK2QUIT2: SET

28、B P3.1 CLR OK AJMP START 3号选手FALSE3: CLR P3.2MOV R3,#03H MOV R5,#0AH MOV R4,#0AH CHECK3: JNB P1.7,QUIT3 ACALL DISPLAY AJMP CHECK3QUIT3 :SETB P3.2 CLROK AJMP START4号选手FALSE4:CLR P3.3MOV R3,#04H MOV R5,#0AH MOV R4,#0AH CHECK4: JNB P1.7,QUIT4 ACALL DISPLAY AJMP CHECK4QUIT4: SETB P3.3 CLR OK AJMP START5

29、号选手FALSE5: CLR P3.4MOV R3,#05H MOVR5,#0AH MOV R4,#0AH CHECK5 :JNB P1.7,QUIT5 ACALL DISPLAY AJMP CHECK5QUIT5: SETB P3.4 CLR OK AJMP START ;6号选手FALSE6:CLR P3.5 MOV R3,#06H MOV R5,#0AH MOV R4,#0AH CHECK6: JNB P1.7,QUIT6 ACALL DISPLAY AJMP CHECK6QUIT6: SETB P3.5 CLR OK AJMP START*倒计时程序抢答倒计时和回答倒计时都跳到该程序)

30、*COUNT: MOV R0,#00H ;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H ;重置定时器*R6保存了倒计时的时间,之前先将抢答时间给R6*RECOUNT:MOV A,R6; MOV B,#0AH DIV AB ;除十分出个位/十位 MOV 30H,A ;十位存于(30H) MOV 31H,B ;个位存于(31H) MOV R5,30H ;取十位 MOV R4,31H ;取个位MOV A,R0 CJNE A, #20, CHECK ; DEC R6MOV A, R6 JZ CHAOSHI 30s超时转到超时处理程序 MOV R0,#00HCHECK: JN

31、B P1.7,QUIT ;如按下停止键退出 ACALL DISPLAYJB OK,ACCOUT AJMP RECOUNT*正常抢答查询*ACCOUT:JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 MOV A,R6 CJNEA, #14H, BBB LCALL BAOJING BBB: AJMP RECOUNT QUIT: CLROK 如果按下了停止键执行的程序 SETBP3.1 AJMP START;*超时处理程序* CHAOSHI:MOV R4,#0AH MO

32、V R5,#0AH ACALL DISPLAY CLR P3.1 CLR P3.7 JNB P1.7,AAA HERE:SJMPCHAOSHI LJMP DISPLAY AAA:SETB P3.7SETB P3.1LJMPSTART*正常抢答处理程序* TRUE1:ACALL BAOJING ;按键发声 MOV A,R2 MOV R6,A ;抢答时间R2送R6 MOV R3,#01H ACALL DISPLAY CLR OK ;因为答题的计时不再查询抢答,所以就锁了抢答 AJMPCOUNTTRUE2: ACALL BAOJING MOV A,R2 MOV R6,A MOV R3,#02H CL

33、R OK AJMPCOUNTTRUE3:ACALL BAOJING MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BAOJING MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNTTRUE5:ACALL BAOJING MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6:ACALL BAOJING MOV A,R2 MOV R6,A MOV R3,#06H CLROK AJMP COUNT;*显示程序*DISPLAY:MOV

34、DPTR,#DAT1 MOV A,R3 MOVC A,A+DPTR MOV P2,#08H MOV P0,A ACALL DELAY MOV DPTR,#DAT2MOV A,R5 MOVC A,A+DPTR MOV P2,#02H MOV P0, A ACALL DELAY MOV A,R4 MOVC A,A+DPTR MOV P2,#01H MOV P0, A ACALL DELAY RETDAT1:DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0CH;灭,1,2,3,4,5,6,7,8,9,灭,pDAT2:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0CH;第一个为零,其他与上相同,因为十位如果为零显示熄灭;*延时(显示和去抖动和蜂鸣器延时用到)*DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET*发声程序*BAOJING:CLR P3.1LCALL DELAYSETBP3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号