/********************************
ATMega8 中断方式 A/D 转换测试程序
文件名:main.c
编译:WinAVR-20070122
硬件环境:CA-M8X 打开的开关如下
S6(1,2) - 外部4MHz晶振
S1(7) - PC0连接电位器
S5(5,6) - UART通信
芯艺设计室 2004-2007 版权所有
转载请保留本注释在内的全部内容
WEB: http://www.chipart.cn
Email: changfutong@sina.com
*******************************/
#include
#include
#include
#include
static uint16_t g_nAdValue=0;
void IoInit(void);
//AD转换完成中断
ISR(ADC_vect)
{
g_nAdValue=ADCL;
g_nAdValue|=(uint16_t)(ADCH<<8);
}
int main(void)
{
uint8_t i;
//内部2.56V参考电压,0通道
ADMUX=0Xc0;
//使能ADC,中断允许,自由模式, 时钟:ck/8
ADCSRA=_BV(ADEN)|_BV(ADIE)|_BV(ADFR)|_BV(ADPS1)|_BV(ADPS0);
//标准输入/输出初始化,此函数在debugprint.c中实现
IoInit();
ADCSRA|=_BV(ADSC);//自由模式开始转换
sei();
while(1)
{
scanf("%c",&i);
cli();
printf("%d\n",g_nAdValue);
sei();
}
}
关于debugprint.c请参考上篇文章!
|
|