|
void ad_init (void) {
ATD0CTL2=0X80;///第七位模块电源控制位,为一正常工作。第六位模块标志快速清除1:对寄存器的访问结果快速清除。
ATD0CTL3=0X08;// 四次转换,转换完成自动进入休眠模式
ATD0CTL4=0Xa5; // 八位精度,每两个周期采样一次atd的时钟频率是总线频率的12分之一
ATD0CTL5=0Xb0;//寄存器数据的对齐方式 第六位确定有无符号连续转换队列模式单个通道采样模拟通道输入选择an0
}
unsigned int result;
void main(void) {
/* put your own code here */
/* unsigned char i;
unsigned char j=10000; */
sysclock_init();//设置锁相环
EnableInterrupts;
// DDRM=0XFF;
// pwm_init();
ad_init();
for(;;) {
while(!ATD0STAT0_SCF) //队列完成标志位,等待队列完成
DDRB=0XFF;
PORTB=ATD0DR0; //读结果寄存器里的值
// ATD0STAT0_SCF=1 ; //清除队列完成标志
// PWMDTY0=100;//PWM占空比寄存器
// PWME=0XFF;//使能pwm寄存器
// PORTB=0X0F;
}
for(;;) {
// delay();
// PORTB++;
_FEED_COP(); /* feeds the dog */
/* loop forever */
/* please make sure that you never leave main */
}
}
|
|