📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
word AD_wValue;
word i;
void AD_Init(void) //初始化
{
ATD0CTL2=0xC0; //AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止
ATD0CTL3=0x20; // 每个序列4次转换, No FIFO, Freeze模式下继续转换
ATD0CTL4=0x83; // 8位精度, 2个时钟, ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=3, divider=8
ATD0CTL5=0xa3; //右对齐无符号,单通道采样,通道0
ATD0DIEN=0x00; // 禁止数字输入
}
void AD_GetValue(word *AD_wValue) //读取AD转换结果
{
*AD_wValue = ATD0DR3; //Read out the Result Register
}
void main(void) {
/* put your own code here */
AD_Init(); //AD初始化
DDRB = 0xFF;
PORTB = 0x00;
// ATD0DIEN=0x80;
// EnableInterrupts;
for(;;)
{
while(!ATD0STAT1_CCF3); //等待转换结束
// PORTB=0xF0;
AD_GetValue(&AD_wValue); //读取转换结果
PORTB = (byte)AD_wValue; //在B口显示转换值
}
// EnableInterrupts;
for(;;) {} /* wait forever */
/* please make sure that you never leave this function */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -