1. 下列说法正确的是 ( ) A. Java语言不区分大小写 B. Java程序以类为基本单位 C. JVM为Java虚拟机JVM的英文缩写 D. 运行Java程序需要先安装JDK 2. 下列说法中错误的是 ( ) A. Java语言是编译执行的 B. Java中使用了多进程技术 C. Java的单行注视以//开头 D. Java语言具有很高的安全性 3. 下面不属于Java语言特点的一项是( ) A. 安全性 B. 分布式 C. 移植性 D. 编译执行 4. 下列语句中,正确的项是 ( ) A . int $e,a,b=10 B. char c,d=’a’ C. float e=0.0d D. double c=0.0f
上传时间: 2017-01-04
上传用户:netwolf
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
电动汽车电池管理系统BMS主要用于对电动汽车的动力电池参数进行实时监控、故障诊断、SOC估算、行驶里程估算、短路保护、漏电监测、显示报警,充放电模式选择等,并通过CAN总线的方式与车辆集成控制器或充电机进行信息交互,保障电动汽车高效、可靠、安全运行。实时跟踪电池运行状态及参数检测:实时采集电池充放电状态,采集数据有电池总电压,电池总电流,每个电池箱内电池测点温度以及单体模块电池电压等。由于动力电池都是串联使用的,所以这些参数的实时,快速,准确的测量是电池管理系统正常运行的基础。剩余电量估算:电池剩余能量相当于传统车的油量。荷电状态(SOC)的估算是了为了让司机及时了解系统运行状况。实时采集充放电电流、电压等参数,并通过相应的算法进行剩余电量的估计。充放电控制:根据电池的荷电状态控制对电池的充放电,当某个参数超标如单体电池电压过高或过低时,为保证电池组的正常使用及性能的发挥,系统将切断继电器,停止电池的能量供给和释放。
上传时间: 2022-07-05
上传用户:
先给初学者一个简单的科普,因为几年前我和人家说起BMS,大部分是不知道是什么东西。BMS就是Battery Management System,中文就是电池管理系统,一般针对动力电池组,很多电芯串并的情况来说的。BMS的作用是保护电池安全,延长电池的使用寿命,实时监测电池的状态并把电池的情况告诉给上位机系统。为什么说BMS才是动力电池PACK厂的核心竞争力,两个方面的原因,第一个原因是电芯最终要成为一个标准品,第二个原因是BMS很复杂,且非常重要。针对第一个原因,电芯最终要成为一个没有科技含量的标准品,一起来分析一下。动力电池的电芯最后的发展会像手机电池一样,用不了几年的时间就会达到这种状态。最后能够在动力电池领域活的很好的电芯厂不会很多的,一大批电芯厂会慢慢出局的。现在这个状态是因为动力电池的需求还没有完全起来,加之电芯的工艺还没有成熟和稳定,且电芯的尺寸和材料体系各式各样。
上传时间: 2022-08-10
上传用户:zhaiyawei
串联电池组广泛应用于手携式工具、笔记本电脑、通讯电台、便携式电子设备、航天卫星、电动自行车、电动汽车及储能装置中。本文就电动汽车的串联电池组加以研究。 随着社会的发展以及能源、环保等问题的日益突出,电动汽车以其零排放,噪声低等优点越来越受到世界各国的重视,被称作绿色环保车。作为发展电动车的关键技术之一的电池管理系统(BMS),是电动车产业化的关键。电动汽车的快速发展,它的能量源-动力电池组,成了电动汽车发展的瓶颈。电池技术和电池能量管理系统(BMS)的研究成为解决这一问题的关键,越来越受到人们的关注。 电动汽车电池组相关技术中的电池管理系统是目前国内外研究的热点。本文描述了电动公交用锂电池配套的电池管理系统的设计与实现。 该电池管理系统在拓扑结构上采用集散式的检测方法,即每箱电池都配备检模块,将各模块所检测的相关电池数据通过内部总线传送给主控模块,再由主模块对整体数据进行分析和存储,并由CAN总线发送给电动公交各车载装置。 本论文首先比较了现有的几种电动汽车常用的电压测量方法,然后提出了电池管理系统中的串联电池组电压测量方法的整体设计方案。即采集各个电池单体的基本信息到BMS控制芯片(单片机MC9S12D64)中进行处理计算,从而得出电池工作状态等信息。 介绍了CAN总线与电动汽车中心控制器进行通信,实现整车的控制。在硬件设计中详细介绍了小系统的设计,电压采集系统的设计,CAN通信接口电路的设计,以及抗干扰等方面的电路设计。并介绍了一些重要器件的选择与参数确定。软件实现方面,着重讲述了检测板电压检测的的功能模块,最后对电池管理系统的进一步发展给出了一些展望。 目前,本课题的研究在理论和实践中都取得了很大的进展,在经过大量的软硬件调试与改进的基础上,该方法已经实现了良好、可靠的运行,取得了很好的效果,为下一阶段的准备打下了很好的基础。
上传时间: 2013-06-01
上传用户:F0717007
蓄电池组已越来越广泛地应用于交通运输、电力、通信等诸多领域和部门,其寿命直接关系到能源的有效利用以及相应系统的整体寿命、可靠性和成本。本课题从提高电池寿命的角度研究串联蓄电池组的充电问题,基于前人使用磁放大器作后级调整的基础上,提出了一种新颖的基于开关管MOSFET后级调整和高频母线的蓄电池组分布式单体充电方法。所有二次侧电路通过高频母线的形式共用一个一次侧电路;在兼顾效率、体积和成本的前提下有效的解决了串联蓄电池组的充电不均衡问题。 论文对采用双管正激拓扑的高频母线产生电路的设计给出了说明;同时也介绍了几种后级调整方法及各自优缺点。针对后级调整中的同步问题,提出了几种产生同步锯齿波的解决方案。最后利用同步脉冲产生电路,采用最常见的UC3843芯片,产生稳定可靠的同步锯齿波,实现后级调整开关动作与母线方波电压的同步。并且针对多路后级调整场合下,采取措施减小了母线电压毛刺,同时也改善了电流采样波形。 论文设计了一套单体3500mAh、3.7V锂离子电池组的单体独立充电器,以双管正激电路为原边电路作为主模块,次级是以MOSFET作后级调整电路实现充电功能作为充电电路模块。试验中采用了四个充电电路模块,同时对四个锂离子电池单体分别独立充电。充电电路模块中,通过控制MOFET开关,可实现锂电池的恒流、恒压充电和满充切断,充电电压和充电电流可精确控制在1%以内。该充电电路并能显示电池充电状态,并在单体充电电路间传递充电状态信号,最后反馈给母线电路以控制母线电压输出的开通与关断。特别指出的是该电路的过放电检测功能,是直接利用电池自身电压来检测得出电池自身是否处于过放电状态判定信号,并在充电模块间传递,最后得出蓄电池组过放电判定信号。整机有较低的待机功耗,并均使用了低成本器件,进一步降低了成本。 论文给出了详细的设计过程,最后通过实验将该方案与串联充电方案比较,验证了该充电方案的可靠性与优越性。
上传时间: 2013-04-24
上传用户:木末花开
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
ASC8511 是开关式、单节锂电池充电管理芯片,采用峰值电流模控制的BUCK 拓扑结构,最大充电电流可达2.5A. ASC8511 通过恒压控制环(CV)和恒流控制环(CC)来调整锂电池充电电压和恒流充电电流.ASC8511 集成电池过温保护、充电时间限制、输出短路等保护功能,通过NTC 检测电池温度,可以实现电池过热保护功能,两个LED 指示灯指示电池充电状态.ASC8511 采用16 脚T-SSOP 封装. 特点 ● 充电电压精度0.5% ● 最大充电电流2.5A ● 自耗电小于5uA ● 电阻可编程调节恒流充电电流 ● 开关频率500KHZ ● 适用于单节锂电池充电 ● 软启动 ● 电池过温保护 ● 芯片过热保护 ● 状态指示 ● 环境温度范围: -20℃~70℃ ● 16 脚T-SSOP 封装 应用 ● 手持设备、POS机 ● MID、数码产品 ● 移动DVD ● 笔记本、对讲机
上传时间: 2013-11-22
上传用户:13788529953
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230