Embedded 실습/AT91SAM7S256
TIMING DIAGRAM대로 프로그래밍하기
중동콜링
2013. 4. 21. 14:52
임베디드 프로그래밍을 할 때는
각 기기의 timing diagram에 맞춰서 프로그래밍 해야
원하는 결과를 얻을 수 있다.
Character LCD 16216D-4-B102A의 경우에는
데이터 시트에 아래와 같은 timing diagram이 나오는데
각 핀의 데이터를 쓰는데 걸리는 시간에 맞춰 딜레이를 주어야
의도한 대로 작동한다.
write operation을 하는 함수를 구현할 때
①, ②, ③ 에서 타이밍 다이어그램대로 Low값을 주고
④ 에서처럼 딜레이를 준 후
⑤ Enable 레지스터를 High값으로 바꾸어준다.
⑥ High값으로 바뀌는데 시간이 필요하므로 다시 딜레이
⑦, ⑧ LCD 데이터 버스를 클리어해주고 데이터 삽입
⑨ 다시 딜레이
⑩ Enable 레지스터를 Low로
⑪ 다시 딜레이
와 같이 구현해야 한다.
* 참고로 PIO_CODR과 PIO_SODR은 LCD를 연결한 ARM 보드의
각 핀에 각각 0과 1값, 즉 Low(0V)와 High(5V)를 전달하는 레지스터이다.
* 테스트로 딜레이 구간을 모두 주석으로 처리해봤더니
원하는 결과는 나오지 않았다.