电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc

上传人:椰子壳 文档编号:3290124 上传时间:2019-08-08 格式:DOC 页数:18 大小:330.74KB
返回 下载 相关 举报
电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc_第1页
第1页 / 共18页
电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc_第2页
第2页 / 共18页
电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc_第3页
第3页 / 共18页
电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc_第4页
第4页 / 共18页
电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc》由会员分享,可在线阅读,更多相关《电子线路课程设计设计报告-基于单片机的八路抢答器设计.doc(18页珍藏版)》请在三一文库上搜索。

1、电子线路课程设计设计报告题 目 八路抢答器 指导教师 院 系 机械电子与建筑工程学院 班 级 自动化 学 号 姓 名 成绩 二十 年12 月24日摘 要 此次设计提出了用AT89C51单片机为核心控制元件,设计一个简易的抢答器, 本方案以AT89C51单片机作为主控核心,与发光二极管、蜂鸣器等构成硬件操作,再利用单片机编程,来控制抢答器的功能实现。本设计的系统实用性强、判断精确、操作简单、扩展功能强。其实在以往企业或学校等举行自己搞的知识竞赛中,都是主持人读题,观众选手得安静仔细听题目,有条件的花上万元买个电子抢答器,算是给知识竞赛赛场添彩了。大多依靠主持人发挥水平,选手和观众渴望的类似电视台

2、的节目效果难以实现。与电视播放的那些竞赛场面对照选手坐在显示器前答题,观众看着大屏幕显示题目和答案,大屏幕有抢答显示计分排行等,绚丽的画面有节奏的音乐差距很大,但这些都不是电视台的专利,利用竞赛软件,运用互动式多媒体技术,将竞赛题目制作成演示程序。通过投影仪大屏幕或电视墙在现场播放,给观众强烈的视听感受,凝聚竞赛现场气氛。通过选手面前的显示器,为参赛队员提供最直接的看题效果,保证队员对题目的正确理解。而我们设计的抢答器节省的不小的开支,还能直观公正的看清哪位选手先抢答到题并有主持人来往下读题目。它的功能实现是有主持人按键来控制总开关,主持人按下开关那么选手开始抢答,选手们若有一个在规定的时间内

3、抢答成功则其余的选手不可以再抢答,在发光二极管上会显示哪位选手抢答到题目。关键字:STC89C52单片机、动态显示、中断目 录第一章 绪论1.1单片机抢答器的背景1.2设计要求第二章 整体设计方案2.1单片机的选择2.2单片机的基本结构第三章 硬件设计3.1最小系统的设计3.2按键控制电路第四章 软件设计4.1抢答器的设计流程图4.2程序设计第五章 系统的仿真5.1抢答器protues系统的仿真第六章 制作PCB电路板6.1用protel2004绘制电路原理图6.2生成PCB印制电路板第七章 调试功能说明7.1系统的调试72软件调试问题及解决7.3焊接的问题及解决心得体会参考文献第一章 绪论1

4、.1单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代

5、的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。本文主要介绍了抢答器的工作原理及

6、设计,以及它的实际用途。1.2设计要求:1) 设计制作一个可容纳八组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。2) 抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮无作用。3) 设置一个主持人“复位”按钮。4) 主持人复位后,开始抢答,对应的LED灯显示抢答组别,蜂鸣器发出报警声。本次课程设计是最简单的八路抢答器,每一组都有一个对应的LED灯来显示是否抢答成功。有一个复位按钮,当一次抢答完时,按下复位按钮就可以进行下一次抢答。第二章 整体设计方案2.1 单片机的选择考虑到这是第一次做课程设计,再设计过程中可能会出现很多问题所以我们选择了可以重复烧程序的89C52。ATM

7、EL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.76.0V,可以实现耗电最优化。89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域.2.2单片机的基本结构2.2.1 单片机的引脚分布及功能MCS-52的引脚说明:MCS-52系列单片机中的8032、8052及875

8、2均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:图2-2-1 STC89C52的引脚图Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变R

9、AM(包括工作寄存器R0-R7)的状态,8052的初始态。8052的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。 图2-2-2复位电路和晶振电路图1、8位微处理器和控制器2、内部含有4KB的程序ROM。3、2个16位的计数/定时器。4、内部时钟振荡器5、全双工方式的串行接口(UART)种寻址方式。6、最高时钟振荡频率可达12MHZ,大部分指令执行时间为1s,乘、除指令为4s。2.2信号引脚介绍:1.输入/输出口线2.ALE地址锁存控制信号3.在系统扩展时,ALE用于控制把 口输

