Lucrul cu memoria internă eeprom - microcontrolere și tehnologii

nu este folosit, citit ca "0"

Permiteți permisiunea de la EEPROM. Acest bit controlează generarea unei întreruperi care apare atunci când ciclul de scriere se termină în EEPROM. Dacă acest bit este setat la "1", întreruperile sunt activate (în cazul în care steagul I al registrului






SREG este, de asemenea, setat la "1"). Atunci când descărcarea este eliminată, EEWE (a se vedea mai departe
tabelul), întreruperea este generată în mod continuu

Controlul rezoluției de înregistrare din EEPROM. Starea acestui bit determină funcționarea semnalizatorului de activare a scriere EEWE. Dacă acest bit este setat la "1", atunci când scrieți la bitul EEWE "1", datele sunt înscrise pe EEPROM. În caz contrar, setarea EEWE la "1" nu are efect. După instalarea software-ului, bitul EEMWE este resetat
4 cicluri de mașină

Permisiunea de a scrie la EEPROM. Când acest bit este setat la "1", datele sunt scrise pe EEPROM (dacă EEMWE este "1"),

Citiți permisiunea din EEPROM. După setarea acestui bit la "1", se citesc datele din memoria EEPROM. După terminarea citirii, acest bit este șters de hardware

Pentru a scrie un octet în EEPROM, aveți nevoie de:

1. Așteptați până când EEPROM-ul este gata să scrie date (așteptați până când se resetează semnalul EEWE al registrului EECR).

2. Așteptați ca memoria programului FLASH să termine înregistrarea (așteptați revenirea parantezei SPMEN SPMEN).

4. Setați pavilionul "EEMWE" al registrului EECR la "1".

5. Scrie un jurnal în registrul EEWE al registrului EECR. "1" pentru 4 cicluri de mașină. După instalarea acestui bit, procesorul






sare peste 2 cicluri de mașină înainte de a executa următoarea instrucțiune.

Pentru a citi un octet din EEPROM, aveți nevoie de:

3. Setați la "1" bitul EERE al registrului EECR.

Când datele solicitate sunt plasate în registrul de date EEDR, va apărea o resetare hardware a acestui bit. Cu toate acestea, nu este necesar să se monitorizeze starea bitului EERE pentru a determina când operația de citire este completă, deoarece operația de citire EEPROM este întotdeauna efectuată într-un singur ciclu al mașinii. În plus, după ce ați setat bitul EERE la "1", procesorul trece peste 4 cicluri de mașină înainte de a începe următoarea instrucțiune.

În mediul AVR Studio GCC există o bibliotecă standard pentru lucrul cu EEPROM care este activată prin conectarea unui fișier . Funcțiile principale sunt eeprom_read_byte (), eeprom_write_byte (), eeprom_read_word (), eeprom_write_word (). De exemplu, scrieți un program miniatură de la 0 la 9, unde când faceți clic pe un buton, se va adăuga o valoare și celălalt buton va stoca această valoare în memorie. Microcontrolerul Atmega8 funcționează dintr-un ceas intern de 8 MHz. Un indicator cu o singură cifră, cu șapte segmente, cu un anod comun prin rezistențele limitatoare de curent R1-R7 este conectat la portul B, anodul comun la puterea plus. Schema este prezentată mai jos:

Lucrul cu memoria internă eeprom - microcontrolere și tehnologii

Mai întâi, conectăm bibliotecile necesare pentru lucru, inclusiv EEPROM. Definiți variabilele. Variabila "s" stochează valoarea pentru ieșire la indicator, la apăsarea butonului SB1 această valoare este mărită cu un, dar nu mai mult de 10. Variabila eeprom_var va interacționa cu EEPROM. Atunci când alimentarea este pornită, EEPROM-ul este citit, datele citite sunt atribuite variabilei "s", pe baza căreia se transmite o anumită cifră indicatorului. Când apăsați SB2, datele din variabila "s" sunt scrise pe EEPROM, iar indicatorul clipește o dată.







Articole similare

Trimiteți-le prietenilor: