ad.txt

来自「ADC0809 模数转换的说明及驱动程序」· 文本 代码 · 共 30 行

TXT
30
字号
/******************************************************************************************
ADC0809将采集的模拟量转换为数据量程序
指针变量*ADC指向ADC0809端口地址FE00H,*ADCdata指向外部RAM单元地址(1000H~1007H)
由*ADC=I送入通道数,启动ADC0809进行A/D转换,转换结束时产生INT0中断
在中断服务函数int1()中通过temp=*ADC和*ADCdata=temp;读取A/D转换结果并存到外部RAM中
*******************************************************************************************/
unsigned int xdata *ADC; /*定义ADC0809端口指针*/      
unsigned int xdata *ADCdata; /*定义ADC0809数据缓冲器指针*/     
unsigned char I;
void ADC0809()
{      
  ADC=0xFE00; /*定义端口地址和数据缓冲器地址*/      
  ADCdata=0x1000;       
  I=3; /*使用ADC0809的4个模拟输入通道*/     
  EA=1;
  EX0=1;
  IT0=1;     /*开中断*/       
  *ADC=I;    /*启动ADC0809*/      
  while(I);  /*等待4个通道A/D转换完*/
}

void int0() interrupt 2
{      
  unsigned char temp;      
  temp=*ADC; /*读取A/D转换结果*/      
  *ADCdata=temp; /*结果值存到数据缓冲区*/     
  ADCdata++; /*数据缓冲区地址加1*/     
  I--;     
  *ADC=I; /*启动下一个模拟输入通道A/D转换*/
}

⌨️ 快捷键说明

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