版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分类号:TN320.7 U D C:D10621-408-(2013)1585-0密 级:公 开编 号:2009073132三极管参数自动测量仪的软硬件设计论文作者姓名:付海龙申请学位专业:自动化(楼宇)申请学位类别:工学学士指导教师姓名(职称):杨明欣(教授)论文提交日期:2013年06月06日分类号:TN320.7U D C:D10621-408-(2013)1585-0密 级:公 开编 号:2009073132成都信息工程学院学位论文三极管参数自动测量仪的软硬件设计论文作者姓名:付海龙申请学位专业:自动化(楼宇)申请学位类别:工学学士指导教师姓名(职称):杨明欣(教授)论文提交日期:20
2、13年06月06日三极管参数自动测量仪的软硬件设计摘 要三极管是电子设计中的常用器件,在使用三极管时,三极管类型的辨别与放大倍数的测量是必不可少的工作。本论文提出了实现三极管类型的辨别与直流放大倍数测试的方案;详细阐述了系统测试原理,给出了主要测试电路的硬件设计;介绍了系统软件设计思路并给出了主程序流程图,最后给出了系统测试结果。此系统以AT89C52 单片机最小系统为核心,由TLC5615和TLC1549共同组成的采样放大电路,三个CD4051组成的自动切换电路,实现PNP三极管和NPN三极管放大倍数测量电路的自动切换。整个系统采用模块化设计,可以实现PNP三极管和NPN三极管自动辨别,还可
3、以较精确的对三极管直流放大系数进行测量。最后利用单片机对采集所得数据进行处理,并通过 LCD1602对三极管的直流放大倍数和三极管的类型进行显示。关键词:STC89C52RC;自动测量仪;直流放大倍数Design of Hardware and Software in Triode Parameter Automatic Measuring Instrument AbstractTriode is commonly used in the design of electronic devices, when using a transistor, transistor type of disc
4、rimination and magnification measurement is essential to the job. This paper puts forward the implementation triode types of discrimination and dc magnification test plan; Elaborated the system testing principle, gives the main test circuit hardware design; Introduces the system software design idea
5、 and main program flow chart is given, and finally gives the system test results. AT89C52 single chip microcomputer minimum system as the core, this system is composed of TLC5615 and TLC1549 common sampling amplifier circuit, composed of three CD4051 automatically switching circuit, realize the PNP
6、transistor and NPN transistor magnification measurement circuit of automatic switch. The whole system USES modular design, can realize the PNP triode automatic identification and NPN, can also be the triode dc amplification coefficient is measured more accurately. Finally using single chip microcomp
7、uter to gathering the data for processing, and through LCD1602 in type of dc magnification and triode transistor for display.Key words: STC89C52RC; automatic measuring instrument; Dc magnification目录论文总页数:40页1 引言11.1 课题背景11.2 本课题研究意义11.3 本课题的研究方法12 三极管参数自动测量仪的总体设计22.1 三极管参数自动测量仪实现的功能22.2 系统软硬件主要部分22.
8、2.1 系统硬件主要部分22.2.2 系统软件主要部分33 系统硬件电路的设计33.1 系统硬件电路总体设计图33.2 系统测量主电路图43.3 单片机最小系统电路53.4 电源电路73.5 D/A转换电路83.6 放大电路103.7 自动切换电路113.8 A/D转换电路133.9 显示电路144 系统软件设计164.1 系统软件流程图164.2 变量的定义和程序的初始化174.3 D/A模块子程序设计184.4 A/D数据的采集模块子程序设计194.5 数据处理与三极管类型辨别模块子程序设计194.6 显示子程序设计205 系统调试215.1 电源电路调试215.2 单片机的调试215.3
9、 D/A芯片调试215.4 自动切换电路调试215.5 A/D芯片调试215.6 显示调试225.7 系统的联合调试226 数据测量与结果分析23结 论24参考文献25致 谢26声 明27附 录281 引言1.1 课题背景三极管能够放大信号,并且具有较好的功率控制、工作速度快、持久力强等特点,故三极管常被用来构成放大电路,开关电路,以及各种电气设备,广泛的应用于电子、机械等领域。因此三极管的参数的测量在实际的工作中十分必要。按晶体管的结构分类,晶体三极管可以分为NPN型和PNP型,而在我们使用三极管之前,要知道三极管的基本参数,我们通常最关心的参数无非是三极管的类型和三极管的放大系数,因此,测
10、量这两项参数显得尤为重要。现在市场上的测量晶体管参数的仪器种类繁杂,其功能也因测试的参数不同而千差万别,较为普遍的是测量三极管的放大系数,还有很多三极管参数测量仪可以测量反向击穿电压、反向饱和电流、晶体管的输入输出特性曲线、延迟时间、晶体管开启时间、存贮时间等多种参数。最为常用的就是用数字万用表测量三极管的直流放大系数。现在市场上的三极管测量仪虽然功能强大、操作方便、精度高。但是体积较大、价格也相对昂贵。而本设计主要设计并制作一个测量精度达到5%以上,要求仪器有良好的人机界面,能够自动辨别NPN型与PNP型的半导体三极管参数测试仪。随着科学技术的发展和三极管的广泛应用,晶体管测试仪体积趋于小型
11、化,便于携带;功能趋于全面,测试范围广;测试精度高。但是这样的产品会增加相应的成本,如何降低成本并且测试指定的参数成为今后三极管测试仪发展的趋势。1.2 本课题研究意义学校的实验室一般使用万用表测量晶体管的放大倍数,其性能基本可以满足需求。但是在用万用表测量晶体管的放大系数的过程中,PNP三极管和NPN三极管的插孔不同,这样就要区分三极管的类型,方才能测量其放大倍数。而在不知道其类型的情况下,测量过于繁琐。这时候,我们就需要一种可以直接自动辨别三极管类型且可以测量其放大倍数的参数测量仪器。因此本课题提出了解决这一问题的方法。1.3 本课题的研究方法通过D/A芯片TLC5615给三极管的基极的电
12、阻提供一定的电压,从而为基极提供电流,以及对三极管发射极(PNP型三极管)或集电极(NPN型三极管)电压的采集送至单片机进行相应的处理运算,得出三极管的直流放大倍数。并对三极管的放大倍数进行判断,实现PNP管与NPN管的自动切换,反复测量,并将结果送至LCD1602显示。主要的研究工作包括:设计、制作并调试三极管参数测量仪硬件电路系统。本设计主要偏重硬件电路的设计、组建和PCB板的绘制、电路板的制作以及程序的编写,并且完成了全部硬件电路与软件的调试。2 三极管参数自动测量仪的总体设计2.1 三极管参数自动测量仪实现的功能本系统是基于单片机89C52RC1的三极管参数自动测量仪。该系统由测量主板
13、和电源板两部分组成。其中电源板部分为单片机、D/A芯片、A/D芯片、LM324、TL431、以及3个单8通道数字控制模拟电子开关CD4051提供5V电压。测量主板部分主要为三极管参数的测量提供相应的硬件电路以及测量结果的显示电路。该测量仪器能够自动辨别三极管的类型,测量之前无需知道三极管是NPN还是PNP类型,只要将三极管插到测量主板的相应位置,即可自动辨别三极管类型并测量其放大系数。是一个测量精度达到5%以上要求,仪器有良好的人机界面,半导体三极管参数测试仪。2.2 系统软硬件主要部分2.2.1 系统硬件主要部分系统硬件主要部分如图2-1所示。电源电路变压稳压电路单片机控制电路液晶显示电路放
14、大电路NPN放大电路PNP放大电路1602液晶驱动电路自动切换电路D/A赋值电路A/D采样电路单片机最小系统图2-1 系统硬件主要部分系统硬件分为电源电路、放大电路、单片机控制电路和液晶显示电路四大主要部分。其中,放大电路包括NPN型和PNP型两种放大电路;单片机控制电路是整个系统的核心部分,也是设计中相对繁琐的部分,主要包含单片机最小系统、D/A赋值电路、自动切换电路、A/D采样电路四部分;本设计的液晶显示用的是LCD1602,所以液晶显示电路主要就是LCD1602的驱动电路。系统电路的每一部分功能将在下文逐一介绍。2.2.2 系统软件主要部分系统软件主要部分如图2-2所示。在本系统中,单片
15、机程序主要需要完成对D/A芯片赋值、电压采集、数据处理以及送显功能。故本设计的程序部分从整体上采用模块化设计,将程序主要分为D/A赋值子程序、A/D电压采集子程序、数据处理与三极管类型辨别子程序和送显子程序。这样模块化设计,有助于程序的调试,方便程序的阅读和改进与主程序的调用,同时也使得程序的组织结构更富有层次感,立体感。变量、端口定义与程序初始化主程序D/A赋值子程序A/D电压采集子程序数据处理与三极管类型辨别子程序送显子程序图2-2 系统软件主要部分3 系统硬件电路的设计3.1 系统硬件电路总体设计图三极管参数自动测量仪总体分为四大部分,即上文所说的电源电路、放大电路、单片机控制电路和液晶
16、显示电路四大主要部分。在实际制作的过程中,本设计将电源电路单独设计,制造成单一的电路板;而将其余的放大电路、单片机控制电路和液晶显示三大部分制作成另一块电路板,即如图3-1中的测量主电路部分,这样就方便电路的调试,提高稳定性,也方便供电。三极管参数自动测量仪是通过单片机对D/A芯片TLC5615赋值,使D/A芯片输出1V电压,其中D/A的基准电压由TL431输出的2.5V电压提供,D/A的输出电压后接由LM324组成的跟随器,用以保证后级输出电压1V,起到隔离缓冲的作用。之后后接一个100K的电阻连接到三极管测量电路的基极,相当于给基极一个电流。经过三极管的放大后,通过A/D芯片采集三极管发射
17、极(PNP三极管)或是集电极(NPN三极管)的电压,就可算出三极管的基极电流和三极管的集电极的电流,这样,通过单片机就可以算出三极管的放大系数。而三极管自动测量仪中的由三个CD4051组成的自动切换电路,则可以通过单片机所测量出的三极管的放大倍数,判断三极管的类型一般的三级管的放大系数所在范围,一般三极管的放大系数在50600倍之间,而当单片机所测量的倍数不在这一范围内的时候,通过单片机控制可以自动切换三极管的测量电路,再次运算之后,单片机得到符合要求的放大倍数,这时,就可以将相应的放大倍数和三极管的种类送到LCD1602进行显示。系统的总体设计图如下图3-1所示。测量主电路放大电路自动切换电
18、路跟随器LM324D/ATLC5615TL431单片机最小系统STC89C52RCA/D采集电压LCD1602液晶显示电源电路图3-1系统硬件电路总体设计图3.2 系统测量主电路图系统测量部分的电路如图3-2所示。系统的这个测量主电路部分硬件电路是本设计功能实现的部分,图中TLC5615用以实现D/A转化,为基极的电阻提供电压;TLC1549器件用以采集三极管集电极或发射极的电压;三个CD4051中,CD4051(A)与CD4051(B)用以实现NPN放大电路与PNP放大电路的切换;因为不同的放大电路其电压的测量点也不同,CD4051(C)用以实现电压测量点的切换;图中NPN三极管的位置是以后
19、被测三极管所插得位置。图3-2 系统测量主电路图3.3 单片机最小系统电路单片机最小系统电路2如图3-3所示,本设计所用的单片机是STC89C52RC,这种单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。图3-3 单片机最小系统电路这种单片机是增强型的8051单片机,其工作电压有两种类型,这里使用的是5V单片机,工作电压范围是5.5V3.3V(5V单片机),工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz。本单片机应用程序空间为8K字节,本设计的程序在5K
20、左右,完全可以满足本系统的设计要求。这款单片机片上集成512字节RAM;通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口,弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。这里采用P0口作为LCD1602的数据总线,没有接上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片,这里我们没有用到这两个接口,而是使用单片机开发板下载系统程序。此单片机还具有EEPROM功能和看门狗功能,其工作温度范围:-40+85(工业
21、级)/075(商业级),完全适合我们平时所使用时的环境。如下图3-4为单片机PDIP封装的单片机引脚图,其40引脚为VCC,在本系统中STC89C52RC引脚图结5V的电源电压;20引脚为VSS,在系统中我将其接地;P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时要求外接上拉电阻
22、。本系统的P0口全用作LCD1602的数据总线。图3-4 PDIP封装的单片机引脚图P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。在本系统中。而在如图3.2所示中,本系统将P1口全部作为双向的I/O口使用,其中P1.0、P1.1、P1.2与LCD1602的RS、R/W和使能信号端相连。P1.3 、P1.4 、P1.5与TLC1549的I/O、数
23、据输出端、片选端相连。而P1.6和P1.7将其做成按键,虽然在后来的系统中不适用,但这里是为了方便程序的调试。在本设计中P2口不曾用到,所以这里不加详尽的介绍。RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。如图3.2所示,在本系统中我们将其接一个复位电路。P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出
24、电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在本系统中P3端口部分使用,使用部分全部作为普通的I/O口使用,其中,P3.0与三个CD4051的地址线的A线相连,作为控制切换电路的引脚。P3.1P3.3与TLC5615的片选端、时钟端和串行二进制数据输入端相连。而P3端口的引脚复用功能,本系统不曾用到。/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为
25、了执行内部程序指令,本系统将接VCC。18与19引脚作为振荡器反相放大器和内部时钟发生电路的输入端和振荡器反相放大器的输入端。这里我们将18与19引脚与12M的晶振相连,这样就够成了稳定的自激振荡器。3.4 电源电路图3-5中的电源电路中的J3所接的是输出9V的USB电源,这种USB电源输入为220V的交流电,输出为9v的直流电。后接肖恩特二极管,用以做电源保护,防止反接。测量电路部分所需的电压为5V。为得到所需的5V电压,本设计这里使用LM7805,LM7805是一种三端集成稳压电路,输出电压为5V,LM7805在电子产品中十分常见,这种稳压集成电路只有三条引脚输出,分别是输入端、接地端和输
26、出端。LM7805三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,其输出电流为1.5A,而且短路保护和过热载保护,。当要得到的电压为5V时,其输入电压都必须高于所需输出电压2V以上,本设计中LM7805的输入电压为9V,满足使用的全部需求。通过实践得到了5V直流电压。图3.4中的D2为发光二极管,检验USB电源连接是否正常,正常连接时二极管发光。图3-5系统的电源电路3.5 D/A转换电路如图3-6为D/A转换电路。图3-6 D/A转换电路如图3-6所示所用的D/A器件为TLC5615,TLC5615是美国德州仪器公司1
27、999年推出的产品,是具有10位串行接口的数模转换器,其输出为电压型,最大的输出电压为基准电压的两倍。TLC5615具有十位CMOS电压输出,精确度较高。5V单电源供电;输出电压具有和基准电压相同的极性;与单片机三线串行接口。本设计中其串行二进制数输入端DIN、串行时钟输入端SCLK和片选端分别与单片机的P3.3、P3.2、P3.1相连。当片选CS为低电平时,输入数据DIN由时钟SCLK同步输入或输出而且最高有效位在前,低有效位在后。输入时SCLK的上升沿把串行输入数据DIN移入内部的16位移位寄存器,SCLK的下降沿输出串行数据DOUT,片选CS的上升沿把数据传送至DAC寄存器。当片选CS为
28、高电平时,串行输入数据DIN不能由时钟同步送入移位寄存器;输出数据DOUT保持最近的数值不变而不进入高阻状态。由此要想串行输入数据和输出数据必须满足两个条件:第一时钟SCLK的有效跳变;第二片选CS为低电平。这里,为了使时钟的内部馈通最小,当片选CS为高电平时,输入时钟SCLK应当为低电平。无论为上述哪一种工作方式,其输出电压的计算公式为:(3-1)其中,是参考电压,N为输入的二进制数。TLC5615基准电压的输入为2.5V。为保证测量的精确性,此处的基准电压由TL431提供,TL431是一个高性价比的常用分流式电压基准,有很广泛的用途。这里的TL431 的接法是TL431 的典型接法(如图3
29、-7所示)。输出一个固定的电压值,计算公式如公式(3-2)所示。(3-2)同时R3的数值应满足公式(3-3)。(3-3)当R1取值为0的时候,R2可以省略,这时候电路图就如D/A转换电路(图3-6)中一样,通过公式(3-3)计算可知,R3的阻值范围如公式(3-4)所示。(3-4)这里图3-7所用的R9即为图3.5-2中的R3,本设计R9的阻值为510欧姆,符合要求,TLC431的输出电压为2.5V,接入TLC5615的基准电压端。图3-7 TL431典型接法这时,通过单片机的相连,程序的控制,D/A芯片的电压输出端就可以得到相应的电压值。3.6 放大电路放大电路如图3-8所示。图3-8 放大电
30、路如图3-8中所示,D/A电压的输出端连接LM324组成的电压跟随器。其中,LM324是四运放集成电路,这里我仅用其中的一个运放,可以单电源供电,且电源电压范围较广为3V-32V,这里为方便设计,也与其它芯片一样采用5V电压供电,后接一个100K的电阻,从而为三极管的基极提供电流。三极管的发射极与集电极分别与CD4051(A)和CD4051(B)的公共端连接。CD4051(A)与CD4051(B)的通道0与通道1分别连接5V电压和地线,其中连接电压一段,连接个1K的电阻,这样就可以组成一个放大电路。测量PNP三极管时的放大电路如图3-9,测量NPN三极管时的放大电路如图3-10所示。这样通过测
31、量三极管集电极(NPN型)或发射极(PNP型)的电压,就可以计算出基极电流和集电极电流,就可以通过公式(3-5)计算出直流放大系数。(3-5)图3-9 PNP放大电路图3-10 NPN放大电路3.7 自动切换电路如图3-11所示为三极管参数自动测量仪自动切换电路。图3-11 自动切换电路自动切换电路是由三个CD4051组成,CD4051是单8通道的数字控制模拟开关,有A、B和C三个二进制控制输入端以及INH共4个输入,具有低导通阻抗和很低的截止漏电流。幅值为4.520V的数字信号可控制峰峰值至20V的模拟信号。其引脚图如图图3-12所示,可以看到,CD4051有三根地址线控制的八个通道,其通道
32、选择的真值表如表3-1所示。本设计所用的三个CD4051,只用到了通道1和通道0,所以三个CD4051的地址线中的B地址线和C地址线没有用到,这里我将他接地。把通道1和通道0的选择权完全由地址线A控制。并把地址线A与单片机的P3.0口相连,从而由单片机的程序就可以控制通道口的选通。图3-12 CD4051引脚图表3-1 CD4051真值表INPUT STATES选中输出通道INHIBITCBA00000000110010200113010040101501106011170×××None其中,图中的CD4051(A)和CD4051(B)用以切换三极管的放大电路,当
33、单片机的P3.0口为低电平时选通CD4051的通道0,这时候就组成了三极管NPN型的放大电路,当P3.0为高电平时CD4051选通通道1,这时候也就形成了PNP型的三极管放大电路。在CD4051(A)和CD4051(B)切换的同时,第三个CD4051即图中的CD4051(C)也同时在切换,CD4051C的通道0和通道1分别连着三极管的集电极和发射极。当为NPN型三极管放大电路时,测量的是三极管的集电极电压,而当电路为PNP型三极管的放大电路时,测量的是三极管的发射极电压。此自动切换电路相关器件的状态如表3-2所示。表3-2 自动切换电路相关器件的状态表单片机P3.0接口状态CD4051(A)选
34、通通道CD4051(B)选通通道CD4051(C)选通通道放大电路类型A/D电压采集点低电平通道0通道0通道0NPN型集电极高电平通道1通道1通道1PNP型发射极这样通过计算三极管的基极电流和集电极电流,就可以算出放大系数。对放大倍数的检验,可以改变单片机P3.0接口状态,这样由三个CD4051组成的由单片机控制的自动切换电路就可以自由切换两种测量电路。3.8 A/D转换电路因为要对输出的电压量Ue进行数据处理使之变成电流量,再将与比较得到共发射极直流电流放大系数。要将输出的电压送单片机进行数据处理,而单片机只接受和输出数字量,因此在单片机的输入端必须用到A/D转换器件,将模拟量转换为数字量后
35、输入单片机进行数据处理。如图3-14所示为三极管参数自动测量仪的A/D转化电路,由图可以知道A/D转换电路所用的A/D芯片为TLC1549。TLC1549是十位串行A/D转换器,这种芯片有两个数字输入端,1 个三态输出口(CS),1 个 I/O CLOCK 端口和 1 个数字输出端(DATA OUT),可以实现一个三总线接口到总控制器的串行口的数据传输。内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能, 而且开关电容设计使在满刻度时总误差最大仅为±1 LSB ( 4.8 mV) , 因此可广泛应用于模拟量和数字量的转换电路。引脚图如下图3-13所示。图3-13 TLC1
36、549引脚图由上引脚图可以看出TLC1549 有两个参考电压,分别是 REF+,REF-。这两个电压值分别设定了模拟输入电压上限和下限。模拟输入电压不能超过电源电压,也不能小于 GND 的电压。当输入信号大于或等于 REF+,则数字输出为满量程;当输入信号小于或等于 REF-,则数字输出为 0。在本设计中模拟信号输入端与CD4051(C)的公共输入端相连,方便测量点的切换,正参考电压值接电源的Vcc,负参考电压值接地线,其输入/输出时钟口、数字信号输出端和片选端分别与单片机的P1.3、P1.4、P1.5相连,通过单片机的控制。图3-14 A/D转换电路当 CS 为高电平时,I/O CLOCK
37、为初始禁止状态、DATA OUT 为高阻抗状态。当串口将 CS拉低后,随着 CLOCK 和 DATA OUT 的使能开始转换数据。然后串口开始提供一个顺序时钟,同时接受 DATA OUT 上次的转换结果。通过串口设置 CLOCK 口 10-16 个时钟周期,在第一次的 10 个时钟周期内完成模拟信号的取样。对模拟信号采集,并转化为数字信号,这样通过采集的信号,就可以为后面的计算提供相应的数据。3.9 显示电路图3-15为显示电路的电路图,由图中可以看出显示电路所用的显示器为LCD1602,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X
38、7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。其相应的引脚的定义如表格3-5所示。图3-15显示电路LCD1602的控制芯片HD44780内置了DDRAM(显示数据存储RAM)、CGROM(字符存储ROM)和CGRAM(用户自定义RAM)。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如
39、下表3-3所示。表3-3 DDRAM地址和屏幕显示位置123456740DDRAM地址第一行00H01H02H03H04H05H06H27H第二行40H41H42H43H44H45H46H67H例如:想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的 00H地址写入“A”字的代码就行了,1602中我们就用前 16个就行了。第二行也一样用前 16个地址,DDRAM地址与LCD1602显示位置对应关系如下表3-4所示。表3-4 DDRAM地址与LCD1602显示位置对应关系00H01H02H03H04H05H06H07H08H09H0AH0EH0FH40
40、H41H42H43H44H45H46H47H48H49H4AH4EH4FHLCD1602的3管脚为对比调整电压,这里我接一个10k的滑动变阻器,方便液晶对比度的调整。而RS、R/W和使能信号端分别与单片机的P1.0、P1.1、P1.2相连。把数据总线与单片机的P0口相连,这样就可以通过单片机以及相关程序对液晶的显示进行控制。得到以定的显示效果。这里LCD1602的15与16引脚控制液晶的背光,这里我将15脚接Vcc,16脚接地线,就将液晶的背光打开。表3-5 LCD1602的引脚定义引脚号引脚名电平输入/输出作用1Vss电源地2Vcc电源(+5V)3Vee对比调整电压4RS0/1输入0- 输入
41、指令1- 输入数据5R/W0/1输入0-向LCD写入指令或数据1-从LCD读取信息6E1,10输入使能信号,1时读取信息,10(下降沿)执行指令7DB00/1输入/输出数据总线line0(最低位)8DB10/1输入/输出数据总线line19DB20/1输入/输出数据总线line210DB30/1输入/输出数据总线line311DB40/1输入/输出数据总线line412DB50/1输入/输出数据总线line513DB60/1输入/输出数据总线line614DB70/1输入/输出数据总线line715A+ VccLCD背光电源正极16K接地LCD背光电源负极4 系统软件设计4.1 系统软件流程图
42、开始初始化为D/A赋值P3.0是否为低电平将Ue进行A/D转换将Uc进行A/D转换将P3.0的电位置反放大倍数是否大于50且小于600计算直流放大倍数显示三极管的类型和放大倍数YYNN图4-1 程序流程图如图4-1所示,为系统软件3流程图,在本系统中,单片机需要完成对D/A芯片赋值、数据采集与处理、和送显功能。再送显之前,要进行数据的判断,看是否符合三极管的放大倍数的范围,如若符合,进行送显;如若不符合放大倍数的范围,将P3.0的电位置反,切换到另一种测量电路,重新赋值、采集、运算、再次判断,之后再送至LCD1602进行显示。如此反复循环,方可得到三极管的放大倍数和三极管类型。4.2 变量的定
43、义和程序的初始化此模块是定义单片机的各个管脚与相连的器件连接,在写程序时,方便对各个管脚状态进行操作。以及定义各个子程序,方便主程序的调用。程序的初始化,就是在每段程序运行前,对电路中单片机以及与单片机相连的各个器件进行初始状态的设定。其中LCD1602设置的初始状态为5x7点阵工作方式,8位数据接口。显示设置为开显示,光标不显示,不闪烁。相关的程序请看附录1。端口定义4如下:sbit DA_DIN=P33; /D/A串行二进制数输入端sbit DA_SCLK=P32; /D/A串行时钟输入端sbit DA_CS=P31; /D/A芯片选择,低有效sbit LCD1602_RS = P10;
44、/位定义,液晶的数据/命令选择sbit LCD1602_RW = P11; /位定义,液晶的读写选择sbit LCD1602_EN = P12; /位定义,液晶使能信号sbit CD4051_HUAN = P30; /自动切换sbit AD_CLK=P13; /A/D输入/输出时钟口sbit AD_DATA=P14; / A/D数据输出sbit AD_CS=P15; / A/D片选端#define LCDPORT P0 /液晶的数据口子程序定义如下:void DA_delay(); /D/A延时函数float zh (float k) /D/A十进制转化为二进制函数void DA_Conver
45、(unsigned int DAValue); /D/A转换函数unsigned int ad_read(void); /A/D转换函数void DEAIL_display(float key) /显示数据处理void Delay(unsigned int uiCount); /液晶延时函数void LCD1602_CheckBusy(void);/液晶忙检测void LCD1602_WriteInformation(unsigned char ucData,bit bComOrData); /在液晶上写数据或者写命令,0为命令,1为数据void LCD1602_Init(void);/液晶初
46、始化void LCD1602_MoveToPosition(unsigned char x,unsigned char y);/液晶的坐标移动到指定位置void LCD1602_DisplayOneCharOnAddr(unsigned char x,unsigned char y,unsigned char ucData);/在液晶指定位置显示字符4.3 D/A模块子程序设计此模块主要是对串行的10位D/A器件TLC5615,进行赋二进制数值,使D/A器件的电压输出为1V。这里我所设计的程序为自定义电压输出程序,能够精确到0.01v,其中芯片6脚接2.5v参考电压。当在调试系统的时候,可以根
47、据需要,对程序的修改,使D/A器件输出自己需要的电压。程序的修改也十分方便,只要将所需要的电压值修改,就可以实现。相关的程序请看附录1。开始变量定义与初始化将所需电压数值转化为二进制将二进制电压值传输到D/A图4-2 D/A模块程序流程图图4-3 TLC5615时序图TLC5615 工作时序如图4-3所示。可以看出,只有当片选为低电平时,串行输人数据才能被移人 l6 位移位寄存器。当为低电平时,在每一个SCLK时钟的上升沿将DIN的一位数据移人16位移寄存器。注意,二进制最高有效位被导前移人。接着,的上升沿将 16位移位寄存器的1O位有效数据锁存于10位DAC寄存器,供DAC 电路进行转换;当
48、片选为高电平时,串行输人数据不能被移人 l6 位移位寄存器。注意,的上升和下降都必须发生在SCLK为低电平期间4.4 A/D数据的采集模块子程序设计这里的数据采集是用TLC1549对三极管的发射极或集电极的电压进行采集。而本设计所用的A/D器件是10位串行的芯片,在每次采集时需要采集10次,即10bit。所设计的此段程序的返回值是一个整数。之后将此整数值经过数据运算变为电压值,并强制转化为浮点型数据,将此数据重复采集200次,并取其平均值,将其赋给一个浮点型的变量,我门之后的计算将会用到这个浮点型变量。相关程序请看附录1。TLC1549有6个基本的串口时间模式。本设计采用模式1,其它模式在这里
49、不加介绍。模式 1中且在 CS 下降沿后 DATA OUT 引脚开始输出转换完成的最高有效位。模式1为快速模式,在数据传输之间 CS 为高电平,10 个时钟周期的传输在这个模式下,每次连续时间传输都是 10 个时钟周期,在这之间,CS 变为高电平。CS下降沿开始时 DATA OUT 脱离高阻态;CS 上升沿结束时在指定时间内 DATA OUT 回到高阻态。同时,CS 上升沿禁止 I/O CLOCK 引脚需要一个启动时间加上两个内部系统时钟周期。时序见下图4-4所示。图4-4 TLC1549时序图4.5 数据处理与三极管类型辨别模块子程序设计此模块的主要功能是将采集回来的数据进行相关的处理运算,
50、得出三极管放大倍数的具体数值,之后对数值判断,最终得到三极管的放大倍数并通过对单片机P3.0口的状态读取,判断三极管的类型,之后将三极管的类型和放大倍数一起在LCD中显示出来。开始时,将单片机的P3.0口的电压置为低电平,此时测试的电路时用来测试NPN型三极管电路,将采集回来的电压,进行数据处理,得到三极管的放大倍数,并对此倍数与实际情况下三极管的放大倍数的范围进行比较。如符合,送去显示程序部分,如不符合,切换P3.0的状态,再次进行采集运算,之后将所得的数值送去显示程序部分,完成显示。相关程序请看附录1。开始变量定义与初始化三极管类型判断送显计算放大倍数图4-5数据处理与显示模块程序流程图4
51、.6 显示子程序设计数据处理完成后,分别计算出各个位的十进制值,并通过LCD1602与三极管类型共同进行显示。如图4-6为液晶显示子程序主要部分。液晶显示主程序液晶显示子程序初始化忙检测函数命令、数据读写函数变量、端口的定义液晶指定位置显示函数液晶的坐标移动函数图4-6 液晶显示子程序主要部分5 系统调试5.1 电源电路调试在本设计中,单片机、A/D芯片、D/A芯片、CD4051以及放大电路都需要+5V电压供电,本设计中使用USB电源将220V的交流电变为9V的直流电,再用LM7805输出稳定的+5V电压。在调试时使用万用表测量USB电源接口的1管脚,电压为9V,之后,再测量经LM7805后的
52、输出电压,万用表显示为5V。电源部分的到所需+5V电压,电源部分电路调试结束。5.2 单片机的调试在未接电源的情况下,检查线路之间是否联通;芯片的接地端是否接通;线路之间是否有短路。将编译、连接后生成的.hex文件烧录进单片机后,对单片机加必要的外围电路5,如:复位电路、晶体振荡器、电源后用示波器在单片机的30管脚测试输出频率,看是否有6分频输出,要是有证明单片机是好的,可以进行后续连接;要是没有6分频输出则证明单片机是坏的,需更换单片机。本次设计中,我将硬件电路插好后发现LCD1602不显示数据,单独测试单片机,发现30管脚无六分频输出,无输出波形,且该管脚一直为高电平,证明其已经损坏,后更
53、换单片机,30管脚有六分频输出,输出波形正常。5.3 D/A芯片调试将编译、连接后生成的.hex文件烧录进单片机,将D/A芯片与单片机插到电路板的相应位置,用万用表测量D/A芯片6管脚基准电压输入端,结果显示为2.5V,说明TL431工作正常。测量D/A芯片Vcc、GND,显示各个部分电压正常,之后测量D/A芯片与单片机的连接状况显示连接正常,最后,测量D/A芯片的7管脚,电压表显示为1V电压,说明程序工作正常,D/A芯片良好。5.4 自动切换电路调试这里的切换电路的调试,主要检测了单片机与CD4051的连接状况、各个管脚的电压以及CD4051输出通道口的检测,经用万用表检测,各个管脚的导通状
54、态良好,工作的输出通道正常,之后,改变P3.0口的状态,再次将编译、连接后生成的.hex文件烧录进单片机,重新检测CD4051输出的通道口,与程序中所设定的状态相同,证明CD4051的工作状态良好,能够达到预期要求。5.5 A/D芯片调试将硬件电路连接完成后用示波器在TLC1549的6脚测试,看有无数据序列输出,即看有无高低电平的变化,要是有证明A/D可以正常工作,要是没有则检查程序看是否程序有问题,要是程序没有问题则检查芯片,看芯片是否损坏。经检测A/D芯片可以工作,但不知其工作是否正常,测量电压是否准确,此时,我们将单片机的程序重新编写,将A/D测试的电压用LCD1602显示出来,将编译、连接后生成的.hex文件再次烧录进单片机,之后,对比LCD1602显示的电压与用万用表测量的电压进行对比,发现两者电压相同,可以证明A/D芯片工作正常。5.6 显示调试电路的调试时,测量电路各部分的工作电压正常之后,首先要进行调试的部分就是显示部分,因为这部分调试好过后,就可以方便A/D电路以及显示的的调试和放大倍数的测算。所以,这一部分至关重要,将编译、连接后生成的.hex文件烧录进单片机,看是否达到所需的显示效果,若达到则显示正常。在本设计中,在将相关的程序烧录进单片机后,发现液晶没有显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锦州医科大学医疗学院《代谢控制发酵》2023-2024学年第一学期期末试卷
- 新苏教版一年级下册数学第1单元第5课时《有关6、5、4、3、2的加减法》作业
- 怀化职业技术学院《特种胶黏剂》2023-2024学年第一学期期末试卷
- 湖北美术学院《图书情报基础》2023-2024学年第一学期期末试卷
- 重庆三峡学院《数字信号处理俄》2023-2024学年第一学期期末试卷
- 重庆财经学院《工程制图与化工CAD》2023-2024学年第一学期期末试卷
- 浙江邮电职业技术学院《机器人理论及技术》2023-2024学年第一学期期末试卷
- 浙江工业大学《仪器分析专题》2023-2024学年第一学期期末试卷
- 地暖电磁阀工作原理
- 郑州智能科技职业学院《水利水电工程概预算》2023-2024学年第一学期期末试卷
- 人教版初中英语八年级下册 单词默写表 汉译英
- GB/T 304.9-2008关节轴承通用技术规则
- GB/T 29353-2012养老机构基本规范
- 2205双相不锈钢的焊接工艺
- 啤酒厂糖化车间热量衡算
- 英文标点符号用法(句号分号冒号问号感叹号)(课堂)课件
- 22部能够疗伤的身心灵疗愈电影
- 领导干部有效授权的技巧与艺术课件
- DB37-T 1915-2020 安全生产培训质量控制规范-(高清版)
- 陕西省商洛市各县区乡镇行政村村庄村名居民村民委员会明细
- 实习生请假条
评论
0/150
提交评论