#include <intrins.h>
sfr ADC_CONTR = 0XBC;
sfr P1ASF = 0X9D;
sfr ADC_RES = 0XBD;
sfr ADC_RESL = 0XBE;
#define AD_SPEED 0x60
void init_adc()
{
ADC_CONTR = ADC_CONTR|0x80; //打开adc电源
P1ASF = 0X01; //设置P1.7为模拟功能
}
void adc_delay(unsigned char delay_time) // 延时函数
{
unsigned int n;
while(delay_time--)
{
n = 6000;
while(--n);
}
}
unsigned int get_AD_result(unsigned char channel)
{
unsigned char AD_finished=0;
unsigned int h_val;
unsigned int l_val;
ADC_RES = 0;
ADC_RESL = 0;
channel &= 0x07;
ADC_CONTR = AD_SPEED;
_nop_();
ADC_CONTR |= channel;
_nop_();
ADC_CONTR |= 0x80;
adc_delay(1);
ADC_CONTR |= 0x08;
AD_finished = 0;
while ( AD_finished ==0 )
{
AD_finished = (ADC_CONTR & 0x10);
}
ADC_CONTR &= 0xE7;
h_val = ADC_RES;
h_val = h_val<<2;
l_val = ADC_RESL & 0X03;
h_val = h_val | l_val;
return (h_val);
}
分享到:
相关推荐
STC单片机,ADC模块的驱动,驱动函数及头文件,可直接调用
STC系列单片机中的STC89LE516AD/X2提供了8路8位精度的高速A/D转换器,位于 P1口上,从而省去了片外ADC的麻烦。这8路ADC为电压输入型,可做按键扫描,电池电压 检测,频谱检测等。ADC转换过程需要17个机器周期。...
STC单片机ADC及其第九通道BandGap的应用.pdf
STC单片机AD转换实例 STC单片机AD转换实例 STC单片机AD转换实例 STC单片机AD转换实例
STC15单片机ADC,该工程实现对STC15系列单片机的ADC配置及调用操作。
STC单片机AD转换试验.pdf
第13章 STC单片机ADC原理及实现何宾STC单片机内ADC的结构原理--ADC的结构STC15系列单片机内集成了8路10位高速ADC转换器模块通过ADC控制
STC12C4052AD STC单片机ADC采样C程序
stc 单片机ad转换数码管显示 (带小数点) 很实用的一个程序,显示采用串口,占用IO口少,ad转换通道可以自己改变
第13章 STC单片机ADC原理及实现何宾直流电压测量和1602 LCD显示--实现目标本设计将读取STC学习板上按下不同按键所得到的直流电压值,经过ADC转换
第13章 STC单片机ADC原理及实现何宾直流电压的测量和串口显示--实现目标该设计将读取STC学习板上按下不同按键所得到的直流电压值,经过ADC转换器转换后,
第13章 STC单片机ADC原理及实现何宾交流电压测量和12864 LCD显示--设计目标本设计将从外部输入信号源,经过ADC转换器转换后,得到数字量的值,经过
STC单片机AD转换源代码,以用模块化编写,方便工程添加
STC系列单片机AD转换程序 (我用的是:STC12C5608AD)
基于STC8A8K64S4A12_LQFP44单片机ADC实验(STC8内部ADC)串口助手显示实验软件例程源码 /************************************** 功能描述:ADC口初始化 入口参数:无 返回值:无 ********************************...
stc8单片机12位ad程序(查询模式),实现16通道ad值输出到数组中,有详细设置说明。
STC 单片机包 STC单片机开发包 STC单片机 PACK STC单片机各系列 单片机开发库 STC 51 52 等 STC89 等
STC系列单片机库函数与测试例程,包含ADC转换,串口,PWM,定时器,数码管等40多个程序
STC单片机AD转换源代码,有详细注释,调用文件即可实现,方便快捷