导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]aduc812数据如何写入外部存储器?[qlh051]

 *第35463篇: [求助]aduc812数据如何写入外部存储器?

  
楼 主:qlh051 2005年11月3日01:02
 [求助]aduc812数据如何写入外部存储器?
各位:
     急需帮助,想了解aduc812 利用AD转换后数据应发到那个寄存器中,数据如何写入外部存储器628512?最好有电路图和例子,多多感谢。
      e-mail: qlh051@163.com
  
2楼:baolqkun 2005年11月3日19:54
 ^_^,你的工资能分点给我们吗?程序写的可能不好,但是能用,你自己看吧
//------------------------------------------------------------------------------
// Routine: change
// Inputs: high,low
// Outputs: none
// Purpose: 十六进制数转换成十进制,电压的量程是2.56V,满量程,最后的结果是浮点数
//------------------------------------------------------------------------------
float change(int high,int low) //把双字节的十六进制数转换成十进制的数
{
 unsigned int a,b,c,d,e;
 float f;
 a=(int)(high/16);   //AD高数据位的高位     
 b=high-a*16;     //AD高数据位的低位 
 c=(int)(low/16);   //AD中间数据位的高位 
 d=low-c*16;     //AD中间数据位的低位               
 e=a*16*16*16+b*16*16+c*16+d;//转换成十进制
 f=2.56*(e-32768)/32768;  //求出电压值
 return(f);     //返回实际的电压值 
}
//------------------------------------------------------------------------------
// Routine: minsam0
// Inputs: none
// Outputs: none
// Purpose: 分钟数据采样一次,通过串行口输出采样到的数据
//------------------------------------------------------------------------------
void minsam0( )
{
 EA = 0;   //关中断    
 RDY0 = 0;  // 主AD无效
 EADC = 1;  // enable ADC interrupt
 EA = 1;   //开中断
 ADCMODE = 0x23; // AD采样连续模式   
 result=1000*change(ADC0H,ADC0M); //把采集到的十六进制数据转换成十进制,然后把数据扩大1000倍
 result=(int)result;  //把值取整
 sprintf(vol,"%d",result);  //result中的湿度值,是两位数,把它送到VOL中 
 for(i=0;i  <3;i++)  //输出湿度值
 {
  SBUF=vol[i]; 
  while(TI==0);
  TI=0;
 }
}

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:三毛电子世界诚招51单片机学习板各地市经销商!

[下一篇主题]:求cvdeix96(80c196的调试器)