\prog:Pict870f|Ecrit et lit l'EEPROM flash ; Le programme écrit les valeurs Motif, Motif+1 .. dans 0..16 ; et relit lentement pour afficher sur le portB ; On peut aussi relier le programme et voir que du codes a été inscrit à la fin .Proc 16F870 .Ref 16F870 Motif = 16'35 MotifH = 5 .Macro Bank0 Clr Status:#RP0 Clr Status:#RP1 .endmacro .Macro Bank2to0 Clr Status:#RP1 .endmacro .Macro Bank1to0 Clr Status:#RP0 .endmacro .Macro Bank1 Set Status:#RP0 Clr Status:#RP1 .endmacro .Macro Bank0to1 Set Status:#RP0 .endmacro .Macro Bank3to1 Clr Status:#RP1 .endmacro .Macro Bank2 Clr Status:#RP0 Set Status:#RP1 .endmacro .Macro Bank3to2 Clr Status:#RP0 .endmacro .Macro Bank0to2 Set Status:#RP1 .endmacro .Macro Bank3 Set Status:#RP0 Set Status:#RP1 .endmacro .Macro Bank2to3 Set Status:#RP0 .endmacro .Macro Bank1to3 Set Status:#RP1 .endmacro \var;Ports| DirA = 2'11111 ; Pas utilisé DirB = 0 ; affichage data \var; | .Loc Debvar C0: .16 1 C1: .16 1 C2: .16 1 C3: .16 1 Data: .16 1 \prog;Programme| .Loc 0 Start: Move #DirB,W Move W,TrisB Write: Move #Motif,W Bank0to2 Move W,EeData ; 1ere valeur Move #MotifH,W Move W,EeDatH Move #Table/16'100,W ; 1ere adresse Move W,EeAdrH Move #Table.And.16'FF,W Move W,EeAdr Bank2to0 Move #16,W Move W,C0 L$: ; On écrit les valeurs à partir de #Motif Call FlashWr ; Post-increment addresse Bank0to2 Inc EeData ; EeDataH ne change pas Bank2to0 DecSkip,EQ C0 Jump L$ Read: Bank0to2 Move #Table/16'100,W Move W,EeAdrH Move #Table.And.16'FF,W Move W,EeAdr Bank2to0 Move #16,W Move W,C0 L$: ; On relit les valeurs et affiche les poids faibles Call FlashRd ; postincrement Bank0to2 Not EeData,W ; On n'affiche pas EeDatH Bank2to0 Move W,PortB ; Attente pour ralentir la vitesse de défilemnent des nombres Move #80,W Call LongDelai DecSkip,EQ C0 Jump L$ Fin: Move #2'01010101,W Move W,PortB Jump APC ; On ne recommence pas .Ins XEep870R.asi .Ins XDelaiR.asi Table: .Blk.16 16 ; On fait un trou de 16 positions .Align 16'8 .16 "P","i","c","t","8","7","0","f" .Fill.16 FinProg+1-APC,-1 .Loc 16'2007 .16 16'3F39 ; Config .End