您的位置 首页 嵌入式

STC单片机AD转化操控寄存器的规划

STC单片机AD转换控制寄存器的设计-#include

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

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

sfr ADC_DATA = 0xC6; //A/D转换结果寄存器

sfr P1M0=0x91;

sfr P1M1=0x92;

#define uchar unsigned char ;

#define uint unsigned int ;

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

#include

sfr P1_ADC_EN = 0x97; //A/D转化功用答应寄存器

sfr ADC_CONTR = 0xC5; //A/D转化操控寄存器

sfr ADC_DATA = 0xC6; //A/D转化成果寄存器

sfr P1M0=0x91;

sfr P1M1=0x92;

#define uchar unsigned char ;

#define uint unsigned int ;

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

{

uchar n;

uint m;

for (n=0;n {

for(m=0;m《10000;m++);

}

}

uchar get_AD_result(uchar channel)

{

STC单片机AD转化操控寄存器的规划

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

ADC_DATA = 0;

ADC_CONTR = channel; // 挑选 A/D 当时通道

delay(1); //使输入电压到达安稳

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 | 0x03; // 0000,0011,P1.0,P1.1为 A/D 转化,即通道0与1

P1_ADC_EN = 0x03; //0000,0011, P1 的P1.0,P1.1设置为 A/D 转化输入脚

// 断开P1.0,P1.1 内部上拉电阻

while(1)

{

get_AD_result(0);

delay(200);

get_AD_result(1);

delay(200);

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/345194.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部