atmega128 12

[AVR] USART 직렬통신 하기(시리얼통신)

AVR과 컴퓨터간에 시리얼통신으로 데이터를 주고 받아보자. 이론적인 내용은 잘 몰라서 설명은 내 마음대로한다. 먼저 시리얼통신에는 동기모드와 비동기모드 두 가지 모드가 있다. 자세한 내용은 잘 모르겠지만 내가 알기론 동기식과 비동기식의 차이는 클럭의 차이다. 디지털회로시간에 배우긴했는데 기억이 가물가물... 일단 건드려야할 레지스터는 4개 밖에 없다. 색이 칠해져있는건 뭔지 feel이 온다. UCSR은 저놈들이 중요한놈들이다. 일단 UCSRA의 비트5 UDRE는 새로운 송신데이터를 받을 준비가 되어 있으면 set 되는 플래그이다. Read만 가능! UCSRB의 4,3번 비트는 Rx enable, Tx enable이다. 즉 avr의Rx, Tx핀을 일반IO 말고 데이터 송수신 용도로 쓰게한다. UCSRB와 ..

Embedded System/AVR 2017.04.02

[AVR] 캐릭터 LCD 사용하기(LMC1623A)

Atmega128을 이용하여 CLCD를 구동해보자. 꼭 mega128을 사용하지 않아도 된다. 있는게 128이라서.... 나중에 핀 할당만 다시해주면 된다. 나는 CLCD모델 LMC1623A를 가지고 설명하겠다. 모델마다 데이터시트가 다르니 여기 있는글과 똑같이하면 안될수도 있다. 하지만 다른제품도 거의 비슷하게 되어있다. 그리고 8bit 기준으로 설명하겠다. 갑자기 8bit라니 무슨 말인지 모르겠지... 데이터핀을 8개 쓰니까 8bit다. 핀 아낄려면 핀 4개만 연결해주면 된다. 그러면 4bit가 되는것이다. 먼저 CLCD가 atmega128에 어떻게 연결되어있는지 회로도를 보자. 위(15, 16번 핀),아래(1,2,3번 핀)에 있는 가변저항은 백라이트와 글자농도를 조정해준다. Data PIN에는 일반..

Embedded System/AVR 2017.04.02