关于AD7705的程序 stc12
单片机源程序如下:
- #include"ad7705.h"
- void Delay_1ms(uint c)
- {
- uchar a,b;
- for(;c>0;c--)
- {
- for(b=199;b>0;b--)
- {
- for(a=1;a>0;a--);
- }
- }
- }
- void WriteToReg_ADC(uint byteword ) //写控制字
- {
- uint AD16bit,Token;
- uchar i;
- ADC_CLK=1;
- ADC_CS=0;
- Token=0x80;
- AD16bit=byteword;
- for(i=0;i<8;i++)
- {
- if(AD16bit&Token)
- ADC_DIN=1;
- else
- ADC_DIN=0;
- ADC_CLK=1;
- ADC_CLK=0;
- ADC_CLK=1;
- Token=Token>>1;
- }
- ADC_CLK=1;
- ADC_DIN=1;
- }
- uint ReadADC_16BitValue(uchar channel) //写控制字读取那个通道的数据,接着读取数据
- {
- uint AD16bit;
- uchar i;
- WriteToReg_ADC(0x38|channel);
- while(ADC_DRDY==1);
- ADC_CLK=1;
- ADC_CS=0;
- AD16bit=0x00;
- for(i=0;i<16;i++)
- {
- AD16bit=AD16bit<<1;
- ADC_CLK=0;
- if(ADC_DOUT==1)
- AD16bit=AD16bit|0x01;
- ADC_CLK=1;
- }
- ADC_CLK=1;
- ADC_DIN=1;
- return(AD16bit);
- }
- void InitADC() //初始化
- {
- uchar i;
- ADC_CLK=1;
- ADC_DIN=1;
- ADC_CS=0;
- for(i=0;i<40;i++)
- {
- ADC_CLK=0;
- ADC_CLK=1;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
AD7705.rar
(56.94 KB, 下载次数: 81)
|