智能型磷酸铁锂电池快速充电控制器设计

 

先给整体设计框图:

 

 

废话不多说了,

程序框图:

 

源码:

/************************************
*********STC89C51**********
**********12MHz晶振********/

#include "reg51.h"

#define uint8 unsigned char
#define uint16 unsigned int
#define uchar unsigned char
#define uint unsigned int




/********************寄存器内部地址定义********************/
sfr P2M0 = 0x96;
sfr P2M1 = 0x95;
sfr P1M0 = 0x92;
sfr P1M1 = 0x91;

sfr ADC_CONTR = 0xBC;
sfr ADC_RES   = 0xBD;
sfr ADC_RESL  = 0xBE;
sfr P1ASF     = 0x9D;

sfr CCON     = 0xD8; //PCA控制寄存器
sfr CMOD     = 0xD9; //PCA模式寄存器
sfr CCAPM0   = 0xDA; //PCA模块0模式寄存器 //模块0对应P1.3/CEX0/PCA0/PWM0(STC12C5A60S2系列)   
sfr CCAPM1   = 0xDB; //PCA模块1模式寄存器 //模块1对应P1.4/CEX1/PCA1/PWM1(STC12C5A60S2系列)
sfr CL       = 0xE9;    //PCA 定时寄存器 低位
sfr CH       = 0xF9; //PCA 定时寄存器 高位
sfr CCAP0L   = 0xEA; //PCA模块0的 捕获寄存器 低位
sfr CCAP0H   = 0xFA;    //PCA模块0的 捕获寄存器 高位
sfr CCAP1L   = 0xEB; //PCA模块1的 捕获寄存器 低位
sfr CCAP1H   = 0xFB; //PCA模块1的 捕获寄存器 高位
sfr PCA_PWM0 = 0xF2; //PCA PWM 模式辅助寄存器0
sfr PCA_PWM1 = 0xF3; //PCA PWM 模式辅助寄存器1
sbit CF   = CCON^7;     //PCA计数溢出标志位
sbit CR   = 0xDE;     //PCA计数器 运行控制位
sbit CCF1 = CCON^1;     //PCA模块1中断标志
sbit CCF0 = CCON^0;     //PCA模块0中断标志
/************************************************************/







#define TIMER0_HIGHT 0xE5	//设置定时器0工作方式1自动装载初值,定时5ms,Fosc=12MHZ
#define TIMER0_LOW   0xF3



#define LCD_Data P0           //LCD的数据口
sbit    LCD_BF=LCD_Data^7;    //LCD忙信号位
sbit    LCD_RS=P2^6;
sbit    LCD_RW=P2^5;
sbit    LCD_EN=P2^4;
sbit    BEEP=P2^3;//控制喇叭
sbit    RED=P2^1;//控制红灯
sbit    YELLOW=P2^0;//控制黄灯
sbit    OPEN=P2^2;//控制继电器

unsigned int  I_DATA=0;
unsigned int  V_DATA=0;
unsigned char Time5ms=0;             


unsigned char tp=0;
unsigned int  ad_average_result,R,Vin;
unsigned char Start=0;
unsigned char D2=0; 
unsigned char D1=0;        
unsigned int  U_SET=370;


unsigned int  I_D[3];



unsigned char Ms_flag=0;

/*-------------------延时子函数-------------------------*/
#define XTAL 16                       //晶振频率,单位MHz
void delay_1us
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值