单片机-11_参考源_第1页
单片机-11_参考源_第2页
单片机-11_参考源_第3页
单片机-11_参考源_第4页
单片机-11_参考源_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、10 .电压基准ADC 和DAC 模块工作都需要一个电压基准。C8051F系列单片机的电压基准电路包括一个片内电压基准源和片外电压基准输入电路。电压基准电路为控制ADC 和DAC 模块工作提供了灵活性。10. 1电压基准(C8051F020/2)有三个电压基准输入引脚,允许每个ADC 和两个DAC 使用外部电压基准或片内电压基准输出。通过配置Vref 模拟开关,ADC0 还可以使用DAC0 的输出作为内部基准,ADC1 可以使用模拟电源电压作为基准。内部电压基准电路由一个1.2V、15ppm/(典型值)的带隙电压基准发生器和一个两倍增益的输出缓冲放大器组成。内部基准电压可以通过VREF 引脚连

2、到应用系统中的外部器件或电压基准输入引脚。建议在VREF 引脚与AGND 之间接入0.1 F 和4.7 F 的旁路电容。REF0CN: 电压基准控制寄存器(见上页)位7-5: 未用。读 = 000b,写 = 忽略。位4: AD0VRS:ADC0 电压基准选择位0:ADC0 电压基准取自VREF0 引脚。1:ADC0 电压基准取自DAC0 输出。位3: AD1VRS:ADC1 电压基准选择位0:ADC1 电压基准取自VREF1 引脚。1:ADC1 电压基准取自AV+。REF0CN: 电压基准控制寄存器位2: TEMPE:温度传感器使能位0:内部温度传感器关闭。1:内部温度传感器工作。位1: BI

3、ASE:ADC/DAC 偏压发生器使能位(使用ADC 和DAC 时该位必须为1)0:内部偏压发生器关闭。1:内部偏压发生器工作。位0: REFBE:内部电压基准缓冲器使能位0:内部电压基准缓冲器关闭。1:内部电压基准缓冲器工作。内部电压基准提供从VREF 引脚输出。REF0CN: 电压基准控制寄存器(见下页)REF0CN 中的BIASE 位使能片内电压基准发生器,而REFBE 位使能驱动VREF引脚的缓冲放大器。当被禁止时,带隙基准和缓冲放大器消耗的电流小于1A(典型值),缓冲放大器的输出进入高阻状态。如果要使用内部带隙基准作为基准电压发生器,则BIASE 和REFBE 位必须被置1。如果不使

4、用内部基准,REFBE 位可以被清0。注意:如果使用ADC 或DAC,则不管电压基准取自片内还是片外,BIASE 位必须被置为逻辑1。如果既不使用ADC 也不使用DAC,则这两位都应被清0以节省功耗。温度传感器接在ADC0 输入多路开关的最后一个输入端。REF0CN 中的TEMPE 位用于使能和禁止温度传感器。当被禁止时,温度传感器为缺省的高阻状态,此时对温度传感器的任何A/D 测量结果都是无意义的。表10.1 电压基准的电气特性10. 2 电压基准(C8051F021/3)内部电压基准电路由一个1.2V、15ppm/(典型值)的带隙电压基准发生器和一个两倍增益的输出缓冲放大器组成。内部基准电

5、压可以通过VREF 引脚连到应用系统中的外部器件或VREFA 输入引脚。注意:只有一个输入引脚。建议在VREF 引脚与AGND 之间接入0.1 F 和4.7 F 的旁路电容。VREFA 引脚只为ADC0 和ADC1 提供电压基准输入。通过配置VREF 模拟开关,ADC0 还可以使用DAC0 的输出作为内部基准。ADC1 可以通过VREF 多路开关使用模拟电源电压作为基准。REF0CN: 电压基准控制寄存器表10.2 电压基准的电气特性例:DAC输出阶梯波,写DAC0H时,更新DAC0/-/DAC0转换程序/-/-/INCLUDES/-#include /-/C8051F020的16位SFR定义

6、/-sfr16 DAC0 = 0 xd2; /DAC0数据寄存器/-#define UP 0 x010#define T 1000void dlms (int count); /延时程序说明void config (void); /配置程序说明/-/主程序/-void main (void) int i; config(); for (i=0;i=4095;i+Up) /形成阶梯波 DAC0 = i; /送数字量到DAC0直接更新输出 dlms(T); /-/延时程序/-void dlms(int count) int j; while(count- != 0) for (j=0;j100;j

7、+); /-/配置程序/-void config (void) int n;/-/配置看门狗/- WDTCN = 0 x07; /看门狗控制寄存器 WDTCN = 0 xDE; /禁止看门狗 WDTCN = 0 xAD;/-/配置振荡器/- OSCXCN = 0 x67; /外部晶振,11.0592M for (n=0;n255;n+); /等待外部晶振启动 while (OSCXCN & 0 x80) = 0); /等待外部晶振稳定 OSCICN = 0 x88; /选择外部时钟源,允许是中丢失检测/-/配置内部参考源/- REF0CN = 0 x 02; /内部参考源工作/-/配置

8、DAC0/- DAC0CN = 0 x80; /使能DAC0,写DAC0H更新,数据右对齐 DAC0L = 0 x00; /DAC0数据寄存器初值 DAC0H = 0 x00;OSCXCN:外部振荡器控制寄存器:外部振荡器控制寄存器位位7: XTLVLD:晶体振荡器有效标志:晶体振荡器有效标志(只在(只在XOSCMD11x 时有效)时有效)0:晶体振荡器未用或未稳定。:晶体振荡器未用或未稳定。1:晶体振荡器正在运行并且工作稳定。:晶体振荡器正在运行并且工作稳定。位位6-4: XOSCMD2-0:外部振荡器方式位:外部振荡器方式位00 x:关闭。:关闭。XTAL1 引脚内部接地。引脚内部接地。0

9、10:系统时钟为来自:系统时钟为来自XTAL1 引脚的外部引脚的外部CMOS 时钟。时钟。011:系统时钟为来自:系统时钟为来自XTAL1 引脚的外部引脚的外部CMOS 时钟的二分时钟的二分频。频。10 x:RC/C 振荡器方式二分频。振荡器方式二分频。110:晶体振荡器方式。:晶体振荡器方式。111:晶体振荡器方式二分频。:晶体振荡器方式二分频。位位3: 保留。读保留。读 = 无定义,写无定义,写 = 忽略。忽略。位位2-0: XFCN2-0:外部振荡器频率控制位。:外部振荡器频率控制位。000-111:见下表:见下表OSCICN:内部振荡器控制寄存器位位7: MSCLKE:时钟丢失检测器使

10、能位:时钟丢失检测器使能位0:禁止时钟丢失检测器。:禁止时钟丢失检测器。 1:使能时钟丢失检测器;:使能时钟丢失检测器;位位4: IFRDY:内部振荡器频率准备好标志:内部振荡器频率准备好标志0:内部振荡器频率不是按:内部振荡器频率不是按IFCN 位指定的速度运行。位指定的速度运行。1:内部振荡器频率按照:内部振荡器频率按照IFCN 位指定的速度运行。位指定的速度运行。位位3: CLKSL:系统时钟源选择位:系统时钟源选择位0:选择内部振荡器作为系统时钟。:选择内部振荡器作为系统时钟。 1:选择外部振荡器作为系统时钟。:选择外部振荡器作为系统时钟。位位2: IOSCEN:内部振荡器使能位:内部振荡器使能位0:内部振荡器禁止。:内部振荡器禁止。 1:内部振荡器使能。:内部振荡器使能。位位1-0: IFCN1-0:内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论