8051/PIC > 휴게소 - 공포(?)의 어드레스영역 80h~FFh

TODAY982 TOTAL605,611
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 8051/PIC | DT-516 강좌 | 휴게소 - 공포(?)의 어드레스영역 80h~FFh

페이지 정보

작성자 키트 작성일2017-08-23 13:07 조회303회 댓글0건

본문

8051 공부 하다가 AVR 접하는 사람들은 처음에 당황 하는 것이 포트관련 레지스터입니다.

포트의 입출력을 결정 하는 DDRx 레지스터와

포트 입력레지스터

포트 출력 레지스터가 각기 다른 이름으로 존재하고

내부 풀업 저항까지 지정/해제 가능 합니다.

8051은 읽으면 입력이고 쓰면 출력이죠(입력하기 위해서는 0xFF를 출력해둬야 합니다.)

특이한 8051구조 때문에 8051은 소스전류가 약하고

P0를 제외한 모든 포트가 내부 풀업 저항을 사용 합니다.(P0포트만 오픈드레인)

 

반면에 AVR 하다가 8051 하는 사람은

메모리 구조 때문에 헤매게 됩니다.

 

8051 어드레스 영역중에서 제일 복잡한 구간이 0x80~0xFF영역입니다.

1. IDATA(SRAM) (8051은 0x00~0x7F 까지만 있슴)

2. SFR

3. XRAM(외부RAM)

4. 내부 FLASH

5. 외부 ROM

 

프로그램에서는 어떻게 구분 되는지 명령어를 살펴보면

1,2번은 MOV 명령어를 사용 합니다.

1번과 2번의 구분은

SRAM은 R0,R1을 사용한 간접어드레싱만 지원합니다.

SFR은 직접어드레싱으로 접근 합니다.

 

3번은 MOVX 명령어를 사용합니다.

 

4,5번은 31번(/EA) 단자 설정에 따라서 0V를 연결 하면 0x0000~0xFFFF까지 모두 외부기 선택되며

/EA 단자를 5V로 연결 하면 0x0000~mcu용량만큼은 내부 FLASH가 선택되고 나머지는 외부 ROM이 선택 됩니다.

명령어는 MOVC를 사용합니다.

 

 

메모리 모델에 따라서 조금 더 복잡해지는데...처음엔 몰라도 됩니다.

자세한 내용은 웹자료나 서적을 통해서 공부 하세요..^^

 

 

C에서는

1,2번은 data 혹은 idata

3번은 xdata

4,5번은 code로 구분해서 표기 합니다.

댓글 0

조회수 303

등록된 댓글이 없습니다.

8051/PICHOME > 8051/PIC > 전체 목록

게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기