LCD 모듈을 에로들어보자.
LCD 는 AVR 입장에서볼때 외부 I/O 장치이다.
즉 LCD 모듈에 접근하려면 어드레스버스와 데이타버스가 필요하다는 것이다.
AVR에서는 A0 ~ A15 까지(총 16개의 비트)를 어드레스 버스로 사용하고있다.
A0~A7 은 데이타버스로도 사용된다.
8비트 프로세서에서 어드레스버스가 16비트나 되는 이유가뭘까?
내생각으로는, 확장성을 위해서인것 같다. 어드레스 버스가 8비트밖에 되지않는다면
접근할수 있는 주소가 256개 밖에 되지않을것이다. 그러나 16비트라면 65536 개의 주소에 접근할 수 있다.
그만큼 외부 장치를 많이 연결할 수 있다는 말이다.
이 어드레스버스에 주소값을 넣으면 디코딩 회로는 이 주소값을 해석해서 하드웨어적으로 이 주소에 해당하는곳
을 활성화 시킨다. 이제 데이타버스는 이 활성화된 영역에 데이타를 쓰고, 읽을수가 있게된것이다.
이 메커니즘은 일반 PC 에서 CPU가 RAM 영역에 접근할때도 사용된다.
메모리의 주소값을 담은 어드레스버스가 디코딩회로에 의해 해석되면 데이타버스가 그 주소로 이동하고
이제 이 데이타버스에 데이타를 써넣으면 램에 데이타가 써지는 것이다.

이올린에 북마크하기
이올린에 추천하기
Prev
Rss Feed