欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的TTL集成电路芯片测试仪的设计.doc

    • 资源ID:839511       资源大小:1.02MB        全文页数:40页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的TTL集成电路芯片测试仪的设计.doc

    1、37摘 要集成电路(IC)测试是伴随着电子技术的发展而来的,数字集成芯片在使用过程中容易被损坏,用肉眼不易观察。早期的人工测试方法对一些集成度高,逻辑复杂的数字集成电路显得难于入手,因而逐渐被自动测试所取代,因此很需要设计一种能够方便测试常用芯片好坏的仪器。本系统以单片机AT89C52为核心,由芯片测试插座、独立按键、74HC573驱动8位数码管显示、5V直流电源控制模块等组成。根据数字集成芯片的引脚特性以及集成芯片的真值表编写测试程序。该系统能完成14脚以内常用TTL74、54系列数字集成芯片的功能测试。关键字:测试仪;数字集成电路;单片机ABSTRACTIntegrated circuit

    2、 (IC) test is accompanied with the development of electronic technology, Digital integrated chip is easily damaged during use, and difficult to observe with the naked eye. Early manual test methods for some high integration, the logic of complex digital integrated circuits become difficult,thus grad

    3、ually replaced by automated testing, so it is necessary to design a testing instrument to distinguish the Common chips is good or bad conveniently.The system is with AT89C52 microcontroller at the core, including the chip test socket,the independent button, 74HC573drives an 8-bit digital display, 5V

    4、 DC power supply control module and other components, etc. According to the characteristics of digital IC pins and the truth table write integrated chip test program. The system can be completed within 14 feet common TTL74, 54 series digital integrated chip functional test. Keywords: tester; digital

    5、 integrated circuit; microprocessor control unit目录1 系统总体方案.12 系统硬件电路设计.22.1 硬件系统电路原理框图.22.2硬件系统电路各模块设计22.2.1 MCS-52单片机最小系统22.2.2 独立按键模块.32.2.3 芯片测试模块.42.2.4 显示模块.52.2.5 电源供电模块.73 系统软件设计.83.1 测试对象TTL74系列芯片简介83.2 测试原理.83.3 程序流程图.93.4 模块程序关键代码.113.4.1 主程序113.4.2 独立按键扫描程序113.4.3 74HC573控制数码管显示程序.153.4.4

    6、 信号检测程序174 系统仿真测试.19总结.21致谢.22参考文献.23附录.24附录A 源程序24附录B 元件清单35附录C 整体电路图361 系统总体方案在数字集成电路的设计、制造和应用阶段,不可避免地会出现故障,为了保证数字集成电路工作的可靠性,需要对其进行必要的测试。设计门电路自动测试仪目的在于能够方便检测数字集成芯片的好坏。然而,由于常用的TTL系列芯片种类繁多,不同型号的数字集成芯片其逻辑功能不同、引脚排列不同、甚至哪些引脚作为输入,哪些引脚作为输出都不固定,也就是说,某个型号的集成芯片的其中一只引脚是输入脚,而另一个型号的集成芯片的同一只引脚却可能是输出脚了。在进行硬件电路设计

    7、时,必须要有这样的接口电路:和集成芯片引脚连接的检测端口既可作为输入,又可作为输出。正由于上述原因,本方案设计一套数字集成电路测试装置,能够实现对指定几种14脚常见的74系列数字电路测试。芯片有74LS00、74LS04、74LS20、74LS74、74LS86。对数字系统进行测试基本方法是:从数字集成电路的原始输入端施加若干输入矢量作为激励信号,观察由此产生的输出响应,并与预期的正确结果进行比较,一致则表示芯片完好,不一致则表示芯片有故障。因此判断一个集成电路芯片是否存在故障,可用该芯片被检测出来的功能是否同设计规范的功能一致来判断。要让测试结果直观明了,就需设计一个显示模块显示对应测试结果

    8、,在此系统中我选用8位数码管来显示芯片型号和两个发光二极管显示测试结果。此外,由于集成芯片的型号不同,为了提高测试的效率,还需设计一个独立按键模块用于输入检测芯片的型号,方便操作。综合以上所涉及的几个问题,完整的门电路自动测试仪应包括按键输入模块,显示模块,芯片测试插座模块,结合单片机最小系统来加以控制。在确立硬件结构的基础上,结合软件完成。软件部分主要由数据检测程序和显示驱动程序,以及按键子程序三大部分组成。在设计过程中,首先使用Protel和Proteus仿真软件作为开发平台来进行硬件电路的设计,并运用软件Keil uVision编写程序完成系统的仿真实现,结合软、硬件完成系统的整体调试。

    9、2 系统硬件电路设计2.1 硬件系统电路原理框图该测试系统的原理框图如下图1所示。图1 测试仪原理框图此次所设计的数字集成电路检测系统由单片机控制单元,独立按键输入单元,信号检测单元,数码管显示单元和电源供电单元组成。2.2 硬件系统电路各模块设计2.2.1 MCS-52单片机最小系统 MCS-52单片机内部主要由CPU,存储器,可编程I/O口,定时器/计数器,串行口,中断控制系统,时钟电路等组成。52系列单片机应用广泛,成本低,控制应用等电路成熟。此系统中,我选择单片机AT89C52最小系统进行控制,它的P0、P1、P2、P3端口是准双向I/O口:既可作为输入口,又可作为输出口,为信号的检测

    10、控制奠定了重要的基础。其连接如图2所示。图2 AT89C52单片机最小系统 单片机在电路中起到控制整个系统的作用,无论是信号检测,还是数码管显示,都通过编程完成控制。2.2.2 独立按键模块采用独立按键的优点是控制程序和硬件电路都很简单,缺点是如果每个按键都要占用一个I/O口,当按键较多时占用I/O口较多。但考虑到本次设计只需要三个按键:检测型号键、复位键、自动检测键。因此在实际的测试中分别对应P3.0P3.1P3.2通过按键查询就可以简单的起到控制输入的目的。值得注意的是,在用单片机对按键处理的时候涉及到了一个重要的过程,那就是按键的去抖动。当用手按下一个键时,按键并不会立刻稳定地接通,在释

    11、放一个键时,也不会立刻断开。因而在闭合和断开的瞬间都会伴随着一连串的抖动。抖动的持续时间随按键材料和操作员而异,不过通常总是不5-10ms。这种抖动对于单片机来说是完全可以感觉到的,所以必须消除抖动。通常有两种方法可以消除抖动,一种是硬件方法,需要硬件电路,另一种是软件方法,用软件方法可以很容易地解决抖动问题,只需通过延迟10ms 来等待抖动消失这之后,在读入按编码值。所以,我们采用软件消抖法。独立按键电路如图3所示。图3 独立按键与单片机连接图2.2.3 芯片测试模块结合单片机的I/O口使用情况,以及设计的局限,在该系统中我选用了16脚的通用IC紧锁座作为芯片测试插座,能够测试14脚以下的常

    12、用数字集成芯片。根据AT89C52中P0口与P2口的特点,本设计采用AT89C52的P1口和P2口连接测试芯片接口,单片机的P0口的P0.0P0.7,P2口中的P2.0P2.5共14条通用I/O线和检测插座构成了检测电路,其中,P2口中P2.7用于控制14管脚电源地转换,因为规则芯片的右上脚都为电源(Vcc),左下脚都为地(GND)。测试插座优先考虑14脚的通用测试情况。单片机与测试插座之间的连接如图4所示。图4 单片机与测试插座连接图在单片机与紧锁座之间需串接470(或510)的电阻。串接电阻目是对AT89C52起限流保护作用,假设,P2.0输出高电平,此时,测试芯片又为非门,那么将引起灌电

    13、流现象,致使P2.0口线上电流非常大,对AT89C52有害。2.2.4 显示模块(1)数码管显示模块在系统中,由于系统的独立按键模块和测试插座模块已经使用了单片机的P1,P2和P3口,只剩下一组I/O口可供选择。74HC573是8数据锁存器。主要用于数码管、按键等的控制,至此,我选用一块芯片74HC573直接控制8位数码管。有效的节省了单片机的I/O口的使用,极大地简化了硬件电路。由5片芯片74HC573和4个7段共阴极数码管构成了显示电路,用于向用户提供按键输入信息及输出检测结果等。通过单片机的三个I/O口来控制信号输入。74HC573与AT89C52单片机的硬件连接如图6所示,74HC57

    14、3锁存器的数据输入端连接单片机的P0口,P0口同时加了上拉电阻,数码管中的C1,C2,C3,C4是它们的位选端。图6 74HC573驱动8位数码(2) 发光二极管显示模块为了使测试结果直观明了,分别在单片机的两个I/O口P3.6和P3.7分别串接两分别显示芯片好坏两种状态,发光二极管与单片机连接图个红、绿色发光二极管连接图如图7所示。图7 发光LED指示灯与单片机连接图2.2.5 电源供电模块在该设计系统中,所需电压都为直流5V,它由电源变压器,桥式整流电路(4个二极管D1D4构成),滤波电容,防止自激电容和一只固定式三端稳压器(LM7805)极为简捷方便地搭成的,为了保证输入LM7805电压

    15、的稳定性,在7805之前我使用一只7812保证电流稳定输入12V。如图8所示,220V交流电通过电源变压器变换成交流低压,再经过桥式整流电路BR1和滤波电容C6的整流和滤波,在固定式三端稳压器LM7812和LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化),此直流电压经过LM7812和LM7805的稳压和C4,C5的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。图8 220V转5V直流电源连接图LM7805用来给单片机等其它芯片供电,整流电路后的C6为滤波电容,容量较大,输出端电容C4、C5主要是抑制高频

    16、干扰,此外还在两个稳压块中加散热片。 3 系统软件设计软件设计包括主程序模块,按键控制模块,芯片信号检测模块和数码管显示模块等,下面将逐一介绍各个模块的详细设计过程。由于测试芯片种类繁多,在进行程序设计时首先需要分析常用数字集成芯片的一些规律,便于编程控制。TTL74系列作为两大主流集成芯片,地位和作用极其重要,基于此,接下来就对测试对象中的常用系列数字集成电路进行分析。 3.1 测试对象TTL74系列芯片简介TTL电路以双极型晶体管为开关元件,所以又称双极型集成电路,74系列的工作环境温度规定为O70,电源电压的工作范围为5V士5。此外,为满足用户在提高工作速度和降低功耗这两方面的要求,继T

    17、TL74、54系列之后,又相继研制和生产了74H系列、74S系列、74LS系列、74AS系列和74ALS系列,以及54H系列、54S系到、54LS系列、54AS系列和54ALS系列,就像74系列和54系列的区别那样,它们之间的区别也仅在于工作环境温度与电源电压工作范围不同。据于设计的局限及考虑到程序的繁琐,表1列举了14脚以内的要测试TTL74芯片,本设计中只实现对指定几种14脚常见的74系列数字电路测试。芯片有74LS00、74LS04、74LS20、74LS74、74LS86。表1 TTL74系列芯片列表(14脚以内)序号品种代号类别名称特征引脚数17400四2输入与非门1427404六反

    18、相器1437420二4输入与非门1447474二3输入或非门OC、OD1457486四2输入异或门OC143.2 测试原理对于逻辑芯片的检测,我们主要实现检测芯片逻辑功能好坏亦或是确定芯片的型号,由于主控单元采用AT89C52单片机,其I/O与TTL电平完全兼容,因而直接由单片机对芯片插座的引脚进行扫描,由于是固定的14脚芯片,为了编程方便,使芯片测试引脚17分别为P1.0P1.6,引脚148分别为P2.0P2.6。实现了通过单片机输出端口模拟芯片的各种输入状态,并通过单片机读回芯片的输出结果,通过与芯片真值表的比较即可判断芯片逻辑功能的好坏的目的。在进行芯片扫描时,必须先将芯片的输出引脚I/

    19、O置为高电平,然后对芯片的输入引脚进行各种状态的扫描,通过单片机读回芯片的输出,再依据芯片的真值表对其输出进相比较,不一致则说明芯片的逻辑功能发生错误,断定芯片为坏的,若芯片的输出与真值表完全相符,则说明芯片的逻辑功能正确,可以判断为好芯片。 然后再依据所检测的结果,通过单片机对芯片的逻辑功能加以详细测试,并对结果加以显示。在自动检测的时候,为了提高准确度,我们编写了程序,采用对同一端口两次输入再两次读回其状态的比较方法,来对芯片好坏进行准确测试,继而返回正确的芯片型号。此次在测试过程中我选用7400来进行系统的调试。其中,7400为四2输入与非门,在编写测试程序时,主要从以下思路入手:首先,

    20、根据测试插座与单片机的各I/O口连接情况,分别送给测试芯片各引脚送值。送值的时候是将所有可能出现的各种逻辑情况进行组合送入至芯片输入端,而输出端都给它置1,并根据真值表推断出预期的正确结果先存于寄存器中,送值结束后,读取芯片输出端的值,判断输出是否与预期的值相符,若一致则继续判断另一组输入逻辑值的情况,直至每一组都完成后对各组结果相与,逻辑为真则表示芯片是好的,若为假表示芯片是坏的。当然,在测试时若遇其中一组的逻辑为假,则直接判断出芯片是坏的。3.3 程序流程图流程图如图9所示。 图9 程序流程图3.4 模块程序关键代码3.4.1 主程序在主程序中,需要完成对各状态的初始化,如单片机引脚,寄存

    21、器的初始化、74HC573控制数码管显示的初始化、按键扫描,信号检测等工作。主程序将根据检测芯片的型号,按键的输入提示分别完成信号的测试比较、结果显示等不同的操作。关键代码如下所示:int main()/主程序 reset();/初始化while(1)/不停扫描按键 keyscan(); return 0;/结束程序3.4.2 独立按键扫描程序在按键控制时采用了全扫描方式,这种方式是直接在主程序中插入按键扫描子程序,主程序每执行一次则按键检测子程序被执行一次,对按键进行检测一次。如没有按键按下,则跳过键识别,直接执行主程序;如果有键按下,则通过按键扫描子程序识别按键,得到按键的编码值,然后根据

    22、编码值进行相应的处理,处理完成在回到主程序执行。另外我们采用软件消抖法,具体代码如下所示:void keyscan(void) /键盘扫描函数 int i; unsigned char output1,output2; if(key1=0)/按键1的子程序 delayms(10);/延时10msif(key1=0) while(key1=0);/等待按键释放 k=detect(); display(namek); if(key2=o)/按键2的子程序 delayms(10);if(key2=0)( while(key2=0);/等待按键释放 ledR = 1;/灭绿led灯 ledG = 1;

    23、/灭红led灯 display(0);/数码管显示为0000 if(key3=0)/按键3的子程序 delayms(10);if(key3=0) while(key3=0);/等待按键释放 k=detect(); /调用检测芯片型号子程序 delayms(100);if(k=0)/检测芯片好坏 for(i=0;i4;i+) input1=LS00i0; input2=LS00i1; delayms(500); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS00i2|output2!=LS00i3) ledR= 0; time=0

    24、; break; if(output1=LS00i2&output2=LS00i3) time+; if(time=4) ledG = 0; display(name0); time=0; if(k=1) for(i=0;i2;i+) input1=LS04i0; input2=LS04i1; delayms(500); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS04i2|output2!=LS04i3) ledR = 0; time=0; break; if(output1=LS04i2&output2=LS04i3) t

    25、ime+; if(time=2) ledG = 0; time=0; if(k=2) for(i=0;i16;i+) input1=LS20i0; input2=LS20i1; delayms(500); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS20i2|output2!=LS20i3) ledR = 0;/点亮红led time=0; break; if(output1=LS20i2&output2=LS20i3) time+; if(time=16) ledG = 0;/点亮绿led display(namek);/显

    26、示芯片型号 time=0; if(k=4) for(i=0;i4;i+) input1=LS86i0; input2=LS86i1; delayms(500); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS86i2|output2!=LS86i3) ledR = 0; time=0; break; if(output1=LS86i2&output2=LS86i3) time+; if(time=4) ledG = 0; display(namek); time=0; 3.4.3 74HC573控制数码管显示程序每个数码对应一个

    27、位选端。单片机可以控制锁存器的锁存端,进而控制锁存器的数据输出,这种分时控制的方法便可方便地控制任意数码管显示任意数字。在这里我们把数码管的显示部分写成了一个带参数的函数,以便以后调用,另外我们把这个要显示的参数分离成4个一位数。void display(uint namex)/数码管显示子程序 uchar qian,bai,shi,ge; qian = namex/1000;/千位,把一个4位数分离后分别送数码管显示 bai = namex%1000/100;/百位 shi = namex%100/10;/十位 ge = namex%10;/个位 dula1 = 1; P0 = tableq

    28、ian;/送段选数据 dula1 = 0; P0 = 0xff;/送位选数据前关闭所有显示 delayms(500);/延时500ms dula2 = 1; P0 = tablebai; dula2 = 0; P0 = 0xff; delayms(500); dula3 = 1; P0 = tableshi; dula3 = 0; P0 = 0xff; delayms(500); dula4 = 1; P0 = tablege; dula4 = 0; P0 = 0xff; delayms(500); P0 = 0xff;wela = 1; P0 = 0xc0; wela =0; while(1

    29、) if(key1=0) break; if(key2=0) break; 3.4.4 信号检测程序在信号检测部分,我们只对指定的74系列门电路芯片进行功能测试(完好/损坏),如74LS00、74LS04、74LS20、74LS86。并且能够自动检测指定的几种74系列门电路的型号。程序设计中需要考虑到芯片的引脚识别,芯片型号的检测程序如下: unsigned char detect(void) /14脚芯片识别函数 unsigned char i,output1,output2;/7474的检测 P1=0xff; /初始化测试端口 P2=0xff; input1=0x3b; input2=0x

    30、39; delayms(100); input1=0x3f; /上升沿 input2=0x3d; delayms(100); output1=input1&0x3f; output2=input2&0x3f; if(output1=0x1f&output2=0x2d) return (4); /7400/04/20/86的自动检测 P1=0xff; /初始化测试端口 P2=0xff; for(i=0;iM;i+) input1=ICi0; input2=ICi1; delayms(500); output1=input1&0x3f;/将芯片逻辑结果input1通过&0x3f取出 output2

    31、=input2&0x3f; if(output1=ICi2&output2=ICi3) input1=ICi4; input2=ICi5; delayms(500); output1=input1&0x3f; output2=input2&0x3f; if(output1=ICi6&output2=ICi7) return(i); 4 系统仿真测试系统设计完成后,将74LS00芯片放入测试插槽中进行测试,仿真测试结果所示:(1)当按下自动检测键key3后,测试结果如图10所示。图10 按下自动检测键后的测试结果(2)当按下复位键key2后,测试结果如下图11所示。 图11 按下复位键后的测试结

    32、果(3)按下检测型号键key1后,测试结果如下图12所示。 图12 按下检测型键后的测试结果从测试结果可以看出,该系统能够实现对常用的74 系列逻辑芯片进行逻辑功能测试,确定芯片的型号,名称,逻辑表达式,是否能够正常工作。操作简单,测试结果准确率高。总结此次毕业设计是我大学四年中最为系统的一次,它有效的把所学的专业知识与实际结合起来。在硬件电路中较有难度的单数数码管显示单元和测试插座的控制上,虽然之前做实验时有涉及到关于数码管显示的一些方案,但在这次所设计的电路中,由于顾及单片机I/O口的使用情况,最终选取锁存器74HC573芯片来驱动控制。当然,使用这种方法在节省单片机I/O口的同时,也为后

    33、面的编程增加了难度,要是选用MAX7219驱动8位数码管显示,该硬件电路设计和编程都会变得简单些。此外,程序设计是本次设计的一个难点,对不同类型的芯片,由于引脚、功能不一,测试程序就得具体分析。而我在编程方面的能力又非常欠缺,在编写程序时显得不知所措,在指导老师的帮助下和自己的努力下,最终得以顺利完成。由于时间和能力有限,我此次设计只实现了系统的基本功能,测试芯片种类比较单一,在有些地方还有待于改进。例如,要增加芯片的测试种类,可以对相应的引脚分别用一个继电器来控制,实现I/O线与电源间的自动切换;在显示部分,除了显示结果简单信息外,还可以在测试结束后,让数码管显示字符“good”或“bad”

    34、,结果将更加直观明了。这次设计使我收获颇多,在设计的过程中屡屡碰壁,对我自己算是一次小小的挑战。通过对设计方案的不断整改,电路调试运行,解决了问题,使我真正认识到知行合一的重要性。在以后的日子的我会逐渐加强这方面的能力,不断去提高自己。作为一个当代大学生,仅仅学习理论知识是远远不够的,这次设计给我们提供了一次很好的理论联系实际的机会,使得我对专业方面的基础知识有了更深刻的认识,为即将走上工作岗位奠定了良好的基础。 致谢大学四年的学习生活即将结束,这篇论文作为我在校期间学习的最后一份答卷,在这里,我要向所有关心和帮助我的老师和同学们表示衷心的感谢。在这里尤其感谢我的指导老师罗雪莲老师,她在毕业设计过程中给予我极大的关心和帮助。从选题到开题报告,程序的编写设计以及论文的完成,罗老师倾注了大量的心血。本论文的写作是在罗老师的悉心指导下完成的,她为我的毕业设计提出了许多宝贵的建议和给出了设计思路及资料,给予了细心的指导和不懈的支持。对我遇到的问题,循循善诱,谆谆教导,使我的设计和论文得以如期完成。当进行方案的选取时和


    注意事项

    本文(基于单片机的TTL集成电路芯片测试仪的设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922