第9章MSP430模数转换ADC.ppt_第1页
第9章MSP430模数转换ADC.ppt_第2页
第9章MSP430模数转换ADC.ppt_第3页
第9章MSP430模数转换ADC.ppt_第4页
第9章MSP430模数转换ADC.ppt_第5页
已阅读5页,还剩162页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第9章 模/数转换(ADC) 第一节 概述 第二节 模/数转换器 第三节 采样保持器和多路模拟开关,本章教学目标: 1、了解ADC的基本概念 2、MSP430 ADC12的原理与基本应用,2,第一节 概述,计算机测量控制系统,3,计 算 机,多 路 开 关,传 感 器 1,放 大 器 1,滤 波 器 1,模拟 量 1,采 样 保 持,A / D,传 感 器 n,放 大 器 n,滤 波 器 n,模拟 量 n,数据采集系统,与本课程相关部分,音频、视频信号,数字通信,4,第二节 模/数转换器 一、A/D 转换器的基本原理 二、MSP430 ADC12介绍,5,一、A/D 转换器的基本原理,模拟

2、输入量,数字输出量,000,001,010,011,000,001,010,011,1v,2v,3v,4v,5v,6v,7v,A/D转换器,量化,6,工作原理,特点,计数式,结构简单、,转换速度慢、精度低,实际少用,双积分式,精度高、转换速度慢、抗干扰性能好,逐次逼近式,转换速度较快、精度较高,实际常用、抗干扰性能不如积分式,高速并行式,转换速度快,价格高,精度低,A/D转换器分类,式,7,1分辨率:指A/D转换器所能分辨的最小模拟输入量,通常用A/D的位数表示。如:8位A/D的分辨率为8位,10位A/D的分辨率为10位,2转换精度:指实际输入的模拟值与理论输入的模拟值(根据A/D输出推算)之

3、间的偏差。常用数字量最低有效位 LSB 的几分之几表示。,3转换时间和转换速度:转换时间指完成一次A/D转换所需的时间,从启动信号开始到转换结束,得到稳定数字量的时间。转换速度是转换时间的倒数。,A/D转换器的主要技术指标,8,逐次逼近式A/D转换器原理图,-,+,D/A,转换器,输出缓冲器,控制 电路,启动信号 START,CLK 时钟,EOC 转换结束信号,D,7,D,0,比较器,模拟输入,数字输出 NADC,Vin,OE 输出使能信号,SAR,VREF,VDA,9,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,1,0,0,0,

4、0,1,0,1,0,0,0,1,0,D7,D6,D5,D4,D0,D1,D3,D2,10,A/D转换器的典型信号、电源、地,A/D 转换器,模拟量输入信号,A/D转换启动信号,数字量输出,A/D转换完成信号,输出使能信号,ADC时钟,电源,模拟地,数字地,参考电源,11,A/D转换的启动,电平启动,高电平启动,低电平启动,脉冲沿启动,上升沿启动,下降沿启动,启动方法,软件启动,硬件启动,启动信号,12,CPU 对 ADC 转换结果的读取方式,程序延时方式 程序查询方式 中断方式,13,二、MSP430 ADC12介绍,ADC12模块是一个转换速度高达200ksps、采样时间可编程的12-bit

5、逐次逼近型模数转换器。由12-bit的SAR核、采样保持电路、模拟开关、参考电压产生与选择电路、ADC时钟选择电路、采样与转换控制电路、16个转换结果存储缓冲器及其对应的16个存储控制寄存器、中断系统、片上集成温度传感器等组成。 ADC12可以在没有CPU的参与下,独立实现多达16次的采样、转换和存储操作。ADC12模块可以独立断电,以便于低功耗设计。 MSP430X13X,MSP430X14X,MSP43015X和MSP430X16X等芯片中均有ADC12模块。,14,ADC12模块,15,ADC12 的特点与性能指标:,采样率可达200ksps,采样率可编程; 分辨率12-bit; 内含1

