pic1路AD转换c语言,PIC单片机AD转化器编程方法
原标题: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转化器编程方法相关推荐
- pic1路AD转换c语言,pic单片机的ad转换(实例解析)
描述 AD转换就是模数转换.顾名思义,就是把模拟信号转换成数字信号.主要包括积分型.逐次逼近型.并行比较型/串并行型.Σ-Δ调制型.电容阵列逐次比较型及压频变换型.A/D转换器是用来通过一定的电路将模 ...
- 单片机ad显示程序c语言,pic单片机ad转换c程序分享
A/D转换器是用来通过一定的电路将模拟量转变为数字量.模拟量可以是电压.电流等电信号,也可以是压力.温度.湿度.位移.声音等非电信号.但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各 ...
- C语言 int 转单精度浮点,单精度浮点数与十六进制转换 C语言程序 单片机也可用...
单精度浮点数与十六进制转换 C语言程序 单片机也可用 #include float Hex_To_Decimal(unsigned char *Byte,int num)//十六进制到浮点数 { // ...
- pic单片机延时程序C语言,PIC单片机C语言延时程序和循环子程序实现方法
PIC单片机C语言延时程序和循环子程序实现方法 很多朋友说C中不能精确控制延时时间,不能象汇编那样直观. 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来. 一般的我们都用 for(x=1 ...
- pic单片机配置字c语言,PIC单片机配置字说明及使用.pdf
PIC单片机配置字说明及使用 PIC 单片机器件配置字简介和使用 在PIC系列单片机里,其芯片内部大都有设置一个特殊的程序存储单元,地 址为2007 ,由单片机的用户自由配置,用来定义一些单片机功能电 ...
- pic单片机流水灯循环右移c语言,PIC单片机LED流水灯程序
PIC 单片机 LED流水灯程序 ;************************************************************* include ;*********** ...
- pic单片机内部时钟校准c语言,pic单片机时钟配置
pic单片机时钟配置 已有 1687 次阅读2016-1-2 18:38 |个人分类:发现 还是PIC12F1572,某个io 输出脉冲信号.io置高,置低都是立即数给寄存器,电平竟然要16us才变化 ...
- PIC单片机在线串行编程(ICSP)的实现
ICSP(In-Circuit Serial Programming)即在线串行编程,通过保持RB6和RB7引脚为低电平,VDD 为编程电压,并将MCLR(VPP)引脚电压从VIL增加到VIHH,器件 ...
- c51单片机蜂鸣器程序C语言响,单片机蜂鸣器响生日快乐编程程序
单片机蜂鸣器响生日快乐编程程序 #include #define uint unsigned int #define uchar unsigned char sbit spea ...
- lcd12864使用c语言pic单片机,PIC单片机+LCD12864显示汉字程序
#include #define RS RD2 #define CS2 RD1 #define CS1 RD0 #define E RD4 #define RW RD3 #define BUSY RC ...
最新文章
- BZOJ 2947 Poi2000 促销 set
- C++类型转换(翻译自cplusplus)
- leetcode算法题--分隔链表
- nginx常用代理配置
- 第七章 二叉搜索树(b1)BST:查找
- SQL Server遍历表中记录的2种方法
- 2018年工业机器人销量排位_长安-2018年11月汽车销量 细分销量
- matlab寻找向量最小值,matlab – 在排序向量中快速搜索大于x的最小值
- In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column...
- (转)MTK_面试的几个主要问题 必看
- LINUX SHELL安装deb命令
- 判断USB打印机离线状态
- 怎么在图片上加水印?
- 2022江南大学851计算机初试考研经验分享
- python脚本1 - PPT导出为图片(WinLinux)
- C语言 从txt文件中提取特定的数据
- hutool 获取某月最后一天_Hutool使用指南
- Arduino 控制9g舵机
- pythonocc 如何把TopoDS_Edge转换成Geom_Curve
- XenophonDAO如何使用一颗巧克力的成本摆脱美元霸权,深刻解读$OXPH