数字电路芯片毕业设计论文_第1页
数字电路芯片毕业设计论文_第2页
数字电路芯片毕业设计论文_第3页
数字电路芯片毕业设计论文_第4页
数字电路芯片毕业设计论文_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江苏技术师范学院毕业设计说明书(论文) jiangsu teachers university of technology 本科毕业设计(论文) 数字芯片功能检测电路设计学院名称: 专 业: 班 级: 姓 名: 指导教师姓名: 指导教师职称: 2012年 6 月 数字芯片功能检测电路设计摘要:为了保证数字集成电路的功能和性能参数符合技术要求,本文设计了一款以mcs-51 为核心通过串口与上位机通信,通过电脑操作,单片机控制的数字芯片功能检测电路。该电路可以完成对常用的ttl74系列芯片的功能检测。系统主要由上位机和下位机两部分组成。上位机部分由操作界面和通信模块组成,通过rs-232标准接口实

2、现通信。由vb编写操作界面,发送测试指令,并显示测试结果。下位机硬件部分以单片机stc89c52为核心,包括电源模块、显示模块、按键模块等。下位机软件部分包括中断系统、检测电路、显示电路等的软件设计。测试结果表明,本设计能够检测芯片的型号及功能好坏,成本低廉、操作简易、准确率高、测试速度快。关键词:集成电路测试;数字芯片;上位机;单片机;串口通信 design of digital chips functions detection circuitabstract: to ensure the functions of digital integrated circuits and perfo

3、rmance parameters meet the technical requirements, this paper designs a digital chips functions detection circuit of a mcs-51 as the core with the host computer through the serial communications, through the computer-operated, which controlled by single chip microcomputer. the system can make functi

4、ons tests in ttl74 series digital chip frequently-used. the system mainly consists of two parts of the upper and lower machine. the upper computer consists of user interface and communication modules, communicating via rs-232 standard interface. user interface written by vb language, to send a test

5、command and displays the test results. single chip microcomputer as the core of the hardware of lower machine, it constis of power module, display module, key module, etc.software part consists of interrupt system, detection circuit, display circuit, etc. the test results show that this design is ab

6、le to detect the quality of models and functions of the chip, and it has a low cost, ease of operation, high accuracy and test speed.keywords:integrated circuit testing; digital chips; upper computer; single chip microcomputer; serial communication i目 录前 言1第1章 课题总体设计21.1 设计要求21.2 硬件设计21.3 软件设计31.4 软

7、件工具介绍41.4.1 protel 99 se41.4.2 keil vision 241.4.3 stc-isp5第2章 系统硬件设计72.1 单片机模块设计72.2 电源模块设计92.3 继电器模块设计102.4 按键输入电路模块设计112.5 数码管显示电路模块设计122.6 led指示电路模块设计122.6 rs232串口通信电路模块设计13第3章 系统软件设计153.1 系统软件需求分析153.2 各功能模块软件设计153.3.1 主程序163.3.2 初始化程序183.3.3 数码管显示程序193.3.3 按键扫描程序203.3.4 数字集成芯片检测程序22第4章 运行与调试32

8、4.1 硬件电路的调试324.2 软件程序的调试324.3 综合联机调试334.4 调试结果34结束语37参考文献38致 谢40附录1 硬件实物图41附录2 硬件电路图42附录3 元器件清单43附录4 程序代码44前 言集成电路是二十世纪发展起来的新型高技术产业之一,也是二十一世纪全面进入信息化社会的必要前提和基础1。在数字化、信息化时代的今天,数字集成电路的发展以及应用显得尤为引人注目。到目前为止,集成电路仍然基本上遵循着摩尔定律发展,即集成度几乎每18个月增长一倍2。随着集成规模的进一步扩大,集成电路的应用领域日益广泛。为了保证数字集成电路的功能和性能参数符合技术要求,集成电路的测试自然必

9、不可少3。集成电路测试是集成电路产业三大支撑技术之一,因此受到很多国家的高度重视。当前,国际上集成电路测试的能力和水平进入了高速发展时期,高水平的集成电路测试系统主要集中在集成电路生产大国美国和日本4-5。我国集成电路测试技术和系统的研发始于20世纪70年代初。经过40多年的发展,我国集成电路测试产业从无到有、从小到大,由硬件开发、软件开发到系统集成,由仿制到独立自主开发,目前已形成了一个由专业研究所、测试集团公司为主,遍布于重点院校、中央和地方科研机构的广大测试群体6。本文从数字芯片的工作原理和组成结构出发,设计了该数字芯片功能检测电路。电路由上位机部分和下位机部分组成。上位机部分主要是pc

