#include /* common defines and macros */
# include /* derivative information */
# include
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void initATD0 (void){
ATD0CTL2=BM_ADPU; /*使能ATD模块*/
ATD0CTL3= BM_S1C; /*单个通道转换*/
ATD0CTL4= BM_SRES8 | BM_PRS2 | BM_PRS0; /*这个语句仅仅是设置将时钟 12分频(可以设置这一位来进行采样频率设置,但是默认其他位为0,同时就设置了使用8位转换,第二阶段为2个ATD时钟周期,*/
ATD0CTL5= BM_SCAN | BM_CC | BM_CB; /* 使用连续转换,单通道采样,使用第6通道*/
}
void main(void) {
int i;
void initATD0();
DDRB=0xff;
i=ATD0STAT0;
while ((ATD0STAT0 & BM_SCF)==0); /*等待SCF位为1,也就是转换结束*/
PORTB=ATD0DR6H;
} |