마이크로컨트롤러 p0 포트의 작동 원리
P0 포트는 래치, 입력 버퍼, 스위치, NAND 게이트, AND 게이트 및 전계 효과 트랜지스터 구동 회로로 구성됩니다. 그림 오른쪽에 P0.X 핀이라고 표시된 아이콘이 있는데 이는 P0.X 회로 구성을 의미합니다.
다음으로, 먼저 P0 포트를 구성하는 각 장치 부품을 소개하겠습니다.
먼저 입력 버퍼를 살펴보겠습니다. P0 포트에는 2개의 3상태가 있습니다. 버퍼 디지털 회로를 배울 때 우리는 이미 3상태 게이트에 세 가지 상태가 있다는 것을 알고 있습니다. 즉, 출력은 높은 레벨, 낮은 레벨일 수 있고 높은 저항 상태(또는 금지된 상태)도 있을 수 있습니다. 그림을 보세요. 위의 것은 읽기 래치의 버퍼입니다. 즉, D 래치의 출력 단자 Q에서 데이터를 읽으려면 읽기 버퍼의 3상태 제어 단자를 사용해야 합니다. 래치(위 그림에서 '읽기 래치'라고 표시된 끝 부분)가 유효합니다. 다음은 P0의 데이터를 읽는 읽기 핀 버퍼입니다. 마이크로 컨트롤러의 내부 데이터 버스로 전송됩니다.
D 래치: 래치를 형성하기 위해 일반적으로 순차 회로가 사용됩니다. 디지털 회로를 배울 때 플립플롭이 이진수를 저장할 수 있다는 것(즉, Hold 기능이 있음)을 이미 알고 있습니다. 51 마이크로 컨트롤러의 32개 I/O 라인에서 D 플립플롭은 래치를 형성하는 데 사용됩니다. 위 그림의 D 래치를 보세요. D 단자는 데이터 입력 단자, CP 는 제어 단자(즉, 타이밍 제어 신호 입력 단자), Q 는 출력 단자, Q 는 역방향 출력 단자입니다.
D 플립플롭의 경우, D 입력 단자에 입력 신호가 있을 때, 이때 제어 단자 CP에 신호가 없는 경우(즉, 타이밍 펄스가 도착하지 않은 경우) , 입력 단자 D의 데이터는 출력 단자 Q와 역방향 출력 단자 Q로 전송될 수 없습니다. 타이밍 제어 단자 CP의 타이밍 펄스가 도달하면 D 단자에 입력된 데이터가 Q 및 Q 비단자로 전송됩니다. 데이터가 전송된 후 CP 타이밍 제어 터미널의 타이밍 신호가 사라지면 이때 출력 터미널은 마지막 입력 터미널 D의 데이터를 계속 유지합니다(즉, 마지막 데이터가 래치됩니다). 다음 타이밍 제어 펄스 신호가 오면 D 단자의 데이터가 다시 Q 단자로 전송되어 Q 단자의 상태가 변경됩니다.
다방향 스위치: 51 마이크로 컨트롤러에서 내부 메모리가 충분할 때(즉, 외부 확장 메모리가 필요하지 않은 경우 여기에 언급된 메모리에는 데이터 메모리와 프로그램 메모리가 포함됨) P0 포트 8031(내부에 ROM 없음) 마이크로 컨트롤러의 경우 입출력 포트(예: I/O)를 사용하거나 작성된 프로그램이 마이크로 컨트롤러의 내부 메모리 용량을 초과하여 메모리 확장이 필요합니다. 외부적으로는 P0 포트가 '주소/데이터' 버스로 사용됩니다. 그런 다음 이 다중 방향 선택 스위치를 사용하여 일반 I/O 포트로 사용할지 '데이터/주소' 버스로 사용할지 선택합니다. 위 그림을 보시면 멀티웨이 스위치를 하단에 연결하면 P0 포트를 일반 I/O 포트로 사용하게 됩니다. '주소/데이터' 버스.
출력 드라이버 부분: 위 그림에서 볼 수 있듯이 포트 P0의 출력은 두 개의 MOS 튜브로 구성된 푸시 풀 구조입니다. 즉, 이 두 개의 MOS 튜브는 V1에서만 구동할 수 있습니다. V2가 켜지면 V2가 꺼지고, V2가 켜지면 V1이 꺼집니다.
AND 게이트와 NAND 게이트: 이 두 단위 회로의 논리 원리는 디지털 및 공통 논리 회로의 4과에서 소개되었습니다. 이해가 되지 않으면 4장으로 돌아가서 읽어 보십시오. . 바라보다.
이전에 P0 포트의 각 단위 구성 요소에 대해 자세히 설명했습니다. 이제 P0 포트가 I/O 포트 및 주소/데이터 버스로 사용될 때 구체적인 작동 프로세스를 살펴보겠습니다.
1. I/O 포트로 사용될 때 작동 원리
P0 포트가 I/O 포트로 사용될 때 다중 방향 스위치의 제어 신호는 0입니다. (low level) 위 그림의 배선부분을 보면 다방향 스위치의 제어신호가 AND 게이트의 입력단자에 동시에 연결되는 것을 알 수 있다. "1은 모두 1로 나오고 0은 0으로 나옵니다." 그러면 제어 신호가 0이면 AND 게이트의 출력도 0(로우 레벨)이 되고 AND 게이트의 출력은 0이 됩니다. V1 튜브가 꺼지면 다중 채널 제어 스위치의 제어 신호가 0(낮은 수준)일 때 다중 채널 제어 스위치는 래치의 Q 비단자에 연결됩니다(즉, P0 포트는 I/O 포트 라인으로 사용됩니다).
P0 포트는 I/O 포트 라인으로 사용되며 작업 프로세스는 데이터 버스에서 핀으로 출력됩니다(즉, 출력 상태 출력): 쓰기 래치 신호 CP가 유효, 데이터 버스의 신호 → 잠금 레지스터의 입력 단자 D → 래치의 역방향 출력 Q 비 단자 → 다중 방향 스위치 → V2 튜브의 게이트 → V2의 드레인을 출력 단자로 P0.X. 이전에 말했듯이 멀티웨이 스위치의 제어 신호가 로우 레벨 0이면 AND 게이트의 출력이 로우 레벨이 되고 V1 튜브가 차단되므로 출력 포트로 사용할 때 P0은 OC Gate와 유사한 오픈 드레인 출력은 드라이버가 전류 부하에 연결된 경우 외부 풀업 저항이 필요합니다.