마하전자기술연구소 LOGO

제품검색 고객센터053-604-2355
기술자료실

Home > 기술자료실 기술자료실

제 목 3) 데이타메모리
첨부파일


PIC의 데이타메모리의 구조

【데이타메모리란? 】

데이타메모리는 프로그람메모리와는 독립에 갖춰져 있다
읽고 쓰기 가능한 데이터 격납 전용의 메모리로, PIC의 특징 있다
아키텍쳐의 하나가 되고 있습니다.
이 데이타메모리는 아래와 같은 2 종류에 헤어져 있어 모두
읽고 쓰기를 합니다.

(1) Special Function Register (SFR)
  CPU의 기능 동작을 지정하거나 주변 디바이스의 기능, 동작
  (을)를 지정하기 위한 레지스터입니다.
(2) General Purpose Register (GPR)
  범용의 데이터 에리어로서 사용해, 변수나 버퍼로서
  사용합니다


【데이타메모리의 구조】

데이타메모리는 128바이트를 단위로 하는 최대 4개(살)의 「Bank」로부터 구성
되고 있습니다.
또, 각 에리어는 「직접 애드레싱」과「간접 애드레싱」의
2방법으로 액세스 할 수가 있습니다.
이 액세스를 위한 주소 구조는 밑그림과 같이 되어 있습니다.

(1) 직접 애드레싱의 경우
  이 경우는, 「STATUS」레지스터에 있는 2비트의 Bank 지정용의
  비트 RP0, RP1와 명령의 OP코드내의 f 레지스터를 사용합니다.
       RP1  RP0  Bank
        0   0    0
        0   1    1
        1   0    2
        1   1    3


RP0, 1으로 Bank를
지정해, 명령의
f opecode로
장소를 지정한다
일로 임의의 장소
곳을 액세스로
온다.



(2) 간접 애드레싱의 경우
  이전 접애드레싱이란 무엇인가라고 하면(자), FSR 레지스터에 주소
  (을)를 설정해, INDF 레지스터를 경유해 간접적으로 데이타메모리의 읽기
  쓰기를 하는 방법입니다. 이 경우의 주소는 「STATUS」레지스터에
  어느 IRP 비트와 FSR의 최상정도 비트의 2비트로 Bank를 지정합니다.
       IRP  FSR<7>  Bank
        0   0      0
        0   1      1
        1   0      2
        1   1      3


IRP와 FSR<7>로
Bank를 지정해
FSR<0:6>로 장소
(을)를 지정하는 것으로
임의의 장소를 손가락
정할 수 있다

【프로그래밍 테크닉】

(1) 간접 애드레싱의 테크닉
  간접 애드레싱의 예로서 Bank0의 범용 RAM 에리어
  의 20 H에서 3 FH까지를 연속 클리어 하는 프로그램은 아래와 같이
  (와)과 같이 된다.

     BCF   STATUS, IRP   ;Indirect addressing Bank0/1
     MOVLW  0x20      ;Initial pointer to RAM
     MOVWF  FSR       ;set to pointer
  NEXT CLRF   INDF      ;clear RAM area
     INCF   FSR, F      ;FSR+1
     BTFSS  FSR, 4      ;end test(0x30)
     GOTO   NEXT 

(2) Bank 변환의 테크닉
 단순하게 Bank를 바꾸어 데이터를 액세스 할 때의 프로그램의
 쓰는 법은 아래와 같은님이 합니다.

     BSF   STATUS, RP0  ;Set page 1
     MOVLW  0x10     ;only RA4 input
     MOVWF  TRISA     ;PortA is all output
     CLRF   TRISB     ;Port B is all output
     BCF   STATUS, RP0  ;Set Page 0
     CLRF   PORTB     ;reset
     MOVLW  1
     MOVWF  PORTA     ;light on dot

목록보기

www.1chip.com, www.1chip.co.kr
www.micom114.com
자료실바로가기

대구광역시 북구 산격2동 1629 산업용재관 10동 13호 (2층) / Tel. 053-604-2355 / Fax. 053-383-2354 / E-mail. maha@paran.com