120 likes | 456 Views
8051 마이크로컨트롤러 제 2 장 . 하드웨어 (Hardware). 기억 장치 구조. -1- 청강문화산업대학 이동통신과. 8051 마이크로컨트롤러 제 2 장 . 하드웨어 (Hardware). 내부 RAM. SFR. -2- 청강문화산업대학 이동통신과.
E N D
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) 기억 장치 구조 -1-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) 내부RAM SFR -2-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) 내부 RAM • Bank Register - 00H ~ 1FH(32byte) - 4개의 뱅크(Bank 0 - 8byte(R0 ~ R7), Bank 1(8), Bank 2(8), Bank 3(8)) - Reset 후에는Bank 0 자동 지정, 다른 뱅크 선택은 PSW의RS1, RS0을 조작 * 예 : Bank 2 선택 시는 RS1 = 1, RS0 = 0 • Bit-Addressable RAM - 20H ~ 2FH(16byte, 128bit) • General purpose RAM - 30H ~ 7FH(80byte) -3-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • SFR은 128byte(80H ~ FFH) 중 21개 정의(8052는 26개) - Acc, B register, PSW, SP - Data pointer register : DPH, DPL(DPTR High, DPTR Low) - Port register : P0, P1, P2, P3 - Timer/Counter register : TH0, TL0, TH1, TL1, TMOD, TCON - Serial port register : SBUF, SCON - Interrupt register : IP, IE - Power Control register : PCON • Bit-Addressable register(11개) - P0, P1, P2, P3, TCON, SCON, IE, IP, PSW, Acc, B register -4-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • Acc(또는 A, Accumulator) - 많은 연산 및 판단의 기준이 되는 가장 핵심적인 레지스터 - 비트-주소 지정 가능 • B(B register) - 일반적인 레지스터 기능 외에 곱셈과 나눗셈 명령에 연관되어 사용 (MUL AB, DIV AB) - 비트-주소 지정 가능 • PSW(Program Status Word) - 명령 실행 후의 상태 표현 및 뱅크 지정 레지스터 - 비트-주소 지정 가능 -5-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • PSW(Program Status Word) - CY(CarrY flag) . 덧셈에서 비트7에 carry가 발생하면 CY = 1, 그 외는 0 . 뺄셈에서 비트7로 barrow가 발생하면 CY = 1, 그 외는 0 - AC(Auxiliary Carry flag) . BCD 값을 더할 때 carry가 비트3에서 비트4로 발생하면 AC = 1 . Low Nibble에서의 결과가 0AH ~ 0FH 사이에 있을 때 AC = 1 (BCD의 결과 값이 9 이상(0AH ~ 0FH)이면 DA A 명령어 따라옴) -6-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • PSW(Program Status Word) - RS(Register Select flag) 0 / RS 1 . Bank 0 (RS1 = 0, RS0 = 0), Bank 1 (RS1 = 0, RS0 = 1) . Bank 2 (RS1 = 1, RS0 = 0), Bank 3 (RS1 = 1, RS0 = 1) - OV(Over flow flag) . 부호를 갖는 수(비트7이 부호 비트, +는 0/ -는 1)의 덧셈, 뺄셈 결과가 유효 범위(-128 ~ +127) 를 초과하면 OV = 1 . -128(1000 0000B) ~ +127(0111 1111B) -7-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • PSW(Program Status Word) - P(Parity bit) . 짝수 parity 설정 .. Acc와 P의 “1” 개수가 항상 짝수가 되도록 설정 .. 예) : Acc = 10101101B 이면, P = 1 (전체 1의 개수가 짝수개인 6개) -8-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • SP(Stack Pointer) - Stack을 가리키는 Pointer register - SP는 SFR에 1개 byte, Stack은 내부RAM(128byte)에 위치 - Stack 동작 . PUSH(스택에 data를 넣음), POP(스택에서 data를 꺼냄) . CALL 명령 수행 때는 PC(Program Counter)의 값을 Stack에 저장, CALL문 수행 후(RET)는 Stack 에 저장된 값을 PC로 되돌림 . PUSH(CALL) 하면 SP+1, POP(RET) 하면 SP-1 -9-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • SP(Stack Pointer) -10-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • Data Pointer register(DPTR, 16비트) - DPH(Data Pointer High byte), DPL(Data Pointer Low byte) : 각 8비트 - 외부 RAM(데이터 메모리)과 data 전송시 Address pointer로 사용 - ROM(프로그램 메모리)에서 정수 조합에 의한 테이블 분기(Jump)로 사용 • Port register - I/O 또는 중복된 기능 - 비트-주소 지정 가능 • Timer/Counter register, Serial port register, Interrupt register - 4장(Timer/Counter), 5장(Serial port), 6장(Interrupt)에서 설명 -11-청강문화산업대학 이동통신과
8051 마이크로컨트롤러 제2장. 하드웨어(Hardware) SFR(Special Function Register) • Power Control register(PCON) - IDL(IDLe mode) . Set하면 CPU는 인터럽트, 직렬 포트, 타이머/카운터를 제외한 나머지 블록에 Clock 공급을 차단하여 소비전류를 줄임(ALE, PSEN은 High) . 해제는 Reset 또는 인터럽트 - PD(Power Down mode) . Set하면 칩 발진기 등 모든 기능 정지(RAM, Pin 그대로 유지) . 해제는 Reset(ALE, PSEN은 Low) -12-청강문화산업대학 이동통신과