📄 ad.c
字号:
#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
#include <avr/pgmspace.h>
#ifndef cbi
#define cbi(reg,bit) reg &= ~_BV(bit)
#endif
#ifndef sbi
#define sbi(reg,bit) reg |= _BV(bit)
#endif
uint16_t temp1=0;
uint16_t temp2=0;
uint16_t temp3=0;
uint16_t ADVALUE=0;
uint16_t ADC_CONVER(void)
{
temp1=(uint16_t)ADCL;
temp2=ADCH<<8;
temp3=temp2+temp1;
return(temp3);
}
main()
{
ADMUX=0xc0;//外部参考源,0通道
while(1)
{
ADCSRA=_BV(ADEN)|_BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2);//使能ADC,单次转换模式
ADCSRA|=_BV(ADSC);//启动ADC转换
//while(ADCSRA&_BV(ADSC));
//_delay_loop_2(5);
ADVALUE=ADC_CONVER();
//for(uint8_t i=0;i<31;i++)
//_delay_loop_2(30000);//延时0.5秒
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -