标题:
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寄存
void Delay(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 | ADC_START | 7; //ADC设置
Delay(2); //ADC power-on and delay
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1