编号:
时间:2021年x月x日
书山有路勤为径,学海无涯苦作舟
页码:
AVR课程设计:智能手机充电器
组员:华诚、葛亮、贾广魁
系统设计
1) 熟悉并clude<>
#include""
//
unsigned long led_7[10]={0x3f,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};//七段数码显示数组
unsigned long position[6]={0xfe,0xfd,0xfb,0xf7,0x0f,0xdf};//六位数码管位选
unsigned long Min[30]={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,
31,33,35,37,39,41,43,45,47,49,51,53,55,57,59};//使能充电停止数组
unsigned long k_value[60]={40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,//预充电压斜率数组
60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,
编号:
时间:2021年x月x日
书山有路勤为径,学海无涯苦作舟
页码:
80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,};
unsigned long V_Table[12]={380,381,390,391,400,401,410,411,415,416,419,420};//电压比较判断
signed char time[3];//时间存储
unsigned char dis_buff[6];//时分秒六位分别存储
unsigned char PWMnum,a=0x15,m=0,X,Y,Z;//溢出中断次数,OCR0值,if判断,时分秒,电压
unsigned long K,n,Vref=,T,t,V;//预充斜率,延迟时间,参考电压,时间,
signed long Cap;//电池容量
#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr()
{
unsigned long ADNum=0,adc_data;
unsigned char Va;
ADNum=ADNum+1;//AD转换次数计数
if(ADNum>=98888)ADNum=110000;
adc_data=ADCH;
adc_data=adc_data*4;
if(ADNum==2)//初始电压值保存
{
Va=Vref*adc_data*100/1024;
}
V=Vref*adc_data*100/1024;//实时电压
if(V-Va==4)//斜率计算
{
K=(20000000/ADNum)%10;
}
}
void A_value()//OCR0实际值
{
if(K==k_value[60])
a=250-K;
if (K!=k_value[60])
a=0;
}
编号:
时间:2021年x月x日
书山有路勤为径,学海无涯苦作舟
页码:
void Cap_value()//容量计算值
{
unsigned long Aa=2000,P;
if(K==k_value[60])
{
P=K/Aa;
Cap=(-1)*log(P)*200;
}
if (K!=k_value[60])
{
Cap=0;
}
}
void Time_Compu()//时间
智能手机充电器 来自淘豆网m.daumloan.com转载请标明出处.