⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12c2052ad.c

📁 STC几款型号单片机的AD转换设置和AD转换程序示例
💻 C
字号:
这是我写的:
调用法:val=GetADVal(通道号);
转换前要先初始化。初始化函数为:InitADC();

#include "STC12C5410AD.H"

#define uchar unsigned char

void InitADC();
uchar GetADVal(uchar);

void InitADC()
{
uchar i,j;
ADC_CONTR|=0x80;
for(i=20;i>0;i--) for(j=250;j>0;j--);
}

uchar GetADVal(uchar ch)
{
uchar lastP1M0,lastP1M1,i,m_mask;
code uchar mtab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
lastP1M0=P1M0;
lastP1M1=P1M1;
ch&=0x07;
m_mask=mtab[ch];
P1M0|=m_mask;
P1M1|=m_mask;
ADC_CONTR&=0xf0;
ADC_CONTR|=ch;
for(i=250;i>0;i--); //待输入电压稳定后开始转换
ADC_CONTR|=0x08;
while((ADC_CONTR&0x10)==0);
ADC_CONTR&=0xe7;
P1M0=lastP1M0;
P1M1=lastP1M1;
return ADC_DATA;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -