直流电子负载设计
直流电子负载设计
因为电子负载内的MOS管在调整电路时工作在可变电阻区,在调整电流时会过热。本系统能够实现对电子负载内部的功率器件以及电源的温度进行实时监测,当温度超过限定值时采取一定的措施防止温度进一步升高以免发生危险。系统温度检测是由数字温度传感器ds18B20实现的。Ds18b20具有测温系统简单、测温精度高、连接方便、占用口线少等优点。硬件接口电路附录图?所示。
2.恒流工作模式的设计方案与选择
方案一:完全采用数字反馈控制的恒流源方案
这种电路是完全通过数字反馈实时调整由于负载变化带来的电流变化,并不以基本的恒流电路为基础。原理图如图2所示。
取样电阻R串入负载回路,放大取样电阻两端的电压,通过A/D转换可以得到负载回路的电流值,控制器采用一定的控制算法调节D/A输出的电压值,放大后直接作为负载的电源使用。
直流电子负载设计制作(F题)
青岛大学庄翠竹刘丙坤郑龙
专家点评:本系统设计的直流电子负载采用MSP430F2616 作为系统的主控芯片,实现了恒压、恒流和恒阻三种工作模式,并且可以在三者之间通过键盘进行程序模式切换。思路严谨,创意新颖,测试结果可信。论文撰写格式尚待规范。
中国海洋大学信息学院 程凯副教授
2.恒压电路的设计
恒压工作模式时,电子负载所流入的负载电流根据设定的负载电压而定,此时负载电流将会改变直到负载电压等于设定值为止,则电子负载电压保持设定值不变,体现了恒压的特点。恒压电路如图5所示。
图5恒压电子负载电路
由DA输入设定值参考电压值与R5、R7分压后的电压值,用运放进行比较。若运放正负输入端电压不相等,则运放输出控制MOS管开通,使输出电压恒定。达到恒压工作模式。
18B20实现对功率器件温度的检测。当检测到温度高于60度时,风扇工作;当温度小于55度时,风扇停转。
简易直流电子负载
简易直流电子负载简介直流电子负载是一种可在实验室或工业环境中模拟负载条件以测试电源或电池性能的设备。
它通常用于测试电源效率、电池容量、保护功能等方面。
本文将介绍一款简易直流电子负载的设计和制作过程。
设计原理核心部件简易直流电子负载的核心部件是负载电阻和功率调节装置。
负载电阻通常由多个细丝电阻组成,通过调整细丝电阻的接入数量实现不同负载阻值的模拟。
功率调节装置则用于调节负载的电流和功率输出。
控制回路简易直流电子负载的控制回路由微控制器(MCU)和电流采样模块组成。
MCU 负责接收输入的控制信号,并通过与电流采样模块的交互来实现对负载电流的精确控制和测量。
显示与操作为了方便用户操作和监测电流输出,设计中还包括了显示屏和操作按钮。
通过显示屏可以实时显示负载电流、功率和设定参数等信息。
操作按钮则用于调整负载的工作模式和参数。
制作过程材料准备准备以下材料以制作简易直流电子负载:1.电阻:选用合适的多个细丝电阻,以满足不同的负载阻值需求;2.散热器:用于散热以保证负载的稳定工作;3.微控制器板:选用具备足够的IO口和ADC输入引脚的开发板;4.显示屏和操作按钮:选用合适的尺寸和接口的显示屏,以及用于操作调整参数的按钮。
电路连接按照设计电路图将电阻、散热器、微控制器板、显示屏和操作按钮等元件连接起来。
确保连接正确可靠,并注意保护电路免受短路和过流等问题。
程序开发根据控制要求,编写程序代码并烧录到微控制器板中。
程序应该实现以下功能:1.接收并解析用户的控制信号;2.根据控制信号调整负载电流和功率输出;3.实时采集并显示负载的电流、功率和设定参数。
散热设计在负载电阻和功率调节装置周围安装散热器,并确保散热器与电路紧密接触,以提高散热效果。
此外,还可以在散热器上添加风扇以增强散热效果。
完成调试完成以上步骤后,对整个系统进行调试和测试。
确保负载能够按照设定的电流和功率输出稳定工作,并能够准确采集和显示相关参数。
使用和注意事项使用简易直流电子负载时,应注意以下事项:1.确保输入电源符合设备要求,避免过压或过流对设备造成损坏;2.在使用高功率输出时,注意散热情况,避免设备过热;3.操作合理,并遵循设备的使用说明,以免发生意外和设备损坏。
直流“电子负载”设计
直流“电子负载”设计直流电子负载是一种能够模拟真实工作情况并对电流进行调节的设备。
它可以用于测试和验证直流电源、电池、太阳能电池和风能电池等直流电源的性能。
本文将介绍直流电子负载的设计原理、主要特点以及在各个领域的应用。
一、直流电子负载的设计原理直流电子负载的设计原理主要基于非线性电阻网络和控制电路。
通过控制电阻网络的状态,可以实现对电流的调节。
整个直流电子负载主要包括两个部分:控制电路部分和非线性电阻网络部分。
控制电路主要负责接收控制信号,并对非线性电阻网络进行控制。
控制信号可以来自于外部的操作控制台或者计算机控制界面。
在得到控制信号后,控制电路会根据信号的大小和方向调整非线性电阻网络的状态,从而实现对电流的调节。
非线性电阻网络由多个管脚连接起来,形成一个复杂的电阻网络。
通过调整各个管脚之间的电阻状态,可以实现不同的电流调节要求。
非线性电阻网络的设计需要考虑到电流的范围、精度和稳定性等因素,以确保直流电子负载的性能达到设计要求。
二、直流电子负载的主要特点1.高精度控制:直流电子负载能够对电流进行精确控制,可以满足各种电流调节要求,尤其适用于对电源和电池性能的测试和验证。
2.大电流容量:直流电子负载具有较大的电流容量,可以承受较高的电流负载,同时保持稳定的输出。
3.快速响应:直流电子负载能够迅速响应控制信号,并在极短的时间内实现电流的调节,以满足实时的工作需求。
4.多功能应用:直流电子负载可以根据需要进行不同的电流调节模式,如恒流、恒压、恒功率等模式,适用于不同的测试和验证场景。
5.保护功能:直流电子负载具有多种保护功能,如过流保护、过压保护、过功率保护等,可以有效保护被测试设备以及负载本身的安全性。
三、直流电子负载的应用领域1.电源测试:直流电子负载可以模拟负载情况,测试电源的性能指标,如输出电流、输出电压、稳定性等。
2.电池测试:直流电子负载可以模拟不同工作条件下对电池进行测试,如充放电测试、容量测试、循环寿命测试等。
直流电子电子负载设计
直流电子负载设计报告摘要本系统设计的直流电子负载以AT89S52单片机为主控芯片,以数模转化器DAC0832输出控制电压,经过运算放大器放大合适倍数以控制电流及电压参数,并使用模数转化器ADC0809测量电压电流参数,各个参数通过LCD12864液晶显示。
经检测,本系统电流能力达6A,稳压幅值为2V-17V,符合题目要求。
本系统同时还拓展了过压过流保护功能,设计方案具有实际应用价值。
关键词:直流电子负载AT89S52 DAC0832 ADC0809一、方案选择及论证:1、主控部分方案一:此方案采用PC机实现。
它具有在线编程、在线仿真的功能,这让调试变得方便,而且人机交互友好,但是PC机输出信号不能直接与A/D,D/A通信,需要电平转换兼容,硬件的合成需在线调试,所以较为繁琐,很不简便,而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦。
方案二:此方案采用AT89S52八位单片机实现。
单片机软件编程的自由度大,可通过变成实现各种各项的算数算法和逻辑控制,而且体积小,硬件实现简单,安装方便,既可以单独对A/D,D/A控制,还可以与PC机通信。
AT89S52将具有多种功能的8位CPU 与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,性价比高。
综上所述,在主控部分,我们选择方案二。
2、模拟负载模块方案一:双极型晶体管模拟负载晶体管是通过一定的工艺,将两个PN结结合在一起的器件。
通过基极电流可以控制集电极电流,从而可达到控制晶体管作为一个可变负载的目的。
文献17中利用大功率晶体管作为一个电子负载,晶体管作为负载连接电池和光电装置,Ushift是加载晶体管基极和集电极的电压,Upv是光电装置上的压降。
由于晶体管属于电流控制器件,在控制变化速度上较慢,因此适合模拟一些电流恒定或是变化缓慢的实际负载。
其次,晶体管还存在温度系数为负的问题,所以在使用过程中还需要考虑温度补偿的问题。
直流电子负载设计基础
直流电子负载设计基础电子负载基本工作原理:1.恒压模式2.恒流模式3.恒阻模式4.恒功率模式恒流图中R1为限流电阻,R1上的电压被限制约0.7V,所以改变R1的阻值就可以改变恒流值,在上图中我们知道,在串联电路中,各点电流相同,电路要恒流工作,只要在串联回路里控制流过一个元件的电流就可以达到我们所控制的恒流输出。
上图是一个简易的恒流电路,通常用在一些功率较小及要求不高的场合里应用,那么在一些应用中这种电路就无能为力了,如:在输入电压为1V输入电流为30A,那么对于这样的要求这样的电根本无法保证工作。
这样的电路调节输出电流也不是很方便。
这个图是一个最常用的恒流电路,这样的电路更容易获得稳定及精确的电流值,R3为取样电阻,VREF是给定信号,电路工作原理是:当给定一个信号时VREF,如果R3上的电压小于VREF,也就是OP07的-IN小于+IN,OP07加输出大,使MOS加大导通使R3的电流加大。
如果R3上的电压大于VREF时,-IN大于+IN,OP07减小输出,也就降了R3上的电流,这样电路最终维持在恒定的给值上,也就实现了恒流工作。
如给定VREF为10mV,R3为0.01欧时电路恒流为1A,改变VREF可改变恒流值,VREF可用电位器调节输入或用DAC 芯片由MCU控制输入,采用电位器可手动调节输出电流。
如采用DAC输入可实现数控恒流电子负载。
电路仿真验证在上图中我们给定了Vin为4V-12V变化的电压信号,VREF给定50mV的电压信号,在仿真结果中输入电流一真保持在5A,电路实现了恒流作用。
恒压电路一个简易的恒压电路,用一个稳压二极管就可以了。
这是一个很简易的图,输入电压被限制在10V,恒压电路在用于测试充电器时是很有用的,我们可以慢慢调节电压测试充电器的各种反应。
图是10V是不可调的,请看下图可调直流恒压电子负载电路:图中MOS管上的电压经R3与R2分压后送入运放IN+与给定值进行比较,如图所示,当电位器在10%时IN-为1V,那么MOS管上的电压应为2V。
简易直流电子负载
简易直流电子负载设计报告一,引言在电路中,负载是指用来吸收电源供应器输出的电能量的装置,它将电源供应器输出的电能量吸收并转化为其他形式的能量储存或消耗掉。
如电炉子将电能转化为热能;电灯将电能转化为光能;蓄电池将电能转化为化学能;电机将电能转化为动能。
这些都是负载的真实表现形式。
负载的种类繁多,但根据其在电路中表现的特性可分为阻性负载、容性负载、感性负载和混合性负载。
在实验室,我们通常采用电阻、电容、电感等或它们的串并联组合,作为负载模拟真实的负载情况。
进行电源设备的性能实验。
电子负载是利用电子元件吸收电能并将其消耗的一种负载。
电子元件一般为功率场效应管(Power MOS)、绝缘栅双极型晶体管(IGBT)等功率半导体器件。
由于采用了功率半导体器件替代电阻等作为电能消耗的载体,使得负载的调节和控制易于实现,能达到很高的调节精度和稳定性。
同时通过灵活多样的调节和控制方法,不仅可以模拟实际的负载情况,还可以模拟一些特殊的负载波形曲线,测试电源设备的动态和瞬态特性。
这是电阻等负载形式所无法实现的。
二,总体方案论证与设计电子负载用于测试直流稳压电源、蓄电池等电源的性能。
设计和制作一台电子负载,有恒流和和恒压两种模式,可手动切换。
恒流方式时不论输入电压如何变化(在一定范围内),流过该电子负载的电流恒定,且电流值可设定。
工作于恒压模式时,电子负载端电压保持恒定,且可设定,流入电子负载的电流随被测直流电源的电压变化而变化。
外接12V稳压电路。
要求:(1)负载工作模式:恒压(CV)、恒流(CC)两种模式可选择。
(2)电压设置及读出范围:1.00V~20.0V。
(3)电流设置及读出范围:100mA~3.00A。
(4)显示分辨能力及误差:至少具有3位数,相对误差小于5%。
恒流模块和恒压模块共用一个基准电压12v,并且通过开关实现两种模式的转换,用A/D转换器把电路中的电压电流的模拟信号转换为数字信号,然后通过单片机来程控从而重置电压电流,用数码管液晶显示同时呈现即时电压电流。
直流电子负载设计报告
直流电子负载设计报告摘要:电子负载是一种通过控制内功率MOSFET或晶体管的导通量,靠功率管的耗散功率消耗电能从而准确检测出负载电压,精确调整负载电流的设备。
本设计以STC12C5A单片机为主控芯片,配合D/A转换、电压比较器、场效应功率管、液晶显示器等器件构成,并通过相应的软件代码配以适当的手动调节来实现三种模式的转换控制;在定电流模式下,不管输入电压是否改变,电子负载消耗一个恒定的电流。
在定电压模式下,电子负载将消耗足够的电流来使输入电压维持在设定的电压上。
在定电阻模式下,电子负载被等效为一个恒定的电阻,电子负载会随着输入电压的改变来线性改变电流。
关键词:电子负载;单片机;D/A转换;CC模式;CV模式;CR模式目录:一、系统设计要求及题目分析 (3)1.1 任务 (3)1.2 要求 (3)1.2.1基本要求 (3)1.2.2发挥部分 (3)1.3 题目分析 (3)二、系统方案论证与选择 (3)2.1 系统的基本方案 (4)2.1.1 单片机部分的选取 (4)2.1.2 电源模块的论证与选择 (4)2.1.3 DA转换模块的选取 (5)2.1.4 显示部分的选取 (5)2.1.5 功率控制方案的选取 (5)2.2 系统的最终方案 (5)三、系统的硬件设计与实现 (6)3.1 系统硬件的基本组成部分 (6)3.2主要单元电路的设计 (7)3.2.1 电源供电电路 (7)3.2.2 数模转换电路 (8)3.2.3 恒流模式电路 (10)3.2.4 恒压模式电路 (11)3.2.5 恒阻模式电路 (12)四、系统软件设计 (13)4.1 程序流程图 (13)五、系统性能测试 (14)5.1三种模式性能测试 (14)5.1.1 恒流模式性能测试 (14)5.1.2 恒压模式性能测试 (16)六、总结 (19)七、参考文献: (19)八、附录: (20)8.1 电路原理图 (20)8.2 部分程序代码 (21)8.3主要元器件清单:(表格形式) (39)一、系统设计要求及题目分析1.1 任务电子负载用于测试直流稳压电源、蓄电池等电源的性能。
直流电子负载
直流电子负载一、基本要求(1)负载工作模式:恒压(CV)、恒流(CC)两种模式可选择。
(2)电压设置及读出范围:1.00 V~20.0 V。
(3)电流设置及读出范围:100 mA ~ 3.00 A。
(4)显示分辨力及误差:至少具有三位数,相对误差小于5%。
二、总体方案论证与设计2.1参数设计方案利用A/D转换把模拟信号转换为数字信号,在利用单片机程控来修改电压电流参数,此方案精确度高,操作技术要求很高,节省时间。
并且用DA采集显示测量值,比较得出结论。
2.2恒流恒压设计方案1.定电流模式(CC mode)在定电流工作模式时,电子负载所流入的负载电流依据所设定的电流值而保持恒定,与输入电压大小无关,即负载电流保持摄定值不变。
2.定电压模式(CV mode)在定电压工作模式时,电子负载所流入的负载电流依据所设定的负载电压而定,此时负载电流将会增加直到负载电压等于设定值为止,即负载电压保持设定值不变。
2.3电源模块设计电源模块基本电路图2.4单片机模块设计单片机模块基本电路三、测试及分析测试原始数据1.恒流模式数据测量四、附录基本程序恒流模块#include <reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit rs=P2^7;sbit E=P2^6;sbit adwr=P2^5;sbit adrd=P2^4;float adval;long int temp;void delay(uint z) //延时子程序{uint x,y;for (x=z;x>0;x--)for(y=110;y>0;y--);}write_com(uchar com) //写命令{rs=0;P0=com;delay(5);E=1;delay(5);E=0;}write_data(uchar dat) //写数据{rs=1;P0=dat;delay(5);E=1;delay(5);E=0;}init() //液晶初始化{E=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+3);}void Display_Resulti(uchar dac) //恒流设定值子程序{float db=0.0;uchar shi=0,ge=0,xs=0,xxs=0; P3=dac;db=dac*3.00/158.00;shi=(int)db/10;ge=(int)db%10;db*=10.0;xs=(int)db%10;db*=10.0;xxs=(int)db%10;write_com(0x80+1);delay(2);write_data('c');delay(2);write_data('u');delay(2);write_data('r');delay(2);write_data('r');delay(2);write_data('e');delay(2);write_data('n');delay(2);write_data('t');delay(2);write_data(0x3a);delay(2);if(shi==0){write_data(0x20);delay(2);}elsewrite_data(0X30+shi);delay(2);write_data(0X30+ge);delay(2);write_data(0x2e);delay(2);write_data(0x30+xs);delay(2);write_data(0x30+xxs);delay(2);}void Display_Resulti1(float adval) //测量电流值子程序{uchar ge,xs,shi,xxs;temp=(long int)(adval*105/51);shi=temp/1000;ge=temp/100%10;xs=temp/10%10;xxs=temp%10;write_com(0x80+0x40+1);delay(2);write_data('C');delay(2);write_data('U');delay(2);write_data('R');delay(2);write_data('R');delay(2);write_data('E');delay(2);write_data('N');delay(2);write_data('T');delay(2);write_data(0x3a);delay(2);if(shi==0){write_data(0x20);delay(2);}elsewrite_data(0X30+shi);delay(2);write_data(0X30+ge);delay(2);write_data(0x2e);delay(2);write_data(0x30+xs);delay(2);write_data(0x30+xxs);delay(2);}void ADC() //启动AD转换{adwr=1;_nop_();adwr=0;_nop_();adwr=1;P1=0xff;adrd=1;_nop_();adrd=0;_nop_();adval=P1;adrd=1;}void main() //主程序{init();TMOD = 0x02; //定时器初始化TH0 = 0x6f;TL0 = 0x00;IE = 0x82;TR0 = 1;while(1) //显示模块{uchar key=0;bit keyflag=1;uint dac=0;Display_Resulti(dac);while(1) //键盘扫描控制显示{ Display_Resulti1(adval);ADC();key=P2&0x0f;switch(key){case 0x0e:if(keyflag){dac=0;Display_Resulti(dac);keyflag=0;}break;case 0x0d:if(keyflag){dac+=10;Display_Resulti(dac);keyflag=0;}break;case 0x0b:if(keyflag){dac-=10;Display_Resulti(dac);keyflag=0;}break;case 0x07:if(keyflag){dac=158;Display_Resulti(dac);keyflag=0;}break;case 0x0f:keyflag=1;break;}}}}恒压模块#include <reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit rs=P2^7;sbit E=P2^6;sbit adwr=P2^5;sbit adrd=P2^4;float adval;long int temp;void delay(uint z) //延时子程序{uint x,y;for (x=z;x>0;x--)for(y=110;y>0;y--);}write_com(uchar com) //写命令{rs=0;P0=com;delay(5);E=1;delay(5);E=0;}write_data(uchar dat) //写数据{rs=1;P0=dat;delay(5);E=1;delay(5);E=0;}init() //液晶初始化{E=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+3);}void Display_Resultu1(float adval) //恒压设定值子程序{uchar ge,xs,shi,xxs;temp=(long int)(adval*110/51);temp=temp*4;shi=temp/1000;ge=temp/100%10;xs=temp/10%10;xxs=temp%10;write_com(0x80+0x40+1);delay(2);write_data('V');delay(2);write_data('O');delay(2);write_data('L');delay(2);write_data('T');delay(2);write_data('A');delay(2);write_data('G');delay(2);write_data('E');delay(2);write_data(0x3a);delay(2);if(shi==0){write_data(0x20);delay(2);}elsewrite_data(0X30+shi);delay(2);write_data(0X30+ge);delay(2);write_data(0x2e);delay(2);write_data(0x30+xs);delay(2);write_data(0x30+xxs);delay(2);}void Display_Resultu(uchar dac) //测量电压子程序{float db=0.0;uchar shi=0,ge=0,xs=0,xxs=0;P3=dac;db=dac*20.00/255.00;shi=(int)db/10;ge=(int)db%10;db*=10.0;xs=(int)db%10;db*=10.0;xxs=(int)db%10;write_com(0x80+1);delay(2);write_data('v');delay(2);write_data('o');delay(2);write_data('l');delay(2);write_data('t');delay(2);write_data('a');delay(2);write_data('g');delay(2);write_data('e');delay(2);write_data(0x3a);delay(2);if(shi==0){write_data(0x20);delay(2);}elsewrite_data(0X30+shi);delay(2);write_data(0X30+ge);delay(2);write_data(0x2e);delay(2);write_data(0x30+xs);delay(2);write_data(0x30+xs);delay(2);}void ADC() //启动AD转换{adwr=1;_nop_();adwr=0;_nop_();adwr=1;P1=0xff;adrd=1;_nop_();adrd=0;_nop_();adval=P1;adrd=1;}void main() //主程序{init();TMOD = 0x02; //定时器初始化TH0 = 0x6f;TL0 = 0x00;IE = 0x82;TR0 = 1;while(1) //显示模块{uchar key=0;bit keyflag=1;uint dac=0;Display_Resultu(dac);while(1) //键盘扫描控制显示{ Display_Resultu1(adval);ADC();key=P2&0x0f;switch(key){case 0x0e:if(keyflag){dac=0;Display_Resultu(dac);keyflag=0;}break;case 0x0d:if(keyflag){dac+=5;Display_Resultu(dac);keyflag=0;}break;case 0x0b:if(keyflag){dac-=5;Display_Resultu(dac);keyflag=0;}break;case 0x07:if(keyflag){dac=255;Display_Resultu(dac);keyflag=0;}break;case 0x0f:keyflag=1;break;}}}}。
程控直流电子负载设计
程控直流电子负载设计程控直流电子负载是一种专业的测试设备,用于测试电源、电池、电子产品等的性能和稳定性。
程控直流电子负载的设计需要考虑多方面因素,包括额定功率、负载电阻、响应时间、稳定性等等。
下面将对程控直流电子负载的设计进行详细介绍。
一、额定功率程控直流电子负载的额定功率是其最重要的指标之一,它决定了其能够承受的最大电功率。
额定功率的选择需要根据使用环境和测试需求来确定。
通常情况下,程控直流电子负载的额定功率应该比测试电源的额定功率高出一些,以保证其在测试过程中不会因功率过载而导致故障。
二、负载电阻程控直流电子负载的负载电阻需要根据测试电源的输出电压和电流来选择。
负载电阻的选择应该保证程控直流电子负载的输入端和输出端之间的电压降不超过规定范围,在电压和电流范围内保持稳定。
一般来说,负载电阻应该具备线性可变的特性,以适应不同的测试需求。
三、响应时间程控直流电子负载的响应时间是指其从接收到控制信号到实际转换为负载电流所需的时间。
响应时间越短,程控直流电子负载的稳定性越高,测试结果也越准确。
因此,响应时间是一个重要的设计指标之一。
一般来说,程控直流电子负载的响应时间应该控制在几毫秒以内,以保证测试结果的准确性和稳定性。
四、稳定性程控直流电子负载的稳定性是指其输出电流和电压的精度和稳定度。
稳定性是直接影响测试结果准确性的因素之一。
为了提高程控直流电子负载的稳定性,需要采用高质量的元器件和控制电路。
同时,还需要对电源电压波动、温度变化等因素进行优化和控制,以保证稳定性和精度。
五、安全性程控直流电子负载的安全性是设计的基本要求之一。
安全性包括电路安全设计、防护措施、安装位置等多个方面。
在设计过程中,需要考虑到使用环境的安全性,根据不同的使用环境和需求,采取相应的保护措施,保证用户操作和使用的安全性。
六、易用性程控直流电子负载的易用性也是设计的重要考虑因素之一。
易用性不仅包括人机界面的设计,还包括操作方法、故障诊断等方面。
直流电子负载设计
直流电子负载(D题)一、任务电子负载用于测试直流稳压电源、蓄电池等电源的性能。
设计和制作一台电子负载,有恒流和恒压两种模式,可手动切换。
恒流方式时要求不论输入电压如何变化(在一定范围内),流过该电子负载的电流恒定,且电流值可设定。
工作于恒压方式时,电子负载端电压保持恒定,且可设定,流入电子负载的电流随被测直流电源的电压变化而变化。
二、要求1.基本要求(1)负载工作模式:恒压(CV)、恒流(CC)两种模式可选择。
(2)电压设置及读出范围:1.00 V~20.0 V。
(3)电流设置及读出范围:100 mA ~ 3.00 A。
(4)显示分辨力及误差:至少具有三位数,相对误差小于5%。
2.发挥部分(1)增加恒阻(CR)模式。
(2)扩大负载参数的设置及读出范围。
(3)具备自动过载保护设计。
(4)其它。
三、说明(1)负载参数可调节设置,人工预置或数字程控皆可。
(2)负载参数可数字化显示,两种负载参数(CV、CC)同时显示。
(3)实现原理可参考下图。
四、评分标准设计报告项 目满分设计与总结报告:方案比较、设计与论证,理论分析与计算,电路图及有关设计文件,测试方法与仪器,测试数据及测试结果分析30基本要求 实际制作完成情况50 发挥部分 完成第(1)项 20 完成第(2)项10 完成第(3)项10 其他 10 小计50 总分130电压显示 电流显示电压设置 电压比较功率控制电流设置电流比较电压检测电流检测负载输出负载输入直流电子负载(D题)摘要本设计作品主要由恒压模块,恒流模块,恒阻模块等三大模块组成,并通过51单片机进行控制,实现对恒压负载电压值和恒流负载电流值的预设,并通过液晶显示预设值和实测值。
整个设计系统采用功率MOS管和运算放大器组成的恒流模块和恒压模块,通过D/A转换将单片机预设的电流值和电压值作为恒流模块和恒压模块的给定,控制电流电压的输出,再经过A/D转换对实际的电流和电压输出值进行检测和采样,实现闭环控制,从而达到所需电子负载的精度。
直流“电子负载”设计
课程设计任务书设计九:直流“电子负载”设计,要求其满足:(1)负载工作模式可切换:恒压(CV)、恒流(CC);(2) 电压设置范围:1~20V;(3) 电流设置范围:100mA~3A。
指导教师(签名)——————年月日电子负载的原理是控制内功率MOSFET或晶体管的导通量(量占空比大小),靠功率管的耗散功率消耗电能的设备,它能够准确检测出负载电压,精确调整负载电流,同时可以实现模拟负载短路,根据其在电路中表现的特性可分为感性负载、容性负载、阻性负载和混合性负载。
一般开关电源的调试检测是不可缺少的。
电子负载的基本工作模式(CC/CV)是电子负载在电源产品的设计生产中扮演着很重要的角色,然而直到现在它似乎仍然披着神秘的面纱。
电子负载可以模拟真实环境中的负载(用电器)。
它有恒流、恒阻、恒压和恒功率功能,以及短路,过流,动态等等,应该说所有的电源厂家都会有用,而且也必须有。
电子负载分为直流电子负载和交流电子负载,由于电子负载的应用面问题,本文主要介绍直流电子负载。
电子负载一般分为单体电子负载和多体电子负载,此划分针对用户需求,待测物单一或需多个同时测试而定。
电子负载应该有完善的保护功能。
保护功能分为对内(电子负载)保护功能和对外(被测设备)保护功能。
对内保护有:过压保护,过流保护,过功率保护,电压反向和过温保护。
对外保护有:过流保护,过功率保护,吃载电压荷低电压保护。
选择电子负载应该选择是拥有真保护国内的电子负载。
如果功能是由硬件实现的,保护速度会很快。
如果是由软件实现,速度有滞后性,并且模组死机的话将会发生危险。
由于电子负载的特殊性能(提供强大的测试环境,以满足不同的外界需求),故在电子仪器仪表中占有很大的一片市场(主要适用于各种电源、电池、适配器及需要电子负载测试场合),摘要 (4)第一章电子课程设计题目及要求1.题目 (4)2.任务 (4)3. 要求 (4)第二章电子负载基本原理1. 恒压模式电路 (5)2. 恒流模式电路 (6)第三章部分元件介绍1. 三极管的介绍 (8)2. MOS管的介绍 (9)3. 集成运算放大器的工作原理 (10)第四章电路设计与仿真结果1. 恒压模式电路图 (13)1.1 恒压模式最小输出电压1.283V时的仿真结果 (13)1.2 恒压模式最大输出电压22.234V时的仿真结果 (14)2. 恒流模式电路图 (15)2.1 恒流模式最小输出电流235.306mA时的仿真结果 (15)2.2 恒流模式最大输出电流3.429A时的仿真结果 (16)第五章所用元件1. 元件列表 (17)第六章课程小结1 课程小结 (17)2 致谢 (18)3 参考文献 (19)摘要随着电力电子技术、计算机技术和自动控制技术的迅速发展,为电源检测技术带来了革命性的变化。
直流电子负载设计
ZH A N G YU y e,XI Ya n — hua
Xi a n y a n g No r ma l Co l l e g e ,Xi a n y a n g 7 1 2 0 0 0,C h i n a ) ( De p a r t me n t o f P hy s i c s a n d El e c t r o n i c s En g i n e e r i n g,
v e r l o a d p r o t e c t i o n c i r c ui t . Ke y wo r d s: AT8 9 S5 2;e l e c t r on i c l o a d;c on s t a nt c u r r e nt s ou r c e;v ol t a ge d e t e c t i on .
第3 1卷
第 1 期
陕 西科 技 大学 学 报
J o u r n a l o f S h a a n x i Uni v e r s i t y o f S c i e n c e & Te c h no l o g y
Vo 1 . 3 1 No . 1
Fe b. 2O1 3
2 0 1 3 年 2 月
文 章编 号 : 1 0 0 0 — 5 8 1 1 ( 2 0 1 3 ) 0 1 — 0 1 3 9 — 0 4
直 流 电子 负载 设 计
张玉 叶 ,郗艳 华
( 成 阳师 范 学 院 物 理 与 电 子 工 程 学 院 , 陕 西 成 阳 7 1 2 0 0 0 )
l e c t r on i c l o a d c u r r e nt i s c on s t a nt ,a nd t h e c ur r e n t v a l u e c a n b e pr o c e s s e d by t he s i ng l e c hi p by DAC0 8 32 c h i p e n a bl e o ut p ut c ur r e nt o f 1 00~ 1 0 0 0 m A ,s t e p 1 0 m A a nd i n d i g i t a l t ub e
简易直流电子负载的设计分析
简易直流电子负载的设计分析简易直流电子负载的设计分析简易直流电子负载是用于测试电子装置、电源等的一种装置,它可以模拟若干种负载条件以测试相关设备的工作情况。
本文将介绍简易直流电子负载的设计分析,包括工作原理、设计思路、主要部件、关键技术和应用领域等方面的内容。
一、工作原理简易直流电子负载是一种能够模拟负载条件,从而测试其他设备的工作状况的装置。
它利用了一个能够提供模拟负载的电池和负载滑动电阻滑动电阻器来产生不同的负载条件,从而模拟各种应用条件。
使用直流电源将电负载连接到测试设备上,可以对测试设备的性能进行评估和测试。
二、设计思路简易直流电子负载的设计思路是通过使用可变电阻器和大功率开关晶体管来模拟不同的负载条件。
为了实现高精度、高性能的测试,需要使用高质量、高品质的元器件。
在设计过程中需要深入了解每个元件的标准和特性,以确定最佳的元件组合和设计方案。
三、主要部件简易直流电子负载的主要部件包括直流电源、继电器、抵抗器、电容、测量电路、温度保护等。
其中,高精度测量电路是保证电子负载性能最关键的部分,因此必须利用高性能IC 部件进行设计。
高精度电压采样电路和高精度电流采样电路是这一部分的核心。
四、关键技术简易直流电子负载的设计过程中需要掌握一些关键技术,包括负载控制、负载保护和热保护等方面。
负载控制要准确实现设定的负载条件,保护部件,保证负载的准确性和有效性。
负载保护要在工作时及时保护负载,同时需提高工作效率。
热保护作为一种常用的健康保护技术,对于长时间工作和大功率工作非常适用。
五、应用领域简易直流电子负载主要适用于各种电子产品的测试、研究和制造领域。
无论是电子设备的设计、测试、维护还是智能电表、逆变器、锂电池等产品的研究,简易直流电子负载都是必不可少的工具之一。
此外,汽车电子、太阳能电池板等领域也需要使用简易直流电子负载来测试设备的性能和可靠性。
总之,简易直流电子负载是一种重要的测试设备,可用于测试不同类型的电子产品,具有可靠性高、稳定性好、成本低等优点。
直流电子负载课程设计
智能化:随着物联 网技术的发展,直 流电子负载的智能 化也是未来的发展 趋势。
未来发展方向
高效能:提高直流 电子负载的工作效 率和性能,以满足 不断增长的需求。
智能化:引入人工 智能和自动化技术, 实现远程控制和智 能调节,提高使用 便利性。
绿色环保:采用环 保材料和节能技术 ,降低能耗和排放 ,符合可持续发展 要求。
环保化:随着环 保意识的提高, 直流电子负载将 更加注重环保设 计,采用低功耗、 低噪声等环保技
术。
技术挑战
精度和稳定性:随 着直流电子负载应 用的广泛,对精度 和稳定性的要求也 越来越高。
高效能:在保证精 度和稳定性的同时, 提高直流电子负载 的工作效率也是一 大挑战。
集成化:随着电子 设备的小型化,直 流电子负载也需要 向更小、更集成的 方向发展。
06 直 流 电 子 负 载 课 程 设计的实践环节
Part One
单击添加章节标题
Part Two
直流电子负载概述
定义与作用
定义:直流电子负载是一种能够模拟真实电阻负载的电子设备,用于测 试电源供应器和电池的输出性能。
作用:在电子设备测试中,直流电子负载可以精确地模拟真实电阻负载, 提供稳定的电流和电压,帮助测试电源供应器和电池的输出性能。
讨论:对实验结 果进行讨论,分 析误差来源,提 出改进措施,探 讨实际应用中可 能遇到的问题和 解决方案。
结论:总结实验 结果,得出直流 电子负载课程设 计的实践环节的 结论,以及对未 来研究的展望。
实验总结与展望
实验目的:掌握 直流电子负载的 基本原理和设计 方法
实验过程:完成 电路搭建、调试 及测试
直流电子负载课程设计
,a click to unlimited possibilities
简易直流电子负载的设计
简易直流电子负载的设计直流电子负载是用来模拟电子设备在不同负载下的工作状态,进行性能评估、设计验证和电源测试等应用。
本篇文章将介绍如何设计一款简易直流电子负载。
1. 功能需求根据负载的应用场景和测试要求,确定需要支持哪些电压和电流范围,以及是否需要具备恒压模式或恒流模式切换等功能。
2. 电路部分直流电子负载的核心电路包括电源电路和负载电路。
电源电路提供给负载电路所需的电压和电流,负载电路则通过调整电阻来模拟负载。
(1) 电源电路电源电路应有较好的稳压和保护功能,以提供可靠的工作环境。
在设计时可以考虑采用集成电路LM317的恒压电源,它拥有很好的输出稳定性,能够稳定地提供实验所需的直流电源。
具体参考图一图一 LM317电源电路(2) 负载电路负载电路是根据不同的测试要求设计的。
通常,它由电阻和开关组成。
通过控制开关状态,可以改变电流流过的电阻值,从而模拟不同的负载情况。
具体参考图二图二负载电路在此电路中,当开关S1和S2同时闭合,负载电路中的电阻为R1+R2,此时电流为I=V/R,R为R1+R2。
当仅闭合S2,电路中的电阻为R1,此时电流为I=V/R1。
3. 控制部分控制部分负责检测电路输入参数,控制负载电路中的开关状态,以实现恒压或恒流模式。
通过引脚连接信号发生器和AD转换器,可以实现对测试信号的自动控制和测量。
4. PCB设计根据电路设计要求,制作 PCB 设计图并下单生产。
需要注意的是,在 PCB的布局设计时,不同信号的逻辑分开布局,尽量避免出现复杂的交叉干扰。
5. 其他需要注意的是,电路部分虽然简单,但是在设计和实现的过程中,需要充分考虑设备的安全性和可靠性,尽量避免出现安全事故。
总之,设计简易直流电子负载需要考虑功能需求、电路部分、控制部分、PCB设计等各个环节。
只有当以上各个方面都考虑周全,才能制作出高质量的直流电子负载,以满足各种测试需求。
直流电子负载的设计制作DZ版
直流电子负载的设计制作D Z版(总11页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--直流电子负载的设计制作摘要:本设计利用51单片机程控输出数字信号,经过DA转换成模拟量,作为MOSFET功率电路的输入信号。
其中MOSFET功率电路由比较器控制NMOS管导通,形成正负反馈模型,实现了恒压、恒流和恒阻三种模式的切换和设置调节。
AD实时采集输出的恒定信号,传送给单片机,实现数字显示及自动过载保护功能,完成了题目的要求。
三种模式采用手动切换,CV范围扩大为0-30V 左右,CC扩大为0-3A左右,CR范围为1~99欧姆,测量精度小于5%,系统电路简洁,调节快速,且具有过载保护提示,键盘输入设置,LCD实时显示等功能。
关键字:电子负载,单片机,恒流,恒压,恒阻Abstract: In this design, the 51 single-chip outputs digitalsignal ,then DA converts analog which is the input signal of MOSFET power circuit. MOSFET power circuit is controlled by the comparator and NMOS transistor is turned on, the positive and negative feedback model was formed to achieve a constant voltage, constant current and constant resistance three modes switch and set the adjustment. AD acquisits constant output signal ,then it is transmitted to the microcontroller, digital display and automatic overload protection to complete the requirements of the topic. Three modes was designed to be manual switching, the CV extend about 0-30V, CC expanded to about 0-3A, Cr ranges from 1 to 99 ohms, the measurement accuracy is less than 5%, system circuit is simple and fast adjustment, and has overload protection prompts, keyboard input settings, LCD real-time display functions.Keywords: electronic load, microcontroller,constant current,constant voltage,constant resistance目录一、方案论证与设计 (1)1.1整体方案分析设计 (1)模块方案比较 (1)MOSFET功率(恒流恒压恒阻)电路方案选择 (1)主控器模块方案选择 (2)显示模块方案选择 (2)二、电路设计 (2)模拟电路分析设计(各模块仿真图见附录) (2)恒流电路模块 (2)恒压电路模块 (3)恒阻电路模式 (3)自动过载保护模块 (4)数字电路分析设计(数字电路原理图见附录) (4)DA/AD模块 (4)负载参数的可调节和数字化显示的方法 (4)三、软件设计 (4)四、测试方案及测试结果 (4)测试仪器 (4)测试方法 (4)测试数据 (5)恒流模式测试 (5)恒压模式测试 (5)恒阻模式测试 (5)过载保护报警测试 (6)测试结果分析 (6)五、总结 (6)六、参考文献 (6)一、方案论证与设计1.1整体方案分析设计该系统包括主控器、键盘、显示电路、MOSFET功率电路和AD、DA处理电路六个部分。
电子负载设计.
题目:直流电子负载的设计摘要由大功率晶体管构成的功率恒流源充当负载,通过吸收电源提供的大电流, 从而模拟复杂的负载形式,测试电能输出装置或转换装置的输出性能。
在比照传统测试所用的静态负载的根底上 , 提出新型电子负载实现的根本功能 , 并作了原理和电路分析及电路调试 , 同时进行了功能完善、性能改善及智能控制探讨。
实验证明 , 该装置解决了传统测试中用电阻、电阻箱、滑线变阻器等模拟不了复杂负载的问题。
关键词负载 ;电子负载;定电流模式;定电压模式输出电能或转换电能的设备或部件各式各样 , 如何对其输出特性进行可靠、全面且比较简单、快捷的测试 , 一直是仪表测试行业研究的问题。
传统测试中, 常采用静态负载( 作为消耗能量的器件广泛地称为负载) 。
实际上负载的形式较为复杂, 常为一些动态负载, 如: 负载消耗的功率是时间的函数, 或者负载工作在恒定电流、恒定电阻、恒定电压方式以及不同的峰值因数、功率因数或负载为瞬时短路负载等 , 传统负载模拟不了这些复杂的负载形式。
本文研制的电子负载就是针对实际应用中负载比较复杂的情况而设计的测试设备。
1工作原理为了使电子负载有具有定电流(CC) 、定电阻(CR) 、定电压(CV) 、定功率 (CP)等工作模式 . 采用以单片机为核心的控制电子负载的工作模式 ,通过检测电源输出的电压和输出电流 . 根据电子负载设定的模式 ,控制电源输出电流的大小 ,使电子负载具有定电流 (CC) 、定电阻 (CR) 、定电压 (CV) 、定功率 (CP)等工作模式 . 电流采用滞环控制方式 ,功率管工作在开关状态 ,产生的能量大局部消耗在功率电阻上 ,功率管的损耗小 ,温升低 . 图 1 为恒流型电子负载的结构框图 . 各局部的功能分别为 :电流控制电路是控制被测电源的负载的电流 , 能按设定的电流给电源加载 ,功率消耗电路是把电流控制产生的能量以热的形式消耗掉 ,显示及键盘电路主要是满足人机界面 , CPU主要完成人机交互 ,测量电压电流 ,计算出放电的能量 ,以及根据要求产生电压信号控制负载的电流 ; 电源电路产生适宜电源为其它电路提供工作电源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<reg52.h>#define uint unsigned int sbit rs=P3^0;sbit rw=P3^1;sbit lcden=P3^2; // //sbit AD_OUT=P1^4;//sbit AD_IN=P1^5;//sbit AD_CS=P1^6;//sbit AD_CLOCK=P1^7;//sbit EOC=P3^3;sbit DSO=P1^4;sbit DSI=P1^5;sbit CS=P1^6;sbit CLK=P1^7;sbit DA_IN=P1^0;sbit DA_CK=P1^1;sbit DA_CS=P1^2;unsigned long int value,value1;uchar set;uint a,b,z,temp1,temp_1; //DA输出变量值float x,y,out=0;uint AD_DAstart;char iset[6]={0,0,0,0,0,0};uchar code table1[]="Are you sure ";uchar code table2[]=" to set I? ";void delay(uchar x) //延时子程序{uchar i,j;for(i=0;i<x;i++)for(j=0;j<120;j++); //延时120秒}void delay1(uint t) //极短延时{while(t--);}void delayms(uint z) //延时函数,参数为z{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--); //z=1测试为大约1微秒}void write_com(uchar com) //写命令函数{rs=0; //rs置0表示写命令P0=com; //位声明,按原理图接P0口,输入数据delayms(5); //时序图中须有thd2时间延时lcden=1; //置高delayms(5); //时序图中须有thd2时间延时lcden=0; //按时序图置低}void write_date(uchar date) //写数据函数{rs=1; //rs置1表示写数据lcden=0;P0=date; //将数据赋到P0口delayms(5);lcden=1;delayms(5);lcden=0;}void led_init() //初始化函数{lcden=0;rw=0;write_com(0x38); //显示模式设置:16X2显示,5X7点阵,8位数据write_com(0x0c); // 开显示,关光标,光标不闪烁write_com(0x06); // 写一个数据后地址指针加一,光标加一write_com(0x01); // 数据指针及数据清0write_com(0x80); // 设置数据地址指针,第一行write_date(0x53);write_date(0x30+iset[1]);write_date(0x30+iset[2]);write_date(0x2e);write_date(0x30+iset[4]);write_date(0x30+iset[5]);}//uint read2543(uchar port) //AD转换子程序//{// uint ad=0,j;// AD_CLOCK=0;// AD_CS=0;// EOC=1;// port<<=4;// delay1(50);// for(j=0;j<12;j++)// {// if(AD_OUT)// {// ad|=0x01;// }// AD_IN=(bit)(port&0x80);// AD_CLOCK=1;// delay1(6);// AD_CLOCK=0;// delay1(3);// port<<=1;// ad<<=1;// }// AD_CS=1;// ad>>=1;// return(ad);//}//uint Read_TLC2543(uchar CHN)//TLC2543据转换函数(方法二)//{// uchar i,temp;// uint read_ad_data = 0; //分别存放采集的数据,先清0// CHN=CHN<<4; //12位格式,选择高位道导前,单极性// CLK=0;// CS=1;// CS=0; //下降沿,并保持低电平// temp=CHN; //输入要转化的通道// for(i=0;i<12;i++) //12位数据// {// read_ad_data=read_ad_data<<1; //转换结果左移一位// if((temp&0x80)!=0){DSI=1;} //送方式、通道控制字串行输入// else{DSI=0;}// if(DSO){read_ad_data=read_ad_data+1;} //读入转换结果// CLK =1;// CLK =0;// temp=temp<<1; //左移,准备发送方式,通道控制字下一位// }// CS=1;// read_ad_data=read_ad_data&0x0fff; //屏蔽高四位,因为是12位的转换结果// return(read_ad_data);//}uint Read_TLC2543(uchar chanle)//TLC2543数据转换函数(方法一){uchar i,dah=0,dal=0;uint date;CS=1;CS=0;CLK=0;chanle<<=4;//高低位交换for(i=0;i<4;i++){dah<<=1;if(DSO){dah++;//高四位数据}DSI=chanle&0x80;//选择转换通道CLK=1;delay(1);CLK=0;chanle<<=1;}DSI=0;//此部不能少!for(i=0;i<8;i++)//转换的数据低8位{CLK=1;dal<<=1;if(DSO){dal++;}CLK=0;}CS=1;date=dah;//转换的数据高四位date<<=8;date=date|dal;//合并12位数据return(date);}void adzh(){uint ge,shi,x1,x2; //电流检测测出电流实际值temp1=Read_TLC2543(0x00);y=temp1*5.0/4096;z=y*100; //输出AD转换后的电流值shi=z/1000;ge=(z/100)%10;x1=(z/10)%10;x2=z%10;write_com(0x80+0x40); //显示电流值write_date(0x54);write_date(0x30+shi);write_date(0x30+ge);write_date(0x2e);write_date(0x30+x1);write_date(0x30+x2);write_date(0x41);}void adzh_1() //电压检测测出电压实际值{uchar ge,shi,x1,x2;temp_1=Read_TLC2543(0x01);y=temp_1*5.0/4096; //输出AD转换后的电压y=y*4.0;z=y*100;shi=z/1000;ge=(z/100)%10;x1=(z/10)%10;x2=z%10;write_com(0x80+0x40); //显示电压值write_date(0x54);write_date(0x30+shi);write_date(0x30+ge);write_date(0x2e);write_date(0x30+x1);write_date(0x30+x2);write_date(0x56);}void Send1456(uint DACdat){uchar i=0;DA_CK=0;delay(2);DA_CS=0;delay(2);for(i=0;i<12;i++){DA_IN=(bit)(DACdat&0x800);DA_CK=1;DACdat<<=1;DA_CK=0;}DA_CS=1;DA_CS=0;}void keyscan() //矩阵键盘{uchar temp,keycount,num; // 定义局部变量P2=0xfe; // 检测最上面一行各键是否有按键按下temp=P2; // 将P2口的值赋给temptemp=temp&0xf0; // 位与if(temp!=0xf0){delayms(100);temp=P2;temp=temp&0xf0;if(temp!=0xf0) //确认被按下,防止抖动{temp=P2;switch(temp){case 0xee: //检测到7被按下if(keycount!=0&&keycount!=3){write_date(0x30+7);iset[keycount++]=7;}break;case 0xde: //检测到8被按下if(keycount!=0&&keycount!=3){write_date(0x30+8);iset[keycount++]=8;}break;case 0xbe: //检测到9被按下if(keycount!=0&&keycount!=3){write_date(0x30+9);iset[keycount++]=9;}break;case 0x7e: //检测到取消键被按下write_com(0x01); // 数据指针及数据清0write_com(0x0c);write_com(0x80);write_date(0x53);write_date(0x30+iset[1]);write_date(0x30+iset[2]);write_date(0x2e);write_date(0x30+iset[4]);write_date(0x30+iset[5]);AD_DAstart=1;}while(temp!=0xf0) //松手检测{temp=P2;temp=P2&0xf0;}}}P2=0xfd; // 检测最二行各键是否有按键按下temp=P2; // 将P2口的值赋给temptemp=temp&0xf0; // 位与if(temp!=0xf0){delayms(100);temp=P2;temp=temp&0xf0;if(temp!=0xf0) //确认被按下,防止抖动{temp=P2;switch(temp){case 0xed: //检测到4被按下if(keycount!=0&&keycount!=3){write_date(0x30+4);iset[keycount++]=4;}break;case 0xdd: //检测到5被按下if(keycount!=0&&keycount!=3){write_date(0x30+5);iset[keycount++]=5;}break;case 0xbd: //检测到6被按下if(keycount!=0&&keycount!=3){write_date(0x30+6);iset[keycount++]=6;}break;case 0x7d: // 选择电流// write_com(0x86) ;// write_date(0x41) ;// x=iset[1]*10+iset[2]+iset[4]*0.1+iset[5]*0.01; // out=x*0.1;// value=1024*out;// tlc5615(value);// adzh();a=1;AD_DAstart=1;break;}while(temp!=0xf0) //松手检测{temp=P2;temp=P2&0xf0;}}}P2=0xfb; // 检测第三行各键是否有按键按下temp=P2; // 将P2口的值赋给temptemp=temp&0xf0; // 位与if(temp!=0xf0){delayms(100);temp=P2;temp=temp&0xf0;if(temp!=0xf0) //确认被按下,防止抖动{temp=P2;switch(temp){case 0xeb: //检测到1被按下if(keycount!=0&&keycount!=3){write_date(0x30+1);iset[keycount++]=1;}break;case 0xdb: //检测到2被按下if(keycount!=0&&keycount!=3){write_date(0x30+2);iset[keycount++]=2;}break;case 0xbb: //检测到3被按下if(keycount!=0&&keycount!=3){write_date(0x30+3);iset[keycount++]=3;}break;case 0x7b: // 选择电压b=1;// write_com(0x86) ;// write_date(0x56);//// x=iset[1]*10+iset[2]+iset[4]*0.1+iset[5]*0.01; // out=x*0.1;// value=1024*out;//// tlc5615(value);// adzh_1();AD_DAstart=1;break;}while(temp!=0xf0) //松手检测{temp=P2;temp=P2&0xf0;}}}P2=0xf7; // 检测第四行各键是否有按键按下temp=P2; // 将P2口的值赋给temptemp=temp&0xf0; // 位与if(temp!=0xf0){delayms(100);temp=P2;temp=temp&0xf0;if(temp!=0xf0) //确认被按下,防止抖动{temp=P2;switch(temp){case 0xe7: //检测到0被按下if(keycount!=0&&keycount!=3){write_date(0x30);iset[keycount++]=0;}break;case 0xd7: //检测到删除键被按下if(keycount<6&&keycount>0){if(keycount!=1)keycount--;write_com(0x80+keycount);}break;case 0xb7: //检测到确认键被按下if(set==1){write_com(0x01); // 数据指针及数据清0write_com(0x80);write_date(0x53);write_com(0x0f);write_com(0x80+1);set=0;keycount=1;}break;case 0x77:write_com(0x01); // 数据指针及数据清0write_com(0x80); // 设置数据地址指针,第一行for(num=0;num<16;num++){write_date(table1[num]);delayms(1); //循环方式写第一行数据}set=1;write_com(0x80+0x40); // 设置数据地址指针,第二行for(num=0;num<16;num++){write_date(table2[num]);delayms(1); //循环方式写第二行数据}AD_DAstart=0;break;}while(temp!=0xf0) //松手检测{temp=P2;temp=P2&0xf0;}}}if(keycount==3){write_com(0x83);write_date(0x2e);keycount++;}if(keycount==6){keycount=0;AD_DAstart=1;write_com(0x0c);}}main(){led_init();while(1){keyscan();if(AD_DAstart==1){ if(a==1) // 选择电流{ a=0;write_com(0x86) ;write_date(0x41) ;x=iset[1]*10+iset[2]+iset[4]*0.1+iset[5]*0.01;out=x*0.25*2.0;value=(int)(4095*out);Send1456(value);adzh();}if(b==1) // 选择电压{ b=0;write_com(0x86) ;write_date(0x56) ;x=iset[1]*10+iset[2]+iset[4]*0.1+iset[5]*0.01;out=x*0.2*0.25;value1=(int)4096*out;Send1456(value1);adzh_1();}}}}。