10、机操作显示界面的设计,通过rs-232标准协议与下位机通信,使得上位机可以发送指令,显示测试结果。下位机由五部分主要电路和辅助电路构成,其中主要电路的组成为:单片机stc89c52及相关元器件构成单片机电路、单片机stc89c52相关输入输出口及芯片测试插座和相关元器件构成芯片测试电路、芯片sn74ls07n和数码管构成显示电路;三个按键构成按键电路、继电器及相关元器件构成继电器开关电路,辅助电路为电源电路。本文共分为4个章节。第1章介绍了课题的设计要求以及总体设计方案;第2章详细说明了整套硬件电路的设计;第3章详细介绍了整套电路的软件设计;第4章讲述了整套软硬件电路的运行的调试。 第0页 共

11、68页第1章 课题总体设计1.1 设计要求本设计的总体要求如下:(1)设计原理图,焊接完成硬件电路板;(2)依据各待测芯片的真值表用c语言编写检测程序;(3)采用51单片机对硬件检测电路进行控制;(4)当在检测电路板上插入相应的芯片后,51单片机能对芯片进行检测,判断出芯片的好坏,并用相应的红绿指示灯显示出来;(5)通过上位机操作界面发送测试指令,并将测试结果显示在操作界面。本设计是基于单片机技术的数字芯片功能检测电路,利用mcs-51系列单片机作为系统的底层开发技术,c51作为系统开发平台7。1.2 硬件设计硬件部分以单片机stc89c52rc为核心,总体结构如图1-1所示。图1-1 硬件总

12、体结构硬件电路分为7个模块。(1)电源电路:本设计中涉及到芯片和单片机的工作电压都是5v,因此需设计一个ac 220vdc 5v的电路。在电压转换后接一个led发光二极管,开关闭合二极管亮,电路工作正常;开关断开,二极管灭,电路停止工作;(2)按键电路:设计三个按键,包括选择键、确认键和切换键。选择键用来选择芯片型号,当芯片型号确认后按下确认键开始判断,切换键用来切换上下位机之间的操作;(3)单片机电路:包括时钟电路、复位电路的设计,时钟电路采用内部时钟方式,复位电路采用上电复位方式;(4)检测电路:待测数字集成芯片与单片机接口电路中,将p0口接上拉电阻后与芯片相连,由单片机给出数字集成芯片的

13、输入信号,数字集成芯片处理后,将输出结果反馈给单片机。(5)数码管显示电路:使得数码管可以显示数字芯片的最后两位数字,如“00”、“51”等;(6)继电器开关电路:利用继电器的吸合、断开为74ls00芯片提供vcc、gnd8;(7)上位机与单片机通信:使得可以通过上位机发送指令给下位机,经测试后数据反馈至上位机显示芯片的正常与否。1.3 软件设计利用单片机stc89c52程序控制,通过软件编程控制实现待测芯片的信号输入,并对输出信号进行分析,与该芯片的真值表进行比较,相同则判为好,否则判为坏9 。将判断结果送上位机操作界面或led指示灯显示其好坏。软件的设计采用模块化结构,使程序设计的逻辑关系

14、简洁明了,使硬件在软件的控制下协调运作,方便程序的编写、修改及以后的完善10。本设计的软件模块分为以下6个部分,软件模块的总体结构如图1-2所示。图1-2 软件模块总体结构(1)初始化程序:初始化程序主要是p0,p1,p2,p3口的设置,数码管、led指示灯初始化及变量设置,以及继电器控制端电压的设置;(2)按键程序:按键程序主要是判断确定键、选择键、上位机与下位机操作切换键是否有动作;(3)数字芯片检测程序:数字芯片检测程序给出待测芯片的输入信号,并对输出信号进行分析,与该芯片的真值表进行比较,并将判断结果送led指示灯显示;(4)数码管显示程序:在数码管上显示数字芯片型号后两位数字;(5)

