[Atmel] ATmega328p Xplained Mini (4)ADC

[复制链接]
2338|6
 楼主| ddllxxrr 发表于 2015-1-16 09:54 | 显示全部楼层 |阅读模式
根据昨天的贴子,今天也跑了下ADC程序。感觉很好用,我太接可调电阻会损坏板子,就用镊子短3.3V和PC0

程序的原理是只要大于一半电压,LED就亮,以下是运行截图:



以下是完整程序清单:


  1. /*
  2. * GccApplication6.c
  3. *
  4. * Created: 2015-1-16 9:23:54
  5. *  Author: Administrator
  6. */


  7. #define F_CPU 16000000UL
  8. #include <avr/io.h>
  9. #include <util/delay.h>
  10. #include <avr/interrupt.h>
  11. #include <stdint.h>

  12. void AD_Init(void)
  13. {
  14.         //参考电压AVCC  要加电容稳压,左对齐,ADC5单端输入
  15.         ADMUX |= (0<<REFS1)|(1<<REFS0)|(1 << ADLAR) ;//(1 << MUX0)
  16.         //AD使能, 连续转换,中断使能,32分频, 6M / 32 = 187.5khz
  17.         ADCSRA |= (1 << ADEN) | (1 << ADATE) | (1 << ADIE) | (1 << ADPS2) | (1 << ADPS0);
  18.         //AD开始转换
  19.         ADCSRA |= (1 << ADSC);
  20. }
  21. int main(void)
  22. {

  23.         DDRC=(0<<PC0);
  24.         PORTC=(0<<PC0);//注意adc输入口的设置  输入0

  25.         //AD初始化
  26.         AD_Init();

  27.         //开总中断
  28.         sei();

  29.         while(1);


  30.         return 0;
  31. }
  32. int result = 0;

  33. ISR(ADC_vect)//中断函数命名方式的变化
  34. {
  35.         result = ADCH;
  36.         //result = result * 500 / 255;
  37.         if(result>=128)
  38.         {
  39.                 DDRB=(1<<PB5);
  40.                 PORTB=(1<<PB5);//检测led的变化  因为pb5  接有led
  41.         }
  42.         else
  43.         {DDRB=(0<<PB5);
  44.                 PORTB=(0<<PB5);//微亮
  45.                
  46.         }
  47. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
123654789 发表于 2015-1-16 10:09 | 显示全部楼层
RAM不够大啊!!!
 楼主| ddllxxrr 发表于 2015-1-16 11:00 | 显示全部楼层
123654789 发表于 2015-1-16 10:09
RAM不够大啊!!!

老兄,你想要多大的,这款在Atmel 8位中已经算够大的
123654789 发表于 2015-1-16 11:14 | 显示全部楼层
64K ROM  64KRAM 那么大
 楼主| ddllxxrr 发表于 2015-1-16 11:49 | 显示全部楼层
123654789 发表于 2015-1-16 11:14
64K ROM  64KRAM 那么大

看来版主只能用32位了,32位可以超过楼主的值
123654789 发表于 2015-1-16 11:57 | 显示全部楼层
是的,我本来想打算使用AVR32
偏巧这个东西难买
jazzyfox 发表于 2015-1-16 12:45 | 显示全部楼层
可惜啊,工业级的多,俺做汽车上的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7002

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部