임베디드 시스템-SFR 레지스터
특수 기능 레지스터 (또는 특수 목적 레지스터 또는 단순히 특수 레지스터)는 마이크로 프로세서의 다양한 기능을 제어하거나 모니터링하는 마이크로 프로세서 내의 레지스터입니다. 특수 레지스터는 프로세서의 일부 특수 기능 또는 상태와 밀접하게 관련되어 있으므로 일반 명령 (예 : 추가, 이동 등)으로 직접 쓸 수 없습니다. 대신, 일부 프로세서 아키텍처의 일부 특수 레지스터는이를 수정하기위한 특수 명령이 필요합니다.
8051에서 레지스터 A, B, DPTR 및 PSW는 일반적으로 SFR (특수 기능 레지스터)이라고하는 레지스터 그룹의 일부입니다. SFR은 이름이나 주소로 액세스 할 수 있습니다.
다음 표는 SFR 및 해당 주소 목록을 보여줍니다.
바이트 주소 | 비트 주소 | ||||||||
---|---|---|---|---|---|---|---|---|---|
FF | |||||||||
F0 | F7 | F6 | F5 | F4 | F3 | F2 | F1 | F0 | 비 |
E0 | E7 | E6 | E5 | E4 | E3 | E2 | E1 | E0 | ACC |
D0 | D7 | D6 | D5 | D4 | D3 | D2 | - | D0 | PSW |
B8 | - | - | - | 기원전 | BB | BA | B9 | B8 | IP |
B0 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | P3 |
A2 | AF | - | - | AC | AB | AA | A9 | A8 | IE |
A0 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | P2 |
99 | 비트 주소 지정 불가 | SBUF | |||||||
98 | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 | SCON |
90 | 97 | 96 | 95 | 94 | 93 | 92 | 91 | 90 | P1 |
8D | 비트 주소 지정 불가 | TH1 | |||||||
8C | 비트 주소 지정 불가 | TH0 | |||||||
8B | 비트 주소 지정 불가 | TL1 | |||||||
8A | 비트 주소 지정 불가 | TL0 | |||||||
89 | 비트 주소 지정 불가 | TMOD | |||||||
88 | 8F | 8E | 8D | 8C | 8B | 8A | 89 | 88 | TCON |
87 | 비트 주소 지정 불가 | PCON | |||||||
83 | 비트 주소 지정 불가 | DPH | |||||||
82 | 비트 주소 지정 불가 | DPL | |||||||
81 | 비트 주소 지정 불가 | SP | |||||||
80 | 87 | 87 | 85 | 84 | 83 | 82 | 81 | 80 | P0 |
SFR 주소에 대해 다음 두 가지 사항을 고려하십시오.
특수 기능 레지스터는 80H에서 FFH 사이의 주소를 가질 수 있습니다. 00에서 7FH까지의 주소는 8051 내부의 RAM 메모리 주소이기 때문에이 주소는 80H 이상입니다.
80에서 FF까지의 모든 주소 공간이 SFR에서 사용되는 것은 아닙니다. 사용하지 않는 위치 (80H ~ FFH)는 예약되어 있으며 8051 프로그래머가 사용해서는 안됩니다.
CY | PSW.7 | 캐리 플래그 |
AC | PSW.6 | 보조 캐리 플래그 |
F0 | PSW.5 | 일반 용도로 사용자가 플래그 0을 사용할 수 있습니다. |
RS1 | PSW.4 | 뱅크 선택기 비트 1 등록 |
RS0 | PSW.3 | 뱅크 선택기 비트 0 등록 |
OV | PSW.2 | 오버플로 플래그 |
- | PSW.1 | 사용자 정의 가능한 FLAG |
피 | PSW.0 | 패리티 플래그. 누산기에서 1 비트의 짝수 / 홀수를 나타 내기 위해 명령주기 동안 하드웨어에 의해 설정 / 삭제됩니다. |
다음 예에서는 SFR 레지스터의 이름이 해당 주소로 대체됩니다.
CY | AC | F0 | RS1 | RS0 | OV | - | 피 |
---|
RS0 및 RS1 비트를 사용하여 해당 레지스터 뱅크 비트를 선택할 수 있습니다.
RS1 | RS2 | 은행 등록 | 주소 |
---|---|---|---|
0 | 0 | 0 | 00H-07H |
0 | 1 | 1 | 08H-0FH |
1 | 0 | 2 | 10H-17H |
1 | 1 | 삼 | 18H-1FH |
PSW (Program Status Word)에는 CPU의 현재 상태를 반영하는 상태 비트가 포함되어 있습니다. 8051 변형은이 상태 정보와 함께 하나의 특수 기능 레지스터 PSW를 제공합니다. 8251은 PSW1이라는 두 번째 특수 기능 레지스터에서 사용할 수있는 두 개의 추가 상태 플래그 Z 및 N을 제공합니다.