嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
用DS2781芯片实现简单库仑计,使用STC12C5A60S2配合LCD128128显示。
#include "STC12C5A.H"
#include "one_wire.h"
//#include <stdio.h>
#include <intrins.h> //包含_nop_
#include "uart.h"
#define uchar unsigned char
#define uint unsigned int
/* DS2781 Memory Map */
//battery gauge
#define DS_STATUS 0x01
#define DS_CONTROL 0x60
#define DS_TEMP_MSB 0x0A
#define DS_VOLT_MSB 0x0C
#define DS_CUR_MSB 0x0E
#define DS_ACR_MSB 0x10
#define DS_ACR_LSB 0x11
#define DS_FULL_MSB 0x16
#define DS_VCHG 0x64
#define DS_IMIN 0x65
#define DS_VAE 0x66
#define DS_IAE 0x67
#define DS_RSNSP 0x69
#define DS_RSGAIN_MSB 0x78
#define DS_RSGAIN_LSB 0x79
#define DS_RSTC 0x7A
#define DS_COB 0x7B
/*1 wire 驱动程序------------------------------------------------------------*/
void one_wire_delay_2us() //@22.1184MHz
{
unsigned char i;
i = 8;
while (--i);
}
void one_wire_delay_10us() //@22.1184MHz
{
unsigned char i;
_nop_();
i = 52;
while (--i);
}
void one_wire_delay_60us() //@22.1184MHz
{
unsigned char i, j;
_nop_();
i = 2;
j = 70;
do
{
while (--j);
} while (--i);
}