保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于MSP430的三相电能表SA9904B采集系统


cs_1+sck_1+si_1;//选择SCK,CS置高,SI为向外输出。
  
  my_flag1=tempadd0<<7;//左移7位
  
  my_flag2=my_flag2&0x8000;//取最高位向SA9904B输入数据。
  
  
  
  
  if(my_flag2==0x8000)
  
  {
  
  P6OUT=cs_1+sck_1+si_1;
  
  my_flag1=my_flag1<<1;
  
  P6OUT=cs_1+0+si_1;}//输入1,SCK置0
  
  else
  
  {P6OUT=cs+sck+si_1;
  
  my_flag1=my_flag1<<1;
  
  P6OUT=cs+0+si;}//
  
  
  
  输入0,SCK置0
  
  my_flag2=my_flag1;
  
  }
  
  其中一些参量为定义量。
  
  这样的输出过程循环9次,即把9位数据从高位到低位输进SA9904B地址寄存器。
  
  
  
  第三、DO
  
  
  
  口数据传输
  
  与DI口数据传输相似,主要考虑的是在P6.6端口上显示有功和无功数据寄存器中的数据,24位数据按从高位到低位传输次序读出。
  
  for(i=4;i>1;i--)
  
  {for(j=7;j>=0;j--)
  
  {
  
  P6SEL=cs+sck+so_1;//选择SCK,CS为I/O功能,SO为模块功能。
  
  P6DIR=cs_1+sck_1+so;//选择SCK,CS
  
  
  
  向外,SO为向内输出。
  
  P6OUT=cs_1+sck_1+0;//选择SCK,CS置高。
  
  my_flag=(unsignedchar)(P6IN);//读取P6IN寄存器中数值。
  
  P6OUT=cs_1+sck+0;
  
  aa=(aa|(my_flag<<j));//存储数据。
  
  my_flag=0x00;
  
  }
  
  if(
  
  
  
  i>2){aa=aa<<8;}}//左移8位。
  
  returnaa;
  
  }
  
  其中cs,sck,so等参量的定义如cs:P6SEL|=0x20方式所示。
  
  第四、F50寄存器数据处理
  
  该端口的处理方式与上述的DO和SI
 

《基于MSP430的三相电能表SA9904B采集系统(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/169892.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。