AT89C51 마이크로컨트롤러의 구조적 원리와 핀 기능
AT89C51은 4K바이트의 플래시 프로그래밍 가능 및 삭제 가능 읽기 전용 메모리(FPERROM—Falsh?프로그래밍 가능?지우기 가능?읽기 전용?메모리)를 갖춘 저전압 고성능 CMOS 8비트 마이크로컨트롤러입니다. ) 일반적으로 마이크로 컨트롤러로 알려진 프로세서. AT89C2051은 2K 바이트의 플래시 프로그래밍 가능 및 삭제 가능 읽기 전용 메모리를 갖춘 마이크로컨트롤러입니다. 마이크로컨트롤러의 삭제 가능한 읽기 전용 메모리는 100회 반복해서 삭제할 수 있습니다. 이 장치는 ATMEL의 고밀도 비휘발성 메모리 제조 기술을 사용하여 제조되었으며 업계 표준 MCS-51 명령어 세트 및 출력 핀과 호환됩니다. ATMEL의 AT89C51은 다목적 8비트 CPU와 플래시 메모리를 단일 칩에 결합한 덕분에 효율적인 마이크로 컨트롤러이며, AT89C2051은 간소화된 버전입니다. AT89C 마이크로컨트롤러는 많은 임베디드 제어 시스템을 위한 매우 유연하고 저렴한 솔루션을 제공합니다. 모양과 핀 배열은 그림과 같습니다.
주요 기능:
·MCS-51과 호환됩니까?
·4K 바이트 프로그래밍 가능한 플래시 메모리
·수명: 1000회 쓰기/삭제 주기
·데이터 보존 시간: 10년
·완전 정적 작동: 0Hz-24MHz
·3단계 프로그램 메모리 잠금
·128×8비트 내부 RAM
·32개의 프로그래밍 가능 I/O 라인
·2개의 16비트 타이머 / 카운터
·5개의 인터럽트 소스?
·프로그래밍 가능한 직렬 채널
·저전력 유휴 및 전원 차단 모드
·켜기 -칩 발진기 및 클록 회로
핀 설명:
VCC: 공급 전압.
GND: 접지.
P0 포트: P0 포트는 8비트 오픈 드레인 양방향 I/O 포트이며, 각 핀은 8TTL 게이트 전류를 흡수할 수 있습니다. 처음으로 포트 P1의 핀에 1이 기록되면 고임피던스 입력으로 정의됩니다. P0은 외부 프로그램 데이터 메모리에 사용될 수 있으며 데이터/주소의 8번째 비트로 정의될 수 있습니다. FIASH 프로그래밍 중에 P0? 포트는 원본 코드 입력 포트 역할을 합니다. FIASH가 검증을 수행할 때 P0은 원본 코드를 출력해야 합니다.
P1 포트: P1 포트는 내부 풀업 저항이 있는 8비트 양방향 I/O 포트입니다. P1 포트 버퍼는 4TTL 게이트 전류를 수신하고 출력할 수 있습니다. P1 포트 핀에 1을 쓴 후 내부적으로 풀업되어 입력으로 사용될 수 있습니다. P1 포트가 외부적으로 로우 레벨로 풀다운되면 내부 풀업으로 인해 전류가 출력됩니다. FLASH 프로그래밍 및 검증 중에 P1 포트는 8번째 주소로 수신됩니다. ?
P2 포트: P2 포트는 내부 풀업 저항이 있는 8비트 양방향 I/O 포트입니다. P2 포트 버퍼는 이를 수신하고 P2 포트가 기록될 때 4 TTL 게이트 전류를 출력할 수 있습니다. "1"일 때 해당 핀은 내부 풀업 저항에 의해 하이로 풀링되어 입력 역할을 합니다. 따라서 입력으로 사용되면 포트 P2의 핀이 외부적으로 로우로 풀려 전류가 출력됩니다. 이는 내부 풀업 때문입니다. 포트 P2가 외부 프로그램 메모리 또는 16비트 주소 외부 데이터 메모리에 액세스하는 데 사용되는 경우 포트 P2는 주소의 상위 8비트를 출력합니다. 주소 "1"이 주어지면 내부 풀업을 활용하여 외부 8비트 주소 데이터 메모리를 읽고 쓸 때 P2 포트는 특수 기능 레지스터의 내용을 출력합니다. 포트 P2는 FLASH 프로그래밍 및 검증 중에 상위 8비트 주소 신호와 제어 신호를 수신합니다.
P3 포트: P3 포트 핀은 내부 풀업 저항이 있는 8개의 양방향 I/O 포트로, 4개의 TTL 게이트 전류를 수신하고 출력할 수 있습니다. P3 포트에 "1"이 기록되면 내부적으로 High 레벨로 풀업되어 입력으로 사용됩니다. 입력으로서 외부 풀다운이 낮기 때문에 포트 P3은 풀업으로 인해 전류(ILL)를 출력합니다.
다음 표에 표시된 것처럼 포트 P3은 AT89C51의 일부 특수 기능 포트로도 사용할 수 있습니다.
포트 핀? 대체 기능
P3.0 ?RXD(직렬 입력 포트)
P3.1?TXD(직렬 출력 포트)
P3.2?/INT0(외부 인터럽트 0)
P3 .3?/INT1(외부 인터럽트 1)
P3.4?T0(타이머 0 외부 입력)
P3.5?T1(타이머 1 외부 입력)
P3.6?/WR(외부 데이터 메모리 쓰기 스트로브)
P3.7?/RD(외부 데이터 메모리 읽기 스트로브)
P3 포트가 일부 제어 신호를 수신합니다. 플래시 프로그래밍과 프로그램 검증 모두에 적합합니다.
RST: 입력을 재설정합니다. 오실레이터가 장치를 재설정할 때 RST 핀은 두 기계 사이클 동안 높게 유지되어야 합니다.
ALE/PROG: 외부 메모리에 액세스할 때 주소 래치에서 허용하는 출력 레벨을 사용하여 주소의 상태 바이트를 래치합니다. FLASH 프로그래밍 중에 이 핀은 프로그래밍 펄스를 입력하는 데 사용됩니다. 평상시에는 ALE 단자가 일정한 주파수 주기로 양의 펄스 신호를 출력하며 이 주파수는 발진기 주파수의 1/6입니다. 따라서 외부 출력에 대한 펄스로 사용되거나 타이밍 목적으로 사용될 수 있습니다. 그러나 외부 데이터 메모리로 사용될 때마다 ALE 펄스는 건너뛰게 됩니다. ALE의 출력을 비활성화하려면 SFR8EH 주소에 0을 설정하십시오. 이때 ?ALE는 MOVX가 실행되고 MOVC 명령이 ALE인 경우에만 작동합니다. 또한 이 핀은 약간 높게 당겨져 있습니다. 마이크로프로세서가 외부 실행 상태(ALE 비활성화)인 경우 이 비트를 설정해도 아무런 효과가 없습니다.
/PSEN: 외부 프로그램 메모리용 스트로브 신호. /PSEN은 외부 프로그램 메모리에서 명령을 가져오는 동안 기계 주기당 두 번 어설션됩니다. 그러나 외부 데이터 메모리에 액세스할 때는 이 두 가지 유효한 /PSEN 신호가 나타나지 않습니다.
/EA/VPP: /EA가 로우로 유지되면 내부 프로그램 메모리 유무에 관계없이 이 기간 동안 외부 프로그램 메모리(0000H-FFFFH)가 사용됩니다. 암호화 모드 1에서 /EA는 RESET으로 내부적으로 잠깁니다. /EA 터미널이 하이 상태로 유지되면 내부 프로그램 메모리가 잠깁니다. FLASH 프로그래밍 중에 이 핀은 12V 프로그래밍 전원(VPP)을 적용하는 데에도 사용됩니다.
XTAL1: 역진동 증폭기의 입력과 내부 클록 작동 회로의 입력입니다.
XTAL2: 반전 발진기의 출력입니다.
발진기 특성:
XTAL1과 XTAL2는 각각 반전 증폭기의 입력과 출력입니다. 반전 증폭기는 온칩 발진기로 구성될 수 있습니다. 석재 진동과 세라믹 진동을 모두 사용할 수 있습니다. 외부 클록 소스를 사용하여 장치를 구동하는 경우 XTAL2는 연결되지 않은 상태로 두어야 합니다. 내부 클록 신호에 대한 나머지 입력은 2분할 플립플롭을 통과해야 하므로 외부 클록 신호의 펄스 폭에 대한 요구 사항은 없지만 펄스의 하이 및 로우 레벨에 필요한 너비는 반드시 필요합니다. 보장됩니다.