10、出的底8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以十二分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。4.外部程序存储器读选通信号5.在读外部ROM时 有效(低电平),以实现外部ROM单元的读操作6.访问程序存储器控制信号7.当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当 信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储8.RST 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。9.XTAL1和XTAL2外接晶体引线端当使用芯片内部时钟时,此二引线

11、端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10.VSS地线11.VCC+5V 电源第三章 硬件设计3.1最小系统的设计52单片机的最小系统电路图: 图3-1-1 单片机的最小系统图说明: 复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机

12、周期的高电平;复位输入高电平有效,当振荡器工作是,RST引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的方波便于12分频,方便定时操作); 单片机:一片AT89S51/52或其他51系列兼容单片机; 注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始

13、执行; 电源部分:接+5伏特的电压。3.2按键控制电路图3-2-1 按键控制电路说明:8个按键一端都接地,另一端依次接单片机的P3口。由于本次设计抢答按钮按下后在P3口对应位上输入低电平,而且该位一直保持低电平不会对实验结果照成影响所以每个按钮就不用接上拉电阻了。第四章 软件设计4.1抢答器的设计流程图初始化P3口是否有低电平输入给P1口送时长为3秒的脉冲是对应的P2口也变为低电平结束图4-1-1 抢答器设计流程图单片机程序就是按照上图设计,因该程序比较简单,所以采用汇编语言进行编程设计。4.2程序设计(见附页)第五章 系统的仿真5.1抢答器protues系统的仿真Proteus软件是Labc

14、enter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。图5-1-1 protues仿真图绘制抢答器的软件仿真图步骤分一下三步:(1)查找所需要的元器件;(2)根据电路图进行连线;(3)下载所

15、写完的C程序即可以仿真。通过以上步骤,来实现抢答器设计的仿真实现。第六章 制作PCB电路板6.1用protel2004绘制电路原理图图6-1-1 protel2004原理图Protel DXP在前版本的基础上增加了许多新的功能。新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。Protel DXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。Protel DXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。通

16、过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP提供了全面的设计解决方案。绘制原理图的时候注意几点:(1)有些器件DXP库里没有,需要自己绘制。(2)在绘制原理图是要尽量避免交叉线,使后面绘制PCB印制电路板简单点。(3)在绘制原理图时要注意合理的添加和删去节点。(4)有些器件的封装与实际的器件不一致就要自己绘制器件的封装,绘制封装最重要的是要抓住器件插孔间的间距。6.2生成PCB印制电路板图6-2-1 PCB印制电路板用原理图直接生成PCB电路,然后把每个器件的位置摆放好,摆放器件时要考虑好器件的实际大小要留足空间,方便后面的焊接。然后就

17、制动布线,最后稍微优化下电路把部分可以简化的线路简化下,这样就完成PCB板的制作了。PCB印制电路板的注意点:(1) 摆放器件的时候注意不要有交叉线,如果不能避免一定要有交叉线就要用跳线(2) 自动布线前先把导线的宽度尽量设置到最大,把焊盘外径设置到80100左右,这样做为了方便后面腐蚀和打孔。第七章 调试功能说明7.1 系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,

18、单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行。硬件联机调试则必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该 程序功

19、能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。7.2 软件调试问题及解决首先对所用软件及使用方法介绍如下:

20、1、Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。2、 总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统 软硬件联合仿真系统由一个硬件执行环境和一

21、个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。(1)、安装keil 与 proteus。(2)、把安装proteus MODELS目录下 VDM51.dll文件复制到Keil安装目录的 C51BIN目录中。(3)、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver)

22、,保存。(注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意)3、打开proteus,画出相应电路,在proteus的debug菜单中选中use remote debug monitor4、在keil中编写C语言程序5、进入KEIL的project菜单option for target 工程名。在DEBUG选项中右栏上部的下拉菜单选中 Proteus VSM Monitor-51 Driver。6、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示)这样就可以像使用仿真器一样调。问题:有时候在自己创建的元器件的管脚上无法实现连线

