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

📄 ade7758duxie.txt

📁 c语言ade7758spi读写寄存器方式
💻 TXT
字号:
/*****ade7758读写***************************/
#include <reg52.h>
#include <absacc.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
#define sint signed int
#define schar signed char
/*-------------------------------------------------------------------*/
sbit led0=P1^0;
sbit led1=P1^1;
sbit irq=P1^2;
sbit dout=P1^3;
sbit sclk=P1^4;
sbit din=P1^5;
sbit cs=P1^6;
sbit doge=P1^7;

uchar mdata[27];
uchar comd[5];//={0xff,0xff,0xff,0xff,0xff};

uchar spir(void);
void spiw(uchar var);
void wtd(uchar add,length);
void dog(void);
void ys(void);
void comrw(uchar rw,add,length);
void delay(uint nop);
///////////////////////////////////////////////////////////////////////////////////////
main()
{
//start set
TCON=0x05;
SCON=0x00;
IE=0x00;
EXEN2=0;
TR2=0;
led0=0;
led1=1;

   do{
   led0=~led0;
led1=~led1;

comrw(0,0x01,2);//a watt-hour
comrw(0,0x02,2);//b
comrw(0,0x03,2);//c

comrw(0,0x04,2);//a var-hour   reactive energy
comrw(0,0x05,2);//b
comrw(0,0x06,2);//c

comrw(0,0x07,2);//a va-hour  apparent power
comrw(0,0x08,2);//b
comrw(0,0x09,2);//c

comrw(0,0x0a,3);//ai
wtd(3*3,3);
comrw(0,0x0b,3);//bi
wtd(4*3,3);
comrw(0,0x0c,3);//ci
wtd(5*3,3);

comrw(0,0x0d,3);//av
wtd(0*3,3);
comrw(0,0x0e,3);//bv
wtd(1*3,3);
comrw(0,0x0f,3);//cv
wtd(2*3,3);

comrw(0,0x11,1);//temperature
comd[0]=0x00;
comrw(1,0x13,1);//measurement mode

comrw(0,0x13,1);//operational mode

comrw(0,0x14,1);//measurement mode
comrw(0,0x16,1);//formula
comrw(0,0x17,1);//line cycle accumation mode

comrw(0,0x18,1);//irq mask
comrw(0,0x19,1);//irq status
comrw(0,0x1a,1);//irq status  read to 0

comrw(0,0x23,1);//gain


comrw(0,0x7e,1);//chksum
comrw(0,0x7f,1);//version

led0=~led0;
led1=~led1;

   }while(1);


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -