ATmega128 I2C 1602 텍스트 LCD 사용자 정의 문자 생성(CGRAM)

2019. 8. 15. 02:06임베디드/ATmega128

 

HD44780 LCD 드라이버에는 위의 그림처럼 기본적으로 지원되는 문자 이외의 사용자가 정의해서 나타낼 수 있는 문자 공간이 총 8개가 있다. CGRAM이라 일컫는 메모리 공간으로 5*7 dot 기준으로 8개의 문자를 만들어서 사용할 수 있다

 

 

https://www.quinapalus.com/hd44780udg.html 위 사이트에서는 사용자가 원하는 문자를 만들면 이에 맞게 hex 코드를 출력해주게 된다. 위에를 참고하면 섭씨 온도를 표시할 때 °(도)가 따로 없기 때문에 만들도록 할 것이다. 아무것도 사용자 정의 문자를 등록하지 않았기 때문에 Higher order bit가 '000'인 구간에 등록할 것이다

 

 

 

추가로 스마일 표시도 만들어 볼 것이다

 

 

값을 CGRAM에 넣어준 이후에는 CGRAM 메모리 번지에 해당하는 0번부터 7번까지 불러오면 된다

 

깃허브주소: https://github.com/surinoel/avr/tree/master/1602clcd/1602clcd_CGRAM

핵심코드(기존 드라이버 코드는 이전 시리즈 포스팅을 참고하면 된다)

 

 

 

[참고] https://embed-avr.tistory.com/55