Intel 8051 microcontroller 의 구조적 측면에 대한 설명
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

Intel 8051 microcontroller 의 구조적 측면에 대한 설명에 대한 보고서 자료입니다.

목차

1. 마이크로 컨트롤러(Microcontroller) 8051

2. 마이크로 컨트롤러 8051의 특징

3. 마이크로 컨트롤러 8051의 외부구조 및 핀배치 및 의 기능

4. 마이크로 컨트롤러 8051의 내부구조

5. 마이크로 컨트롤러 8051의 메모리 구조

본문내용

B 레지스터, 상태 레지스터 PSW, 스택 포인터 SP, DPTR 레지스터 등과 같은 시스템 레지스터 인터럽트에 관한 IE 및 IP, IPH 레지스터, 병렬 입출력 포트, 타이머, 직렬 포트 등의 I/O 제어 레지스터
1 누산기 A(Accumulator)
- 모든 산술연산 및 논리연산의 중심이 되는 레지스터
- 누산기로 처리되는 명령(accumulator-specific instruction)에서는 A로 표시 직접번지 지정으로 처리되는 명령에서는 ACC로 표기(SFR로 취급)
2 B 레지스터
- 곱셈 명령 및 나눗셈 명령에서 특별한 용도로 사용
기타 다른 명령에서는 범용 레지스터로 사용
- 곱셈 명령에서 A와 B 레지스터를 곱한 16비트 결과의 하위 바이트는 A, 상위 바이트는 B 레지스터에 저장
- 나눗셈 명령에서는 A를 B 레지스터로 나눈 후에 그 몫은 A, 나머지는 B 레지스터에 저장
그림 11. PSW 레지스터의 비트 구성
3 상태 레지스터 PSW(Program Status Word)
- 프로그램의 명령을 실행하는 동안에 발생하는 상태를 표시하는 비트와 CPU의 기능을 제어하는 비트로 구성
- PSW.0 비트인 P는 패리티 플랙(parity flag) 비트
누산기 A에서 1의 개수가 짝수이면 0이 되고, 1의 개수가 홀수이면 1이 되는 우수 패리티(even parity) 방식
- PSW.1과 PSW.5는 각각 특별한 용도가 지정되지 않아 사용자가 임의로 사용할 수 있다.
- PSW.2의 OV는 산술연산 후의 상태를 나타내는 오버플로우 플랙(overflow flag) 비트
2의 보수로 표현되는 부호있는 수의 덧셈이나 뺄셈에서 연산 결과가 -128∼+127의 범위를 초과하면 세트
곱셈 명령 MUL AB에서 결과가 FFH를 넘으면 세트되며, 나눗셈 명령 DIV AB에서 제수가 0인 경우에도 세트
- PSW.6의 AC는 산술연산 후에 그 상태를 나타내는 보조 캐리 플랙(auxiliary carry flag) 비트
누산기의 비트3에서 자리올림이나 자리내림이 발생한 것을 표시
자리올림은 덧셈 연산에서 발생할 수 있으며, 자리 내림은 뺄셈 연산에서 발생할 수 있다.
- PSW.7의 CY는 산술연산 후에 그 상태를 나타내는 캐리 플랙(carry flag) 비트
누산기의 비트7에서 자리올림(carry)이나 자리내림(borrow)이 발생한 것을 표시
비트 회전(rotate) 명령에 의하여 세트되거나 리셋될 수 있다.
캐리 플랙을 직접 조작하는 명령 CLR C, SETB C, CPL C 등에 의하여 값이 달라질 수 있다.
- 상태 레지스터에는 일반적인 경우처럼 제로 플랙(zero flag)이나 부호 플랙(sign flag)이 없다.
산술연산 및 데이터 비교 기능이나 연산후에 조건에 따라서 프로그램을 처리하는 기능이 취약
누산기의 값을 조사하여 그것이 0인지의 여부에 따라 분기하는 JZ 또는 JNZ 명령이나
CJNE와 같은 데이터 비교후 분기명령에 의하여 상당히 보완되고 있다.
- 레지스터 뱅크 선택 비트 RS1, RS0는 범용 레지스터 R0∼R7이 위치하는 메모리 뱅크를 지정
RS1/RS0 = 00 ; 00H∼07H 번지의 뱅크 0(default)
RS1/RS0 = 01 ; 08H∼0FH 번지의 뱅크 1
RS1/RS0 = 10 ; 10H∼17H 번지의 뱅크 2
RS1/RS0 = 11 ; 18H∼1FH 번지의 뱅크 3
4 스택 포인터 SP(Stack Pointer)
- 스택 포인터는 8비트로 되어 있어서 00H∼FFH 영역의 내부 데이터 메모리만을 스택으로 사용
- 리셋 직후에 스택 포인터의 값은 07H로 지정되므로 08H 이후의 내부 데이터 메모리가 스택으로 사용
- 만약 필요하다면 사용자 프로그램의 서두에서 스택 포인터의 값을 새로 지정해야 한다.
- PUSH나 CALL 명령을 사용하여 스택에 데이터가 저장될 때는 먼저 스택 포인터 값이 증가(pre-increment)
POP이나 RET 명령에 의하여 스택에서 데이터가 꺼내지고 나면 스택 포인터 값이 감소 (post-decrement)
5 데이터 포인터 DPTR(Data Pointer)
-중요한 특징을 나타내는 16비트 레지스터
- 주로 MOVC 명령에서 외부 프로그램 메모리의 번지를 가리키는 포인터로 사용
또는 MOVX 명령에서 외부 데이터 메모리의 번지를 가리키는 포인터로 사용
- 범용 레지스터로 사용되는 경우에는 16비트 데이터를 취급
상위 바이트 DPH와 하위 바이트 DPL 등 2개의 8비트 범용 레지스터로 분리되어 사용되기도 한다.
- SFR의 나머지 레지스터들은 모두 I/O 디바이스들을 제어하거나 인터럽트를 제어하는데 사용되는 레지스터
3) SFR의 가장 왼쪽 열의 레지스터 즉, 80H, 88H, 90H, 98H, ... , F0H, F8H 등은 모두 비트 어드레싱이 가능
4) SFR에서 타이머2에 관계되는 T2CON, T2MOD, RCAP2L, RCAP2H, TL2, TH2 및 IPH 등은 8052에만 존재
5) 리셋 직후에 SFR의 각 레지스터들의 초기값은 스택 포인터 SP가 07H이고 병렬포트 P0∼P3가 FFH 기타 모든 레지스터는 유효 비트들이 0으로 된다.
그림 10. SFR의 구성 및 비트 어드레스
(4) 외부 메모리 및 I/O의 인터페이스
1) 외부 프로그램 메모리에서 실행 명령은 항상 프로그램 카운터 PC에 의하여 액세스
2) 데이터 상수는 PC 또는 데이터 포인터 DPTR에 의하여 액세스 (MOVC A,@A+PC / MOVC A,@A+DPTR)
3) 반드시 16비트 어드레스 및 8비트의 데이터 버스가 사용
4) 하위 어드레스 A0∼A7가 데이터 버스 D0∼D7과 포트0을 공유하므로 ALE 신호를 사용하여 분리
5) 어드레스를 적절히 디코딩하여 ROM의 단자에 접속
외부 프로그램 메모리의 리드 동작을 나타내는 신호는 ROM의 단자에 접속
6) 외부 데이터 메모리를 액세스하는 명령에서 번지를 지정하는 것은 DPTR을 이용하여 간접 지정하는 방식 - 16비트 어드레스 사용, 최대 64KB
R0나 R1 레지스터를 이용하여 간접지정하는 방식 - 8비트 어드레스 사용, 256바이트, 뱅크 셀렉트로 확장

키워드

intel,   8051,   구조적,   측면,   mcs-51,   메모리
  • 가격2,000
  • 페이지수12페이지
  • 등록일2003.11.17
  • 저작시기2003.11
  • 파일형식한글(hwp)
  • 자료번호#233098
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니