Đặc điểmbộ nhớFlash làcú khả năng đọcviết và xoỏ trongthời gianho ạt động
dựavàokhoảngđiệnỏpVDD mộtcỏchdễdàng.
Tạimột thờiđiểmchỳngtacúthểthực hiệnđọcmột byte,Viếtmộtkhối3 2byte,
xoỏmột khối64byte.Hoạtđộngxoỏmột khốilớnkhụngcúkhảnăngtừm
ĩngười
sửdụng.
Khi ta xoỏ hoặc viết vào bộ nhớ chương trỡnh sẽ ngừng chỉ dẫn cho k
hi hồn
thành hoạt động.Và khụng cú sự truy nhập trong suốt quỏ trỡnh viết hoặc
xoỏ dữ
liệu.Sẽcúmộtbộđếmthờigian khicúhoạtđộngxoỏhoặcviết.
Sauđõychỳngtasẽtỡmhiểumộtsốthuộc tớnhcơbản khithaotỏcbộnhớ Flash.
TableReadsandTableWrites
Theo thứtự đọc và viếtdữ liệu chophộp vi xử lýdi chuyển cỏcbyte giữa khụng
gianbộnhớchươngtrỡnhvàdữ liệutrongRAM thụngqua:TableReadsan dTable
Writes. Nhưngdo bộnhớ chương trỡnh cú độrụng 16bit cũn bộnhớ Ram
chỉ là 8
bitnờnđểdichuyểndữliệugiữachỳngcầnthanhghi8bit(TABLAT): Bảngđọc hoạt động lấy ra dữ liệu từbộ nhớchươngtrỡnh đưachỳng tới khoảng
Bảng viếthoạt độnglưu trữ dữ liệu từ bộnhớ dữ liệu htụngqua đúgiữ tr
ong bộ
nhớchươngtrỡnh:
PhạmVănCường-Hồng VănQũn.Lớp ĐKTĐ1-K49
19
ViđiềukhiểnPic iểnPic
ControlRegisters
Cúbốnthanhghiđiều khiển:
•EECON1register
•EECON2register
•TABLAT(TABLELATCH)register
•TBLPTR(TABLEPOINTER)registers
TađưarathanhghiEECON1vớdụ:
Bit7(EEPGD):bitlựachọnbộnhớFlashvàbộnhớdữliệuEEPROM
− Giỏtrị1:CổngvàochobộnhớFlash.
Bit 6 (CFGS): bit lựa chọn bộ nhớ Flash , bộ nhớ dữ liệu EEPROM hoặ c thanh
ghicấuhỡnh(Configurationregister):
− Giỏtrị1:Cổngvàochothanhghicấuhỡnh.
− Giỏtrị0:CổngvàochobộnhớEEPROMhoặcbộnhớFl
ash.
Bit5(Unimplemented):manggiỏtrị“0”
Bit4(FREE):bitchophộpxúabộnhớFlashtheo hàng:
− Giỏ trị 1: Xoỏ bộ nhớ chương trỡnh theo địa chỉ hà
ng bởi
TBLPTRtrờncơsỏlệnhWRkếtiếp.
− Giỏtrị0: Chỉthựchiệnhoạtđộngviết.
Bit 3 (WRERR): bit cờ để bỏo lỗi trren bộ nhớ Flash và bộ nhớ
dữ liệu
EEPROM. − Giỏtrị1:Mộthoạt độngviếtkếtthỳcsớm.
− Giỏtrị0:Hoạtđộngviếtđượchồntất.
Bit2 (WREN): bớtcho phộp hoạt động viết trờn bộnhớ Flash và bộnhớ dữ liệu
EEPROM.
− Giỏtrị1:Chophộpviếttheochukỳ trờnbộnhớFlashvà bộnhớ
dữliệuEEPROM.
− Giỏtrị1:NgăncảnviếttheochukỳtrờnbộnhớFlashvà bộnhớ
dữliệuEEPROM.
Bit1(WR):bitđiềukhiểnhoạtđộngviết.
− Giỏ trị 1: Bắt đầu chu kỳ xúa/viết dữ liệu trờn bộ nhớ
dữ liệu
EEPROMhoặcbộnhớchươngtrỡnh.
− Giỏtrị 0:ChukỳviếttrờnbộnhớEEPROMhồntất.
Bit0(RD):Bitđiềukhiểnhoạtđộngđọc.
− Giỏtrị1:Bắtđầuhoạtđộngđọcdữ liệuEEPROM.
− Giỏtrị0:Chưabắtđầuhoạtđộngđọcdữliệu.
Tacúthểxỏcđịnhhoặcđiềukhiểncỏcbit0vàbit1nhờphầnmềm.
PhạmVănCường- HồngVănQũn.Lớp ĐKTĐ1-K49
20
ViđiềukhiểnPic iểnPic
ReadingtheFlashProgramMemory
Khiđọcdữ liệuchỳngtasử dụngcấu trỳclệnhTBLRDđểlấydữ liệu từ
bộnhớ
ErasingFlashProgramMemory
Việcthực hiện xoỏ dữ liệu cú thể thụngqua ngườilập trỡnhhoặc thụngq ua điều
khiển ISCP.Chỳng tacú thể xoỏkhối nhỏnhất 32từ tới64byte, cú khả nư ngcho
ta xoỏ khối lớn nhưng thụng qua cổng điều khiển. Hoạt đụng này được h
ỗ trợ từ
thanhghiEECON1.
WritingtoFlashProgramMemory
Ta cú thể thực hiện viết dữ liệu từ bờn trong để tải dữ liệu cần thiết tới
bộ nhớ.
khả năngviết cú thểtừ 16 từ tới32bytevà thụngqua bảng viếtvớihỗ trợ khoảng
FlashProgramOperationDuring CodeProtection
PhạmVănCường- HồngVănQũn.Lớp ĐKTĐ1-K49
21
ViđiềukhiểnPic iểnPic