单片机之AD学习笔记

发布者:春水碧于天最新更新时间:2015-09-30 来源: eefocus关键字:单片机  AD学习笔记 手机看文章 扫描二维码
随时随地手机看文章
最近调试了几个单片机的AD转换模块,碰到了一些问题,总结了一下

AD转换就是选通道、比较电压、要采集电压的端口设置为模拟端口 

1、选择参考电压源

2、选择AD转换时钟

3、要采集电压的端口设置为模拟端口

4、选择要采样的模拟通道

5、使能AD模块

PIC24FJ

开始看此部分是调试电池电量的时候,是由于电池电量显示不准确,debug模式下,看ad采集到的电压被转换成的数据,发现寄存器ADC1BUF中的数据只有关开机是正确的,以后的值都是不对的好像大多数的值是零,后来发现是由于在主循环中的某个模块又把原来配置为模拟输入端口引脚还原成了普通的I/O口了(就是AD1PCFGbits.PCFG0先被配置为0后又被置1,我用的是通道0)。

 

A/D代码初始化实例 

AD1PCFG = 0; // 配置ad端口,配置所有端口为模拟端口,要是作为普通io使用必须置1
AD1CON1 = 0x2208; // 配置采样时钟源
AD1CON2 = 0; // 配置A/D 比较电压,转换在每个采样结束后开始
AD1CON3 = 0; // 配置 A/D 转换时钟 是 Tcy/2
AD1CHS = 0; // 配置输入通道,CH0+ 输入 AN0,CH0- 输入 Vr- (AVss).
AD1CSSL = 0; // 输入扫描被禁止
IFS0bits.AD1IF = 0; // 清中断


IPC3bits.AD1IP2 = 1;
IPC3bits.AD1IP1 = 1;

IPC3bits.AD1IP0 = 0; // 配置 A/D 中断优先级


IEC0bits.AD1IE = 1; // 使能 A/D 中断
AD1CON1bits.ADON = 1; // 打开 A/D
AD1CON1bits.SAMP = 1; // 开始采样输入
Delay(); //延时,确保开始转换时,采样的时间已结束
AD1CON1bits.SAMP = 0; // A/D采样结束,开始转换

中断
void __attribute__ ((__interrupt__)) _ADC1Interrupt(void)
{
IFS0bits.AD1IF = 0;
}
在pic的数据手册中有比较详细的例程,值得参考

 

MSP430 

这个单片机的比较电压可以选择内部或外部的

 

问题:AD转换,单通道单次转化和单通道多次转换有什么区别

单次转换是指进行一次转换前需要你给一次指令。
连续转换的话开启后自动连续进行转换,转换的数据连续进行更新。
如果你采用单次转换,就需要不断发送转换的命令,读取结果,再发转换命令,再读。就是循环啦。
如果连续转换开启的话,就在程序中循环读就可以了。

STM32

在采集电池电压时遇到了问题,3.9v到4.2v的电压得到的ad转换的电压值的寄存器存储的电压值正常,3.9v以下的值不正确,发现是Vref+输入的比较电压不稳定造成的。

关键字:单片机  AD学习笔记 引用地址:单片机之AD学习笔记

上一篇:Nuvoton单片机调试
下一篇:软件抗干扰笔记

推荐阅读最新更新时间:2024-03-16 14:33

