- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADuC831,电子系统设计——AD-DA-PWM
电子设计专题——单片机原理与接口技术 7、ADμC831片内系统资源37.1 片内模数转换器ADC7.2 片内数模转换器DAC7.3 脉冲宽度调制器PWM 7.1 片内模数转换器ADC AD?C831 ADC模块包括一个8通道单电源12位逐次逼近型模数转换器、采样/保持器、2.5V精密电压基准源和自校准电路。ADC提供单次、定时、连续和DMA四种转换方式。 ADC的所有功能都是通过ADCCON1、ADCCON2、ADCCON3三个特殊功能寄存器来控制。 7.1.1、ADC参考电压VREF ADC的参考电压的大小决定了模拟输入电压的范围和最小分辨的模拟电压。 AD?C831片内集成了2.5V精密电压基准源。ADC模块可以使用片内电压基准源,也可以使用片外基准源。但片外基准电压必须大于1V,小于模拟电源电压AVDD。 AD?C831实验系统中ADC采用片内2.5V基准电压,因此ADC的模拟电压输入范围为0?2.5V。 7.1.2、ADC模拟输入 P1.0~P1.7是AD?C831八路模拟输入端,即AIN0~AIN7。P1端口作为模拟输入端口使用时必须设置为“1”,作为数字输入端口使用时设置为“0”。 P1端口作为模拟输入端时,最大的模拟输入电压范围为0~AVDD。但有效的模拟输入电压范围是0~VREF,输入电压大于VREFADC转换结果都是0FFFH。 模拟输入等效电路 7.1.3、ADC转换传递函数 AD?C831的ADC是12位逐次逼近型模数转换器,转换结果是12位二进制代码。转换代码的变化设置在相邻代码中间的位置,即1/2LSB、3/2LSB、…。1LSB=VREF/212=VREF/4096。在2.5V参考电压1LSB?0.61mV。 ADC转换传递函数 7.1.4、ADC有关的特殊功能寄存器 与ADC有关的特殊功能寄存器有ADC数据寄存器ADCDATAL、ADCDATAH,ADC控制寄存器ADCCON1、ADCCON2、ADCCON3。这些寄存器都是8位寄存器。 ADCDATAL保存12位模数转换结果的低8位数据 ADCDATAH寄存器的低4位保存12位模数转换结果的高4位数据,高4位指示转换数据的模拟通道号。 ADC控制寄存器1(ADCCON1)主要设置ADC转换的启动方式(外触发或定时触发)、转换时钟频率、采样/保持器的捕获时间和ADC模块是否工作。 ADC控制寄存器2( ADCCON2)是可以位寻址的寄存器,主要控制ADC转换的模拟通道和转换方式(单次、连续或DMA方式)。 ADC控制寄存器3( ADCCON3)是校准寄存器,也状态寄存器—指示ADC转换的状态 1、ADC控制寄存器1(ADCCON1) ADCCON1.7 ADCCON1.6 ADCCON1.5 ADCCON1.4 ADCCON1.3 ADCCON1.2 ADCCON1.1 ADCCON1.0 MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C EXC ADCCON1地址:0EFH AD?C831主时钟经分频器分频后作为片内的12位逐次逼近模数转换器的时钟。分频系数由ADCCON1寄存器CK1、CK0确定。 注意:ADC模块正常工作的时钟频率必须在400kHz~6MHz范围内。但为了确保ADC的性能,ADC时钟频率最好选择在400kHz~4.5MHz范围内。 CK1 CK0 MCLK分频系数 0 0 16 0 1 2 1 0 4 1 1 8 例如:AD?C831主时钟MCLK频率为11.0592MHz,即要保证ADC性能又要使转换时间尽量短,因此选择分频系数为4(即CK1=1、CK0=0),此时 ADC时钟频率为11.0592MHz/4=2.7648MHz。 AD?C831ADC模块包括一个采样/保持器,ADCCON1寄存器AQ1、AQ0设置采样/保持器的采样时间。这个采样时间是以ADC时钟周期数计算的。建议采样时间选择3~4个ADC时钟周期。 AQ1 AQ0 ADC时钟数 0 0 1 0 1 2 1 0 3 1 1 4 AD?C831在ADC时钟和采样时间确定后,可以计算ADC模块的最高转换速率。 TADC=(16+[AQ1、AQ0])*([CK1、CK0]/MCLK) 按MCLK=11.0592MHz,CK1=1,CK0=0,AQ1=1,AQ0=1,那么TADC=(16+4)*(4/11.0592MHz)?7.234?s 转换速率=1/ TADC ?138kSps MD1位是ADC模块工作模式(待机模式、工作模式)控制位。MD1=1,ADC模块为工作模式;MD1=0,待机(低功耗)模式。 T2C位是ADC模块定时启动方式控制位。T2C设置为“1”,在Timer2计数溢出(即计数值从0F
文档评论(0)