본문 바로가기

Hacked Brain/embeddedland.net

80C196KC 포트기능, 구조

80C196KC는 P0,P1,P2,P3,P4 이렇게 5개의 IO포트 를 가지고 있다.
포트 0,1,2의 구조는 비슷하고, SFR으로 이넘들을 제어하게 된다.
포트 1,2는 양방향 schmitt trigger입력과 CMOS 레벨 출력이 가능하다.

포트0 port0 - P0.0/ACH0 ~ P0.7/ACH7
port0는 입력전용 포트다. 디지털 입력이 가능하고 ADC를 사용할때는 아날로그 입력으로 사용할수도 있으며, P0.7은 외부 인터럽트 요구신호(interrupt request)로 사용할수 있다.
디지털 입력일 경우 SFR의 port0(oeH)를 리드(read)하면 P0.0~P0.7까지의 값을 읽을수 있다.(1byte)
이때 port0는 하이 임피던스(hign impedence)입력 핀으로 사용되어진다.
IOC1의 bit1을 0으로 할때 P0.7을 외부 인터럽트요구 핀으로 사용가능하다.

포트1
port1은 입/출력이 가능한 포트이며, P1.0~P1.2 는 한가지 기능만 있고,
P1.3~P1.7은 다른 기능을 가지게 할수 있다. port1 은 SFR의 PORT1(0FH)를 이용한다.

P1.3 출력 PWM1
P1.4 출력 PWM2
P1.5 출력 not(BREQ)
P1.6 출력 not(HLDA)
P1.7 출력 not(HOLD)

포트2
port2는 여러기능을 가진 입/출력 포트로 이용가능하다. P2.6,P2.7이 준양방향성을 가진다.
port2 는 SFR의 PORT2(10H)로 제어한다.

P2.0 출력 TXD
P2.1 입력 RXD
P2.2 입력 EXINT
P2.3 입력 T2CLK
P2.4 입력 T2RST
P2.5 입력 T2_U/D
P2.7 입력 T2_CAPTURE

포트3,4
이 포트는 오픈 드레인(open drain) 입출력 포트로, 196에서는
메모리 맵 입출력 포트로(memory mapped IO port) 사용한다.
그래서 이넘들은 SFR로 제어가 불가능...
이넘은 어드레스/데이터 버스로 사용해서 일반 포트로 사용은 하지 않는다.
port3,4는 1FFEH, 1FFFH 로 주소가 할당 되어있다.