4) 내부 Flash/EE DATA Memory 사용

 

내부 Flash/EE DATA Memory는 ADUC812만의 특이한 점이 있습니다. 총 640byte의 메모리를 가지고 있고 4개의 바이트는 하나의 페이지로 관리됩니다. 다시 말해 1byte를 읽거나 쓰기 위해서 4개의 바이트를 처리해야 된다는 말일수도 있지요.

 

레지스터중에 EADRL 이라는 것이 있습니다. 여기에 들어갈 수 있는 값은 0H에서 9FH까지입니다. 눈치 빠르신 분은 이 레지스터가 내부 Flash/EE DATA Memory 의 주소를 나타낸다는 것을 바로 아셨을 겁니다. 한 개의 주소를 선택함으로서 4byte에 대한 처리가 가능하게 됩니다. 4개의 바이트는 각각 EDATA1,EDATA2,EDATA3,EDATA4에 의해 관리가 됩니다.

각각의 (읽거나 쓰는)작업을 위해서는 ECON이라는 레지스터에 명령어를 주어 처리를 합니다. ECON을 살펴보죠

 

명령

내역

01H

READ COMMAND

02H

WRITE COMMAND

03H

RESERVED

04H

VERIFY COMMAND

05H

ERASE COMMAND

06H

ERASE ALL COMMAND

ECON

실제 사용하는 명령어를 살펴보죠 (어셈불러입니다.)

MOV    EADRL, #03H    ;페이지를 설정합니다.

MOV    ECON,#01H    ;DATA를 읽어 들입니다.

MOV    EDATA1, #01H    ;EDATA1에 01h값을 넣습니다.

MOV    EDATA2, #02H    ;EDATA2에 02h값을 넣습니다.

MOV    EDATA3, #03H    ;EDATA3에 03h값을 넣습니다.

MOV    EDATA4, #04H    ;EDATA4에 04h값을 넣습니다.

MOV    ECON,    #02H    ;설정된 주소의 페이지를 지움니다.

MOV    ECON,    #05H    ;DATA 저장하기

 

제 부족한 매뉴얼을 읽어주셔서 감사합니다. 아직 모든 기능을 사용해 보지 못한 관계로 부족한 부분이 많이 있습니다. 더욱 자세한 내용은 8051 책자 또는 www.analog.com을 참고하시기 바랍니다.

'공부 > 8051' 카테고리의 다른 글

[ADUC812] ADUC812 설명 7  (0) 2012.11.10
[ADUC812] ADUC812 설명 6  (0) 2012.11.10
[ADUC812] ADUC812 설명 4  (0) 2012.11.10
[ADUC812] ADUC812 설명 3  (0) 2012.11.10
[ADUC812] ADUC812 설명 2  (0) 2012.11.10

+ Recent posts