电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

pic单片机A/D转换程序

来源:华强电子网 作者:华仔 浏览:754

标签:

摘要: >//选择RAO做为模拟输入通道;//连续转换4次再求平均值做为转换结果//最后结构只取低8位//结果送数码管的低3位显示#include//包含单片机内部资源预定义 __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0X

>

//选择RAO做为模拟输入通道;
//连续转换4次再求平均值做为转换结果
//最后结构只取低8位
//结果送数码管的低3位显示

#include//包含单片机内部资源预定义
__CONFIG(0x1832);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90};
//定义常数0-9的数据表格
voidDELAY();//delay函数申明
voidinit();//I/O口初始化函数申明
voiddisplay(intx);//显示函数申明
//------------------------------------------------
//主程序开始
voidmain()
{
intresult=0x00;//定义转换结果寄存器
while(1)//死循环
{
inti;//定义循环次数控制寄存器
result=0x00;//转换结果清0
for(i=5;i>0;i--)//求5次转换结果的平均值
{
init();//调用初始化函数
ADGO=0X1;//开启转换过程
while(ADGO);//等待转换完成
result=result+ADRESL;//累计转换结果
}
result=result/5;//求5次结果的平均值
display(result);//调用显示函数
}
}
//-----------------------------------------------
//初始化函数
voidinit()
{
PORTA=0XFF;
PORTD=0XFF;//熄灭所有显示
TRISA=0X1;//设置RA0为输入,其他为输出
TRISD=0X00;//设置D口全为输出
ADCON1=0X8E;//转换结果左对齐,RA0做模拟输入口,其它做普通I/O
ADCON0=0X41;//系统时钟Fosc/8,选择RA0通道,允许ADC工作
DELAY();//保证采样延时
}
//-----------------------------------------------
//显示函数
voiddisplay(intx)
{
intbai,shi,ge,temp;//定义4个临时变量
temp=x;//暂存AD转换的结果
bai=temp/0x64;//求显示的百位
shi=(temp%0x64)/0xa;//求显示的十位
ge=(temp%0x64)%0xa;//求显示的个位
PORTD=TABLE[bai];//查表得百位显示的代码
PORTA=0x37;//RA3输出低电平,点亮百位显示
DELAY();//延时一定时间,保证显示亮度
PORTD=TABLE[shi];//查表得十位显示的代码
PORTA=0x2F;//RA4输出低电平,点亮十位显示
DELAY();//延时一定时间,保证亮度
PORTD=TABLE[ge];//求个位显示的代码
PORTA=0x1F;//RA5输出低电平,点亮个位显示
DELAY();//延时一定时间,保证亮度
}

//----------------------------------------------
//延时程序
voidDELAY()//延时程序
{
inti;//定义整形变量
for(i=0x100;i--;);//延时
}

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67