15、led指示灯显示程序:当检测到芯片好的时,led灯灭;当检测到芯片坏的时,led灯亮;(6)上位机显示程序:使用vb语言编写,可以输入待测芯片编号以及发送测试指令。1.4 软件工具介绍本设计硬件电路图绘制选用了protel 99 se软件,软件程序编写调试选用的是keil vision 2,单片机下载烧录选用的是宏晶公司开发的stc-isp软件。1.4.1 protel 99 seprotel 99se是prokltechnology公司开发的基于windows环境下的电路板设计软件。protel 99se 由两大部分组成:电路原理图设计(advanced schematic)和多层印刷电路板

16、设计(advanced pcb)11。本设计中利用该软件进行电路图的设计、绘制与仿真。protel 99se的操作步骤如下。(1) 打开protel 99se后,点击“file”菜单下的“new”,选择新建的项目名称以及存放目录,项目名称以“.ddb”为后缀;(2) 新建好“.ddb”文件后,在“documents”目录下点击“file”菜单下的“new”,即可新建新的“.sch”文件,也就是电路图设计项目;(3) “.sch”文件新建好后,在默认的protel 99se元器件库里,可以添加元器件到电路图中,一般用到的元器件库为“miscellaneous devices.lib”,常用的电路

17、元器件基本都包含在内。1.4.2 keil vision 2keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,是基于32位windows环境的应用程序。与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起12。应用keil进行软件仿真开发的主要步骤如下。(1)新建工程单击“project”菜单,在弹出的下拉菜单中选择“new project”选项,然后选择你要保存的

18、路径,输入工程名称。此时会弹出一个对话框,要求选择单片机的型号,keil几乎支持所有的51核的单片机,选择好后点击确定;(2)新建文件单击“file”菜单,选择“new”选项,此时光标在编辑窗口内闪烁,这时可以键入程序。程序输入完成后,单击“file”菜单下的“save”,输入文件名,以“.asm”为后缀,保存到相应文件夹中;(3)添加文件在编辑界面上,单击“target 1”前面的“”号,然后在“source group 1”上单机右键,在菜单中单击“add file to group source group 1”,在选择相应的文件即可;(4)汇编单击汇编图标,成功编译后生成“.hex”文

19、件;(5)运行单机运行图标,即可进入运行状态。1.4.3 stc-ispstc-isp 是一款单片机下载编程烧录软件,是针对stc系列单片机而设计的,可下载stc89系列、12c2052系列和12c5410等系列的stc单片机,使用简便,现已被广泛使用。stc-isp界面如图1-1所示。图1-3 stc-isp界面图在程序汇编运行结束后,即可将程序烧录至单片机内,具体操作如下。(1) 打开stc-isp,在“mcu type”栏目下选中单片机,如stc89c52rc;(2) 选择正确的com口,一般为com 1。波特率一般保持默认,如果遇到下载问题,可以适当下调一些;(3) 先确认硬件连接正确

20、,按点击“打开程序文件”并在对话框内找到相应的“.hex”文件;(4) 点击“download/下载”,然后打开电源开关,即可把“.hex”文件写入都单片机内;(5) 写入完毕后,实验板开始运行程序结果。 第31页 共68页第2章 系统硬件设计在本设计中,硬件部分包括电源、单片机、继电器、按键、数码管、指示灯等电路。本章将详细分析各模块电路作用及原理。2.1 单片机模块设计单片机基本设计如图2-1所示。图2-1 单片机基本设计单片机基本设计所选择的单片机内部资源已能满足系统的硬件需求,不需外接存储器或i/o接口,含有时钟电路和复位电路,外由电源供电。这种单片机内含有用户的程序存储器,用户程序写

21、入到内部只读程序存储器中13。该单片机采用stc公司的高密度非易失性存储技术制造,与美国intel公司生产的mcs-51系列单片机的指令和引脚设置完全兼容。(1)时钟电路设计单片机的时钟可由内部方式或外部方式产生,本设计采用的是内部方式。在芯片内部震荡电路输入端xtal1(19脚)、输出端xtal2(18脚)上外接反馈电路,内部振荡器就能产生自激振荡,在xtal2上输出3v左右的正弦波。反馈电路可以采用石英晶体(或陶瓷谐振器)和瓷片电容组成的并联谐振电路。电容的大小对振荡频率有微小影响,可起频率微调作用。本设计采用的是11.0592mhz晶振,根据经验取22pf的瓷片电容。在焊接电路时,晶振和

