mega16 ADC转换
上一篇 /
下一篇 2007-10-03 14:05:59 / 天气: 阴雨
/ 心情: 平静
/ 个人分类:AVR单片机
#include <mega16.h>
#define LEDS PORTB
#define red 0b001
#define green 0b010
#define yellow 0b011
/******************************************************************************/
interrupt[ADC_INT]void adc_isr(void)//中断服务程序
{
unsigned int adc_data;//
adc_data = ADCW;//读取10位的数据
if(adc_data>(3*1023)/5)
{
LEDS = red; //>3V 时红色的灯亮
}
else if (adc_data<(2*1023)/5)
LEDS = yellow; //<2V时 黄色的灯亮
else
LEDS = green; //绿色的LED亮
ADCSRA |= 0X40;
}
/******************************************************************************/
void main (void)
{
DDRB = 0X07;//led 显示状态0000 0111
ADMUX = 0X01;//选择通道1
ADCSRA = 0XCE;//ADC开,64分频,中断开
#asm("sei")
while(1)
{
;
}
}
导入论坛
收藏
分享给好友
管理
举报
TAG: