Організація і використання пам’яті даних, страница 5

INTEDG                            00000006

INTF                              00000001

IRP                               00000007

NOT_PD                            00000003

NOT_RBPU                          00000007

NOT_TO                            00000004

OPTION_REG                        00000081

PCL                               00000002

PCLATH                            0000000A

PORTA                             00000005

PORTB                             00000006

PS0                               00000000

PS1                               00000001

PS2                               00000002

PSA                               00000003

RBIE                              00000003

RBIF                              00000000

RD                                00000000

RP0                               00000005

RP1                               00000006

STATUS                            00000003

T0CS                              00000005

T0IE                              00000005

T0IF                              00000002

T0SE                              00000004

TMR0                              00000001

TRISA                             00000085

TRISB                             00000086

W                                 00000000

_PWRTE_OFF                        00003FFF

_PWRTE_ON                         00003FF7

MPASM 02.20 Released          LAB_444.ASM   4-11-2004  22:17:39         PAGE  5

SYMBOL TABLE

  LABEL                             VALUE

__16F84                           00000001

adr                               0000000C

init                              00000006

k                                 00000049

kol                               0000000F

m1                                00000021

m2                                0000002F

m3                                0000003C

m5                                0000005A

main                              00000000

name                              00000010

proc1                             0000001F

proc2                             00000036

MEMORY USAGE MAP ('X' = Used,  '-' = Unused)

0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXX-- ---------------- ----------------

All other memory blocks unused.

Program Memory Words Used:    94

Program Memory Words Free:   930

Errors   :     0

Warnings :     0 reported,     0 suppressed

Messages :     0 reported,     0 suppressed

Результати роботи програми:

Запустивши програму на виконання у покроковому режимі ми бачимо, що вона спочатку иикористовуючи метод прямої адресації записує в пам’ть даних(починаючи з комірки пам’ті 10h) мікроконтролера прізвище та ім’я.

Далі використовуючи метод непрямої адресації переписує анкетні дані з пам’яті даних в енергонезалежну пам’ять EEPROM.

Виконоє пошук мінімального значення з усіх комірок пам’яті EEPROM (а саме 88h) та записує у останню комірку пам’яті EEPROM.

Під час покрокового виконання програми ми бачимо, що цикл виконання запису одного байту у пам’ять EEPROM триває 12 тактів, що дорівнює відрізку часу у 12мс.

А також під час покрокового виконання програми ми бачимо, що читання даних з EEPROM відразу після початку циклу запису неможливо, бо при читанні та записі даних використовується регістр EEDATA з якого при записі данні считуються, а при читанні записуються.

Висновок:  Під час виконання лабораторної роботи вивчили сторінкову організацію пам’яті даних. Навчитися використовувати режим непрямої адресації комірок пам’яті даних (EEPROM).