Напиши повече от един байт в EEPROM на PIC16F84A

  • Thread starter ahmad_abdulghany
  • Start date
A

ahmad_abdulghany

Guest
Assalmao Alaykom

Да предположим, че искам да се съхранява в четири регистъра на EEPROM пространство в адреси като се започне от 0x00 до 0x03 ..и аз го направих това да правя каквото си искам:

; Попълнете регистри, които трябва да бъдат написани в EEPROM първи
;**********************************************
movlw 0xaa
movwf SS0

movlw 0xbb
movwf SS1

movlw 0xcc
movwf SS2

movlw 0xdd
movwf SS3

;***** Сега аз ще започнете да ги съхранение:

BANKSEL INTCON
ФБК INTCON, GIE

CLRF EEADR; непригодени в него АДРЕС 0x00
MOVFW SS3
MOVWF EEDATA
ПОКАНА EEWRITEBANKSEL EEADR
MOVLW .1
MOVWF EEADR
MOVFW SS2
MOVWF EEDATA
ПОКАНА EEWRITE

BANKSEL EEADR
MOVLW .2
MOVWF EEADR
MOVFW SS1
MOVWF EEDATA
ПОКАНА EEWRITE

BANKSEL EEADR
MOVLW ,3
MOVWF EEADR
MOVFW SS0
MOVWF EEDATA
ПОКАНА EEWRITE

GOTO DISP_DONE
EEWRITE
BANKSEL EECON1
BSF EECON1, орехче; Разрешаване Напиши
MOVLW 0X55;
MOVWF EECON2; Напиши 55h
MOVLW 0XAA;
MOVWF EECON2; Ааа Напиши
BSF EECON1, WR Настройка на WR малко
ФБК EECON1, WRERR
ФБК EECON1, EEIF
ВРЪЩАНЕ

Проблемът сега ..тази програма не работи ..и аз не знам защо???Моля помощ ..много благодаря

 
Трябва да направите линия в eewrite процедура и изчакайте, докато EEIF е определен след разбере, че тогава се върнете да напише следващия байта,
написването на EEPROM е бавен (няколко msec), така че трябва незабавно

с уважение

 
Да това, което каза е вярно shafee001

Затова най-добрият е да се изгради subrouten да пишат в EEPROM
и аз препоръчваме да използвате адреса на EEPROM
без да се назоват
в tthis начин U може да прави брояч като адрес на производители
във всеки цикъл си increse 1 адрес

 
AA,
Благодаря на всички ви ..Направих това, което каза и направи също да напишете verifaction от избирателните на WRERR флаг, ако е в стаята, тогава аз презапис на данни ..и тя работи много добре Alhamdulillah ..
Салам

 

Welcome to EDABoard.com

Sponsor

Back
Top