📄 read_adc.c
字号:
#include <iom8v.h> //和单片机类型相对应的头文件,选择Atmega8做实验;
#include <macros.h>
#include "discharge.h"
#include <stdio.h>
#include "LCD_1602.h"
/*---------------------------------------------
电池1温度测量程序
最大测量温度:88度
测量64次取平均数
----------------------------------------------*/
unsigned int T_BT1_T(void)
{
unsigned char i;
unsigned int a=0;
unsigned int BT_T;//电池1温度
i=read_adc(0,1);//第一次转换,不要
for (i=0;i<1;i++)
{
a+=read_adc(0,1);//外部基准(1.024V),ADC1
}
BT_T=(a>>0);
if(BT_T>65530)
BT_T=0;
return BT_T;
}
/*---------------------------------------------
电池1电压测量程序
最大测量电压:4.096V
测量64次取平均数
----------------------------------------------*/
unsigned int T_BT1_V(void)
{
unsigned char i;
unsigned int a=0;
unsigned int BT_V;//电池1电压
i=read_adc(0,0);//第一次转换,不要
for (i=0;i<16;i++)
{
a+=read_adc(0,0);//外部基准(1.024V),ADC0
}
BT_V=(a>>4)*3;
if(BT_V>65530)
BT_V=0;
return BT_V;
}
/*---------------------------------------------
电池1电流测量程序
最大测量电流:2.048A
测量64次取平均数
----------------------------------------------*/
unsigned int T_BT1_I(void)
{
unsigned char i;
unsigned int a=0;
unsigned int BT_I;//电池1电流
i=read_adc(0,3);//第一次转换,不要
for (i=0;i<16;i++)
{
a+=read_adc(0,3);//外部基准(1.024V),ADC3
}
BT_I=(a>>4)*50/49;//衰减1.2倍 1.1*1.1=1.21
return BT_I;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -