登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
51单片机论坛
›
C8051F020中的ADC应用要素
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版
C8051F020中的ADC应用要素
[复制链接]
6088
2
ad***
管理员
发表于 2012-9-3 01:33:21
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
C8051F020 (简称F020)是美国德州Cygnal公司推出的一种混合信号SOC型8位
单片机
。它属于C8051F系
列中的F02x子系列。其性能价格比在目前应用领域极具竞争力。F020具有8路12位A/D转换(简称ADC)接
口和8路8位在线可编程(ISP)的ADC电路,片上的特殊功能寄存器(简称SFR)有15个与ADC的控制相关
,它们是:
AMUX0SL——AMUX0通道选择寄存器,复位值为00000000;
MAX0CF——AMUX0配置寄存器,复位值为00000000;
ADC0CF——ADC0配置寄存器,复位值为11111000;
ADC0CN——ADC0控制寄存器,复位值为00000000;
ADC0H——ADC0数据字MSB寄存器,复位值为00000000;
ADC0L——ADC0数据字LSB寄存器,复位值为00000000;
ADC0GTH——ADC0下限数据高字节寄存器,复位值为11111111;
ADC0GTL——ADC0下限数据低字节寄存器,复位值为11111111;
ADC0LTH——ADC0上限数据高字节寄存器,复位值为00000000;
ADC0LTL——ADC0上限数据低字节寄存器,复位值为00000000;
AMX1SL——AMUX1通道选择寄存器,复位值为00000000;
ADC1CN——ADC1控制寄存器,复位值为00000000;
ADC1CF——ADC1配置寄存器,复位值为11111000;
ADC1——ADC1数据字寄存器,复位值为00000000;
REF0CN——基准电压控制寄存器,复位值为00000000。
ADC是混合信号控制器的重要功能,如欲在应用编程中得心应手,就必须对其相关的要素有较清晰的整体
认识。
1 ADC的精度与通道
F020采用TQFP100封装,芯片引脚有8个(引脚18~25)专用于模拟输入,是8 路12位ADC的输入端。每路
12位的转换精度都是其自身的±1LSB(最低位)。实际上,对于12位逐次逼近寄存器型(SAR)ADC只有1
个,在它与各输入端之间有1个具有9通道输入的多路选择开关(可配置模拟多路开关AMUX)。AMUX的第9
通道连接温度传感器。在F020中,12位ADC称为 ADC0,另有8路8位在系统可编程(ISP)的ADC电路称为
ADC1。其8个外接引脚与P1口复用,片内结构与ADC0相近,只是转换的位数为8位,转换精度为8位的±
1LSB。
ADC0端口的每一对均可用编程设置成为分别地单端输入或差分输入。差分输入时的端口配对为0-1、2-3
、4-5、6-7,此设置由通道选择寄存器AMUX0SL的低4位和通道配置寄存器AMUX0CF的低4位确定。在
AMX0CF中,位 3~0各对应2个引脚通道。位值=0,表示是独立的单端输入(复位值均为单端输入);位
值=1,表示是差分输入对。对应AMX0CF选差分输入时, AMUX0SL中只有在选双数(含0)通道时才有效(
注:AMUX0SL低4位为1xxx时,不论AMX0CF低4位为何值,均选温度传感器)。
将REF0CN的位3置“1”时,允许使用温度传感器;置“0”时,温度传感器的输出为高阻态。温度传感器
的值可用于修正参数的非线性或记录、调整与温度相关的数据。
[NextPage]
2 ADC的速率与启动
C8051F系列单片机中ADC的速率都是可用编程设置的,但最少要用16个系统时钟。一般在转换之前还自动
加上3个系统时钟的跟踪/保持捕获时间(>1.5μs)。设置F020内ADC速率的方法是通过配置寄存器
ADCxCF(x为0或1)的位7~3来进行的,其复位值为11111(位7~3=SYSCLK/CLK SAR-1)。
一般在启动ADC之前都要处于跟踪方式,控制寄存器ADCxCN的位6如果为“0”,则一直处于跟踪方式(此
时启动4种启动方式都可比跟踪启动快3个系统时钟);如为“1”,则有4种跟踪启动方式可选择,即对
ADCxCN中的位3~2赋值: 00为向ADBUSY写1时跟踪(软件命令);01为定时器3溢出跟踪;10为CNVSTR上
升沿跟踪(外部信号);11为定时器2溢出跟踪。
复位时,ADCxCN的位7为0,处于关断状态。每次转换结束时,ADCxCN的位5为“1”,位4(忙标志)的下
降沿触发结构中断,也可用软件查询这些状态位。
3 ADC的基准与增益
F020的片内有1个1.2V、15×10 -6/℃的带隙电压基准发生器和1个两倍增益的输出缓冲器。2.4V的基准
电压(VREF)可通过外引脚分别接入ADC0、ADC1和DAC中。VREF对外带载能力为200μA(建议在驱动外部
负载时,对地接1个负载电阻)。ADC使用偏置时,必须将参考源控制寄存器REFcCN中的位1置“1”;如
果“0”,则关闭内部偏压,此时可通过VREF引脚(引脚12)使用外部基准电压,外部基准电压必须小于
VAV±0.3V(还要大于1V)。不用ADC,也不用DAC时,可将 REFxCN的位0置“0”,使缓冲放大器处于省
电方式(输出为高阻态)。
设置REF0CN的位4为“0”时,ADC0用VREF偏置,为“1”时,用DAC0输出偏置;设置REF0CN的位3为“0”
时,ADC1用VREF偏置,为“1”时,用AV+偏置。
在F020的ADC电路中,输入多路选择开关AMUX后面都带有1个可用编程设置增益的内部放大器(PGA)。当
各模拟通道之间输入的电压信号范围差距较大时,或需要放大一个具有较大直流偏移的信号时(在差分
输入方式,DAC可用于提供直流偏移)显得尤为有用。设置的方式是配置ADCxCF中的位2~0(000对应PGA
的增益为1;001对应为2;010对应为4;011对应为8;10x对应为16、11x对应为0.5)。这里的增益对温
度传感器信号也起作用。当增益为1时,VTEMP=0.002 86(V/℃)(TEMPC) ℃+0.776V。
4 ADC的数据与控制
对应单端输入,ADC结果数据字格式为:0V——0000,VREF——0FFF或FFF0。
对应差分输入,ADC结果数据字格式为2的补码:VREF——07FF,0——0000,-VREF——F800或8000。
将ADCxCN的位0置“0”可使结果右对齐;置“1”可使结果左对齐。当差分输入时,右对齐产生的多余高
位是符号扩展位。
C8051F系列单片机内还设有数据相关窗口中断发生器或称可编程窗口检测器,也叫ADC 上(下)限数据
寄存器ADC0G(L)TH(L),用后台方式监视一个关键电压。当转换数据位于规定的窗口之内(或之外)
时,向控制器申请转换结束中断。要求在窗口之内中断时,上限寄存器LT装入高位窗口数,下限寄存器
GT装入低位窗口数;若要求在窗口之外中断时,则在下限寄存器GT中装入高位窗口数,在上限寄存器LT
中装入下限窗口数。
复位时,ADC部分的状态为:内部电压基准缓冲器关闭、内部偏压关闭、内部传感器关闭、 ADC禁止、转
换结果数据寄存器右对齐、12位的端口均为单端输入、端口指向AIN0、SAR转换33个系统时钟、内部放大
器增益为1、下限数据寄存器为 FFFFH、上限数据寄存器为0000H。
[NextPage]
综合F020中与ADC相关的各要素,要想正确应用ADC功能,应按下列顺序编程:设置参考电压>设置允许
ADC>设置跟踪(启动)方式>设定数据对齐>配置通道>选择通道>设置转换时钟和增益>设定窗口检测上、
下限>启动转换。操作SFR的顺序(以12位为例)为:REF0CH>ADC0CN>AMX0C>
AMUX0SL>ADC0CF>ADC0GTH>ADC0GTL>
ADC0LTH>ADC0LTL>ADC0CN或其它启动方式。
单片机
,
竞争力
,
德州
,
接口
相关帖子
怎么可以使51单片机和STC11系列的程序兼容呢
云龙51单片机视频教程,目前国内公认的最好的入门视频教程
求助!TX-1C开发板51串行中断 if 语句无法执行问题(看起来很简单,但不知为何总调不过去
求助
关于51单片机处理串口所接收到的数据的判断
国产单片机推荐:无锡矽杰微电子XC8P8600
51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)
51单片机(STC8H8K64U/STC8051U34K64)_RA8889_8080参考代码(v1.3)
51单片机(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4参考代码(v1.3) 硬件SPI方式
单片机驱动彩屏最简方案:单片机_RA8889最小开发板驱动控制TFT彩屏介绍(一)
举报
回复
2 个评论
ah***
银牌会员
发表于 2012-9-10 16:53:12
|
显示全部楼层
{:e179:}{:e179:}
举报
回复
支持
反对
圈***
新手上路
发表于 2012-9-27 17:30:45
|
显示全部楼层
{:soso_e179:} 学习啦
举报
回复
支持
反对
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
数显驱动器原厂-数显LED显示驱动芯片VK1620
VK1620B是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、 数据锁
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
产品品牌:永嘉微电/VINKA 产品型号:VK1618 封装形式:SOP18/DIP18 概述 VK161
更多
精华推荐
抗干扰LED数码管显示屏驱动芯片/3线串行接
抗干扰能力强/点阵数显LED屏驱动/数码管驱
可支持14×4的点阵LED显示面板数码管LED驱
数显驱动器原厂-数显LED显示驱动芯片VK1620
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
VK1616 SOP16/DIP16点阵LED数显驱动芯片/数
点阵数显驱动芯片/LED数码管显示屏驱动VK16
数显驱动电路LED显示驱动芯片VK1650 SOP16/
更多
社区学堂
抗干扰LED数码管显示屏驱动芯片/3线串
抗干扰能力强/点阵数显LED屏驱动/数码
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表