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)를 전달하는 레지스터이다.


* 테스트로 딜레이 구간을 모두 주석으로 처리해봤더니 

원하는 결과는 나오지 않았다.