22、电容应尽可能与单片机芯片靠近,以减少寄生电容,保证振荡器可靠工作。另外由于晶振高频振荡相当于一个内部干扰源,所以一定要接地14。(2)复位电路设计单片机启动时需要复位,使cpu及系统各部件处于确定的初始状态,并从初始状态开始工作。单片机的复位有自动上电复位和按键复位两种15,本设计采用的是上电复位。stc89c52的复位信号是从rst(9脚)上输入到芯片内的施密特触发器中的。当振荡器起振后,若该引脚上出现2个机器周期(即24个时钟周期)以上的高电平,则cpu就可以响应并将系统复位。只要rst保持高电平,mcs-51将循环复位。rst变为低电平后,退出复位,cpu从初始状态开始工作。在加电时,复

23、位电路通过电容给rst一个短暂的高电平信号,此高电平信号随着vcc对电容的充电过程而逐渐回落,即rst的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,rst的高电平信号必须维持足够长的时间。上电时,vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,本设计所选晶振频率为10mhz,因此起振时间为1ms。(3)单片机和外部电路的接口单片机和外部电路的接口见表1-1。表2-1 单片机和外部电路的接口序号口线接线对象序号接口对象1p1.0待测芯片插座1脚21vcc5v电源2p1.1待测芯片插座2脚22p0.0数码管a脚3p1.2待测芯片插座3脚23p0.1数码管b脚4p

24、1.3待测芯片插座4脚24p0.2数码管c脚5p1.4待测芯片插座5脚25p0.3数码管d脚6p1.5待测芯片插座6脚26p0.4数码管e脚7p1.6待测芯片插座7脚27p0.5数码管f脚8p1.7空接28p0.6数码管g脚9rst/vpd10f/50v电容29p0.7空接10p3.0max232芯片12脚30ea/vpp5v电源11p3.1max232芯片11脚31ale/prog空接12p3.274ls07芯片9脚32psen空接13p3.374ls07芯片11脚33p2.7r414p3.4led234p2.6待测芯片插座9脚15p3.5按键135p2.5待测芯片插座10脚16p3.6按键

25、236p2.4待测芯片插座11脚17p3.7按键337p2.3待测芯片插座12脚18xtal2空接38p2.2待测芯片插座13脚19xtal1空接39p2.1待测芯片插座14脚20gnd接地40p2.0继电器2.2电源模块设计本设计中涉及到的单片机、待检测数字芯片的工作电压的都是dc 5v,因此需要设计一个ac 220v转dc 5v的电路供电。电源电路如图2-2所示。图2-2 电源电路框图为了能够直观的观察到电源是否正常工作,在电压转换后接一个led发光二极管,当开关s1闭合时,led发光二极管亮,说明硬件电路已经开始工作;否则,电路停止工作,指示灯灭。电容在电路中起到滤波作用。电源电路如图2

26、-3所示。图2-3 电源电路(1)确定稳压器型号,输入电压要求输出电压uo为5v,故选用lm7805集成三段稳压器,它可以将dc 9v15v范围内的电压转换成dc 5v。稳压器压差u为uiuo2v,取3v,整流桥上的压降ud为20.3=0.6v,因此输入电压为ui= uo+u+ud=5+3+0.6=8.6v。电源变压器的副边电压有效值 (2.2.1)所以变压器的输入电压为7.5v。整流滤波电路的等效负载 (2.2.2)(2)滤波电容 (2.2.3)因此取c1=2200f/25v。其它电容根据经验可取c2=0.33f/25v ,c3=0.1f/25v ,c4=1000f/25v。(3)发光二级管

27、限流电阻发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串连限流电阻以控制通过管子的电流。限流电阻r可用下式计算: (2.2.4)已知发光二级管的压降为0.7v/10ma,所以要串联的电阻 (2.2.5)这里r1取510。2.3继电器模块设计本设计可以检测4种数字集成芯片,其中有14脚和16脚,一般情况下16脚芯片的8脚为gnd,16脚为vcc,比如74ls138,74ls151,74ls161。然而并不是每个芯片的vcc、gnd的管脚定义都是相同的,例如74ls00,7脚为gnd,14脚为vcc。因此,就需要为之单独提供vcc、gnd。本设计中应用单刀双掷开关继电器的吸合