单片机微波炉控制系统
单片机源程序如下: Wendu.h (头文件) #define jump_ROM 0xCC//ds18B20定义 #define start 0x44 #define read_EEROM 0xBE void delay(unsigned int N); void delay_1(); unsigned char Reset(void);//复位DS18B20 unsigned char read_bit(void);//从DS18B20读一个位值 void write_bit(unsigned char bitval);//向DS18B20写一位 unsigned char read_byte(void);//从DS18B20
[单片机]
<font color='red'>单片机</font>微波炉控制系统
单片机实验----控制数码管的动态显示
本次实验任务如下: 一、动态显示与静态显示的比较 1.什么是动态显示 驱动电路可以使数码管正常显示数据,数码管的驱动方式有两种:动态显示驱动和静态显示驱动。 动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起。 另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。 当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制。 2.什么是静态显示 静态显示驱动静态驱动也称直流驱动。 静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动。 3.优缺点对比 二、
[单片机]
<font color='red'>单片机</font>实验----控制数码管的动态显示
单片机 定时器/计数器
一、什么是定时器/计数器 在51单片机中,定时器/计数器是用来实现定时功能,并且具有计数的功能,来实现对外部信号的计数。 二、定时器/计数器有什么类型 在51单片机中,分为软件定时器,不可编程硬件定时器,可编程定时器。 软件定时:CPU每执行一条指令时,是需要固定时间的,所以,通过执行空指令可以达到延时的效果,这样子做的代价是占用CPU时间,所以一般很少这么做。 不可编程硬件定时器:是由电路和硬件来完成定时功能的,一般采用基电路,外接定时部件(电阻和电容),通过改变电阻的阻值和电容的电容值来修改定时值,一量确定后件不能通过软件修改,这样子做的优点是不需要占用CPU时间。 可编程定时器:通软件来确定定时值及其范围,可编程定时器功能强
[单片机]
<font color='red'>单片机</font> 定时器/计数器
单片机双路可编程温度控制系统
【简要说明】 一、尺寸:长72mmX宽99mmX高20mm 二、 主要芯片:单片机、DS18B20、数码管 三、 工作电压:输入电压小于12V,另有24V 可选。功耗小于2W 四、 特点:1、具有输出电压指示灯。 2、输出具有指示灯。 3、采用螺旋压接端子。 4、强大的滤波电路。 5、具有四位数码管显示,可以显示小数点。 6、具有系统复位功能 7、具有完善的保护电路:电流限制、热关断电路、电源防接反功能、续流保护、光耦隔离等 8、可接两个DS18B20传感器 9、两路继电器独立工作控制 10、可以自由编程,提供参考程序
[单片机]
<font color='red'>单片机</font>双路可编程温度控制系统
单片机和PC机串口通讯试验
51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所
[单片机]
<font color='red'>单片机</font>和PC机串口通讯试验
单片机复位电路
单片机复位电路, 以下是推荐用的几种典型复位电路, 其中图三图四都可作为延时复位电路。在待机状态下由于其它电路干扰引起的死机,可以在芯片没有播放语音时切断芯片电源,参考电路图如下
[模拟电子]
<font color='red'>单片机</font>复位电路
单片机电路设计建议
立题简介: 内容:介绍单片机基本电路构成; 来源:综合实际使用得出; 作用:统一总结单片机设计时所需电路,避免遗漏; PCB环境:Altium Designer、PADS; 日期:2018-03-06; =====================分割线======================== 立题详解: 在之前介绍过“STM32”和“STM8”单片机,对单片机入门而言,多是从“89C51”开始;“89C51”无愧是“经典级单片机”,在数十年前,微控制器技术并不发达,8bit单片机普及率很低,而“89C51”凭借价格、性能逐步占领市场,即使到了今天,“89C51”仍应用于很多场合;譬如现在“校园外”所设计的“自动门”,其“控
[单片机]
MCU巨头,血拼GPU性能
曾经,MCU是电子产品的控制核心,GPU是图像世界的掌控者,二者在过去很少有交集。随着越来越多图形处理需求,MCU中放GPU,已经不是什么新鲜操作。 最近一段时间,边缘AI概念的兴起,以及汽车图形显示性能的提升,越来越多的MCU厂商开始“卷”图像处理性能。 MCU的图形历史 在那个没有GPU的时代,所有图形还都是交给CPU绘制。虽然这没什么问题,但随着显示图形图像愈发复杂,CPU越来越力不从心。对计算机来说,低效率带来的就是延迟和卡顿,整体功耗也会随之攀升,GPU便应运而生,将CPU从繁重的图形计算任务中拯救了出来。 MCU也有类似的发展历程。早期MCU极少有图形显示的需求,即便有,也只是简单的12864之类
[单片机]
<font color='red'>MCU</font>巨头,血拼GPU性能
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved