欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STC12C5A60S2中ADC應用之一--查詢法
[打印本頁]
作者:
51hei單片
時間:
2016-3-13 02:15
標題:
STC12C5A60S2中ADC應用之一--查詢法
#include "intrins.h"
/*Declare SFR associated with the ADC */
sfr ADC_CONTR = 0xBC; //ADC控制寄存器
sfr ADC_RES = 0xBD; //AD結果寄存器
sfr ADC_LOW2 = 0xBE; //AD結果寄存器 ADC low 2-bit result register
sfr P1ASF = 0x9D; //P1模擬功能設置寄存器
/*Define ADC operation const for ADC_CONTR*/
#define ADC_POWER 0x80 //ADC電源控制位
#define ADC_FLAG 0x10 //AD轉換結束標志位
#define ADC_START 0x08 //AD轉換開始控制位
#define ADC_SPEEDLL 0x00 //420時鐘周期轉換一次
#define ADC_SPEEDL 0x20 //280時鐘周期轉換一次
#define ADC_SPEEDH 0x40 //140時鐘周期轉換一次
#define ADC_SPEEDHH 0x60 //70時鐘周期轉換一次void Delay(uint n);//延時
void InitADC();//ADC寄存
uchar GetADCResult(uchar ch);//ADC數據轉換
void Delay1(uint n)//延時
{
uint x;
while (n--)
{
x = 5000;
while (x--);
}
}
void InitADC()//ADC寄存器初始化
{
P1ASF = 0x80; //打開P17 ADC通道
ADC_RES = 0; //Clear previous result
ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
Delay1(2); //ADC power-on and delay
}
uchar GetADCResult(uchar ch)//ADC數據轉換
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;//相應置位:電源+420時鐘周期轉換一次+通道+轉換開始
_nop_(); //適當延時
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & ADC_FLAG));//等待轉換結束
ADC_CONTR &= ~ADC_FLAG; //清除ADC
return ADC_RES; //返回ADC數據
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1