77范文网 - 专业文章范例文档资料分享平台

智能电池充电器的设计-毕业设计 - 图文(6)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Flag_S =~ Flag_S;//数码管闪烁标志位取反

LED_Flag_S =~ LED_Flag_S;//LED闪烁标志位取反 } } }

//定时器1溢出中断服务函数 void Timer1(void)interrupt 3 {

TH1=255-CLOCK/TIMER1_PER_SEC/12/256;//重装 TL1=255-CLOCK/TIMER1_PER_SEC/12%6; JSQ_3MINUTE++;

if(JSQ_3MINUTE>8999)//3分钟到 { JSQ_3MINUTE=0; JS3MINUTE_F=1; } }

//数码管显示模块 //工作模式 WK_MODE

//WK_MODE=0 充电时,电压值电流值显示

//WK_MODE=1 设定时,电压值闪烁,电流值不闪烁 //WK_MODE=2 设定时,电流值闪烁,电压值不闪烁 //WK_MODE=3 设定时,电压值第一位闪烁 //WK_MODE=4 设定时,电压值第二位闪烁 //WK_MODE=5 设定时,电压值第三位闪烁 //WK_MODE=6 设定时,电压值第四位闪烁 //WK_MODE=7 设定时,电流值第一位闪烁 //WK_MODE=8 设定时,电流值第二位闪烁 //WK_MODE=9 设定时,电流值第三位闪烁 //WK_MODE=10 设定时,电流值第四位闪烁 //WK_MODE=11 设定时,电压值电流值显示 //WK_MODE=12 设定时,电压值电流值显示 #include\

#include%unsigned char table_d[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff};//段码值

unsigned char table_w[] = {0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef};//位选值 //显缓区

unsigned char Disp_Queue[8];//待显示字符队列

extern unsigned int MCU_ADC0,MCU_ADC1;//通道0电压值,通道1电压值 unsigned int Voltage_Val,Current_Val;//电压值,电流值

extern unsigned int Voltage_Max,Current_Max;//设定最大电压值,最大电流值 char voltage_q,voltage_b,voltage_s,voltage_g;//最大电压值第一位,第二位,第三位,第四位

char current_q,current_b,current_s,current_g;//最大电流值第一位,第二位,第三位,第四位

unsigned char WK_MODE;//设定系统工作模式

extern bit Flag_S;//闪烁标志位,闪烁频率500HZ extern unsigned char PWM0_TEMP,PWM1_TEMP; //反馈数据处理

void BackData_Pro( unsigned int Voltage_V,unsigned int Current_V ) {

Voltage_Val=

(long)(Voltage_V)*5*1000/256-(long)Current_V*5*1000/256/21-70; Current_Val = (float)(Current_V)*5*1000/256.0/2.1; }

//设定数据处理

void SetData_Pro( unsigned int voltage_set,unsigned int current_set ) {

voltage_q = voltage_set/1000; voltage_b = voltage_set00/100; voltage_s = voltage_set0/10; voltage_g = voltage_set; current_q = current_set/1000; current_b = current_set00/100; current_s = current_set0/10; current_g = current_set; }

//刷新待显示字符串 void New_Display(void) {

BackData_Pro( MCU_ADC0,MCU_ADC1 );

SetData_Pro( Voltage_Max,Current_Max ); switch( WK_MODE ) {

case 0://充电时,电压值电流值显示

Disp_Queue[0] = Voltage_Val/1000+10 ; Disp_Queue[1] = Voltage_Val00/100 ; Disp_Queue[2] = Voltage_Val0/10; Disp_Queue[3] = Voltage_Val; Disp_Queue[4] = Current_Val/1000+10; Disp_Queue[5] = Current_Val00/100 ; Disp_Queue[6] = Current_Val0/10;; Disp_Queue[7] = Current_Val; break;

case 1://设定时,电压值闪烁,电流值不闪烁 if( Flag_S )//灭 {

Disp_Queue[0] = 20; Disp_Queue[1] = 20; Disp_Queue[2] = 20; Disp_Queue[3] = 20; }

else //亮 {

Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; }

Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; break;

case 2: //设定时,电流值闪烁,电压值不闪烁 if( Flag_S ) {

Disp_Queue[4] = 20; Disp_Queue[5] = 20; Disp_Queue[6] = 20; Disp_Queue[7] = 20; } else {

Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; }

Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; break;

case 3://设定时,电压值第一位闪烁 if( Flag_S ) {

Disp_Queue[0] = 20; } else {

Disp_Queue[0] = voltage_q+10; }

Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g;

Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; break;

case 4://设定时,电压值第二位闪烁 if( Flag_S ) {

Disp_Queue[1] = 20; } else {

Disp_Queue[1] = voltage_b; }

Disp_Queue[0] = voltage_q+10; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; break;

case 5://设定时,电压值第三位闪烁 if( Flag_S ) {

Disp_Queue[2] = 20; } else {

Disp_Queue[2] = voltage_s; }

Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[3] = voltage_g; Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s;

Disp_Queue[7] = current_g; break;

case 6: //设定时,电压值第四位闪烁 if( Flag_S ) {

Disp_Queue[3] = 20; } else {

Disp_Queue[3] = voltage_g; }

Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; break;

case 7://设定时,电流值第一位闪烁 if( Flag_S ) {

Disp_Queue[4] = 20; } else {

Disp_Queue[4] = current_q+10; }

Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; break;

case 8://设定时,电流值第二位闪烁 if( Flag_S ) {

Disp_Queue[5] = 20; } else {

Disp_Queue[5] = current_b;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能电池充电器的设计-毕业设计 - 图文(6)在线全文阅读。

智能电池充电器的设计-毕业设计 - 图文(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/607630.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: