基于单片机的直流电压电流检测的设计一设计要求用单片机做一个电压,电流检测装置。(1)电压的范围:DC10-36V,要求精度1%以内。(2)电流DC0.1-3A,要求精度1%以内。(3)用液晶显示电压,电流值(4)通过按键可切换电压,电流显示。(5)每组做一个实物,实物要求用通用板焊接完成,单片机自选。二设计简介:利用单片机系统与模数转换芯片、显示模块,按键选择等的结合构建直流电压电流表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片通过按键选择模块将被测量电压或电流输入端所采集到的模拟电压或电流信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压或电流的值。最后单片机系统将计算好了的被测电压电流值按一定的时序送入显示电路模块加以显示。三.单片机简介及本设计单片机的选择在这一设计中,我们涉及到了一个关键系统模块——单片机系统模块,而目前单片机的种类是很繁多的,主要有主流的8位单片机和高性能的32位单片机,结合本设计各方面因素,8位单片机对于本设计已经是绰绰有余了,但将用哪一种类8的单片机呢。单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的大部分部件:CPU,内存,总线系统等。而目前常用的单片机的8位有51系列单片机,AVR单片机,PIC单片机。应用最广的8位单片机还是intel的51系列单片机。51系列单片机的特点是:硬件结构合理,指令系统规范,加之生产历史悠久,世界有许多芯片公司都买了51的芯片核心专利技术,并在其基础上扩充其性能,使得芯片的运行速度变得更快,性价比更高。AVR单片机是atmel公司推出较新的单片机,它的显著特点是:高性能,低功能,高速度,指令单周期为主,但性格方面比51单片机要高。有专门的I/O方向寄存器。虽然有转强的驱动电压,但I/O口使用不比51单片机方便。PIC单片机系列是美国微芯公司的产品,也是市面上增长最快的单片机之一,属精简指令集单片机,其特点是:高速度,高性能,但在性格方面比51单片机要高,也有专门的I/O方向寄存器,I/O口使用不比51单片机方便。MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(MixedSignalProcessor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。51系列和msp430系列有学过,比较熟悉,其他的比较陌生,因此优先考虑51系列和msp430系列。方案一:采用TI公司的msp430f149单片机,该单片机是超低功耗的16位自带ADC,含丰富的外设。片内有12位的ADC,分表率高,可满足1%的精度要求。该单片机的工作电压是1.8v-3.3v。需要电源转换电路。msp430f149最小系统电路。将转换电路的输出接到msp430f149的P6口,该端口是ADC转换器的模拟输入通道。MSP430F149自带12位AD,无需外接AD转换器,很方便,编程也相对简单,但是市场上只有贴片芯片,焊接很困难,且价格比较贵。方案二:采用Inntel生产的89C52。采用51系列的AT89C52,它是低电压、低功耗、高性能的CMOS8位单片机,片内含8KB的可反复擦写的只读程序存储器和256B的随机存取数据存储器,32个I/O口线,3个16位定时/计数器,片内振荡器及时钟电路,并与MCS-51系列单片机兼容。在设计中,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器和语音芯片等通过I/O口地址线和数据线连接起来。芯片没有AD转换部分,需要外接AD转换芯片。89C52我们比较熟悉,价格便宜,直插式,方便焊接,且符合实验要求。对比考虑下,我们选择51系列的89C52芯片。四.模数(A/D)转换芯片的选择在本设计中,模数(A/D)转换模块是一个重要的模块,它关系到最后数电压电流值的精确度。所以,A/D芯片的选择是设计过程中一个很重要的环节。1.常用的A/D芯片简介常用的A/D芯片有AD0809,AD0832,TLC2543C等几种。下面简单介绍一下这三种芯片。AD0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。些A/D转换器是的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。AD0832也是8位逐次逼近型A/D转换器,可支持致命伤个单端输入通道和一个差分输入通道。它易于和微处理器接口或独立使用;可满量程工作;可用地址逻辑多路器选通各输入通道。TLC2543C是12位开关电容逐次逼近A/D转换,每个器件有三个控制输入端,片选,输入/输出时钟以及地址输入端。它可以从主机高速传输转换数据。它有高速的转换,通用的控制能力,具有简化比率转换,刻度以及模拟电路与逻辑电路和电源噪声隔离,耐高温等特点。综合上述几种A/D转换芯片的特点,前两种芯片的性能和精度都不如第三种芯片。在本设计中,我们的目标是设计精度1%以内的高精度电压电流测量,因此在此,我们选择精度为12位的TLC2543芯片。2.模数(A/D)芯片TLC2543的资料综合本设计的各方面考虑,我们选了TLC2543模数转换芯片。下面就介绍此芯片的各方面资料。TLC2543芯片的封装引脚图和引脚说明如下:引脚说明:引脚号名称I/O说明1-9,11,12AIN0-AIN10I模拟输入端。15~CSI片选端。17DatainputI串行数据输入端。16DataoutO用于A/D转换结果输也的3态串行输出端19EOCO转换结束端10GND接地端18I/OclkI输入/输出时钟端14REF+I正基准电压端13REF-I负基准电压端20VCC正电压端各引脚的使用详细介绍。1.AIN0-AIN10这11个模拟信号输入由内部多路选器选择。对4.1MHZ的I/Oclk,驱动源阻抗必须小于或等于50欧并且能够将模拟电压由60PF的电容来限制其斜率。2.在CS端的一个由高低低变化将复位内部计数器并控制使能dataout,datainput和I/Oclk。一个由低至高的变化将在一个设置时间内禁止datainput和I/Oclk.3.串行数据输入端datainput是一个4位的串行地址选择下一个即将被转换的所需的模拟输入或测试电压。串行数据以MSB为前导并在I/Oclk的前4个上升沿被移入。在4个地址位被读入地址寄存器后,I/Oclk将剩下的几位依次输入。4.Dataout在CS为高时处于高阻抗状态,而当CS为低时处于激活状态。CS一旦有效,按照前一次转换结果的MSB/LSB值将dataout从高阻抗状态转变成相应的逻辑电平,I/Oclk的下一个下降沿将根据下一个MSB/LSB将dataout驱动成相应的逻辑电平,剩下的各位依次移出。5.EOC在最后的I/Oclk下降沿之后,从高电平变为低电平并保持低直到转换完成及数据准备传输。6.GND端是内部电路的地回路端,除加有说明外,所有电压测量都相对于GND7.I/Oclk端串行输入并完成以下四个功能:第一,在I/Oclk的前8个上升沿,它将8个输入数据信键入输入数据寄存器。在第4个上升沿之后为多路器的地址。第二,在I/Oclk的第4个下降沿,在选定的多路器的输入端上的模拟输入电压开始和电容器充电并继续到I/Oclk的最后一个下降沿。第三,它将前一次转换的数据的其余11位移出dataout端。在I/Oclk的下降沿时数据变化。第四,在I/Oclk的最后一个下降沿它将转换的控制信号传送到内部的状态控制位。8.REF+端通常接VCC,最大输入电压范围取决于加于本端与加于REF-端的电压差。9.REF-端通常接地。五.液晶显示器的选择方案一采用1602液晶芯片1602液晶是工业字符型液晶,能够同时显示16*2即32个字符。1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。使用时直接编写软件程序按一定的时序驱动即可。它的特点是显示字迹清楚,价格相对便宜。方案二采用12864液晶芯片12864液晶也是一种工业字符型液晶,它不仅能够显示1602液晶所可以显示的字符,数字等信息,而且还可以显示8*4个中文汉字和一些简单的图片,显示信息也非常的清楚。使用时也直接编写软件程序按一定的时序驱动即可。不过它的价格比1602液晶贵了很多。在本设计中,我们只需要显示最后电电压或的数字值,综合上面各种显示器件的特点:而点阵显示器件驱动显示软件程序编写麻烦,占用的引脚相对也较多。也不是理解的显示器件。所以在本设计中,我们考虑用液晶显示器件,虽然12864液晶比1602液晶的功能强,不过在价格方面却贵了好多。而1602液晶也足够满足本设计的需要。因此,在本设计实验我们选择1602液晶显示器件。2.1602液晶的参数资料我们选择了1602液晶做为本设计的显示模块的显示器件。以下是1602液晶的各方面参数:1.接口信号说明:编号符号引脚说明1VSS电源地2VDD电源正极3VL液晶显示偏压信号4RS数据/命令选择端5R/W读/写选择端6E使能信号8-14D0-D7DataI/O15BLA背光源正极16BLK背光源负极2.基本操作时序:1.读状态:输入:RS=0,RW=1,E=1。输出:D0-D7为状态字2.写状态:输入:RS=0,RW=0,D0-D7为指令码,E为高脉冲。输出:无3.读数据:输入:RS=1,RW=1,E=1。输出:D0-D7为数据。4.写数据:输入:RS=1,RW=0,D0-D7为数据,E为高脉冲。输出:无3.状态字说明STA7STA6STA5STA4STA3STA2STA1STA0STA0-6当前数据地址指针的数值STA7读写操作使能1:禁止0:允许4.指令的说明。显示模式设置指令码功能00111000设置16*2显示,5*7点阵,8位数据口显示开/关及光标设置指令码功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示关标B=1光标闪烁;B=0光标不显闪烁000001NSN=1当读写一个字条款后地址指针加一,且光标加一。N=0当读或写一个字符后地址指针减一,且光标减一。S=1当写一个安条款,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0当写一个字符,整屏显示不移动。数据控制:指令码功能80H+地址码(0-27H,40H-67H)设置数据地址指针01H显示清屏:1,数据指针清02,所有显示清002H显示回车:数据指针清0六.硬件总体设计:1设计方案:根据上述,我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89C51单片机,TLC2543模数转换芯片,1602液晶显示器,开关,按键,电容,电阻,晶振,标准电源等等。设计的基本框图如下:单片机系统模块1602160216021602液晶显示模块A/DA/DA/DA/D转换模块输入电路模块按键选择模块七.硬件电路系统模块的设计1.单片机系统单片机最小系统包括晶振电路,复位电路,电源。其原理图如下:转换电路模块根据设计要求,要检测直流电压电流并显示。直流电压是10v-36v,电流是0.1A-3A。这些都不满足ADC对模拟量的要求,故要通过转换电路转换后输入到ADC中去。转换电路如下:R351kR44.7k32184U3AD706R510kR6100kC425v/100uf21.直流