原标题:PIC单片机AD转化器编程方法

要使用好ADC模块首先要对ADC模块进行初始化设置,这些设置需要包括以下内容:

1、设置ADC模块端口和数据格式

通过设置控制寄存器ADCON1设置引脚功能为输入信道,参考电压接入方式,通过数字IO引脚和设置转换结果的存放格式。

2、设置ADC模块工作方式

通过控制寄存器ADCON0选中某一条模拟输入信道,设置AD转换时钟源以及开启AD转换功能。

3、如果需要中断功能,应该设置AD中断使能位

清除ADC模块中断标志位ADIF,设置ADC模块中断使能位ADIE=1,设置中断使能位PEIE=1和全局中断使能位GIE=1.

4、等待所需要的采样时间

采样时间大约是10~20us,影响采样时间的主要因素之一是模拟信号源内阻,信号源内阻的最大不得超过10K。

5、将控制位GO/DONE置1,开始AD转换。

6、等待AD转换完成,可以通过以下两种方法之一来判断:

方法一:软件循环查询状态位兼控制位GO/DONE是否硬件自动清零或中断标志位ADIF是否被硬件自动置一。

方法二:等待中断请求。在AD转换完成后,ADIF位被置一,发出中断请求。

7、读取AD转换结果寄存器ADRESH,ADRESL:

如果使用中断标志,需要将ADIF清零。

8、如果需要继续转换,根据实际要求重新从第二步或第三步开始

在转换完成后,下一次采样开始前,需加2T的等待时间约是3.2us(T为AD每位转换时间)。

责任编辑:

pic1路AD转换c语言,PIC单片机AD转化器编程方法相关推荐

  1. pic1路AD转换c语言,pic单片机的ad转换(实例解析)

    描述 AD转换就是模数转换.顾名思义,就是把模拟信号转换成数字信号.主要包括积分型.逐次逼近型.并行比较型/串并行型.Σ-Δ调制型.电容阵列逐次比较型及压频变换型.A/D转换器是用来通过一定的电路将模 ...

  2. 单片机ad显示程序c语言,pic单片机ad转换c程序分享

    A/D转换器是用来通过一定的电路将模拟量转变为数字量.模拟量可以是电压.电流等电信号,也可以是压力.温度.湿度.位移.声音等非电信号.但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各 ...

  3. C语言 int 转单精度浮点,单精度浮点数与十六进制转换 C语言程序 单片机也可用...

    单精度浮点数与十六进制转换 C语言程序 单片机也可用 #include float Hex_To_Decimal(unsigned char *Byte,int num)//十六进制到浮点数 { // ...

  4. pic单片机延时程序C语言,PIC单片机C语言延时程序和循环子程序实现方法

    PIC单片机C语言延时程序和循环子程序实现方法 很多朋友说C中不能精确控制延时时间,不能象汇编那样直观. 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来. 一般的我们都用 for(x=1 ...

  5. pic单片机配置字c语言,PIC单片机配置字说明及使用.pdf

    PIC单片机配置字说明及使用 PIC 单片机器件配置字简介和使用 在PIC系列单片机里,其芯片内部大都有设置一个特殊的程序存储单元,地 址为2007 ,由单片机的用户自由配置,用来定义一些单片机功能电 ...

  6. pic单片机流水灯循环右移c语言,PIC单片机LED流水灯程序

    PIC 单片机 LED流水灯程序 ;************************************************************* include ;*********** ...

  7. pic单片机内部时钟校准c语言,pic单片机时钟配置

    pic单片机时钟配置 已有 1687 次阅读2016-1-2 18:38 |个人分类:发现 还是PIC12F1572,某个io 输出脉冲信号.io置高,置低都是立即数给寄存器,电平竟然要16us才变化 ...

  8. PIC单片机在线串行编程(ICSP)的实现

    ICSP(In-Circuit Serial Programming)即在线串行编程,通过保持RB6和RB7引脚为低电平,VDD 为编程电压,并将MCLR(VPP)引脚电压从VIL增加到VIHH,器件 ...

  9. c51单片机蜂鸣器程序C语言响,单片机蜂鸣器响生日快乐编程程序

    单片机蜂鸣器响生日快乐编程程序 #include #define   uint   unsigned int #define   uchar  unsigned char sbit      spea ...

  10. lcd12864使用c语言pic单片机,PIC单片机+LCD12864显示汉字程序

    #include #define RS RD2 #define CS2 RD1 #define CS1 RD0 #define E RD4 #define RW RD3 #define BUSY RC ...

最新文章

  1. BZOJ 2947 Poi2000 促销 set
  2. C++类型转换(翻译自cplusplus)
  3. leetcode算法题--分隔链表
  4. nginx常用代理配置
  5. 第七章 二叉搜索树(b1)BST:查找
  6. SQL Server遍历表中记录的2种方法
  7. 2018年工业机器人销量排位_长安-2018年11月汽车销量 细分销量
  8. matlab寻找向量最小值,matlab – 在排序向量中快速搜索大于x的最小值
  9. In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column...
  10. (转)MTK_面试的几个主要问题 必看
  11. LINUX SHELL安装deb命令
  12. 判断USB打印机离线状态
  13. 怎么在图片上加水印?
  14. 2022江南大学851计算机初试考研经验分享
  15. python脚本1 - PPT导出为图片(WinLinux)
  16. C语言 从txt文件中提取特定的数据
  17. hutool 获取某月最后一天_Hutool使用指南
  18. Arduino 控制9g舵机
  19. pythonocc 如何把TopoDS_Edge转换成Geom_Curve
  20. XenophonDAO如何使用一颗巧克力的成本摆脱美元霸权,深刻解读$OXPH

热门文章

  1. C语言:简单实现图书管理系统
  2. python小游戏之一
  3. 关于java前端的相关讲解
  4. java怎么反编译_Java入门教程-Java的反编译
  5. 自动化刷EOS资金盘(类Fomo3D)游戏
  6. C语言常用库函数(含详细用法)
  7. 用任何依赖中转服务器的远控软件,打造一款属于自己的远程控制软件(一)
  8. 按键精灵上传账号到服务器_按键精灵云备份上传自己的脚本教程(图文)
  9. 音乐网站搭建源码Sourcecode
  10. 《Java程序设计教程 实验手册》pdf 附下载链接