虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

电池<b>充电</b>电路

  • 本程序使用MSP430F149驱动DS1302;DS1302 能够计算秒、分、时、日、周、月、年

    本程序使用MSP430F149驱动DS1302;DS1302 能够计算秒、分、时、日、周、月、年,自动补偿 2100 年之前的闰年日期;2.0V~5.5V 的供电电压,三线制的串行通信接口,且内置 31 字节的可由电池维持数据的静态 RAM,用户可自由使用。DS1302 的最大特色是支持双电源供电,VCC2 连接主电源,VCC1 连接备用电池。当VCC2 的电压高于 VCC1 时,芯片从 VCC2 处获得能量并且可以通过涓流充电的方式对VCC1 连接的电池进行充电;当 VCC2 的电源断开连接时,芯片内部自动切换到从VCC1 处取电,从而保证即使在系统板掉电的情况下,DS1302 仍能进行正确计时功能且保存在 RAM 中的数据不丢失

    标签: 1302 430F F149 DS

    上传时间: 2014-01-03

    上传用户:kelimu

  • 节能用水控制系统由微控制器

    节能用水控制系统由微控制器,红外发射接收电路,压力监测电路,手动冲水电路,脉冲阀节能驱动电路,水管温度上下限识别电路,温度调节电路,冷热水阀节能驱动控制电路,洗澡开关监测电路,电池电量检测报警电路,低压标准电源转换电路,串行数据输出控制电路等构成。程序包括: 设备识别及初始化 初始引脚数据值 中断初始化 初始化各标志位 循环查询开始 CSSTATE大小比较子程序 厕所脉冲阀打开子程序 厕所脉冲阀关闭子程序 红外接收子程序 红外发送子程序 洗澡初始及变化程序 洗手初始及变化程序 AD转换子程序 发送数据子程序 DATACONVERT子程序 DELAY10MS子程序 PUSH子程序 POP子程序 AD转换中断程序 红外接收中断程序 PORTB按键中断程序 TIME1定时中断程序

    标签: 节能 控制系统 微控制器

    上传时间: 2016-12-27

    上传用户:咔乐坞

  • 汉诺塔!!! Simulate the movement of the Towers of Hanoi puzzle Bonus is possible for using animation

    汉诺塔!!! Simulate the movement of the Towers of Hanoi puzzle Bonus is possible for using animation eg. if n = 2 A→B A→C B→C if n = 3 A→C A→B C→B A→C B→A B→C A→C

    标签: the animation Simulate movement

    上传时间: 2017-02-11

    上传用户:waizhang

  • 将魔王的语言抽象为人类的语言:魔王语言由以下两种规则由人的语言逐步抽象上去的:α-〉β1β2β3…βm ;θδ1δ2…-〉θδnθδn-1…θδ1 设大写字母表示魔王的语言

    将魔王的语言抽象为人类的语言:魔王语言由以下两种规则由人的语言逐步抽象上去的:α-〉β1β2β3…βm ;θδ1δ2…-〉θδnθδn-1…θδ1 设大写字母表示魔王的语言,小写字母表示人的语言B-〉tAdA,A-〉sae,eg:B(ehnxgz)B解释为tsaedsaeezegexenehetsaedsae对应的话是:“天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。(t-天d-地s-上a-一只e-鹅z-追g-赶x-下n-蛋h-恨)

    标签: 语言 抽象 字母

    上传时间: 2013-12-19

    上传用户:aix008

  • 本代码为编码开关代码

    本代码为编码开关代码,编码开关也就是数字音响中的 360度旋转的数字音量以及显示器上用的(单键飞梭开 关)等类似鼠标滚轮的手动计数输入设备。 我使用的编码开关为5个引脚的,其中2个引脚为按下 转轮开关(也就相当于鼠标中键)。另外3个引脚用来 检测旋转方向以及旋转步数的检测端。引脚分别为a,b,c b接地a,c分别接到P2.0和P2.1口并分别接两个10K上拉 电阻,并且a,c需要分别对地接一个104的电容,否则 因为编码开关的触点抖动会引起轻微误动作。本程序不 使用定时器,不占用中断,不使用延时代码,并对每个 细分步数进行判断,避免一切误动作,性能超级稳定。 我使用的编码器是APLS的EC11B可以参照附件的时序图 编码器控制流水灯最能说明问题,下面是以一段流水 灯来演示。

    标签: 代码 编码开关

    上传时间: 2017-07-03

    上传用户:gaojiao1999

  • 【问题描述】 在一个N*N的点阵中

    【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。

    标签: 点阵

    上传时间: 2014-06-21

    上传用户:llandlu

  • 离散实验 一个包的传递 用warshall

     实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); } 

    标签: warshall 离散 实验

    上传时间: 2016-06-27

    上传用户:梁雪文以

  • 单片机制作的充电器汇编文件

    单片机制作的充电器,可为48V电池组及单个电池在线充电。

    标签: 单片机制作 充电器 汇编

    上传时间: 2018-01-28

    上传用户:LWB2005

  • 道理特分解法

    #include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; } 

    标签: 道理特分解法

    上传时间: 2018-05-20

    上传用户:Aa123456789

  • 便携式12V铅酸蓄电池充电器的研制.doc

    便携式12V铅酸蓄电池充电器的研制.doc目前一部分变电站的直流后备电源采用了12V阀控式铅酸蓄电池,由于个体差异,有的电池在运行中会发生电池电压落后现象,在整组电池均衡充电不能解决这个问题时,则需要单独对这些落后电池进行处理。原先由于没有适用的充电器对其进行补充充电,而造成现场维护困难,为了解决这一问题,我们研制了智能化便携式充电器,经过现场工作人员长期使用,证明该充电器使用方便,充电性能及可靠性均满足要求。铅酸电池充电一般采用两阶段充电方式,即大电流补充充电阶段,均衡充电阶段和浮充电阶段。在大电流补充充电阶段,硫酸铅转化为负极板上的金属铅和正极板上的二氧化铅,当绝大部分硫酸铅完成转化以后,电池开始产生过充电反应,此时应大大降低充电电流以避免电池失水或阀控式铅酸蓄电池密封阀动作,在均衡充电结束时,充电器应自动转入浮充电状态。为了获得铅酸蓄电池的最大容量和延长其使用寿命,充电器的输出特性应该与电池的特性很好地配合。本充电器仅考虑了对电池的补充充电和短时间浮充电,因而未配置测量电池温度的传感元件。但变电站的充电机应考虑阀控式铅酸蓄电池的温度特性。

    标签: 铅酸蓄电池 充电器

    上传时间: 2021-12-09

    上传用户: