《基于AT89S51的八路抢答器的设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于AT89S51的八路抢答器的设计毕业论文.doc(28页珍藏版)》请在三一办公上搜索。
1、江西工业贸易职业技术学院毕 业 设 计课题名称:基于AT89S51的八路抢答器的设计 (2014 年 上 学期)系 部 机电技术工程系专 业 机电一体化 班 级 12机电(2)班 姓 名 指导教师 2014 年 06 月07日独创性声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得江西工业贸易职业技术学院或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。设计作者签名: 蔡锦
2、桂 日期: 2014年 06月 07日 版权使用授权书本毕业设计作者同意学校保留并向国家有关部门或机构送交设计的复印件和电子版,允许设计被查阅和借阅。本人授权江西工业贸易职业技术学院可以将本毕业设计全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业设计或与该设计直接相关的学术论文或成果时,单位署名为江西工业贸易职业技术学院。设计作者签名: 蔡锦桂 日期: 2014 年 06 月 07 日指 导 教 师 签 名: 日期: 年 月 日 摘 要本方案以AT89S51单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器
3、,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用汇编语言编程,使其实现一些基本的功能。关键词:单片机、AT89S51、抢答器目 录一 设计目的与任务3二 各模块的选择和论证32.1抢答器显示模块选择32.2 控制器选择52.3 键盘选择52.4 时钟频率电路的设计72.5 复位电路的设计82.6 报警电路82.7 AT89S51简介 92.7.1 AT89S51单片机的结构92.7.2 AT89S51单片机管脚说明10三 模块最终方案的设计123.1总体设计思
4、路123.2 功能介绍123.3 抢答器的软件设计123.4 数码显示软件设计13四 系统调试与仿真134.1 软件调试问题分析144.2 Proteus 仿真14五 电路板的制作与检查15六 总结16参考文献16附 录17附 录 一 主程序22附 录 二 元件清单28附 录 三 Proteus仿真原理图29 基于AT89S51的八路数显抢答器摘要:本方案以AT89S51单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和
5、比赛,同时还利用汇编语言编程,使其实现一些基本的功能。关键词:单片机、AT89S51、抢答器一 设计目的与任务1 课程设计目的(1)结合所学的电子电路的理论知识完成数码显示八路抢答器课程设计;(2)通过该设计学会并掌握常用电子元器件的选择和使用方法;(3)提高自己综合分析问题和解决问题的能力。2 课程设计任务 在比赛开始,主持人读完题之后按下总开关,即计时开始,此时数码管开始进行30s的倒计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号和抢答所用的时间,同时蜂鸣器也会发出声音,以提示有人抢答本题,如果在规定的60s时间内没有做出抢答,则此题作废,即开始重新一轮的抢答。在抢答和回
6、答时间的最后5s,蜂鸣器都会给予报警提示。二 各模块的选择和论证2.1抢答器显示模块选择显示模块主要是显示抢答的时间,组别号码等。考虑有以下两种显示方案。方案一:使用液晶屏显示时间。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。但由于只需要显示时间和转向、相数这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶显示芯片,不易维护。方案二:在使用传统的数码管显示。数码
7、管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,选择采用方案二。显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是:显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端
8、口资源少。在本设计中根据实际情况采用的是动态显示方法。4位七段数码管显示电路如下图所示。图 2-1 4位七段数码管显示电路图上图中数码管采用的是4位一体七段共阳数码管,其中AH段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1,COM3,COM4分别接到单片机的P2.0,P2.1,P2.2,由单片机来决定当前该显示的是哪一位。在图中还有八个电阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低3位为字选段输入段。在这里我们通过查表将字型码送给7段数码管显示的数字。2
9、.2 控制器选择控制器主要用于对显示、抢答、音乐、计分等模块进行控制。控制器的选择有以下两钟方案。方案一:采用FPGA(现场可编程门列阵)作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可以应用EDA软件仿真、调试,易于进行功能扩展。FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。方案
10、二:采用ATMEL公司的AT89S51作为系统控制器的CPU方案。单片机算术运算功能强,软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。基于以上分析,我选择采用方案二。2.3 键盘选择键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。方案一:独立式键盘键盘接口中使用多少根I/O线,键盘中
11、就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。如图2-2。最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。 P112345678 图2-2
12、独立式键盘方案二:行列式键盘行列式键盘是用N条I/O线作为行线,M条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上。这种形式的键盘结构,能够有效的提高单片机系统中I/O的利用率,列线接P1.0P1.3行线接P1.4P1.7,行列适用于按键输入多的情况。CPU对键盘的扫描可以采用取程序控制的随机方式,即只有在CPU空闲是时才去扫描键盘,响应操作人员的键盘输入,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU总是定时的关心键盘状态。在大多数情况下,CPU对键盘可能进行空扫描。为了提高CPU的效率而又能及时响应键盘输入,可以采用中断方式,既CPU平
13、时不必扫描键盘,只要当键盘上有键盘闭合时就产生中断请求,向CPU申请中断后,立即对键盘上有键盘进性扫描,识别闭合键,并做相应的处理。0123456789ABCDEFP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 图2-3行列式键盘 图 2-4 抢答按键及调整按键2.4 时钟频率电路的设计单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如下图所示。图 2-5 外部振荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为
14、3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数。图中时钟频率为12MHz。2.5 复位电路的设计 单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如下所示:图 2-6 复位电路2.6 报警电路 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,
15、则在该口线上就能产生一定频率的巨型波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。本文设计如下图所示。图中单片机的14脚输出具有复合功能,此处用到了单片机17脚的IO端口功能,单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声。 图 2-7 发声电路2.7 AT89S51简介2.7.1 AT89S51单片机的结构AT89S51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器
16、(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大。AT89S51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。图2-8为AT89S51单片机的基本组成功能方块图。由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。下面介绍几个主要部分。振荡器和时序OSC程序存储器4 KB ROM数据存储器256 B RAM/SFR定时器/计数器 2 16 AT89S51CPU64 K
17、B总线 扩展控制器可编程 I/O可编程全双工串行口内中断图 2-8 单片机结构框图2.7.2 AT89S51单片机管脚说明图 2-9 AT89S51单片机管脚图ATMEL公司的AT89S51是一种高效微控制器。采用40引脚双列直插封装形式。AT89S51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0 口作为原码输入口,当FLASH进
18、行校验时,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口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,
19、P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流。P3口也可作为AT89S51的一些特殊功能口,如下表所示:P3口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断0)P3.3 INT1(外部中断1)P3.4 T0(记时
20、器0外部输入)P3.5 T1(记时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。ALE/:当访问外部存储器时,地址锁存允许端的输出电平用于锁存地址的地址字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。PSEN:外部程
21、序存储器的选通信号端。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/VP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:反向振荡器的输出,如采用外部时钟源驱动器件,应不接。三 模块最终方案的设计3.1总体设计思路主控制器模块:采用AT89S51单片机控制抢答器显示模块:数
22、码管显示电源方案的选择:采用5V电源供电抢答器键盘模块:独立式键3.2 功能介绍如果想调节抢答时间或答题时间,按“抢答时间调节”键或“回答时间调节”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如果想加1秒按一下“加1秒”键,如果想减1秒按一下“减1秒”键,时间LED上会显示改变后的时间,调整范围为0S99S,0S时再减1S会跳到99,99S时再加1S会变到0S。主持人按“抢答开始”键,会有提示音,并立刻进入抢答倒计时(预设30S抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60S回答时间),不进行抢答查询,所以第一个按抢答的选手有效。倒数时间到小于
23、5S会每秒响一下提示音。 如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。如果主持人未按“抢答开始”键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下“停止”键为止。3.3 抢答器的软件设计 系统软件由主程序和INT0中断服务组成。主程序由验键,违规显示,倒计时等功能子程序组成,系统完成初始化后循环检查各个功能当用户使用某个功能时,按下相应的按钮(或开关)单片机进入相应的功能处理。INT0中断服务程序完成抢答信号采样和识别处理。该智能抢答器以AT89S51单片机为控制核心,控制精度较高,
24、操作误差主要来自晶振自身所造成的误差。其他外围电路包括复位电路、时钟电路、报警电路、LED显示电路、抢答按键、功能设置键等。该智能抢答器具有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定;通过按键扫描输出按键信息,并通过单片机将它转化为在七段数码管上显示的字形符。单片机的P1口为8组抢答按键的输入口,P0.0P0.6为数码管的段选口,P2.0P2.2为数码管的片选口。外部中断INT0和INT1分别为抢答时间和回答时间的调整口,P3.4和P3.5分别实现时间调整时的加1和减1功能;P3.6为报警电路的控制口。 3.4 数码显示数码显示管用来作为时间的显示输出,一般用7段数码显示管。本次
25、设计中采用7段共阳数码显示管应用简单、可靠性高、成本低,作为显示输出。连接时段选信号接在P0口的P0.0P0.6七个I/O口上,P1口是准双向I/O接口在输出驱动部分具有驱动4个TTL负载的能力,即输出电流不大于400A,所以在接电阻时选择接510限流电阻。而在位选方面采用P2口的P2.0用单片机P2.2三个I/O口作为位选信号的输出口。四 系统调试与仿真 系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试
26、分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行,硬件联机调试则必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结
27、果正确为止。这时该 程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。4.1 软件调试问题分析数码管显示
28、问题:本次设计的最终方案是采用数码管显示屏实现显示功能,最初数码管显示不正常,出现闪烁现象。通过调试发现这是由于延时时间选择不当会使人眼产生视觉暂留效果,每一次显示时都必须加入适当的时间延时。由于一开始所选用的延时时间太短因此出现闪烁现象,在增加显示延时之后,数码管显示正常。蜂鸣器异常启动问题:蜂鸣器的启动/关闭是通过单片机输出的控制信号来实现的,当前时间与闹钟设置时间比较吻合时,单片机将对闹铃控制口执行取反命令,从而启动蜂鸣器发声。一开始编写程序时,没有对控制口的最初状态作正确设置,由于系统开机复位后,闹铃控制口处于高电平状态,因此出现一开机蜂鸣器就处于启动状态的情况。通过在主程序最开始加入
29、对闹铃控制口取零命令后,蜂鸣器启动/关闭控制恢复正常。 按键消抖问题:在最初编写程序时,键盘控制部分按照常例加入了按键消抖程序。在实际调试中,发现按键出现反应不灵敏现象。这是因为在键盘控制程序中,除了消抖程序外,还加入了按键提示音程序(每次按压键盘时,蜂鸣器发出“哗”的一声提示音)。由于在调用提示音子程序时,实际上已实现了一次时间的延时,因此再加入按键消抖程序的延时后,致使延时时间过长而出现按键反应不灵敏问题。通过调试发现提示音子程序本身所产生的延时已能够满足按键消抖时间延迟的要求,因此在键盘控制程序中无需再加入专门的按键消抖程序。在去除按键消抖程序后,按键控制灵敏度恢复正常。 4.2 Pro
30、teus 仿真Proteus软件是来自英国Labcenter Electronics公司的EDA工具软件,Proteus软件除了其具有和其它EDA工具一样的原理布图,PCB自动或人工布线及电路仿真的功能外, 其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出, 还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器,逻辑分析仪等,PROTUES的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统
31、。该软件的特点:1. 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。2.具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。3. 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。4. 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。五 电路
32、板的制作与检查在电路板的制作中,首先要进行线路的排布。利用PROTEL软件模拟实际电路板的线路走向,尽量避免线路出现交叉短路,电源线路尽量安排在电路板的最外圈。PCB板刻录完成之后,开始进行焊接工作。焊接完后进行电路板检查,将原线路图与实际焊接的电路板进行对比,由于线路不多,所以用万用表的欧姆档或是短路声响指示功能来做焊点的检测,如此可以避免焊接时漏焊、虚焊和配线错误的问题,同时保证了所制作出来的线路与原设计线路的一致性。一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。造成焊接质量不高的常见原因是:1. 焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹
33、焊点。2.冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹。3.夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补焊。对于已形成黑膜的,则要吃净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接才行。4.焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。5.焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加热一下,让
34、松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。6.焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当浩成的内。最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。六 总结通过这次毕业设计,我明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。这次制作与设计不仅涉及到我们以前所学到的单片机,模拟电子技术,数字电子技术,高等数学等课程的知识还涉及到很多
35、我们的选修及课外的知识像实训课上学到的手工焊接技术等等知识。第二是理论联系实际性太强,把所学的搜集到得知识运用的实际中不是一件容易的事,不仅由元件从课本上的符号到实物的认识还是理论的测量结果与实际值的误差。毕业设计是我作为一名学生即将完成学业的最后一次作业,他既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;毕业设计提高了我理论联系实际的能力更在知识的巩固与实际的操作上的衔接提高了我的能力,毕业设计中遇到的困难与挫折以及解决这些问题的思路与方法更增加了我对以后工作中遇到
36、困难我能克服解决的信心,也让我积累了经验,为以后的工作打下了良好的基础,同时也培养了我遇到突发状况要稳定冷静的精神,也培养了我学会怎么与别人合作的方法,怎么解决与合作的伙伴意见不同一时状况,为以后怎么和同事相处好奠定了基础。这次毕业设计业也让我懂得了分析问题,才能解决问题的道理,通过了这次更增加了我以后能够干好自己工作的信心。【参考文献】 1模拟电子技术 江晓安著;西安电子科技大学出版社2数字电子技术 康华光著;高等教育出版式社 3单片机技术任务驱动式教程 徐进强 、左翠红著;天津大学出版社 4电子设计与仿真技术 李忠波、袁宏等著;机械工业出版社 5单片机原理及接口技术 李全利、迟荣强著 高等
37、教育出版社 6基于Proteus的单片机可视软硬件仿真 林志琦著 北京航空航天大学出版社 7单片机应用系统设计技术 张齐著 电子工业出版社 附 录:附 录 一 主程序主程序如下:OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30;初设抢答时间为30sMOV R2,#60;初设答题时间为60sMOV TMOD,#11H;设置未定时器
38、/模式1MOV TH0,#0F0HMOV TL0,#0FFH;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=查询程序=START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY;未开始抢答时候显示FFFJB P3.0,NEXT;dd
39、dddddACALL DELAYJB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1-R6,因为R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面NEXT: JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE
40、4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START;=非法抢答处理程序=FALSE1: MOV R3,#01HAJMP ERRORFALSE2: MOV R3,#02HAJMP ERRORFALSE3: MOV R3,#03HAJMP ERRORFALSE4: MOV R3,#04HAJMP ERRORFALSE5: MOV R3,#05HAJMP ERRORFALSE6: MOV R3,#06HAJMP ERRORFALSE7: MOV R3,#07HAJMP ERRORFALSE8: MOV R3,
41、#08HAJMP ERROR;=INT0(抢答时间R1调整程序)=INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。MOV R1,
42、#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1JZ SETR1;如果R1为0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETI;=INT1(回答时间R2调整程序)=INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB P3.4,INC1JNB P3.5,DE
43、C1JNB P3.1,BACK1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUBBACK1: RETI;=倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=REPEAT:MOV A,R2 ;使用锦囊时重新计时MOV R6,ACLR R
44、INGCOUNT: MOV R0,#00H;重置定时器中断次数MOV TH1,#3CHMOV TL1,#0B0H;重置定时器RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6MOV B,#0AHDIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;个位存于(31H)MOV R5,30H;取十位MOV R4,31H;取个位MOV A,R6SUBB A,#07HJNC LARGER;大于5s跳到LARGER,小于等于5s会提醒MOV A,R0CJNE A,#0AH,FULL;1s中0.5s向下运行CLR RINGAJMP CHECKFULL: CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计SETB RINGMOV A,R6JZ QUIT;计时完毕MOV R0,#00HDEC R6;一秒标志减1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H