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:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-11-21  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

我的存档

数据统计

  • 访问量: 710
  • 日志数: 5
  • 商品数: 1
  • 建立时间: 2007-10-02
  • 更新时间: 2007-10-03

RSS订阅

Open Toolbar