28、、断开为芯片提供vcc、gnd16。继电器连接电路如图2-4所示。图2-4 继电器连接电路图2-4所示的继电器默认情况下,开关1脚与2脚吸合。p2.7、p2.0表示接的是单片机的p2.7、p2.0脚,15脚指的是接芯片插座的15脚。当检测74ls00时, p2.7输出高电平,继电器吸合,芯片插座的15脚与vcc相连,就为74ls00提供了vcc和gnd。当p2.7输出低电平时,检测16脚芯片,继电器断开与p2.0口相接,此时即为16脚芯片的15口。其中三极管9013在电路中起着电流放大作用。2.4按键输入电路模块设计按键输入电路图如图2-5所示。 图2-5 按键输入电路s1选择键与单片机的p3

29、.5相连,当按键没有按下时,单片机检测到低电平,按下时则检测到高电平,单片机根据电压的变化来判断按键是否有动作,用来选择芯片型号。s2确定键与单片机的p3.6相连,同理,当按键没有按下时,单片机检测到低电平,按下时则检测到高电平,单片机根据电压的变化来判断按键是否有动作,用来确认开始检测。s3切换键与单片机的p3.7相连,原理同上,用来上位机操作与下位机操作之间的切换。2.5数码管显示电路模块设计数码管显示电路如图2-6所示。图2-6 数码管显示电路本设计采用两个共阴极数码管,用来显示芯片型号。单片机p0口的p0.0p0.6分别与数码管的ag相连,由于在本设计中小数点位没有用到,所以数码管的d

30、p脚空接。1k的排阻作为单片机的上拉电阻,芯片74ls07用来驱动数码管工作。单片机的p3.2、p3.3作为控制脚,当输出为高电平时,数码管工作,显示芯片的型号,当输出低电平时,数码管停止工作。2.6 led指示电路模块设计本设计下位机部分采用led二极管来显示芯片的好坏。当芯片判断为好时,led二极管灭,当芯片判断为坏时,led二极管亮。led指示电路如图2-7所示。图2-7 led指示灯显示电路单片机的p3.4脚作为控制脚,当输出为高电平时,led开始工作,当输出为低电平时,led停止工作。已知发光二级管的压降为0.7v/5ma,所以要串联的电阻 (2.2.6)这里r3取1k。2.7 rs

31、232串口通信电路模块设计串口通信电路需要用到max232芯片,它是专为rs-232标准串口设计的ttl和rs232电平相互转换的芯片,还具有基本的引脚接线功能17,使用+5v单电源供电。由于rs232电平较高,在接通时产生的瞬时电涌非常高,很有可能击毁max232,所以在使用中应尽量避免热插拔。max232芯片具有以下特点:(1) 符合所有的rs-232c技术标准;(2) 只需要单一的5v电源供电;(3) 片载电荷泵具有升压、电压极性反转能力,能够产生+10v和-10v电压v+、v-;(4) 功耗低,典型供电电流5ma;(5) 内部集成2个rs-232c驱动器;(6) 高集成度,片外最低只需

32、4个电容即可工作。rs232串口通信电路如图2-8所示18。图2-8 rs232串口通信电路由于max232芯片高集成度,因此片外最低只需4个电容即可工作。根据经验,4个电容均选用10f/50v的电解电容。第3章 系统软件设计3.1系统软件需求分析数字芯片检测电路是一种较完整的单片机应用系统,具有典型的硬件电路和软件结构。因此,系统首先应该实现软件的模块化,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。本设计的软件模块按它的功能分为:初始化程序、按键扫描程序、数字集成芯片检测程序、数码管显示程序、led显示程序和上位机显示程序。初始化程序包括初始化和系统测试两个部分。初始化程

33、序主要是p0、p1、p2、p3口的设置,数码管、led初始化及变量设置以及继电器控制端电压的设置。按键扫描主要是判断芯片型号选择键、确定执行键、上下位机切换键是否有动作。数字芯片检测程序给出待测芯片的输入信号,并对输出信号进行分析,与该芯片的真值表进行比较,并将判断结果送上位机或led指示灯显示好坏。数码管显示检测数字集成芯片型号的后两位,例如74ls00,数码管显示为“00”。当检测到芯片是好的时,led灯灭,若芯片是坏的时,led灯亮。3.2 各功能模块软件设计如图3-1所示为系统软件设计流程图。图3-1 系统软件设计流程图3.3.1 主程序void main() uint namespa

34、ce = 0; /initional(); init(); p3_4 = 1; while(1) /*接收pc机的控制命令*/ if(recvflag = 1) if(s_tab0 = 7)&(s_tab1 = 4) sendcontext18 = s_tab2;/ + 0x30; sendcontext19 = s_tab3;/ + 0x30; sendcontext110 = s_tab4;/ + 0x30; sendcontext08 = s_tab2; sendcontext09 = s_tab3; sendcontext010 = s_tab4; namespace = (s_tab

35、2-0x30)*100+(s_tab3-0x30)*10+(s_tab4-0x30); sendstartmessage(); diplayrecv(namespace); switch(namespace) case 0: key_one(); break; case 138: key_there(); break; case 151: key_two(); break; default: break; /*等待下一个命令*/namespace = 0;recvflag = 0; else key_scan(); diplay(); switch(key_loop_light) case 1

36、: sendcontext18 = 0x30; sendcontext19 = 0x30; sendcontext110 = 0x30; key_one(); ;break; case 2: sendcontext18 = 0x31; sendcontext19 = 0x35; sendcontext110 = 0x31; key_two(); ;break; case 3: sendcontext18 = 0x31; sendcontext19 = 0x33; sendcontext110 = 0x38; key_there(); ;break; /*case 4: key_four();

37、;break; case 5: key_five(); ;break;*/ default: break; 3.3.2初始化程序(1)工作原理stc89c52单片机内部设置的两个16位可编程的定时器/计数器t0和t1,它们具有计数器和定时器两种工作方式。其状态字均在相应的特殊功能寄存器中,通过对控制寄存器的编程,可以方便地选择适当的工作模式。对每个定时器/计数器(t0和t1),在特殊功能寄存器tmod中都有一个控制位,它选择t0或t1为定时器还是计数器。stc89c52单片机的定时/计数器t0由tl0、th0构成,t1由tl1、th1构成。通过对th0、tl0和th1、tl1的初始化编程来设置

38、t0,t1计数器初值,通过对tmod、tcon的编程来选择t0、t1的工作方式和控制t0、t1的运行。tmod的低4位为t0的方式字段,高4位为t1的方式字段,它们的含义完全相同。初始化程序设计主要代码如下:void initional() p0=0x00; /由于用的是共阴极数码管,所以p0口置底/ p1=0x00; /p1口初始化各端口,置高置低都可以,这里p0口置底/ p2=0x00; /p2口定义为低,p2.7是继电器的控制端/p3=0xe0; /p3二极管和数码管控制端置低,p3.5、p3.6、p3.7按键初始置高/ key_loop_light=0; enter_key=0;3.3

39、.3 数码管显示程序首先着手于数码管显示这一模块,用数码管显示检测数字芯片的型号,由于只有2位显示位,所以只显示芯片型号的后两位,其程序流程图如图3-2所示。图3-2 数码管显示程序流程图数码管显示程序主要代码如下:void display() /*先显示第一个数码管,显示1ms*/ p1_7=0; /关闭第2个数码管/ p1=disp_temp_one; nop();nop();nop(); p2_7=1; /开启第一个数码管/ delay_ms(150); /*再显示第2个数码管,显示1ms*/ p2_7=0; /关闭第1个数码管/ p1=disp_temp_two; p1_7=1; /开

40、启第二个数码管/ delay_ms(150);3.3.3按键扫描程序按键程序流程图如图3-3所示。图3-3 按键程序流程图按键扫描主要代码如下:void key_scan() if(!p3_5) delay_ms(10); if(!p3_5) delay_ms(10); if(key_loop_light4) key_loop_light=key_loop_light+1; else key_loop_light=1; while(!p3_5); if(!p3_6) delay_ms(10); if(!p3_6) delay_ms(10); enter_key=1; while(!p3_6);

