导航:首页 > 操作系统 > 51单片机adc模块

51单片机adc模块

发布时间:2025-04-07 01:11:35

‘壹’ 51单片机的adc接口在哪

端口引脚P3.4至P3.7处。
51单片机的P1是输入端口,P0是输出端口。ADC的控制信号(INTR、WR、RD和CS)分别在端口引脚P3.4至P3.7处可用。
51单片机是对兼容英特尔8051指令系统的单片机的统称。

‘贰’ 请教stc自带ad的51单片机的使用方法

#include<reg52.h>#include<intrins.h>
#define uchar unsigned char#define uint unsigned int
sfr ADC_CONTR = 0xbc; //ADC控制寄存器
sfr ADC_RES = 0xbd; //ADC转换结果高八位寄存器
sfr ADC_LOW2 = 0xbe; //ADC转换结果低两位寄存器
sfr P1ASF = 0x9d; //P1口模拟功能控制寄存器

#define ADC_POWER 0x80 //ADC电源控制位
#define ADC_FLAG 0x10 //ADC结束标志位
#define ADC_START 0x08 //ADC启动标志位
#define ADC_SPEEDLL 0x00 //540个时钟周期
#define ADC_SPEEDL 0x20 //360个时钟周期
#define ADC_SPEEDH 0x40 //180个时钟周期
#define ADC_SPEEDHH 0x60 //90 个时钟周期

void InitUart();
void SendData(uchar);
void Delay(uint n);
void InitADC();

uchar ch=0; //ADC通道选择
void main()
{
InitUart(); //初始化串口
InitADC(); //初始化ADC
IE = 0xa0; //打开总中断

while(1);}
/*ADC中断函数*/
void ads_isr() interrupt 5 using 1
{
ADC_CONTR&=!ADC_FLAG; //将ADC结束标志位清零

SendData(ch); //将对应ADC通道号发送给电脑 SendData(ADC_RES); //将转换结果发送给电脑
if(++ch > 7)ch = 0; //下一个ADC通道 ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; //打开ADC电源、转换时间540个时钟周期、开始转换、选择通道号
}
/*初始化ADC寄存器*/
void InitADC()
{
P1ASF = 0xff; //定义p1口为ADC转换口
ADC_RES = 0;
ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; //打开ADC电源、转换时间540个时钟周期、开始转换、选择通道号
Delay(2); //等待ADC上电稳定然后开始ADC转换?应该是先开电源,等待后再START,可能STC官方程序有问题
}

/*初始化串口*/
void InitUart()
{
SCON = 0x5a;
TMOD = 0x20;
TH1 = 0xfd; //在11.0592MHZ晶振下,波特率为9600
TL1 = 0xfd;
TR1 = 1;
}

/*串口发送数据*/
void SendData(uchar dat)
{
while(!TI);
TI = 0;
SBUF = dat;
}

/*延时函数*/
void Delay(uint n)
{
uint x;

while(n--)
{
x=5000;
while(x--);
}
}

注释原创

‘叁’ 51单片机adc模块的功能是

ADC模块当然是实现模数转换。

‘肆’ 51单片机连电位器一定要adc吗

一定。51单片机连电位器需要adc的,因为作AD用必须一个接电源一个接地,两个电阻中间即VREF接单片机引脚或接一个1K的电阻再接单片机引脚。

阅读全文

与51单片机adc模块相关的资料

热点内容
java腐蚀算法 浏览:846
php网址加密 浏览:781
无量之网pdf 浏览:41
旧手机刷安卓50需要做什么 浏览:350
陈列的工具命令 浏览:487
单片机有时候有h有时候没有h 浏览:495
androidndkpdf 浏览:548
dos打开程序命令 浏览:334
pptx转pdf 浏览:722
轻量云服务器如何升级 浏览:834
电脑解压文字看不懂怎么回事 浏览:638
查看路由端口优先级命令 浏览:233
华为怎么把加密图片取出来 浏览:828
会计准则讲解pdf 浏览:319
程序员智商高情商低完整版 浏览:597
河南高清矩阵服务器云服务器 浏览:190
电脑怎么添加到服务器地址 浏览:688
phpcursor 浏览:648
python全局阈值分割 浏览:237
mysqllinux登录命令 浏览:439