msp430 AD 初始化流程 msp430 AD 初始化流程:单片机 ADC 编程的流程如下: 1 初始化, void Adc12int() { ADC12CTL0 &= ~ADC12ENC; //使AD 模块处于初始状态 ADC12CTL0 = ADC12MSC+ADC12SHT0_15+ADC12SHT1_15;//使用外部部3.3V 参考电压,使用采样保持器。 } // #define ADC12ENC (0x0002u) #define ADC12MSC (0x0080u) #define ADC12SHT0_15 (15*0x100u) #define ADC12SHT1_15 (15*0x1000u) // 一、寄存器ADC12CTL0: SHT1 SHT0 MSC 2.5V REFON ADC120N ADC12TOVIE ADC12TVIE ENC ADC12SC 15-12 11-8 7 6 5 4 3 2 1 0 ADC120SC :ADC12 内部时钟源(启动) ENC 位为转换允许,1 允许AD 转换,0 时为不允许转换,即复位状态;由于ADC12CTL0 和ADC12CTL1 的一些位和ADCMCTILX 的所有位必须在ENC 位复位时才能修改。因而初始过程为: ENC 复位——设置转换启动方式——打开参考电压——选择采样保持器时间 SHT1 SHT0 采样保持定时器1 和0,定义转换结果中转换时序与采样时钟ADC12CLK 的关系。程序设置都为1, MSC 多次采样、转换位。 有效条件:CONSE!=0,MSC=1 表示仅首次转换同 SHI 信号的上升沿触发采定时器,采样转换在前一转换完成立即进行。程序中设置为1 MSC 的作用是:在顺序转换或重复转换中,若 MSC 置 1 则只需最初有一个触发信号,随后都会在前一次转换完成后,自动进入下一次转换。否则的话,每次转换完成都还需另个的触发信号。-----------DATASHEET. 2.5V 内部参考电压选择位:0——1.5V,1——2.5V REFON 参考电压控制位 0 内部参考电压关闭 1 则为打开 ADC12ON 内核控制位 0 关闭 1 打开 ADC12TOVIE 转换时间溢出中断允许 0 没发生转换时间溢出 1 则表示发生 ADC12TVIE 溢出中断允许位 0 没有发生溢出 1 表示发生溢出 以上5 个位都设置0。 整个初始化意为选择使用外部参考源 2 打开ADC12 模块 void Adc12Open(uchar doit) { if(doit==0) { ADC12CTL0 |= ADC12ON; ADC12CTL0 |= ADC12ENC; //允许转换 } else if(doit==100) { ADC12CTL0 &= ~ADC12ON; //不允许转换 ADC12CTL0 &= ~ADC12ENC; } } #define ADC12ON (0x0010u) #define ADC12ENC (0x0002u) 寄存器 ADC12CTL0 中的 ADC12ON 复位时关闭ADC12 的内核,置位时打开ADC12的内核。 寄存器同初始化,其实也可以...