STC 单片机ADC实现原理
- 模数转换器原理
数模转换器( analog to digitI converter,ADC),简称为A/D,ADC是链接模拟世界和数字世界的桥梁。它用于将连续的模拟信号转换为数字形式离散信号。典型的,ADC将模拟信号转换为与电压值成比例表示的数字离散信号,对于不同厂商所提供的ADC,其输出的数字信号可能使用不同的编码格式
注:有一些模叔数字转换器并非纯的电子设备,如旋转编码器,也可看作是模拟数字转换器
- ADC的一些参数
分辨率、响应类型、误差和采样率
1)分辨率
在模拟数字转换器中,分辨率是指对于所允许输入的模拟信号范围,它能输出离散数字信号值的个数。这些输出的信号值通用二进制数来表示,如图22.1所示,因此,分辨率经常用比特作为单位,且这些离散值的个数是2的幂次方。例如,一个具有8位分辨率的模拟数字转换器可以将模拟信号编码成256个不同的离散值(离散梯度),其范围可以是0~255(即无符号整数)或从-128~127(即带符号整数),至于使用哪一种编码格式,则取决所选用的ADC器件。
分辨率也可以用电气性质来描述,如使用伏特(V),使得输出离散信号产生一个变化所需的最小输入电压的差值被称作最低有效位( least significant bit,LSB电压。这样,模数字转换器的分辨率(Q)等于LSB电压。模拟数字转换器的电压分辨率由下面等式确定子式中,VRefHi和VRefLOw一是转换过程允许输入到ADC的电压上限和下限值;N是模拟数字
Q=( VRefHi - VRefLOw)/2N
如果输入电压的变化小于Q值,则ADC无法分辨出电压的变化,这样,就带量化误差,N值越大,即ADC输出数字量的位数越多,则Q越小,可分辨的电压变化欲小,分辨能力就越强,量化导致的误差就越小
2)响应类型
大多数模拟数字转换器的响应类型为线性,这里的线性是指输出信号的值与输入信号的值成线性比,一些早期的转换的响应类型呈对数关系,ADC器件可表示数字量的范围内,中间部分线性度较好,而两端线性度较差
3)误差
模拟数字转换器的误差有若干种来源。量化误差和非线性误差是任何模拟数字转换中存在的内在误差
3)采样率
模拟信号在时域上是连续的,可以将它转换为时间上连续的一系列数字信号。因此,要R定义一个参数来表示获取模拟信号上每个值并表示成数字信号的速度。通常将这个参数称为ADC的采样率或采样航率
- 模数转换器的类型(以后自己了解了在上图分析)
Flash ADC
逐次逼近寄存器型ADC
积分型ADC
数字跃迁型ADC
- STC单片机内ADC的结构

STC单片机的ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器 ADC RES和 ADC RESI以及ADC控制寄存器ADC_ CONTR构成
通过设置ADC控制寄存器ADC_ CONTR中的 SPEED1和 SPEEDO比特位,该ADC模块的最高采样速率可以达到300kHz,即30万次采样/s(30ksps,30 k sample per second)。
该ADC是典型的SAR结构,这种结果是一种典型的闭环反馈系统。在该ADC的前端提供了一个8通道的模拟多路复用开关,在ADC控制寄存器 ADC CONTR内的CHS2CS比特位的控制下,将ADC=ADC7的模拟信号多路复用到比较器
该结构的ADC包含一个比较器和DAC,通过逐次比较逻辑,从最高有效位MSB开始,顺序地对每一个输入电压与内置DAC输出进行比较。经过多次比较后,使其转换得到的数字量逼近输入模拟信号所对应的数字量的值。将最终得到的数字量保存在ADC转换结果寄存器 ADC _RES和 ADC _RESL中.同时,将ADC控制寄存器 ADC_CONTR中的转换结束标志 ADC_ FLAG置1,以供程序查询或者向CPU发出中断请求.
- ADC装换结果的计算方式

- P1模拟功能控制寄存器

STC单片机的8路模拟信号的输入端口设置在P1端口的8个引脚上,即P1.0~P.7.当上电复位后,P1口设置为弱上拉I0口,用户可以通过软件将8个引脚上的任何一个设置为ADC模拟输入,没有设置为ADC模拟输人的引脚可以作为普通I/O使用。
7.ADC控制寄存器