6、6路模拟开关,其中8路外部模拟输入,1路内部温度传感器输入等; 内含采样保持电路,采样时间可编程; 可由软件、Timer_A 或Timer_B启动转换过程; 参考电压可编程:内部(1.5V 或2.5V)、外部; 4种转换模式; ADC核和内部参考电源可编程断电,以实现节能; 具有中断(子)向量寄存器,供18路ADC中断译码用; 具有16个转换结果存储寄存器。,16,12-BIT SAR ADC,参 考电压源,时钟电路,采样/保持器,模 拟 开 关,采样与转换控制电路,结果存储缓冲器 与 相应的控制寄存器,MSP430 ADC12 原理框图,17,18,ADC12的模数转换部分原理图,19,NA

7、DC=4095,当VinVR+ NADC=0, 当VinVR- VR+ 和 VR- 可由软件编程设置,ADC12的转换结果NADC:,20,参考电压源VR+,VR- 电路,21,BIS #REFON+REF2_5V , Vr+=Vref+,举例 :ADC12 通道 0 使用内部 2.5V 参考电压源,SREF2 SREF1 SREF0 0 0 1,#SREF_1,22,BIS #REFON , Vr+=Vref+,举例 :ADC12 通道 0 使用内部 1.5V 参考电压源,SREF2 SREF1 SREF0 0 0 1,#SREF_1,23,举例:VR+ 使用外部正参考电压源 VeREF+,

8、BIS.B #SREF_2 , Program Start RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, P1.0 = 1 jmp Main,70,;- ; Interrupt Vectors Used MSP430 x13x/14x/15x/16x ;- ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; END,问题:请实验验证程序设计的正确性,如何改正? 提示:采样时间?AD 转换启动信号?,ADC12SC automatically cleared at EOC.,7

9、1,举例 使用采样定时器,采样时间=16ADC12CLK , 其它采用复位值。查询方式。 转换完毕后通过 P1.0 输出一个负脉冲,SHT0 x=2,采样时间=16ADC12CLK,72,bis.b #01h , Enable ADC12,相关寄存器初始化编程:,73,#include ORG 01100h ; Program Start RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, P1.0 = 1 jmp Main,74,;- ; Interrupt Vectors Used MSP430 x13x/14x

10、/15x/16x ;- ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; END,75,举例01 使用采样定时器,采样时间=16ADC12CLK , 使用 ADC12IFG0 中断, 其它采用复位值。 If A0 0.5*AVcc, P1.0 set, else reset. In Main MSP430 waits in LPM0 to save power until conversion complete, ADC12_ISR will force exit from LPM0 in Main on reti.,76,bis.b #01h , Ena

11、ble ADC12,相关寄存器初始化编程:,77,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, Again,78,;- ADC12_ISR; Exit any LPMx on reti bic.b #01h, END,79,举例02使用内部 2.5V 参考电压源, 使用采样定时器,采样时间=16ADC12CLK , 其它采用复位值。查询方式。 转换完毕后通过 P1.0 输出一个负脉冲,80,SREF2 SREF1 SREF0 0

12、 0 1,#SREF_1,81,相关寄存器初始化编程:,bis.b #BIT0 , Enable conversions,82,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, Enable conversions,83,bis.b #01h, END,84,举例04 使用采样定时器, 采样时间=1024ADC12CLK , 使用 ADC12IFG0 中断, 其它采用复位值,并将转换结果转存到R5中。,SHT0 x=15,采样时间=

13、1024ADC12CLK,85,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, Enable conversions,86,Mainbis #ADC12SC, Return active reti,87,;- ; Interrupt Vectors ;- ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; ORG 0FFEEh ; ADC12 Interrupt Vector DW ADC12I

14、SR ; END,88,举例05使用外部正参考电压源 VeREF+ , 使用采样定时器,采样时间=16ADC12CLK , 其它采用复位值。查询方式。 转换完毕后将转换结果转存到 R5 中。,相关寄存器初始化编程:,bis.b #BIT0 , Enable conversions,89,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, Enable conversions,90,Mainbis #ADC12SC, END,91,举例

