《基于51单片机的电子器件测试仪的设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的电子器件测试仪的设计.doc(41页珍藏版)》请在三一办公上搜索。
1、1 绪论 随着现代科学技术的迅猛发展,电子技术在航空航天、工业、农业、交通运输等国民经济诸多领域中得到了广泛的应用,而电子测量又是电子技术信息检测的重要手段,在现代高科技应用技术中起着非常重要的作用。伴随着工业生产的发展,对测量提出了更高的要求。快速、实时、精确、自动的测量已经发展成为现代测量技术的主流。20世纪是基于大规模集成电路发展的重要时期,它同时也促进了电子测量仪器技术的革命。由于大规模集成电路的大量应用,使得现代电子测量仪器体积更小、功能更全面、可靠性更高、功耗更低。1.1 课题背景及意义近年来,计算技术和微电子技术的迅猛发展为电子测量和测量仪器增添了巨大活力。电子计算机尤其是微型电
2、子计算机与电子测量仪器相结合,构成了一代崭新的仪器和测试系统,即人们通常所说的“智能仪器”和“自动测试系统”,它不仅改变了若干传统测量的概念,更对整个电子技术和其他科学技术产生了巨大的推动作用。 1.1.1 电子测量技术的应用在电子系统设计中,电子器件及它们的有机连接构成了具有各种功能的电子电路。如何顺利地完成从电路图到一个成型并运转正常的电子系统,需要很大的技术。无论是电路图设计中有任何纰漏或焊接时有任何差错,都有可能导致电子系统最终无法正常工作。有时费尽心机设计了一个完美无瑕的系统电路,并且费尽力气正确地焊接了所有元器件,一运行时系统还是会出现不工作或者与设计不同的运行效果。如果排除设计和
3、焊接的失误,出现不正常的原因恐怕就是某个或多个电子元器件本身存在质量问题,致使系统中某些模块状态异常。到时除了后悔当时没有仔细检查器件质量就盲目焊接,恐怕也没什么可抱怨的。各种各样的器件如电阻、电容、集成电路等都是由工厂生产的,虽然工厂努力把器件的出厂合格率做到100%,但是其中具有一些瑕疵还是不可避免的,这有可能是出厂检测的疏漏,也有可能是在运输、储存器件时因内、外部环境改变而使器件的质量发生变化。总之,我们从任何地方采购的器件谁也不能保证它们是100%合格的。所以,在焊接元器件之前有必要对它们进行一次全面的“体检”,这对最终系统的正确性、稳定性、可靠性都具有很大的意义。除了可以使用万用表对
4、电阻、电容、二极管等器件进行检测外,还需要经常用到集成电路测试仪,也称IC测试仪。根据IC测试仪的型号不同,可以测量的芯片也不同,其中包括定时器、运算放大器、比较器、稳压器、二极管、光耦、驱动器和通信IC等。有了这样一台IC测试仪,就像有了一个“听诊器”,可以在焊装芯片等器件之前对其进行“体检”,把故障排除在萌芽阶段。近年来我国测量仪器的可靠性和稳定性问题得到了很多方面的重视,状况有了很大改观。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器巨头的垄断造成了一
5、定的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以及中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。在国外,为适应高可靠电子元器件发展对质量控制标准的要求,美国通过对GJB548“微电子器件试验方法和程序”顶层结构的剖析和典型具体细微内容的研究,提高了军用电子元器件质量检测能力。目前全球针对电子测量的仪器种类繁多,功能也相当齐全。其中包括最先进的静电测试仪,直流电阻测试仪,数字式接地电阻测试仪。就拿Tencor公司仪器部生产的Sonogagept_2型无接触测试仪为例,它可以为硅片检测提供简易准确、无接触的测试手段。该测
6、试仪与众不同,它能在同一点位置上同时测试出整片硅片的厚度、电阻率、晶片电阻及掺杂型号,而不接触硅片的抛光表面。具有速度快、精度高、无沾污及较高的稳定性等特点。虽然现在电子测试仪种类繁多,功能也越来越齐全,但目前还没出现一种测试仪能检测日常生活中所用到的所有电子元件。所以在这一方面,还有待人类的进一步研究。本文设计的电子器件测试仪主要的服务群体是学生。在学生平时的电子系统设计中也需要检测各种常用元器件的功能好坏,但市面上的检测仪不仅价格昂贵,且功能单一,让许多电子设计爱好者望文却步。同时,本文设计的电子器件测试仪还可以应用在日常教学实验中,其设计原理简单,操作也十分快捷。由于学生对单片机的熟悉程
7、度和运用能力相对较高,所以本文设计是以单片机为核心的电子器件测试仪。在设计中,各个模块的设计也是基于原理简单、元器件性价比高的原则。尽管本设计全方位考虑其功能实现和产品的完美,但肯定还有不足,这需要以后进行更深一步的探讨和研究。1.1.2 单片机系统单片机就是微控制器,它是嵌入式系统中重要且发展迅速的组成部分。单片机接上振荡元件(或振荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。随着单片机运行速度的提高和片内资源的增加,系统中必要的硬件配置已经可以大大减少,某些硬件的功能也可以有软件来实现。与此同时,低成本、
8、高性能的硬件元器件也在不断地发展和出新,这为嵌入式系统的设计提供了更多的选择。某些功能到底是由硬件完成,还是由软件实现,要根据系统要求、性价比、可靠性和开发周期等多种因素综合考虑。单片机的出现是计算机发展史上的一个很重要的里程碑,是智能化的核心。单片机使计算机从海量数值计算进入到智能化控制领域。1.1.3 单片机系统的PROTEUS设计与仿真PROTEUS是英国Labcenter Electronics公司研发的EDA工具软件。它是目前世界上最完整的多种型号单片机(微控制器)系统的设计与仿真平台。它实现了在计算机上完成从原理图设计与电路设计、单片机代码级调试与仿真、电路分析与仿真、系统测试与功
9、能验证到形成PCB的完整的电子设计、研发过程。PROTEUS从1898年问世至今,经过了近20年的使用、发展和完善,功能越来越强。PROTEUS不仅可将单片机实例功能形象化,而且可将许多单片机实例运行过程形象化。前者可在很大程度上能得到实物演示实验的效果,后者却是实物演示实验难以达到的效果。但它的元器件、连接线路等却和普通的单片机实验硬件高度对应。这在相当程度上能替代传统的单片机实验教学的功能。课程设计、毕业设计是学生走向就业过程中重要的实践环节。由于PROTEUS能提供实验室无法相比的大量的元器件库,并且提供了修改电路设计的灵活性、提供了实验室在数量和质量上难以相比的虚拟仪器、仪表,因而也为
10、学生提供了培养实践精神、创造精神的平台。 随着科学技术的发展,“计算机仿真技术”已经成为许多电子设计部门重要的前期设计手段。它具有设计灵活,结果和过程的统一的特点。可以缩短设计时间、减少资金投入,同时也可降低工程制造的风险。相信在将来单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus软件进行单片机系统的仿真设计,是把虚拟仿真技术和计算机多媒体技术相结合的综合运用,这样可以培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计中,我们使用Proteus开发环境对学生进行培训,在完全不需要硬件投入的条件下,学生普遍反映,与单纯学习书本知识相比单片机的学习更容易接受,更
11、容易提高。实践证明,先使用Proteus进行系统仿真等开发成功之后再进行实际制作,可以极大提高单片机系统设计效率。因此,Proteus具有较高的推广利用价值。2 总体方案论证根据题目要求,此电子器件测试仪由下列模块组成:主控电路模块、按键选择模块、液晶显示模块、555测试模块、运放741测试模块、电容测试模块、二、三极管测试模块,具体论证与设计方案如下。2.1 系统方案本设计中,考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用AT89C51系列的单片机为核心来实现555芯片、电容、二极管、三极管、741运放测试模块的控制。显示模块拟采用LCD1602来显示检测结果。测试仪
12、总体设计框图如图2.1所示。键盘控制模块LCD1602显示模块主控制器AT89C51单片机二、三极管测试模块555测试模块运放741模块电容测试模块图2.1 测试仪总体设计框图2.2 设计方案论证2.2.1 主控模块设计方案与论证(1)方案一:以51单片机为控制核心,电路测试的信号经单片机处理后将处理的结果在液晶屏上显示出来。它具有价格便宜,软件处理简单方便的优点,在性价比和时间上占很大优势,特别是STC89LE58RD+等单片机相对功耗较低,有利于减小系统功耗。缺点是51系列单片程序处理时间相对较长,供电电压相对较高。(2)方案二:以ARM7嵌入式电路板作为控制核心;内嵌UC/OS-操作系统
13、,电路测试的信号经过单片机处理后将处理结果在液晶屏上显示出来。其优点是缩短了数据处理的时间,并且其单片机适合节点给定电压,不需要升压,减少了一定的外围电路,但是其价格较贵,在软件处理方面较复杂,在性价比和时间上有一定的差距。(3)方案三:以MSP430等新型单片机为控制核心。MSP430系列单片机可以设置其工作在低功耗模式下,功耗低于C8051系列的一个数量级以上,拥有业界最低功耗,很适合电池组低压供电的。其缺点是对于开发环境不熟悉,需要较长的开发周期。通过比较,从多方面因素考虑,我选择了方案一,采用51单片机。2.2.2 555测试模块与741测试模块设计方案与论证(1)方案一:555芯片与
14、741运放综合测试模块。用两个小8脚双列直插IC座,如图2.2连接。555接成无稳态多谐振荡器的振荡频率为,图示参数的振荡频率约为1HZ,若555为好的,则发光二极管lED1将周期地闪亮;否则,为坏的。741的接法由开关K2控制。转换开关K2用于控制555振荡信号加至741的同相端或反相端,前者使LED2的闪光与LED1同步,后者作为反相器时,LED2与LED1交替闪烁。图2.2 555与741检测电路(2)方案二:555芯片与741运放独立测试模块。555测试模块是用555时基电路构成无稳态多谐振荡器,单片机通过检测其输出电压的高低来判断555输出波形是否为方波,若为方波则芯片是好的,反之芯
15、片就是坏的。741测试模块是利用插入的运放741与外围的电阻构成一个比较器,单片机通过检测比较器的输出就可以判断运放的质量。综上所述,虽然方案一与方案二整体的设计思路相差不大,但方案二更能充分利用芯片资源,且显示更加直观,所以我选择方案二。2.2.3 二极管和三极管测试模块设计方案与论证 (1)方案一:二极管的测试采用正弦半波法。其电路如图2.3所示,触发晶闸管T,调整电流源G,使通过二级管D的正向峰值电压为给出的规定值。脉冲持续时间Tp、正相电流变化率dif/dt和C1两端的电压V1应与规定条件一致,即可判断二极管是否导通。三极管的测试则采用IC17414的施密特6非门集成电路。电路如2.4
16、图所示,测试时通过变色发光二极管LED1和LED2的组合发光颜色不同来实现判别。该集成电路内的非门均具有电压回滞特性,利用这个特性及外围电路构成振荡器可对三极管进行测试。但这种方法比较复杂,且不能充分利用芯片资源。图2.3 正弦半波法测试二极管电路图(2)方案二:采用51单片机端口检测。二极管的正极与51单片机的P3.5端口连接,通过判断二极管是否导通就可检测出二极管的正反向性。三极管的基极和51单片机的P3.4端口连接,根据电压的高低就可检测出三极管的管型。此方法操作简单快捷,符合本设计的要求。鉴于以上分析,我选择方案二。2.2.4 电容测试模块设计方案与论证 (1)方案一:利用多谐振荡原理
17、如图2.1所示。电容C电阻R和555芯片构成一个多谐振荡电路。在电源刚接通时,电容C上的电压为零,多谐振荡器输出V0为高电平V0通过R对电容C充电。当C上冲得的电压Vc=Vr时,施密特触发器翻转,V0变为低电平,C又通过R放电,Vc下降。当Vc=Vr时施密特触发器又翻转,输出Vc又变为高电平,如粗往复产生震荡波形。(2)方案二:直接根据充放电时间判断电容值,这种电容测量方法主要利用了电容的充放电特性Q=UC,放电常数r=RC,通过测量与被测电容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使T=ARC(T为振荡周期或触发时间;A为电路常数与电路参数有关)。这种方法中应用了555芯片组
18、成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大的问题,而且硬件一旦设计好,可变性不大。(3)方案三:基于AT89C51单片机和555芯片构成的多谐振荡电路电容测量。这种电容测量方法主要是通过使用一块555芯片来测量电容,让555芯片在直接反馈无稳态的状态下工作,555芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系如式2.4所示。 式 (2.4)当我们固定R的大小,其公式变化为式2.5。 式 (2
19、.5)所以我们只要能够测量出555芯片输出的频率,就可以计算出被测量的电容的大小。计算频率的方法可以利用单片机的计数器T0和中断INT0,配合使用来测量。综上所述,我选择方案三,这种研究方法相对简单,容易操作。2.2.5 显示模块设计方案与论证(1)方案一:采用LED数码管动态扫描,LED数码管价格适中,不要显示比较多的数字时数码管的使用必然会增多,连线方面会很麻烦,编程上也会相应的复杂。考虑到效率的因素不采用数码管显示。 (2)方案二:采用点阵式数码管显示,点阵式数码管是由八行八列发光二级管组成,在很多场合可以看到这种显示方式,但是在电子中显示时间这一块不合适,以来点阵显示在文字上有优势,但
20、显示数字存在一定的劣势,以来不够直观,二来显得有点浪费。综合考虑各种因素排除这种方案。 (3)方案三:采用LCD1602液晶显示,液晶显示屏显示的功能强大,可显示大量文字,图形,显示多样,清晰可见。与数码管显示相比,再直观程度上和亮度清晰度上都存在和多优势,并且现在液晶显示已成为主流,被人们普遍接受,符合大众口味。综上所述,我选择方案三,它具有丰富多样性、灵活性、电路结构简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较合适的。3 硬件电路设计硬件电路分为以下几部分:主控模块电路,二、三极管测试模块电路,555测试模块电路,741测试模块电路,电容测试模块电路和液晶显示模块电路。3.1
21、 主控模块设计 在本课题中,由于单片机构成的应用系统有较大的可靠性,容易构建各种规模的应用系统,且应用系统具有较高的软、硬件利用系数。还具有可编程性,硬件的功能描述可完全通过软件实现。另外,本设计还需要使用单片机的定时计数器、中断系统等,因此,选择以单片机为核心作为主控模板进行电路设计具有极大的必要性。在硬件设计中,本设计选用了常用的AT89C51单片机。AT89C51是低功耗、高性能、经济的8位CMOS微处理器,工作频率为0Hz24MHz,内置4K字节可编程只读闪存, 16位可编程I/O总线。AT89C51单片机包含的中央处理器、程序存储器、数据存储器、定时/计数器、中断系统,以及数据总线、
22、地址总线和控制总线都在本设计中有所作用,现在仅将上述芯片管脚分别加以说明。VCC:系统供电电压。GND:接地端。RST:复位输入端。XTAL1:反向振荡放大器和内部时钟工作电路的输入端。XTAL2:系统时钟的反向振荡器输出端。P0口:P0口是一个8位漏级开路双向I/O口,每个脚可吸收8TTL门电流。当P0口的管脚第一次写1时,就被定义为高阻输入。P0可以用于外部程序数据存储器,可以被定义为数据/地址的低八位。其中P0.0P0.7为液晶显示接口。P1口:P1口是一个8位双向I/O口可以内部提供上拉电阻,P1口缓冲器可以接收,输出4TTL门电流。 P2口:P2口是一个内部上拉电阻的8位双向I/O口
23、,P2口缓冲器可以接收,输出4个TTL门电流,在P2口被写“1”时,其管脚就被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚由于被外部拉低,将输出电流。这是由于内部上拉导致的。P2口在用于16位地址外部数据存储器进行存取或外部程序存储器时,P2口将输出地址的高八位。在给出地址“1”时,它能利用内部上拉的优势,对外部的八位地址数据存储器进行读写时,P2口将输出其特殊功能寄存器的内容。P1.3P1.7是接测试模块按键选择开关。P3口:P3口管脚是8个双向I/O口具有内部上拉电阻的功能,可以接收输出4个TTL门电流。当P3口写入“1”之后,它们就被内部上拉为高电平,并用作输入。作为输入
24、时,由于外部下拉为低电平的缘故,P3口将输出电流(ILL)这是由于上拉导致的。P3.2接电容测试模块,P3.3接555测试模块,P3.1与P3.7接741测试模块。AT89C51工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如图3.1所示。图3.1 单片机工作原理图3.1.1 复位电路与上拉电阻设计 复位电路的作用是在复位或上电过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作。本课题的复位电路有手动按钮复位和上电复位两种功能。手动按钮复位是需要
25、人为的在复位输入端RST上加入高电平(如图3.2所示)。一般通过在正电源VCC和RST端之间接一个按钮。当人为的按下按钮时,VCC的+5V电平就会直接加到REST端。图3.2 手动复位与上电复位原理图上电复位需要在RST复位输入引脚上接一个电容至VCC端,下接一个电阻到接地端即可,如图3.2所示。上电复位的工作流程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,这个高电平信号随着VCC对电容的充电过程而慢慢回落,由此可以得到RST端的高电平持续时间由电容的充电时间决定。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上拉电阻是用两个10K8的排阻接到电源上,
26、如图3.3所示,当单片机的引脚没有输出信号的时候,电阻就相当于导线,这时引脚为高电平,当单片机的引脚有低电平输入的时候,电压通过电阻不会改变引脚的电压,但是却能够分得一部分电流,进而提高驱动能力。图3.3 上拉电阻电路原理图3.2 二极管测试模块设计二极管检测是利用二极管的正极与单片机的P3.5端口连接,负极接地,如图3.4所示。当单片机检测出低电平时,说明二极管导通,显示屏将显示出P。当单片机检测出高电平,说明二极管没有导通,显示屏将显示N。图3.4 二极管测试原理图3.3 三极管测试模块设计三极管检测是利用三极管的基极与单片机的P3.4端口连接,集电极接+5V电源,发射极接地,如图3.5所
27、示。当时,若处电压为0,则VBVE,Q1导通,所以Q1为NPN管。若处的电压为5V,则VC=VB,Q1截止,所以Q1为PNP管。当时,若处电压为5V,则VB=VE,Q1截止,所以Q1为NPN管。若处电压为0,则VCVB,Q1导通,所以Q1为PNP管。图3.5 三极管测试原理图3.4 电容测试模块设计本设计选择基于AT89C51单片机和555芯片构成的多谐振荡电路的电容测量方法。电容测试的原理图如图3.6所示。图3.6 电容测试原理图在前面的介绍中我们知道:555时基芯片的输出频率跟所使用的电阻R和电容C的关系如式(3.1)所示。 式(3.1)又因为,所以式(3.1)可以转化为式(3.2)和式(
28、3.3)。 式(3.2) 式(3.3)因单片机采用12M的晶振,当计数器T0的值增加1,时间就增加1S,因此采用中断的方式来启动和停止计数器T0,中断的触发方式为脉冲下降沿触发,第一次中断到来时启动T0,计数器的值为,第二次中断到来时停止T0,计数器器的值为,则测量方波的周期为式(3.4),令开始时刻计数器的值,则公式可变为式(3.5)。 式 (3.4) 式 (3.5)简单时序图如图3.7所示。T启动T0停止T0555输出的方波图3.7 简单时序图则电容的计算公式如式(3.6)所示。 式 (3.6)单片机计数器的值N=065535,为了测量的精度,N的取值一般在1005000,当电阻R越大,相
29、应的电容C的值就越小。所以我们取不同的电阻值,就可以得到不同的电容测量的量程。此次电容测量范围的大小为10nF10uF。3.5 555芯片测试模块设计 555测试模块是用555时基电路构成无稳态多谐振荡电路,单片机通过检测其输出电压的高低来判断555芯片的好坏。无稳态多谐振荡器是将555与三个阻、容元器件如图3.8连接,便构成振荡模式。此外,放电晶体被驱动而导通,第七脚的输出将电容C1经电阻Rb放电,电容器的电压就开始下降,直到降到触发位准1/3VCC。图3.8 无稳态多谐振荡器正反器再次被触发,导致第三脚输出回到高态,且放电晶体管截流,因此电容器C1再次经由电阻Ra及Rb充电,当重复这些动作
30、时就会产生振荡,振荡器的波形为三角波和方波,如图3.9所示。图3.9 无稳态多谐振荡器波形图在检测555芯片好坏时,是将芯片引脚4接+5V,引脚3接单片机的P3.3,如图3.10所示。若555芯片是好的,则说明当引脚4输入高电平,引脚3输出方波,单片机判断出电压的跳变并在显示屏上显示出555 can use。若555芯片是坏的,则说明当引脚4输入高电平,引脚3没有方波输出,单片机没有判断出电压的跳变并在显示屏上显示出555 cant use。图3.10 555测试模块原理图3.6 运放741测试模块设计741是通用高增益运算放大器,应用十分广泛,具有双列直插8脚或圆筒8脚封装。工作电压22V,
31、差分电压30V,输入电压18V,允许功耗500mW图3.11是741引脚图,图3.12是其内部功能图。其中1脚和5脚是偏置(调零端),2脚是反向输入端,3脚是正向输入端,4脚接地,6脚是输出,7脚接电源,8脚空脚。_+12345678图3.11 UA741引脚图741测试模块是利用741T1口与741T2口分别和单片机的P3.1与P3.6连接,如图3.13所示。若2脚反相输入端电压大于3脚正相输入端电压,则741T2口电压为0,单片机通过检测输出电压就能判断出741是好的。若2脚反相输入端电压小于3脚正相输入端电压,则741T2口电压还是0,单片机通过检测输出电压就能判断出741是坏的。图3.
32、12 UA741内部功能图图3.13 741测试模块原理图3.7 液晶显示模块设计液晶显示模块是用于显示字母、数字、符号等点阵式LCD,本设计中采用1602字符型液晶显示器。1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个或者等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。但是它由于微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。LCD1602的基控制器大部分为HD44780,芯片工作电压为4.5V5.5V,模块最佳
33、工作电压为5.0V,显示容量为个字符,工作电流为2.0mA,其工作原理图如图3.14所示。图3.14 LCD1602模块原理图其中414号引脚分别与单片机的P2.5P2.7和P0.0P0.7口连接,从而由单片机对其进行控制,引脚接口说明如表3.1所示。表3.1 LCD1602引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源正极4 软件设计系统程序设计中采用了流行的模块编程方法
34、,每一个功能程序模块都能完成某一明确的任务,实现具体的某个功能,如液晶显示,键盘等。实际的应用程序由一个主程序和多个子程序构成。4.1 主程序设计电子测试仪的主程序流程图如4.1所示。开始上电延时1602初始化按键检测延时按键弹起?开始检测器件数据处理LCD1602显示NY结束图4.1 主程序流程图系统对单片机上电之后,有一个短暂的延时以保证MCU正常工作,然后对1602液晶显示屏初始化,一直等待被测器件的按键按下,如果确定有按键按下则跳到被测器件测试程序,否则一直等待按键。系统开始检测器件,经数据处理后,在液晶屏上显示。4.2 二极管测试程序设计二极管测试流程说明,如图4.2所示。对单片机上
35、电之后,有一个短暂的延时以保证MCU正常工作,然后对1602液晶显示屏初始化,一直等待测二极管的按键按下,如果确定有按键按下则跳到此二极管测试测试程序,否则一直等待按键。开始上电延时1602初始化二极管键是否按下?读取T1位,清屏1602NYT1=0?YN显示 P显示 N结束图4.2 二极管测试流程图二极管的测试接口是P3.5端口,如果P3.5检测到低电平,则二极管导通,说明二极管正向,如果单片机检测到高电平,则二极管截止,说明二极管反向。4.3 741运放测试程序设计 741测试流程说明,如图4.3所示。对单片机上电之后,有一个短暂的延时以保证MCU正常工作,然后对1602液晶显示屏初始化,
36、一直等待741的按键按下,如果确定有按键按下则跳到此741测试程序,否则一直等待按键。开始上电延时1602初始化741键是否按下?T1=1 T2=0NY显示ua741 can useT3=0?YNT1=0 T2=1T3=1?Y显示ua741 cant useN图4.3 741测试流程图741的测试接口是P3.6端口,当T1=1,T2=0时如果P3.6检测到低电平,则再一次检测,当T1=0,T2=1时,P3.6是否是高电平,如果是说明741是好的,否则说明741是坏的。UA741程序设计如下:while(key2)ua741_out_x=1;ua741_out_y=0;delay(200);if
37、 (ua741_in=0)ua741_out_x=0;ua741_out_y=1;delay(200);if ( ua741_in=1)display(ua741 can use);else display(ua741 cant use);else display(ua741 cant use);4.4 三极管测试程序设计三极管测试流程说明,如图4.4所示。对单片机上电之后,有一个短暂的延时以保证MCU正常工作,然后对1602液晶显示屏初始化,一直等待测三极管的按键按下,如果确定有按键按下则跳到此三极管的测试程序,否则一直等待按键。开始上电延时1602初始化三极管键是否按下?NQ1(C)=1?
38、YNQ1(C)=1?Q1(B)=1?YYNNYPNP PNPNPN图4.4 三极管测试流程图三极管的测试接口是P3.4和P3.0端口,如果P3.4口检测到高电平,再检测P3.0口,如果P3.0是高电平,则三极管是NPN型,否则三极管是PNP型。如果三极管P3.4口检测到低电平,再检测P3.0口,如果P3.0是高电平,则三极管是PNP型,否则是NPN型。三极管测试程序如下:while(key3) NPN_PNP_OUT=1; delay(200); if (NPN_PNP_IN=1)NPN_PNP_OUT=0;delay(200);display(NPN);else NPN_PNP_OUT=0;
39、delay(200);if ( NPN_PNP_IN=1)display(PNP ); delay5();4.5 555芯片测试程序设计 555芯片测试流程说明,如图4.5所示。对单片机上电之后,有一个短暂的延时以保证MCU正常工作,然后对1602液晶显示屏初始化,一直等待555的按键按下,如果确定有按键按下则跳到此555测试测试程序,否则一直等待按键。显示555 cant use开始上电延时1602初始化555键是否按下?清零中断、标志位中断初始化,清屏1602GD-Flag=0NYGD-Flag=1显示555 can useIE0=1?YN结束图4.5 555芯片测试流程图555芯片测试是
40、利用555时基电路构成无稳态多谐振荡电路。其接口是P3.2端口,用于检测外部中断0的跳变,如果P3.2检测到跳变,则外部中断0的中断标志位置位,若返回GD_Flag=1,说明555芯片是好的;否则GD_Flag=0,说明555芯片是坏的。4.6 电容测试程序设计电容测试程序的流程图如图4.6所示。对单片机上电之后,有一个短暂的延时以保证MCU正常工作,然后对1602液晶显示屏初始化,一直等待电容的按键按下,如果确定有按键按下则跳到此电容测试程序,否则一直等待按键。开始上电延时1602初始化电容键是否按下?启动555NY启动计数器计算电容的大小值有无中断?YN有无中断?停止计数显示电容值YN电容
41、键是否按下?YN图4.6 电容测试流程图电容的测试接口是P3.2端口,利用555芯片和周边电阻组合成一个无稳态多谐振荡电路,通过测量方波的频率来计算所测量的电容的大小。5 调试与分析将编写的C语言程序在KeiluVision2软件上链接、编译后,无误,并给总电路图中的单片机AT89C51加载程序进行仿真,得到仿真结果如下所示。(1)检测器件为二极管时的仿真结果如图5.1所示,其中(a)为二极管正向,(b)为二极管反向。 (a) (b)图5.1 二极管的仿真调试(2)检测器件为三极管时的仿真结果如图5.2所示,其中(a)为NPN型,(b)为PNP型。 (a) (b)图5.2 三极管测仿真调试(3
42、)测试器件为555芯片时的仿真调试如图5.3所示,(a)为芯片好的,(b)为芯片坏的。(a) (b)图5.3 555的仿真调试(4)测试器件为运放741时的仿真调试如图5.4所示,(a)为芯片好的,(b)为芯片坏的。(a) (b) 图5.4 运放741的仿真调试(5)测试器件为电容时的仿真调试如图5.5所示,(a)为100nF电容,(b)为500nF电容。(a) (b)图5.5 电容的仿真调试各器件测试结果如下: 电容测试数据如表5.1所示。表5.1 电容测试数据标称值(nF)系统测量(nF)相对误差%100991.025004966.510009433.65500047163.62555和运
43、放741测试情况如表5.2所示。表5.2 555和运放741测试结果被测器件器件本身好坏测量方式显示结果555芯片好芯片连接正确555 can use芯片连接错误555 cant useUa741运放好芯片连接正确Ua741 can use芯片连接错误 Ua741 cant use二极管和三极管测试情况如表5.3所示。 表5.3 二极管和三极管测试结果被测器件测量方式显示结果二极管正向连接P反向连接N三极管接入NPN型NPN接入PNP型PNP(6)测试分析:在测试电容的时候出现了一些误差,可能的原因是硬件电路设计与软件设计的不匹配,也可能是由于振荡电路外围器件由电容电阻分立元件搭接而成,所以由
44、振荡电路产生的被测参数对应的频率有一定的误差这些因素都对测试值有一定的影响,都会导致测量结果会或多或少地偏离被测量的真值。因此为了减小本设计中误差的大小,可以通过多次实验测量,来尽可能的减少本测试系统的误差。结束语毕业论文是一次非常好的将理论与实际相结合的机会,通过对电子元器件测试仪的课题设计,锻炼了我的实际动手能力,增强了我解决实际工程问题的能力,同时也提高我查阅文献资料、设计规范以及电脑制图等其他专业能力水平。 电子器件测试仪的设计基本符合设计要求,能完成二极管,三极管,UA741,555芯片的功能测试,就电容测试模块需要进一步改进。作品实测中,测量电容值有一定的误差,而且C值越大时误差越大,该误差则是来源于振荡电路产生的频率和单片机程序上的误差。希望在之后的设计之中能够得到进一步解决。在本课题过程中,我遇到很多问题,如主控模块控制芯片的选择,测试模块方案的对比研究。虽然这个过程十分繁杂,不过它又进一步巩固了我的专业知识,培养了一种良好的设计心态。在软件调试过程中,反复出现了硬件电路设计与软件设计的不匹配,于是我对原电路进行局部修改。虽