1) ADC_POWER
ADC电源控制位。当该位为0时,关闭ADC电源;当该位为1时,打开ADC电源
2)SPEED1 与SPEED0 数模速度转换控制位
3)ADC_FLAG
ADC转换结束标志位。当ADC转换结束时,有硬件将该位置1,需要软件清0
4)ADC_START
ADC 转换启动位,1是ADC开始启动转换
5)CHS0 CSH1 CHS2模拟输入通道位
控制哪一个引脚作为模拟输入 。
8.中断有关的寄存器
IE地址0xA8 其中的B5 ,为EADC,当该位是1 是,允许ADC 中断
IP优先级控制器0xB8 ,其中的B5位 PADC ,为1 是最高级中断级别,0 最低级中断级别。
STC 单片机ADC实现原理的更多相关文章
- 单片机成长之路(51基础篇) - 002 STC单片机冷启动和复位有什么区别
STC单片机简介 STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等.还支持I ...
- STC单片机串口输出ADXL335角度值
STC单片机串口输出ADXL335角度值: //***************************************************** //名称:单片机串口输出ADXL335角度值 ...
- STC单片机控制28BYJ-48步进电机
STC单片机4*4按键控制步进电机旋转 28BYJ-48型步进电机说明 四相永磁式的含义 28BYJ-48工作原理 让电机转起来 最简单的电机转动程序 电机转速缓慢的原因分析 便于控制转过圈数的改进程 ...
- 【CC2530入门教程-06】CC2530的ADC工作原理与应用
第6课 CC2530的ADC工作原理与应用 广东职业技术学院 欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...
- STC单片机 IAP(EEPROM)的使用
STC89C51.52内部都自带有2K字节的EEPROM,54.55和58都自带有16K字节的EEPROM,STC单片机是利用IAP技术实现的EEPROM,内部Flash擦写次数可达100,000 次 ...
- STC单片机Flash做EEPROM的代码
STC官方给出的建议: /***************************************************************Author:Liming*** * @brie ...
- 单片机ADC检测4-20mA电路,以及计算方法
单片机ADC检测4-20mA电路,以及计算方法 转载:https://www.hongchangzidonghua.com/?id=24 1,手里有一个4-20mA输出的压力传感器,假设测量范围是0M ...
- 探索ADC的原理(自制3位并行比较型ADC)
摘要 本文通过列举历史中出现的产品,梳理了模数转换器在20世纪30年代~~20世纪80年代末的发展历史.接下来,简要介绍模数转换器的原理.技术指标.分类和未来发展方向.最后,提供了一种自制3位FLAS ...
- STC单片机掉电断电失电瞬间EEPROM数据保存处理办法(转)
由于客户在请人设计开发一设备,但是设备用户处总停电,造成设备及其周边耗材损耗严重,因此请我司在现有STC为主要芯片的基础上做掉电瞬间EEPROM里的20个参数保存,上电后通过读取EEPROM中的参数回 ...
随机推荐
- 如何导出SHP文件中的点坐标?(ArcGIS10)
行政区域坐标,网上流传较广的版本是包括海域的,假如你仅仅想要把陆地边界绘出,那么怎么办呢? 现在讲一下用arcgis 10从shp线.面文件中获取对应区域的坐标呢?(点图层忽略第一步) 首先用在arc ...
- Java中的集合框架-Collection(一)
一,Collection接口 在日常的开发工作中,我们经常使用数组,但是数组是有很多的局限性的,比如:数组大小固定后不可修改,只能存储基本类型的值等等. 基于数组的这些局限性,Java框架就产生了用于 ...
- leyer不写content参数直接传递给子页面数据
function btnAddClickownfund(){ //获取数据 var actual = $("#actual_capitals").html().trim(); // ...
- javascript 异步操作,串形执行,并行执行
单线程模型 单线程模型指的是,JavaScript 只在一个线程上运行.也就是说,JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待. 注意,JavaScript 只在一个线程上 ...
- 【2017 ICPC亚洲区域赛北京站 J】Pangu and Stones(区间dp)
In Chinese mythology, Pangu is the first living being and the creator of the sky and the earth. He w ...
- RedirectAttributes 之 IE8请求跳转失败
1.时间真快,一晃又快冬天了,下了第一场雪.雪花漫漫,堵车悠悠. 2.这次遇到这样一个问题,就是RedirectAttributes传递数据参数,如果参数数据过大,在IE8浏览器时候会跳转不过去.其实 ...
- TP框架图片压缩/上传
<-- 在前端的代码 --><form action="{:url('index/user/personal')}" method="post" ...
- linux用户及文件管理
帮助命令 whatis 命令 #显示命令的简短功能 man 命令 #查看手册页和命令描述 命令--help #适用于外部命令 help 命令 #适用于内部命令 type 命令 ...
- linux-2.6.22.6内核启动分析之head.S引导段代码
学习目标: 了解arch/arm/kernel/head.S作为内核启动的第一个文件所实现的功能! 前面通过对内核Makefile的分析,可以知道arch/arm/kernel/head.S是内核启动 ...
- kaggle之数据分析从业者用户画像分析
数据为kaggle社区发布的数据分析从业者问卷调查分析报告,其中涵盖了关于该行业不同维度的问题及调查结果.本文的目的为提取有用的数据,进行描述性展示.帮助新从业的人员更全方位地了解这个行业. 参考学习 ...