15、06 重复通道序列转换方式,使用采样定时器, 采样时间=256ADC12CLK , 使用 ADC12IFG.3 中断, 其它采用复位值,并将转换结果转存到RAM中。,SHT0 x=8,采样时间=256ADC12CLK,92,通道序列定义: 通道号 结果存储 模拟输入 RAM 缓冲器通道号 0 ADC12MEM0A00 x2000 x20E 1 ADC12MEM1A10 x2100 x21E 2 ADC12MEM2A20 x2200 x22E 3 ADC12MEM3A30 x2300 x23E 注意:通道号与模拟输入通道号可以不一致。因此上述的通 道定义也可以如下: 通道号 结果存储 模拟输入

16、RAM 缓冲器通道号 0 ADC12MEM0A30 x2000 x20E 1 ADC12MEM1A10 x2100 x21E 2 ADC12MEM2A20 x2200 x22E 3 ADC12MEM3A00 x2300 x23E,93,通道号 结果存储 模拟输入 RAM 缓冲器通道号 0 ADC12MEM0A10 x2000 x20E 1 ADC12MEM1A10 x2100 x21E 2 ADC12MEM2A30 x2200 x22E 3 ADC12MEM3A30 x2300 x23E 通道号 结果存储 模拟输入 RAM 缓冲器通道号 5 ADC12MEM5A60 x2000 x20E 6

17、ADC12MEM6A00 x2100 x21E 7 ADC12MEM7A50 x2200 x22E 8 ADC12MEM8A30 x2300 x23E,94,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Convert,Conversion Completed, Result Stored into ADC12MEMn, ADC12IFGn is Set,SAMPCON=1,ENC=1 or and,ADC12SC=,SAMPCON=,1ADC12CLK,ENC=0 and E

18、OS.n=1,if EOS.n=1 then n=CSTARTADDx else if n15 then n=n+1 else n=0 MSC=1and SHP=1 and (ENC=1 or EOS.n=0),ADC12ON=1,软件启动,12ADC12CLK,停止条件,通道序列重复转换方式状态转换图由软件启动第一轮首通道(通道0)的采样和转换,然后由采样定时器自动实现后续通道的快速采样和转换,到EOS=1的通道(通道3)转换完毕后又立即从通道0开始新一轮的采样和转换,直到停止条件满足为止。期间无需CPU的干预。,EOS.3=1,CSTARTADDx0,95,#include A0resul

19、t EQU 0200h ; Channel A0 results A1result EQU 0210H ; Channel A1 results A2result EQU 0220H ; Channel A2 results A3result EQU 0230H ; Channel A3 results ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, Clear pointer,96,bis.b #BIT0+BIT1+BIT2+BIT3, 软件启动

20、后,通道序列的采样和转换无需CPU的干预,97,;- ADC12ISR ; 当通道3转换完毕后进入该中断子程 mov END,98,问题:请实验验证程序设计的正确性,如何改正?,99,举例07 单通道重复转换方式,使用采样定时器, 采样时间=256ADC12CLK , 使用 ADC12IFG.0 中断, 其它采用复位值,并将转换结果转存到RAM中。,SHT0 x=8,采样时间=256ADC12CLK,100,#include Results EQU 0200h ; Begining of Results table ;- ORG 01100h ; Program Start ;- RESETm

21、ov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, 软件启动后,通道序列的采样和转换无需CPU的干预,101,;- ADC12ISR ; Interrupt Service Routine for ADC12 mov END,102,103,举例08 通道序列单轮转换方式,使用采样定时器, 采样时间=1024ADC12CLK , 使用 ADC12IFG.1 中断, 其它采用复位值。,通道序列定义: 通道号 结果存储 模拟输入 转换结果 缓冲器通道号转存到 0 ADC12MEM0A8R5 1 ADC12MEM1A9R6,VeREF

22、+,VeREF-,104,ADC12的模拟输入 及其多路模拟开关,A8,A9,105,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, SET BREAKPOINT HERE,106,;- ADC12ISR ; Interrupt Service Routine for ADC12 mov END,107,108,举例09 通道序列单轮转换方式,使用采样定时器, 采样时间=16ADC12CLK , 使用 ADC12IFG.3 中断,