41、 每按下一次选择键,数码管的显示内容变一次,数码管显示过程如图3-4所示。图3-4 数码管显示过程3.3.4数字集成芯片检测程序本设计可以检测4种数字集成芯片。下面对4种芯片的检测程序作分别的介绍。(1)74ls00芯片74ls00有四个2输入与非门,外形为双列直插。引脚及内部结构如图3-5所示。图3-5 74ls00引脚及内部结构图输入1为a端、2为b端,输出3为y端,则。其功能如表3-1所示。表3-1 74ls00功能表输入输出aby001011101111p2.7是控制74ls00的电源系统,所以要置高,使继电器闭合给74ls00提供vcc。数字集成芯片检测程序给出待测芯片的输入信号,并

42、对输出信号进行分析,与该芯片的真值表进行比较,并将判断结果送led指示灯显示好坏。根据芯片的真值表编写检测程序,主要代码如下:bit input_from_7400(unsigned char input_7400_data) /输入程序/ bit chip_7400_goodwores; unsigned char i; union1.all_bit=0x00; /所有的输入检测位为0,输入和输出共用union1/ p0_3=1; p0_6=1; p2_3=1; p2_6=1; /先置1以备输入/ for(i=0;i2;i+) union1.every_bit.bit1=p0_3; unio

43、n1.every_bit.bit2=p0_6; union1.every_bit.bit3=p2_3; union1.every_bit.bit4=p2_6; if (union1.all_bit=input_7400_data) chip_7400_goodwores=1; return (chip_7400_goodwores); else chip_7400_goodwores=0; return(chip_7400_goodwores);out_to_7400(unsigned char out_7400_data) /输出程序/ union1.all_bit=out_7400_dat

44、a; p0_1 =union1.every_bit.bit1; p0_2 =union1.every_bit.bit2; p0_4 =union1.every_bit.bit3; p0_5 =union1.every_bit.bit4; p2_5 =union1.every_bit.bit5; p2_4 =union1.every_bit.bit6; p2_2 =union1.every_bit.bit7; p2_1 =union1.every_bit.bit8;(2)74ls15174ls151为互补输出的8选1数据选择器,引脚排列如图3-6。图3-6 74ls151引脚排列图选择控制端(地

45、址端)为a2a0,按二进制译码,从8个输入数据d0d7中,选择一个需要的数据送到输出端q,s为使能端,低电平有效19。74ls151功能如表3-4所示。表3-2 74ls151功能表输入输出使能端s1 时,不论a2a0状态如何,均无输出(q0,q1),多路开关被禁止。使能端s0 时,多路开关正常工作,根据地址码a2、a1、a0的状态选择d0d7中某一个通道的数据输送到输出端q。如:a2a1a0000,则选择d0数据到输出端,即qd0。如:a2a1a0001,则选择d1数据到输出端,即qd1,其余类推。74ls151为16脚芯片,因此继电器断开。引脚对应如下:d3-p0.0 d2-p0.1 d1

46、-p0.2 d0-p0.3 y-p0.4 w-p0.5 strobe-p0.6 d4-p2.0 d5-p2.1 d6-p2.2 d7-p2.3 s1-p2.4 s2-p2.5 s3-p2.674ls151检测程序主要代码如下:bit input_from_74151(unsigned char input_74151_data) bit chip_74151_goodwores; unsigned char i;union1.all_bit=0x00; /所有的输入检测位为0,输入和输出共用union1/p0_4=1;p0_5=1; /先置1以备输入/ for(i=0;i2;i+) union

47、1.every_bit.bit1=p0_4; union1.every_bit.bit2=p0_5; if (union1.all_bit=input_74151_data) chip_74151_goodwores=1; return (chip_74151_goodwores); else chip_74151_goodwores=0; return(chip_74151_goodwores);out_to_74151(unsigned char out_74151_data) /输出程序/ union1.all_bit=out_74151_data; p0_3 = union1.every_bit.bit1; p0_2 = union1.every_bit.bit2; p0_1 = union1.every_bit.bit3; p0_0 = union1.every_bit.bit4; p2_0 = union1.every_bit.bit5; p2_1 = union1.every_bit.bit6; p2_2 = union1.every_bit.bit7; p2_3 = union1.every_bit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论