BASIC4MCU | 질문게시판 | 개초보)atmega ADC 온도센서
페이지 정보
작성자 도와주세요 작성일2018-06-05 15:28 조회8,940회 댓글0건본문
#include<avr/io.h>
#define F_CPU 16000000UL
#include<util/delay.h>
#include<avr/interrupt.h>
unsigned short fnd[] = {0x3F,0x06,0x5B,0x4F,0x66,0x66,0x6D,0x7D,0x27,0x7F,0x67};
short temp;
ISR(ADC_vect){
long result;
result =ADC;
temp = result * 1000 /1024;
}
ISR(TIMER0_OVF_vect){
TCNT0=128;
ADCSRA = ADCSRA | 0x40;
}
int main(void){
DDRF=0x00;
DDRD=0xFF;
DDRC=0x03;
PORTD=0xFF;
PORTC=0x07;
PORTF=0x01;
ADMUX = 0x40; //아날로그 입력단자와 단극성 or 양극성 신호 인지를 설정한다. 기준전압 (내부전압 ,외부전압 AREF, AVCC) AD변환된값을 ADC레지스터에 저장할때 왼쪽정렬 오른쪽정렬 결정
ADCSRA =0xCF;
SREG = SREG | 0x80;
TIMSK=0x01;
while(1){
PORTC=0x01;
PORTD=fnd[temp/100];
_delay_ms(1);
PORTC=0x02;
PORTD=fnd[temp/10%10];
_delay_ms(1);
PORTC=0x02;
PORTD=0x80;
_delay_ms(1);
PORTC=0x04;
PORTD=fnd[temp%10];
_delay_ms(1);
}
}
현재이렇게 코딩했는데 온도센서를 잘못연결한것인지숫자변화가없습니다
주기적으로 AD변환코딩하도록하려면 어떻게해야하져?
댓글 0
조회수 8,940등록된 댓글이 없습니다.