新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC內(nèi)部10位AD轉(zhuǎn)換器程序(stc_ad.h頭文件)

STC內(nèi)部10位AD轉(zhuǎn)換器程序(stc_ad.h頭文件)

作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
下面是頭文件的內(nèi)容,復(fù)制文本保存到stc_ad.h即可

#ifndef __STC_AD_H__
#define __STC_AD_H__

本文引用地址:http://butianyuan.cn/article/201612/324689.htm

#define ADC_FLAG 0x10
#define ADC_STOP 0xEF
#define ADC_START 0x08
#define ADC_SPEED_HH 0x00 // 89 us
#define ADC_SPEED_H 0x20 //178 us
#define ADC_SPEED_L 0x40 //356 us
#define ADC_SPEED_LL 0x60 //534 us

void Delay(unsigned int z);
void Delay_us();
void ADC_init();
unsigned char ADC_convert(unsigned char Gallery);

/************************************************
延時(shí)function:
************************************************/
void Delay_ad(unsigned int z)
{
unsigned char x;
while(--z)
{
for(x=0;x<250;x++);
}
}
/************************************************
延時(shí)—10 colocks function:
************************************************/
void Delay_us()
{
unsigned char i;
for(i=0;i<6;i++);
}
/************************************************
AD初始化function:
************************************************/
void ADC_init()
{
P1_ADC_EN= 0xff; //斷開P1口上拉電阻
ADC_DATA = 0x00; //清零低8位數(shù)據(jù)存儲器
ADC_LOW2 = 0x00; //清零高2位數(shù)據(jù)存儲器
ADC_CONTR= ADC_SPEED_HH; //設(shè)置AD轉(zhuǎn)換速率178clocks
Delay_ad(20); //上電延遲等待
}

/************************************************
AD轉(zhuǎn)換function:
************************************************/
unsigned int ADC_convert(unsigned char Gallery)
{
unsigned int Con_dat=0; //AD轉(zhuǎn)換數(shù)據(jù)暫存變量
// ADC_CONTR |= ADC_SPEED_H; //設(shè)置AD轉(zhuǎn)換速率
ADC_CONTR |= ADC_START; //開始AD轉(zhuǎn)換
ADC_CONTR |= Gallery; //選擇AD通道
ADC_DATA = 0x00; //清零低8位數(shù)據(jù)存儲器
ADC_LOW2 = 0x00; //清零高2位數(shù)據(jù)存儲器
Delay_us(); //轉(zhuǎn)換延遲等待
while(!(ADC_CONTR & ADC_FLAG)); //等待轉(zhuǎn)換結(jié)束
ADC_CONTR &= ADC_STOP; //關(guān)閉AD 并且清零
Con_dat = ADC_LOW2; //讀取并處理AD轉(zhuǎn)換值
Con_dat <<= 8;
Con_dat |= ADC_DATA;
return Con_dat; //返回AD轉(zhuǎn)換值
}
#endif



關(guān)鍵詞: STCAD轉(zhuǎn)換器頭文

評論


技術(shù)專區(qū)

關(guān)閉