23、 其它采用复位值。,通道序列定义: 通道号 结果存储 模拟输入 转换结果 缓冲器通道号转存到 0 ADC12MEM0A0R5 1 ADC12MEM1A1R6 2 ADC12MEM2A2R7 3 ADC12MEM4A3R8,109,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, SET BREAKPOINT HERE,110,;- ADC12ISR ; Interrupt Service Routine for ADC12 bic

24、#CPUOFF,0(SP) mov END,111,112,片上集成温度传感器的使用 模拟通道:INCHx=1010=0Ah,注意:采样时间30s,113,114,举例03 单通道重复转换方式, 使用TA1作为采样信号源, 使用内部 2.5V 参考电压源, 使用采样定时器, 采样时间=256ADC12CLK(SHT0_8) , 使用 ADC12IFG.0 中断, 其它采用复位值。,通道定义: 通道号 结果存储 模拟输入 缓冲器通道号 0 ADC12MEM0A10,115,;* ; Use ADC12 and the integrated temperature sensor to detect

25、 ; temperature gradients. The temperature sensor output voltage is sampled ; every 80ms and compared with the defined delta values using an ISR. ; (ADC12OSC/256)/ determines sample time which needs to be greater than ; 30us for temperature sensor. ; ADC12 is operated in repeat-single channel mode wi

26、th the sample and ; convert trigger sourced from Timer_A CCR1. The ADC12IFG at the end ; of each conversion will trigger an ISR. ; ACLK = n/a, MCLK = SMCLK = default ; DCO 800kHz, ADC12CLK = ADC12OSC ;*,116,#include ;- ORG 01100h ; Program Start ;- RESETmov #0A00h,SP ; Initialize stackpointer mov #W

27、DTPW+WDTHOLD,WDTCTL ; Stop watchdog mov #SHS_1+SHP+CONSEQ_2, up mode, SMCLK,117,bis #LPM0+GIE,SR ; Enter LPM0, Enable interrupts bic #CCIE, Required only for debugger,118,;- TA0_ISR; ISR for CCR0 clr ,119,;- ; Interrupt Vectors Used MSP430 x13x/14x/15x/16x ;- ORG 0FFFEh ; MSP430 RESET Vector DW RESE

28、T ; ORG 0FFEEh ; ADC12 Vector DW ADC12_ISR ; ORG 0FFECh ; Timer_A0 Vector DW TA0_ISR ; END,120,举例10 单通道单次转换方式, 使用内部 1.5V 参考电压源, 使用采样定时器, 采样时间=256ADC12CLK(SHT0_8) , 使用 ADC12IFG.0 中断, 其它采用复位值。,通道定义: 通道号 结果存储 模拟输入 缓冲器通道号 0 ADC12MEM0A10,121,; * ; A single sample is made on A10 Temp with reference to int

29、ernal 1.5V Vref. ; Software sets ADC12SC to start sample and conversion. ADC12SC ; automatically cleared at EOC. ADC12 internal oscillator times sample ; and conversion. In Mainloop MSP430 waits in LPM0 to save power until ; ADC10 conversion complete, ADC12_ISR will force exit from any LPMx in ; Mai

30、nloop on reti. Result is converted to Temperature represented as ; BCD 0000 - 0145 representing oC saved at 0200h and 0000 - 0292 representing ; oF saved at 0202h. ; ACLK = n/a, MCLK = SMCLK = default ; DCO 800kHz, ADC12CLK = ADC12OSC ; *,举例10,122,#include ;- ORG 01100h ; Program Start ;- RESETmov #

31、0A00h,SP ; Initialize stackpointer mov #WDTPW+WDTHOLD, Enable interrupt,123,Mainbis #ENC+ADC12SC, breakpoint here,124,Trans2TempC;Subroutine coverts R12 = R12/4096*423-278 ; oC = (x/4096)*1500mV)-986mV)*1/3.55mV = x*423/4096 - 278 ; Input: R12 0000 - 0FFFh, R11 working register ; Output: R12 0000 -

