main.c
来自「飞思卡尔单片机ad采集程序」· C语言 代码 · 共 50 行
C
50 行
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void delay_100us(void)
{
int i;
for(i=0;i<50;i++)
{
asm nop;
}
}
void ADCInit()
{
ATD0CTL2=0xC0; //AD模块上电, 快速自动清零, 无等待模式
//禁止外部触发, 中断禁止
delay_100us();
ATD0CTL3=0x20; //每个序列4次转换
//No FIFO, Freeze模式下继续转换
ATD0CTL4=0x83; //8位精度, 2个时钟,
//ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=3, divider=8
ATD0CTL5=0xA0; //右对齐无符号,单通道采样,通道0
ATD0DIEN=0x00; //禁止数字输入
}
void main(void)
{
char i=0;
ADCInit(); //AD初始化
DDRB = 0xFF;
PORTB = 0x00;
/* put your own code here */
EnableInterrupts;
while(1)
{
while(!ATD0STAT1_CCF0) //等待转换结束
{
_asm nop;
}
PORTB = (byte)ATD0DR0; //在B口显示转换值
}
/* wait forever */
/* please make sure that you never leave this function */
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?