图文详情
产品属性
相关推荐
ATT7053AU 是一颗带 SPI 的单相多功能计量芯片(EMU) 。
芯片的工作范围是 3.0 ~ 3.6V。使用晶振为 5.5296MHz。
1.att7053电路图
2.att7053 PCB图
3.做好的成品板
4.LPC1114单片机与ATT7053采用SPI通信方式,下面采用软件模拟SPI时序
5.SPI读程序
uint32_t SPI_Read(uint8_t address)
{
int8_t i;
uint32_t temp_data;
temp_data = 0;
SCK_L;
Delay(1);
CS_H;
Delay(2);
CS_L;
Delay(5);
SCK_H;
Delay(1);
MOSI_L;
Delay(1);
SCK_L;
Delay(1);
for(i=6; i>=0; i--)
{
SCK_H;
Delay(1);
if((address & (0x01<>i) MOSI_H;
else MOSI_L;
Delay(1);
SCK_L;
Delay(1);
}
Delay(2);
SCK_H;
Delay(1);
SCK_L;
if(MISO_H) temp_data=temp_data|1;
Delay(1);
for(i=0; i<23; i++)
{
SCK_H;
Delay(1);
SCK_L;
if(MISO_H)miso_val=1;
else miso_val=0;
temp_data = (temp_data<<1) | miso_val;
Delay(1);
}
CS_H;
return temp_data;
}6. SPI写程序
void SPI_Write(uint8_t address, uint32_t write_data)
{
int8_t i;
uint32_t temp_data;
temp_data = 1;
SCK_L;
Delay(100);
CS_H;
Delay(50);
CS_L;
Delay(100);
SCK_H;
Delay(10);
MOSI_H;
Delay(10);
SCK_L;
Delay(10);
for(i=6; i>=0; i--)
{
SCK_H;
Delay(10);
if((address & (0x01<>i)
{
MOSI_H;
}
else MOSI_L;
Delay(10);
SCK_L;
Delay(10);
}
Delay(40);
for(i=23; i>=0; i--)
{
SCK_H;
Delay(10);
if((write_data & (temp_data<>i)
{
MOSI_H;
}
else MOSI_L;
Delay(10);
SCK_L;
Delay(10);
}
CS_H;
}7.att7053初始化工作
初始化工作需要打开寄存器写保护和写入电流通道的增益,如下:
SPI_Write(0x32, 0x00a6); //打开写保护
SPI_Write(0x59, 0x000c); //写入电流通道增益8.读取电压值
v_rms=SPI_Read(0x08);9.读取电流值
i_rms=SPI_Read(0x06);10.读取功率值
p_rms = SPI_Read(0x0a);
钜泉
ATT7053AU
SSOP24
19+
原装,假一罚十