微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机AD通道转换函数

PIC单片机AD通道转换函数

时间:11-24 来源:互联网 点击:

由于PIC单片机有八路AD转换通道,如果每路都写一个转换函数,哪样非常麻烦并且不便于写程序,缘此我写了一段如下转换可实现八路通用的函数:

uchar get_ad(uchar n) //带通道选择的AD采样函数
{
uchar advalu;
ADCON0=n;
ADCON1=0x80; //1000 0000右对齐
delay(2); //延时等待
ADGO=1; //启动AD转换
while(ADGO); //等待AD转换结束
advalu=ADRESH; //读AD转换的值
advalu*=256; //将读回的AD值左移八位
advalu+=ADRESL; //加上低八位
return (advalu); //返回AD值
}

调用如下,分别从0到7通道

ad0=get_ad(0xc1);
ad1=get_ad(0xc9);
ad2=get_ad(0xd1);
ad3=get_ad(0xd9);
ad4=get_ad(0xe1);
ad5=get_ad(0xe9);
ad6=get_ad(0xf1);
ad7=get_ad(0xf9);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top