23、。回答:应该是管脚的间距太小了。因为在ISIS中,每个元器件的管脚都要占据一块区域(就像自己的保护区一样,不容别人随意侵犯),该区域会排斥外部的走线。解决问题的方法是在走线的同时按住 “CTRL”键,直到走线绕过狭窄的保护区。当然最根本的办法是重新编辑元器件,把其管脚间距调大一些。问题:按键和LED灯的顺序不能对应?回答:单片机程序的设计有点差错,没有把顺序对应起来,少了几条语句问题:在调试的过程中,发现在按下抢答键,LED灯亮了之后,有时候蜂鸣器还会继续发出声音,有时候不会有回答:那是因为脉冲送入时存在高低电平,所以才造成这种情况。我们把程序做了一部分的修改,把电平锁定,使得在LED灯亮起来

24、后,蜂鸣器停止发出声音7.3 焊接的问题及解决一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。造成焊接质量不高的常见原因是:焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!)。夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补焊。对于已形成黑膜的,则要吃净焊锡,清洁被焊元器

25、件或印刷板表面,重新进行焊接才行。焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当浩成的内。最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。实习心得经过两个星

26、期的努力,在老师和同学的商讨和帮助下,我们组较好的完成了设计任务,通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。我在图书馆查阅了大量的资料,同时也认识到了图书馆的重要作用。通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识,及我觉得此次设计让我更加巩固了所学的知识并在设计的过程中学会了与时俱进,让我受益匪浅。在学习单片机这门课程的时候,我们应该好好你的记笔记,课下好好的做练习题才能把C程序设计灵活的运用到单片机程序的设计上,在单片机这门课程的学习上,我们还应该知道一种常用的仿真软件proteus软件,可以让你我们更为清晰的掌握89C51/52系列的实际应用上的设计。

27、在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识。也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。这一次相当于毕业设计的练习,很多事情我都不可以独立完成,也深刻认识到自己的不足,需要在编程方面大下功夫。这次我学会如何烧程序,在凌老师的演示以及自己的练习我已经掌握了如何烧程序。我会努力弥补自己的不足,争取在下一次有更好的设计。参考文献1 Protel电路设计与制板 赵建领 编著2 单片机原理及应用 张毅刚主编 鹏喜元 董继成副主编单片机程序:RINGEQU 22HORG0000HAJMPMAI

28、NORG000BHAJMPTOINTORG0040H MAIN:MOVTMOD,#01H MOVTH0,#0ECHMOVTL0,#0FFHSETBEASETBET0SETBEX0SETBF0CLRRINGSETBTR0 COUNT:JBF0,LOOP ;第一个抢答到后,确保其他人不能抢答到。 SJMPCOUNT LOOP:JNBP3.0,TURE1 JNBP3.1,TURE2JNBP3.2,TURE3JNBP3.3,TURE4JNBP3.4,TURE5JNBP3.5,TURE6JNBP3.6,TURE7JNBP3.7,TURE8 ;这是查询是否有人抢答。SJMPCOUNT TURE1:ACAL

29、LBARKSETBP1.0 ;蜂鸣器响好后确保不会再发出声音。CLRP2.7 ;使对应的抢答者的LED灯亮。CLR F0;第一个人抢答到后,确保别人不能抢答到。AJMPCOUNT TURE2:ACALLBARKSETBP1.0CLRP2.6CLRF0AJMPCOUNT TURE3:ACALLBARKSETBP1.0 CLRP2.5CLRF0AJMPCOUNT TURE4:ACALLBARKSETBP1.0 CLRP2.4CLRF0AJMPCOUNT TURE5:ACALLBARKSETBP1.0 CLRP2.3CLRF0AJMPCOUNT TURE6:ACALLBARKSETBP1.0 CLR

30、P2.2CLRF0AJMPCOUNT TURE7:ACALLBARKSETBP1.0 CLRP2.1CLRF0AJMPCOUNT TURE8:ACALLBARKSETBP1.0 CLRP2.0CLRF0AJMPCOUNT BARK:SETBRINGSETBP1.0ACALLDELAY1CLRRINGRET; 控制蜂鸣器响的时间。DELAY1:MOV35H,#80HLOOP2:MOV36H,#20HLOOP1:MOV37H,#00HLOOP0:DJNZ37H,LOOP0DJNZ36H,LOOP1DJNZ35H,LOOP2RET TOINT:MOVTH0,#0ECH MOVTL0,#0FFHJNBRING,OUT;用RING作为标记控制脉冲长短。CPLP1.0;用中断产生一个是蜂鸣器响的脉冲。 OUT:RETI

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1