AVR study
-
LCD란? LCD의 동작원리와 장단점AVR study 2013. 1. 27. 22:08
1. 액정이란? 액정은 광학적 이방성을 가지고 있어 전압이 가해지면 봉상 결정이 전계의 방향에 따라 분자 배열이 바뀌고 전압을 가하지 않으면 원래의 위치로 되돌아오는 성질을 가지는 물질을 말한다. 결정의 움직임에 따라 투과율이 변하는데 LCD는 이 성질을 이용하여 원하는 정보를 표시하는 장치이다. 자연 상태의 액정은 약 3,000여 종이 있지만 디스플레이로서 실용화 된 것은 네마틱, 스멕틱, 초레스틱이 있다. 이 세 액정의 성질은 다음과 같다. ▶ 연속체의 특성 (Twist) : 스프링처럼 어떤 한 점에 힘을 가하면 그 변형이 이웃 분자에도 영향을 미친다. ▶ 전기적 분극성 (Shutter) : 액정은 봉상형의 결정 모양을 가지므로 장축과 단축의 유전율에 따라 전압 인가시 일정한 방향을 가진다. ▶ 광학..
-
[AVR]타이머/카운터 - LED패턴 변화AVR study 2013. 1. 26. 00:42
LED패턴 8가지를 배열로 지정하고 switch 구문을 이용해서 LED 패턴의 변화를 주었습니다. #include #include volatile unsigned int cnt=0; // 타이머 발생 횟수 volatile unsigned int i=0; // pattern 배열 변수 unsigned char pattern[8] = {0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff}; // pattern 8가지 종류 선언 ISR(TIMER0_OVF_vect) // 타이머0 오버플로 언터럽트 서비스루틴 { TCNT0=0x06; // 타이머/카운터 레지스터 6부터 시작 cnt++; //타이머 발생 횟수 1증가 //----------------------------------..
-
[AVR]타이머/카운터 - 정확히 1초 주기로 LED 점등AVR study 2013. 1. 26. 00:39
정확하게 1초 주기로 LED를 점등하는 영상입니다. 아이폰 스탑워치로 체크를 해보니 계속해서 오차없이 1초 주기로 점등하는것을 알 수 있었습니다. 좀 더 정확한 오차를 계산하기 위해선 오실로스코프가 필요할 것 같네요. #include #include volatile unsigned int cnt=0; // 타이머 발생 횟수 volatile unsigned int flag=0; ISR(TIMER0_OVF_vect) // 타이머0 오버플로 언터럽트 서비스루틴 { TCNT0=0x06; // 타이머/카운터 레지스터 6부터 시작 cnt++; //타이머 발생 횟수 1증가 if(cnt1000)&&(cnt2000) cnt=0; // 타이머 발생 2000번 이후에 발생 횟수 초기화 } int main(void) { TC..
-
Atmega128의 타이머/카운터 및 관련 레지스터AVR study 2013. 1. 25. 13:23
ATmega 128의 타이머/카운터는 타이머/카운터0, 타이머/카운터1, 타이머/카운터2, 타이머/카운터3으로 총 4개가 있다. 이 타이머/카운터는 비트수에 따라서 분류하는것이 일반적이다. 8비트는 타이머/카운터0, 타이머/카운터2 이고 16비트는 타이머/카운터1, 타이머/카운터3 이다. 8비트 타이머와 16비트 타이머의 큰 차이점은 8비트 타이머는 0xFF까지 셀 수 있고, 16비트 타이머는 0xFFFF까지 셀 수 있기 때문에 계수의 범위가 늘어나고 저주파 발생이 가능하다는 점이 있다. 그 중에서 8비트 타이머/카운터0과 타이머/카운터2의 차이점은 외부클럭 입력을 받아들인다는 점에서 차이가 있다. 타이머/카운터 관련 레지스터 1. 타이머/카운터 제어 레지스터(Timer/Counter Control Re..
-
M.A.I 회사의 Atmega128 모듈, ISP 다운로더 구입기AVR study 2013. 1. 20. 00:55
지난주에 구매한 atmega128 모듈과 ISP 구입기입니다. 핀이 휘지 않을까 걱정했는데 위 사진처럼 뽁뽁이를 무진장 감싸놔서 별 탈 없이 무사히 도착했네요.. 전체적으로 납땜 상태가 마음에 들었습니다. 타사 제품같은 경우에는 대체로 JTAG과 ISP를 동시에 지원하는 경우도 잘 없는데 이 제품은 사진과 같이 10PIN JATG, 6PIN ISP 모두를 지원했습니다. 함께 구매한 ISP 다운로더입니다. 역시 보통 타사 제품같은 경우에 6PIN 박스 커넥터 하나만 지원하거나 10PIN 커넥터 둘중 하나만 지원하는 경우가 대다수입니다. 그러나 이 제품같은 경우에 둘 다 지원하기 때문에 어떠한 타겟 보드에도 모두 호환이 가능하다는 장점을 갖고 있습니다. 추가로 좌측에 6핀짜리 핀헤더는 ISP에 내장된 AVR..
-
[AVR] 오버플로우 인터럽트를 이용한 카운터 - LED 제어AVR study 2013. 1. 20. 00:41
#include #include volatile unsigned int cnt=0; // 타이머 발생 횟수 volatile unsigned int flag=0; ISR(TIMER0_OVF_vect) // 타이머0 오버플로 언터럽트 서비스루틴 { TCNT0=0x83; // 타이머/카운터 레지스터 131부터 시작 cnt++; //타이머 발생 횟수 1증가 if(cnt1000)&&(cnt2000) cnt=0; // 타이머 발생 2000번 이후에 발생 횟수 초기화 } int main(void) { TCNT0 = 0x06; // ---------------------> 1ms 만들기 위한 시스템 타이머 레지스터 설정 TCCR0 = 0x04; // ----------------> freescale 64배수 TIMSK..