LCD1602,所以液晶显示电路主要就是LCD1602的驱动电路。系统电路的每一部分功能将在下文逐一介绍。
2.2.2 系统软件主要部分
系统软件主要部分如图2-2所示。在本系统中,单片机程序主要需要完成对D/A芯片赋值、电压采集、数据处理以及送显功能。故本设计的程序部分从整体上采用模块化设计,将程序主要分为D/A赋值子程序、A/D电压采集子程序、数据处理与三极管类型辨别子程序和送显子程序。这样模块化设计,有助于程序的调试,方便程序的阅读和改进与主程序的调用,同时也使得程序的组织结构更富有层次感,立体感。
变量、端口定义与程序初始化 主程序 D/A赋值子程序 A/D电压采集子程序 数据处理与三极管类型辨别子程序 送显子程序 图2-2 系统软件主要部分
3 系统硬件电路的设计
3.1 系统硬件电路总体设计图
三极管参数自动测量仪总体分为四大部分,即上文所说的电源电路、放大电路、单片机控制电路和液晶显示电路四大主要部分。在实际制作的过程中,本设计将电源电路单独设计,制造成单一的电路板;而将其余的放大电路、单片机控制电路和液晶显示三大部分制作成另一块电路板,即如图3-1中的测量主电路部分,这样就方便电路的调试,提高稳定性,也方便供电。
三极管参数自动测量仪是通过单片机对D/A芯片TLC5615赋值,使D/A芯片输出1V电压,其中D/A的基准电压由TL431输出的2.5V电压提供,D/A的输出电压后接由LM324组成的跟随器,用以保证后级输出电压1V,起到隔离缓冲的作用。之后后接一个100K的电阻连接到三极管测量电路的基极,相当于给基极一个电流。经过三极管的放大后,通过A/D芯片采集三极管发射极(PNP
第3页共40页
三极管)或是集电极(NPN三极管)的电压,就可算出三极管的基极电流和三极管的集电极的电流,这样,通过单片机就可以算出三极管的放大系数。而三极管自动测量仪中的由三个CD4051组成的自动切换电路,则可以通过单片机所测量出的三极管的放大倍数,判断三极管的类型一般的三级管的放大系数所在范围,一般三极管的放大系数在50—600倍之间,而当单片机所测量的倍数不在这一范围内的时候,通过单片机控制可以自动切换三极管的测量电路,再次运算之后,单片机得到符合要求的放大倍数,这时,就可以将相应的放大倍数和三极管的种类送到LCD1602进行显示。系统的总体设计图如下图3-1所示。
测量主电路 LCD1602液晶显示 A/D 采集电压 电源电路跟随器 LM324 单片机最小系统STC89C52RC 3.2 系统测量主电路图
系统测量部分的电路如图3-2所示。系统的这个测量主电路部分硬件电路是本设计功能实现的部分,图中TLC5615用以实现D/A转化,为基极的电阻提供电压;TLC1549器件用以采集三极管集电极或发射极的电压;三个CD4051中,CD4051(A)与CD4051(B)用以实现NPN放大电路与PNP放大电路的切换;因为不同的放大电路其电压的测量点也不同,CD4051(C)用以实现电压测量点的切换;图中NPN三极管的位置是以后被测三极管所插得位置。
D/A TLC5615 放大电路 图3-1系统硬件电路总体设计图
第4页共40页
TL431 自动切换电路
图3-2 系统测量主电路图
3.3 单片机最小系统电路
单片机最小系统电路[2]如图3-3所示,本设计所用的单片机是STC89C52RC,这种单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
图3-3 单片机最小系统电路
这种单片机是增强型的8051单片机,其工作电压有两种类型,这里使用的是5V单片机,工作电压范围是5.5V~3.3V(5V单片机),工作频率范围:0~
第5页共40页
40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。本单片机应用程序空间为8K字节,本设计的程序在5K左右,完全可以满足本系统的设计要求。
这款单片机片上集成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℃(工业级)/0~75℃(商业级),完全适合我们平时所使用时的环境。
如下图3-4为单片机PDIP封装的单片机引脚图,其40引脚为VCC,在本系统中STC89C52RC引脚图结5V的电源电压;20引脚为VSS,在系统中我将其接地;P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时要求外接上拉电阻。本系统的P0口全用作LCD1602的数据总线。
图3-4 PDIP封装的单片机引脚图
第6页共40页

