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 |