ATMEGA128환경에서 AVR을 이용한 ADC 동작
- 최초 등록일
- 2015.06.25
- 최종 저작일
- 2014.07
- 4페이지/ 한컴오피스
- 가격 1,000원
소개글
AVRSTUDIO
목차
1. 문제
2. 소스코드- 타겟보드와 호스트 PC 를 시리얼로 연결
3. 고찰
본문내용
- 실습 예제를 참고하여 광센서의 dynamic range를 측정한다.
-최대 광량 : 센서를 완전히 오픈한 상태에서 측전한 최대값 으로설정
-최소 광량 : 센서를 완전히덮은상태에서 측정한최소값으로 설정
- 측정한광량을 FND에 출력한다.
<중 략>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
enum{C0,C1,C2,C3};
unsigned char FND_DATA_TBL[] = { 0x3F, 0X06, 0x5B, 0x4F, 0X66, 0X6D, 0X7C, 0X07, 0X7F, 0X67 };
// 1) ADC가변환한값을저장하는변수
unsigned char lowValue = 0;
unsigned char highValue = 0;
unsigned int adcValue = 0;
unsigned int adcMax=0;
unsigned int adcMin=0;
unsigned int adcPrint=0;
unsigned char timer0Cnt = 0;
<중 략>
// 4) 1초마다포토다이오드의센서값을가져온다
SIGNAL(SIG_OVERFLOW0){
cli();
TCNT0 = 0xff - 72;
timer0Cnt++;
if(timer0Cnt == 100){ // 0.011s * 90 = 1s
timer0Cnt = 0;
while( (ADCSR & 0x10) == 0x00); //ADC 변환이끝날때까지대기
lowValue = ADCL;
highValue = ADCH;
adcValue = (highValue << 8) | lowValue;
참고 자료
없음