32、091h mov R12,125,Trans2TempF;Subroutine coverts R12 = R12/4096*761-468 ; oF = (x/4096*1500mV)-923mV)*1/1.97mV = x*761/4096 - 468 ; Input: R12 0000 - 0FFFh, R11 working register ; Output: R12 0000 - 0262 mov R12,126,BIN2BCD4 ; Subroutine converts binary number R12 - Packed 4-digit BCD R13 ; Input: R1

33、2 0000 - 0FFFh, R15 working register ; Output: R13 0000 - 4095 ;- mov #16,R15 ; Loop Counter clr R13 ; 0 - RESULT LSD BIN1 rla R12 ; Binary MSB to carry dadd R13,R13 ; RESULT x2 LSD dec R15 ; Through? jnz BIN1 ; Not through ret ;,127,TA0_ISR; ISR for CCR0 clr ,128,;- ; Interrupt Vectors Used MSP430

34、xx4x ;- ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; ORG 0FFEEh ; ADC12 Vector DW ADC12_ISR ; ORG 0FFECh ; Timer_A0 Vector DW TA0_ISR ; END,129,附录1:转换方式详解,130,单通道单次转换方式 对指定的通道n(=CSTARTADDx)进行一次采样和转换,并将结果存入转换结果存储缓冲器ADC12MEMn中。,CONSEQx=00,单通道单次转换方式停止条件,清零ENC位可立即停止采样和转换过程,但转换结果不可预测。为了得到正确的转换结果,应查询ADC12B

35、USY位,待ADC12BUSY=0后,再读取转换结果,然后清零ENC位,以准备下一次采样和转换(也可以查询 ADC12IFGn 位),131,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,Conversion Completed, Result Stored into ADC12MEMn, ADC12IFGn is Set,CONSEQ=00,ADC12ON=1,ENC,ENC=,ENC=,SAMPCON=,SAMPCON=1,

36、SHSx=0 and,ENC=1 or and,ADC12SC=,SAMPCON=,12ADC12CLK,1ADC12CLK,ENC=0,ENC=0*,ENC=0*,*Conversion result is unpredictable,单通道单次转换方式状态转换图,软件启动,定时器启动,给模块供电,中断和查询条件,132,ADC12 模块供电/断电控制位,采样和转换使能控制位,清零ADC12ON位,可以将ADC12模块断电,以降低功耗。使用ADC12模块前应置位ADC12ON,否则ADC12模块无电。另外,在采样和转换前应置位ENC位,否则ADC12模块不工作。 注意:ADC12模块的大部分

37、控制位(灰色)需在ENC=0的情况下才能编程修改。,133,软件启动采样和转换控制位,当选择软件启动方式时(SHSx=00),编程置位ADC12SC位,可以启动采样和转换过程。,134,ADC12模块“忙”状态位,转换结果的起始存储指针,起始通道号,135,SHSx=00h,单通道单次转换方式状态转换图软件启动,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Convert,Conversion Completed, Result Stored into ADC12MEMn, A

38、DC12IFGn is Set,ADC12ON=1,ENC,SAMPCON=1,ENC=1 or and,ADC12SC=,SAMPCON=,12个ADC12CLK,1个ADC12CLK,ENC=0,ENC=0*,ENC=0*,*Conversion result is unpredictable,软件启动,采样期间,转换时间,存储等时间,给模块供电,ADC12SC自动清零,136,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,

39、Conversion Completed, Result Stored into ADC12MEMn, ADC12IFGn is Set,ADC12ON=1,ENC,ENC=,ENC=,SAMPCON=,SAMPCON=1,SHSx=/=0,SAMPCON=,12ADC12CLK,1ADC12CLK,ENC=0,ENC=0*,ENC=0*,*Conversion result is unpredictable,单通道单次转换方式状态转换图定时器启动,toggle ENC 进行下一次采样转换,137,单通道重复转换方式,CONSEQx=10,对指定的通道n(=CSTARTADDx)进行重复/连续

40、地采样和转换,并将每一次转换的结果都存入同一个转换结果存储缓冲器ADC12MEMn中。因此,需及时读取转换结果,以免下一个转换结果将当前的转换结果覆盖掉。,单通道重复转换方式停止条件,在单通道重复转换过程中,清零ENC位,可在当前的转换过程结束后停止采样和转换过程。 清零CONSEQx 和ENC,可立即停止采样和转换过程,但转换结果不可预测。,138,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,Conversion Compl

41、eted, Result Stored into ADC12MEMn, ADC12IFGn is Set,CONSEQ=10,ENC,ENC=,ENC=,SAMPCON=,SAMPCON=1,SHSx=0 and,ENC=1 or and,ADC12SC=,SAMPCON=,12ADC12CLK,1ADC12CLK,ENC=0,单通道重复转换方式状态转换图,MSC=1and SHP=1and ENC=1,ADC12ON=1,(MSC=0or SHP=0)and ENC=1,软件启动,定时器启动,停止条件,MSC=1连续多次,SHP=1脉冲采样方式,139,ADC12 off,n=CSTARTA

42、DDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Convert,Conversion Completed, Result Stored into ADC12MEMn, ADC12IFGn is Set,SAMPCON=1,SHSx=00h,ADC12SC=,SAMPCON=,12ADC12CLK,1ADC12CLK,ENC=0,MSC=1and SHP=1and ENC=1,ADC12ON=1,ENC=1 or and,停止条件,单通道重复转换方式状态转换图由软件启动第一次采样和转换,然后由采样定时器自动实现后续的快

43、速重复采样和转换,140,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,Conversion Completed, Result Stored into ADC12MEMn, ADC12IFGn is Set,ENC=,ENC=,SAMPCON=,SAMPCON=1,SAMPCON=,12ADC12CLK,ENC=0,ADC12ON=1,(MSC=0or SHP=0) and ENC=1,单通道重复转换方式状态转换图由定时器TA

44、1/TB0/TB1实现重复采样和转换,SHSx=/=00h,停止条件,MSC=0单次,SHP=1脉冲采样方式,ENC,1ADC12CLK,SHP=0扩展采样方式(与采样定时器、MSC无关),141,单通道重复转换方式状态转换图由定时器启动第一次采样和转换,然后由采样定时器自动实现后续的快速重复采样和转换,SHSx=/=0,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,Conversion Completed, Result St

45、ored into ADC12MEMn, ADC12IFGn is Set,ENC,ENC=,ENC=,SAMPCON=,SAMPCON=1,SAMPCON=,12ADC12CLK,1ADC12CLK,ENC=0,MSC=1and SHP=1and ENC=1,ADC12ON=1,定时器启动,停止条件,MSC=1连续多次,SHP=1脉冲采样方式,142,通道序列单轮转换方式,CONSEQx=01,对指定的通道序列( 起始通道号n=CSTARTADDx )按顺序进行一轮采样和转换,直到 EOS=1 的通道转换完毕后停止本轮采样和转换。并将每一次的采样和转换的结果依次存入相应通道的转换结果存储缓冲

46、器中。 当由软件启动时,每置位一次ADC12SC,就可以实现新的一轮采样和转换过程。 当由其它触发源(定时器)启动时,每轮之间需要toggle ENC(即一轮结束时先清零ENC,再置位ENC,这样造成了一个ENC的上升沿,就可以开始下一轮的采样和转换过程)。,143,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,Conversion Completed, Result Stored into ADC12MEMn, ADC12IF

47、Gn is Set,CONSEQx=01,ENC=,ENC=,SAMPCON=,SAMPCON=1,SHSx=0 and,ENC=1 or and,ADC12SC=,SAMPCON=,12ADC12CLK,1ADC12CLK,EOS.n=1,通道序列单轮转换方式状态转换图,if n15 then n=n+1 else n=0 MSC=1and SHP=1and EOS.n=0,ADC12ON=1,if n15 then n=n+1 else n=0 (MSC=0or SHP=0)and EOS.n=0,软件启动,定时器启动,停止条件,144,通道序列单轮/重复转换方式停止条件,在通道序列单轮/重复转换过程中,清零ENC位,可在当前通道序列转换结束(即EOS=1的通道转换结束)后停止采样和转换过程。注意:如果不存在EO

温馨提示

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

评论

0/150

提交评论