728x90
반응형
ATmega2560의 ADC 사용
ADC 설정이다.
ADC_Convert 함수앞에 static을 붙여서 다른 소스파일에서 호출을 막았다.
ADLAR은 AD변환시 어떻게 저장되는지 설정하는 비트이다.
ADLAR = 0
ADCH |
- |
- |
- |
- |
- |
- |
9 |
8 |
ADCL |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
ADLAR = 1
ADCH | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
ADCL | 1 | 0 | - | - | - | - | - | - |
예를 들어 325란 숫자를 저장하면
325의 2진수는 0101000101임으로
ADLAR = 0 일 때
ADCH | - | - | - | - | - | - | 0 | 1 |
ADCL | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
ADLAR = 1 일 때
ADLAR = 1
ADCH | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
ADCL | 0 | 1 | - | - | - | - | - | - |
로 저장된다.
REFS는 기준전압 설정으로
위 설정으로 AVCC설정이다.
즉 AVCC는 5V임으로 5V 일 때 1023이 된다.
MUX는 채널설정이다.
uiCH라는 변수에 채널을 입력하는 그 채널에 입력받은 아날로그 값을 즉각 디지털로 바꿀 수 있게 함수를 만들었다.
MUX5는 ADCSRB에 있다.
그래서 위와 같이 설정한다.
ADPS 로 분주비를 설정하고 ADEN으로 ADC를 활성화 시킨다.
ADSC를 1로하여 변환을 시작한다.
while문으로 AD변환이 완료될때까지 지연..
ADIF는 AD변환이 완료되면 1로 변하는 플래그비트이다.
SENSOR함수들에는 각각 채널을 입력하여 ADC_Convert 함수를 호출한다.
728x90
'코스웨어 > 13년 스마트컨트롤러' 카테고리의 다른 글
6월 7일 금요일 정리 조유진 (2) | 2013.06.07 |
---|---|
놀땐 미친듯이 놀아야지 ㅋㅋㅋㅋㅋㅋ (3) | 2013.06.06 |
도서관리 최종 (7) | 2013.06.06 |
초음파 센서하니 떠오른...음속에 대해 - 전영기 (4) | 2013.06.05 |
6월4일 USART 수업 정리 - 김경순 (2) | 2013.06.04 |
2013.06.04_AVR_USART_LED차례대로켜보기 (4) | 2013.06.04 |
13기수 진격의 남좌들 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ (11) | 2013.06.04 |
vi 명령어 일람 (5) | 2013.06.03 |