电路图中,att7053auBU的IRQ、PF、QF三个脚怎么连接stm32?

ATT7053智能电表程序与电路图设计
作者:瑞生
阅读:11,979次
瑞生网http://www.rationmcu.com版权所有
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)
uint32_t temp_
temp_data = 0;
for(i=6; i&=0; i--)
if((address & (0x01&&i))&&i) MOSI_H;
else MOSI_L;
if(MISO_H) temp_data=temp_data|1;
for(i=0; i&23; i++)
if(MISO_H)miso_val=1;
else miso_val=0;
temp_data = (temp_data&&1) | miso_
return temp_
6. SPI写程序
void SPI_Write(uint8_t address, uint32_t write_data)
uint32_t temp_
temp_data = 1;
Delay(100);
Delay(50);
Delay(100);
Delay(10);
Delay(10);
Delay(10);
for(i=6; i&=0; i--)
Delay(10);
if((address & (0x01&&i))&&i)
else MOSI_L;
Delay(10);
Delay(10);
Delay(40);
for(i=23; i&=0; i--)
Delay(10);
if((write_data & (temp_data&&i))&&i)
else MOSI_L;
Delay(10);
Delay(10);
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);
电路图下载:(Protel文件)
程序:(使用单片机LPC1114 Keil4工程)
关注我的微信公众号,可以第一时间看到我的文章
我的微信公众号STM32外部中断总结_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
STM32外部中断总结
FSMC STM32F4 DP
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
ATT7053BU用户手册
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口STM32F103C8T6采集电表芯片ATT7053BU的数据,采上来的数据固定不变 - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
STM32F103C8T6采集电表芯片ATT7053BU的数据,采上来的数据固定不变
等待验证会员
14:25:30  
如题,这两天用STM32F103C8T6采集ATT7053BU的数据,结果采集上来的数据始终固定不变,我传不同的寄存器地址,他的数据都不变,跪求懂得大神来围观围观,知道知道小弟,感激不尽!
这是我的代码的主要部分,附图是我用串口发出来以后全是一样的数据,附件是我的工程。跪求大神帮忙看看。
/**********************************************************************
//函数名称:Init_ATT7053(void)
//功能& & :初始化ATT7053
**********************************************************************/
void Init_ATT7053(void)
{
& &
& & & &
&span style=&line-height: 27.5&&& & &/span&SPI_configuration();
& & & &
&span style=&line-height: 27.5&&& & &/span&GPIO_ResetBits(CS_PORT, CS_PIN);& & & & //片选拉低
&span style=&line-height: 27.5&&& & &/span&for (j=50; j&0; j--);
&span style=&line-height: 27.5&&& & &/span&GPIO_SetBits(CS_PORT, CS_PIN);& & & & & & & & //片选拉高
&span style=&line-height: 27.5&&& & &/span&for (j=50; j&0; j--);
&span style=&line-height: 27.5&&& & &/span&SPI_Write(0x33,0x0055);& & & & & & & & //0x33:软件复位寄存器。0x55:复位
&span style=&line-height: 27.5&&& & &/span&SPI_Write(0x40,0x2000);& & & & & & & & //0x40:EMU配置寄存器。0x2000:bit13=1,能量寄存器读后清零
&span style=&line-height: 27.5&&& & &/span&SPI_Write(0x43,0x0007);& & & & & & & & //ADC开关寄存器,I1,I2,U全部打开
& & & &
&span style=&line-height: 27.5&&& & &/span&SPI_Write(0x59,0x0001);& & & & & & & & //设置电流&&电压增益
&span style=&line-height: 27.5&&& & &/span&SPI_Write(0x41,0x0000);& & & & & & & & //设置电流&&电压增益& & & & & & & & & & & & --------------&0x41,page28,时钟配置寄存器
}复制代码//配置引脚接口
void SPI_configuration(void)
{
& & GPIO_InitTypeDef GPIO_InitS
&span style=&line-height: 27.5&&& & &/span&RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);//使能GPIOA、GPIOB
&span style=&line-height: 27.5&&& & &/span&///GPIO_InitStructure.GPIO_Pin =RST_5463_PIN | SCLK_PIN | SDI_PIN;
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Pin = SCLK_PIN;
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& & & & //推挽输出:即通用IO口输出功能& & & && && && &&&
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&span style=&line-height: 27.5&&& & &/span&GPIO_Init(GPIOA, &GPIO_InitStructure);
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Pin =CS_PIN;
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&span style=&line-height: 27.5&&& & &/span&GPIO_Init(GPIOA, &GPIO_InitStructure);
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Pin = SDI_PIN;
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& & & & & & & && && && &&&
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&span style=&line-height: 27.5&&& & &/span&GPIO_Init(GPIOA, &GPIO_InitStructure);
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Pin =SDO_PIN;
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;& & & & & & & && && && &&&
&span style=&line-height: 27.5&&& & &/span&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&span style=&line-height: 27.5&&& & &/span&GPIO_Init(GPIOA, &GPIO_InitStructure);
}& & & & 复制代码//写函数
void& & & & SPI_Write(u8 address, u32 write_data)
{
& & & && & & &
& & & &
& & & & u32 temp_data = 1;
& & & &
& & & & GPIO_SetBits(CS_PORT, CS_PIN);
& & & & for (j=50; j&0; j--);
& & & & GPIO_ResetBits(SCLK_PORT, SCLK_PIN);& & & & //确保CLK初始状态是0
& & & & for (j=50; j&0; j--);
& & & & GPIO_ResetBits(CS_PORT, CS_PIN);& & & & //片选置0,生效
& & & & & & & & & & & &
& & & & address=address|0x80;
& & & & for(i=8; i&0; i--)
& & & & {
& & & & & & & & & & & & GPIO_SetBits(SCLK_PORT, SCLK_PIN);& & & &
& & & & & & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & & & & & &
& & & & & & & & & & & & if(((address & (0x01&&(i-1)))&&(i-1)))& & & & //address 地址从0x00到0x7F
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & GPIO_SetBits(SDI_PORT, SDI_PIN); //1表示主机向从机写数据
& & & & & & & & & & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & else
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & GPIO_ResetBits(SDI_PORT, SDI_PIN);
& & & & & & & & & & & & & & & & for (j=50; j&0; j--);
& & & & & & & & & & & & }
& & & & & & & & & & & &
& & & & & & & & & & & & GPIO_ResetBits(SCLK_PORT, SCLK_PIN);& & & & //从机需要在下降沿取数据
& & & & & & & & & & & & for (j=50; j&0; j--);& & & &
& & & & }
& & & &
& & & & for (j=50; j&0; j--);& & & &
& & & & for(i=23;i&0;i--)
& & & & {
& & & & & & & & & & & & GPIO_SetBits(SCLK_PORT, SCLK_PIN);& & & &
& & & & & & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & & & & & &
& & & & & & & & & & & & if(((write_data & (temp_data&&i))&&i))& & & & //address 地址从0x00到0x7F
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & GPIO_SetBits(SDI_PORT, SDI_PIN);
& & & & & & & & & & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & else
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & GPIO_ResetBits(SDI_PORT, SDI_PIN);
& & & & & & & & & & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & & & & & & }
& & & & & & & & & & & &
& & & & & & & & & & & & GPIO_ResetBits(SCLK_PORT, SCLK_PIN);& & & & //从机需要在下降沿取数据
& & & & & & & & & & & & for (j=50; j&0; j--);& & & &
&&}
& & & & GPIO_SetBits(CS_PORT, CS_PIN);& & & &
}复制代码
//读函数
u32 SPI_Read(u8 address)
{
& & & &
& & & &
& & & & u32 temp_
& & & & u32 miso_
& & & &
& & & & temp_data = 0;& & & & & & & & & & & &
& & & & GPIO_SetBits(CS_PORT,CS_PIN);& & & & & & & & //片选初始状态为1
& & & & for (j=50; j&0; j--);
& & & & GPIO_ResetBits(SCLK_PORT, SCLK_PIN);& & & & //确保CLK初始状态是0& & & & & & & &
& & & & for (j=50; j&0; j--);& & & &
& & & & GPIO_ResetBits(CS_PORT, CS_PIN);& & & & //片选置0,生效
& & & & for (j=50; j&0; j--)
& & & & {
& & & & & & & &
& & & & }
& & & &
& & & & address=address&0x7F;& & & & & & & & & & & &
& & & & for(i=8; i&0; i--)
& & & & {
& & & & & & & & GPIO_SetBits(SCLK_PORT, SCLK_PIN);& & & &&&//CLK置高
& & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & &
& & & & & & & & if( (address & ( 0x01&&(i-1) )) && (i-1) )& & & &&&//address 地址从0x00到0x7F
& & & & & & & & {
& & & & & & & & & & & & GPIO_SetBits(SDI_PORT, SDI_PIN); //1表示主机向从机写数据& & & &
& & & & & & & & }
& & & & & & & & else
& & & & & & & & {
& & & & & & & & & & & & GPIO_ResetBits(SDI_PORT, SDI_PIN);
& & & & & & & & }
& & & & & & & & for (j=50; j&0; j--);
& & & & & & & & GPIO_ResetBits(SCLK_PORT, SCLK_PIN);& & & &&&//CLK置低(下降沿),从机需要在下降沿取数据
& & & & & & & & for (j=50; j&0; j--);& & & &
& & & & }//从机接收到命令后,开始送出数据,上升沿送数据
& & & & for(i=24; i&0; i--)
& & & & {
& & & & & & & & GPIO_SetBits(SCLK_PORT, SCLK_PIN); //
& & & &
& & & & & & & & if(GPIO_ReadInputDataBit(SDO_PORT, SDO_PIN))
& & & & & & & & & & & & miso_val=0x01;
& & & & & & & & else
& & & & & & & & & & & & miso_val=0x00;
& & & & & & & &
& & & & & & & & temp_data = temp_data|(miso_val&&(i-1));
& & & & & & & & for (j=50; j&0; j--);& & & &
& & & & & & & & GPIO_ResetBits(SCLK_PORT, SCLK_PIN);& & & & //从机需要在下降沿取数据
& & & & & & & & for (j=50; j&0; j--);& & & &
& & & & GPIO_SetBits(CS_PORT, CS_PIN);& & & &
& & & & return temp_
}复制代码/*
* 函数名:main
* 描述&&:主函数
* 输入&&: 无
* 输出&&:无
*/
int main(void)
{&&
&span style=&line-height: 27.5&&& & &/span&u32 temp_data = 0;
& & & &
&span style=&line-height: 27.5&&& & &/span&/* 配置系统时钟为 70M */& && &
&span style=&line-height: 27.5&&& & &/span&SystemInit();
&span style=&line-height: 27.5&&& & &/span&/* USART1 config 9600 8-N-1 */
&span style=&line-height: 27.5&&& & &/span&USART1_Config();
&span style=&line-height: 27.5&&& & &/span&Init_ATT7053();& & & & //Include SPI_configuration.
& & & &
&&
&span style=&line-height: 27.5&&& & &/span&while (1){
& & &span style=&line-height: 27.5&&& &&/span&&span style=&line-height: 27.5&& &/span&&span style=&line-height: 1.7;&&printf(&This is test printf\n&);&/span&复制代码
附件: 您需要
才可以下载或查看,没有帐号?
已退回2积分
高级工程师
09:46:23  
等待验证会员
11:56:35  
很好的资料 学习中
16:46:38  
问题解决了吗,最近同做att7053采集,新手无从下手,求个代码参考,谢谢了。
工程师职场
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司ATT7053BU用户手册pdf下载_爱问共享资料
ATT7053BU用户手册.pdf
ATT7053BU用户手册.pdf
ATT7053BU用户手册.pdf
简介:本文档为《ATT7053BU用户手册pdf》,可适用于IT/计算机领域,主题内容包含ATTBU用户手册(SD)版权归钜泉光电科技(上海)股份有限公司所有http:wwwhitrendtechcomPageofRevATTBU用户手册符等。
侵权或盗版
*若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益时,请按照平台要求书面通知爱问!
赌博犯罪类
在此可输入您对该资料的评论~
添加成功至
资料评价:}

我要回帖

更多关于 7053次列车路线图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信