《基于51单片机抢答器设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机抢答器设计.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计论文课程名称: 单片机原理及其接口技术 题 目: 智力竞赛抢答器的设计 院 系: 理学院 专业班级: 电子信息科学与技术1301班姓 名: 毛文强 学 号: 131004014 指导教师: 2016 年 7 月 1 日学习文档 仅供参考西安建筑科技大学课程设计论文任务书一、课程设计论文题目 基于51单片机智力竞赛抢答器的设计 二、本次课程设计论文应到达的目的熟悉8路抢答器工作原理和设计方法,利用单片机实现抢答器抢答,并采用Proteus软件仿真,理论联系实际,将理论知识转换为实践能力。三、本次课程设计论文任务的主要内容和要求包括原始数据、技术参数、设计要求等主要内容:编写程序,利用单片
2、机控制抢答器及显示。要求: 1要求采用51单片机作为控制器; 2通过一个共阴极数码管进行号码显示; 3抢答器需要实现锁存优先抢答号码及显示等功能。 四、 应收集的资料及主要参考文献:1 严洁.单片机原理及其接口技术.第一版.机械工业出版社, 2010.77922 谢维成,杨家国.单片机原理接口及其应用系统设计.第一版.电子工业出版社,2014.1041103 胡汉才.单片机原理及其接口技术.第一版.清华大学出版社,2004.1561564 楼然苗,李广飞.单片机课程设计指导.第二版.清华大学出版社,2009.80875 杨居义,马宁.单片机原理设计指导.第一版.清华大学出版社,2009.888
3、9五、审核批准意见教研室主任签字专业班级:电子信息科学与技术1301 学生:毛文强 指导教师(签名): 学习文档 仅供参考摘要本次课程设计通过对8路智力竞赛抢答器的研究与分析,了解抢答器的工作原理,以AT89C51微处理器作为主要模块、数码管做为显示模块组成的用于表决选择的抢答器。本文主要介绍AT89C51微处理器、数码管和蜂鸣器等电子元器件的相关功能及其应用。合理选取AT89C51系列集成电路芯片通过划分功能模块完成抢答部分与显示部分的电路设计,结合实际应用与理论设计,使用蜂鸣器构成扩展电路,通过八个按键开关来摸拟八路选手的抢答,开始键按下,则进入到八个按键的扫描中。通过数码管来显示抢答选手
4、的号数,并由蜂鸣器发出抢答产生信号,利用Proteus电路模拟仿真软件,实现8路智力竞赛抢答器的模拟仿真,最终实现可控8路智力竞赛抢答器的设计。关键词:抢答器,集成芯片,AT89C51,Proteus学习文档 仅供参考Abstract The course is designed by 8 quiz Responder research and analysis to understand Responder works with AT89C51 microprocessor as the main module, LED display module as the Responder for
5、 voting choice. This paper describes the correlation function and its application AT89C51 microprocessor, digital control, buzzer, and other electronic components. Reasonable selection AT89C51 series is completed by dividing the integrated circuit chip modules answer part of the circuit design and t
6、he display section, combined with the practical application of theory and design, constitute a buzzer expanding circuit, through eight key switch to analog eight players answer, start key is pressed, the process proceeds to the scan in eight buttons. Through digital number to show the number of play
7、ers answer, the answer issued by the buzzer signal generated using Proteus circuit simulation software, simulation 8 quiz Responder, and ultimately controllable 8 quiz Responder design. Key Words:Responder,Integrated chip,AT89C51,Proteus学习文档 仅供参考目录1 绪论11.1课设背景11.2 Proteus仿真简介22 设计方案42.1 硬件设计方案42.2 软
8、件设计方案43硬件电路设计63.1 微处理器AT89C51简介63.2管脚说明73.3 模块电路原理分析93.3.1 抢答器的电路框图93.3.2时序控制电路103.3.3时钟电路103.3.4扩展电路114 软件方案设计134.1 程序设计134.2 总电路仿真测试155 心得体会16参考文献17学习文档 仅供参考1 绪论1.1课设背景随着各种知识竞赛电视节目的不断发展,越来越多的竞赛抢答器排上了用场,抢答器不仅表达选手之间的公平抢答,而且能增加节目现场的紧张、活跃气氛。在知识竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要有一个系统来完成这个任务。这次设计就
9、是用AT89C51微处理器和其他元器件设计一个八路抢答器。数字抢答器由主体电路与扩展电路组成,优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动电路,以上两部分组成主体电路。通过蜂鸣器实现在选手抢答开始或抢答成功时响铃提示功能,构成扩展电路。本次课程设计的设计目的归纳为:1. 抢答器可同时供8名选手或8个代表队比赛,分别用8个按钮就表示;2. 为节目主持人设置一个控制开关,用来控制系统的清零和抢答的开始;3. 抢答器具有数据锁存和显示的功能。抢答开始后,假设有选手按下抢答按钮,编号立即锁存,并在LED七段数码管上显示出选手的编号、蜂鸣器给出音响提示,同时
10、要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号保持到主持人将系统清零为止。1.2 Proteus仿真简介Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电
11、路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者
12、则是实物演示实验难以到达的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展,“电脑仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风
13、险。相信在单片机开发应用中Proteus也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和电脑多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力。2 设计方案2.1 硬件设计方案抢答器由基本电路和扩展电路两部分组成。基本电路完成基本的抢答功能,即抢答开始后,当选手按下抢答键,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。扩展电路完成抢答开始和抢答成功时有蜂鸣器响起提示。根据课程设计要求可以大概构思出硬件电路图:数码管与单片机的P0口的低七位相连接;P0.7口与蜂鸣器相连接;P1口接八个按键;P2口接八个LED灯分别显示
14、八位选手抢答的指示信号。用以AT89C52为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低。2.2 软件设计方案1中断的开通与关断设计为到达在主持人未按下按键前抢答无效应该设置外部中断为开中断,外部中断0为关中断。当开始抢答信号发出后,开外部中断0以接收选手抢答中断信号。选手抢答后,开外部中断1从而使主持人再次按下按键后可以开始下一次抢答。2数码管的显示方案一:采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,
15、每段LED都对应一个单片机口线。方案二:采用动态显示,对于多位数码管显示时,每一位数码管轮流显示,当显示间隔时间较短时人眼就分辨不出是动态显示,而是每一位都是一直都在显示。比较二者,静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。动态显示器的优点是节省硬件资源,成本较低,但是要保证显示器正常显示,CPU必需
16、每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。通过以上分析,结合本课题只提供一位数码管,所以采用方案一。3抢答信号指示灯对于这一位LED灯的闪烁可以通过软件程序的编写,交替送出电平高低控制其闪烁。3硬件电路设计3.1 微处理器AT89C51简介AT89C51是一种带4K字节FLASH存储器FPEROMFlash Programmable and Erasable Read Only Memory的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储
17、器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-1所示。图3-1 AT89C51逻辑符号 3.2管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被
18、定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流
19、。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD串行输入口
20、P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0计时器0外部输入P3.5 T1计时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要
21、注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存
22、储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.3 模块电路原理分析3.3.1 抢答器的电路框图 如图3-2所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态
23、,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作开始、停止状态开关。图3-4 抢答器框图3.3.2时序控制电路 控制电路是抢答器设计的关键,它要完成以下功能:a.主持人将控制开关拨到开始位置时,扬声器发声,抢答电路进人正常抢答工作状态;b.当参赛选手按动抢答键时,扬声器发声,抢答电路停止工作。3.3.3时钟电路外部震荡电路单片机必须在AT49C51
24、的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如图3-5所示。图3-5 外部震荡电路3.3.4扩展电路数码管的设计:图3-6中数码管采用的是1位七段共阳数码管,其中a - g段分别接到单片机的P1.0 - P1.6口,由单片机输出的P1口数据来决定段码值。图3-6 数码管显示电路蜂鸣器的发声主要用于对有抢答时的报警信号,以提示主持人。蜂鸣器的发声由三极管放大电压、电流来驱动,其中三极管的基集接单片机的P2.0口,以提供导通基集电流,从而经放大后到达蜂鸣器的发声电压、电流。图3-7 报警电路4 软件方案设计4.1
25、 程序设计抢答器的程序初始化主要完成中断初始化,数码管显示初始化。中断初始化主要是对主持人按键中断信号和抢答中断信号的初始化,首先设置为主持人中断优先,抢答中断其后,即只有主持人按下按键后才允许选手抢答。而对于数码管的初始化显示在本课题中是使数码管全灭。初始化程序如下:MOVA,#7FH;初始化MOVP0,ASETBEA ;CPU开中断SETBEX1;开外部中断1SETBIT1;外部中断1设为电平触发方式CLREX0;关外部中断0程序主要是用来处理主持人按键发出的抢答信号的显示和选手抢答按键的允许:在主持人按下按键后,使数码管显示0以示意选手可以开始抢答,同时开外部中断0,即允许选手抢答中断。
26、同时,数码管显示0就说明主持人已经按下按键,所以在这里没有调用键盘消抖延时程序。处理程序和流程图如下:SETBEX0;开外部中断0SETBIT0;外部中断0设为电平触发方式MOVA,#40HMOVP0,A ;主持人按键显示段码送到P0显示RETI;中断返回总程序如下: ORG000JMP BEGIN TABLE: ; 共阴极数码管显示代码表DB 3FH,06H,5BH,4FH,66H ; 01234DB 6DH,7DH,07H,7FH ; 46789DELAY: MOVR5,#20 ; 延时2020ms子程序 LOOP4: MOVR6,#50 LOOP5: MOVR7,#100DJNZR7,$
27、DJNZ6, LOOP5DJNZR5, LOOP4RETBEGIN: MOV P2, #0FFH ; P2口置高电平,准备接收信号 MOV R4,#0; R4的位标志值清零。 MOVA, R4; R4位标志值送A寄存AGAIN: MOV DPTR,#TABLE;共阴极数码管代码表首址送 MOVCA, A+DPTR;取出显示0的代码送P口显示 MOV P1, ALOOP1: MOVA,P3;接收P3口的抢答信号。 CPL A ;抢答信号求反JZ LOOP1 ;如果没有抢答信号再返回LOOP1LOOP2: RRC A;有抢答信号则逐次移动判断是那一位抢答INC R4 ;每移一次位,R4位标志值加1
28、JNC LOOP2如果没有遇到抢答信号返回LOOP1继续移位MOV A,R4 ;遇到抢答信号把R4位标志的只送AMOVCA,A+DPTR ;找到相应位的显示代码MOVP1,A;送P1口显示LOOP3: JNB P2.2, BEGIN;假设主持人按了复位信号健则转向程序复位CPL P2.0 ;假设没按复位信号键,则通过P2.2给出高低信号驱动蜂鸣器LCALLDELAY ;调用延时程序SJMP LOOP3 ;P2.2口反复间隔0.4秒变化,驱动蜂鸣器 4.2 总电路仿真测试电路仿真模拟图如图4-1所示,当主持人开关置于“清零”位置时,选手按下抢答键不会有任何作用,只有当主持人宣布抢答开始,同时将主
29、持人开关拨到“开始”位置时,选手方可开始抢答,假设7号选手抢答成功,则数码管上显示“7”,同时蜂鸣器响起提示已有选手抢答成功。由于X3的锁存效果,选手抢答成功之后即使有其他选手按下抢答键,仍不会改变抢答结果。图4-1 抢答器电路仿真模拟图5.心得体会通过这次单片机原理课设,培养了我分析问题、解决问题的能力,不仅仅要搞懂理论知识,更是要学会将理论应用于实践。由于此次实验课题是两人共同完成的课题,更培养了团队合作的能力。这次课程设计就是考验我们的理论知识学得扎不扎实,能不能将理论与实践很好的结合起来。由于平时自己的基础知识掌握的并不够好,一开始对要做的电路没有一个深刻的认识,但通过上网找资料,去看
30、图书馆的书籍,以及和同组的成员一起讨论,终于把设计的电路图画好,并把原理弄懂了。因为对于抢答器电路,不仅涉及了微处理器和各种芯片的选择,还涉及了支电路的设计。需要自己认真学习查找各个芯片的功能,才能完成实验。后来我通过问我们班的同学以及参考网上的资料后画出了电路图,实现了相应功能。通过本次单片机原理的课程设计,使我懂得了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能到达目的。另外,细心也是极其重要的,做这个设计不能有一点闪失,必须一步到位,不然就会花费相当长的时间去检查错误,这次设计提高了我的实际动手能力和独立思考的能力。在设计的过程中遇到的问题
31、,可以说是困难重重,总会碰到这样那样的问题,同时在设计过程中发现自己的不足之处,对以前所学过的知识理解还不够深刻,掌握的不够牢固。回忆这次单片机原理课程设计,感受还是蛮多的。从理论到实践,在整个课程设计过程中,虽然说是相当的不容易,可是学到了很多东西,不仅学到了书本上有的,更学到了书本上没有的。看到相应功能的实现,那一刻,心中是无比的激动,因为里边凝聚了太多了努力与汗水。发现问题,解决问题,认识到自己的不足,温故而知新,通过尝试,不断提高自己的能力。非常感谢我的搭档、指导老师以及给予我帮助的每一个人。参考文献1 严洁.单片机原理及其接口技术.第一版.机械工业出版社, 2010.77922 谢维成,杨家国.单片机原理接口及其应用系统设计.第一版.电子工业出版社,2014.1041103 胡汉才.单片机原理及其接口技术.第一版.清华大学出版社,2004.1561564 楼然苗,李广飞.单片机课程设计指导.第二版.清华大学出版社,2009.80875 杨居义,马宁.单片机原理设计指导.第一版.清华大学出版社,2009.8889学习文档 仅供参考