⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read_adc.c

📁 单片机 mega16L 电池放电器源码
💻 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 + -