STC单片机通用AD转换程序[优秀]_stc单片机ad转换程序

2020-02-28 其他范文 下载本文

STC单片机通用AD转换程序[优秀]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“stc单片机ad转换程序”。

福星电子网http://

#include

#include

sfr P1_ADC_EN = 0x97;//A/D转换功能允许寄存器

sfr ADC_CONTR = 0xC5;//A/D转换控制寄存器

sfr ADC_DATA = 0xC6;//A/D转换结果寄存器 高8位,sfr ADC_LOW2 = 0xC7;//A/D转换结果寄存器 低2位,如果是8位AD无此寄存器。

#define uchar unsigned char;

#define uint unsigned int;

Uintad_out1,ad_out2;

void delay(uchar delay_time)// 延时函数

{

uchar n;

uint m;

for(n=0;n

{

for(m=0;m

}

}

uchar get_AD_result(uchar channel)

{

uchar AD_finished = 0;// 存储 A/D 转换标志

ADC_DATA = 0;

ADC_CONTR = channel;// 选择 A/D 当前通道

_nop_();_nop_();_nop_();//使输入电压达到稳定

_nop_();_nop_();_nop_();

ADC_CONTR |= 0x08;//0000,1000 令 ADC_START = 1, 启动A/D 转换

AD_finished = 0;

while(AD_finished == 0)// 等待A/D 转换结束

{

AD_finished =(ADC_CONTR & 0x10);//0001,0000, ADC_FLAG ==1测试A/D转换结束否

}

ADC_CONTR &= 0xF7;//1111,0111 令 ADC_START = 0, 关闭A/D 转换,return(ADC_DATA);// 返回 A/D 转换结果

}

void main()

{

P1 = P1 | 0x01;// 0000,0001,P1.0为 A/D 转换,即通道0与1

福星电子网http://

P1_ADC_EN = 0x01;//0000,0001, P1 的P1.0设置为 A/D 转换输入脚// 断开P1.0,P1.1 内部上拉电阻

while(1)

{

get_AD_result(0);

delay(10);

//可以多采集几次求均值

//8位数据输出,参考电压5V

ad_out1=(ADC_DATA*5)/256

//8位数据输出,参考电压5V

ad_out2=((ADC_DATA*4)+ ADC_LOW2)/1024

}

}

《STC单片机通用AD转换程序[优秀].docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
STC单片机通用AD转换程序[优秀]
点击下载文档
相关专题 stc单片机ad转换程序 单片机 转换程序 优秀 stc单片机ad转换程序 单片机 转换程序 优秀
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文