![Microchip Technology dsPIC30F6010 Скачать руководство пользователя страница 48](http://html1.mh-extra.com/html/microchip-technology/dspic30f6010/dspic30f6010_datasheet_1785760048.webp)
dsPIC30F6010
DS70119B-page 46
Advance Information
2004 Microchip Technology Inc.
6.6.3
LOADING WRITE LATCHES
Example 6-2 shows a sequence of instructions that
can be used to load the 96 bytes of write latches. 32
TBLWTL
and 32
TBLWTH
instructions are needed to
load the write latches selected by the table pointer.
EXAMPLE 6-2:
LOADING WRITE LATCHES
6.6.4
INITIATING THE PROGRAMMING
SEQUENCE
For protection, the write initiate sequence for NVMKEY
must be used to allow any erase or program operation
to proceed. After the programming command has been
executed, the user must wait for the programming time
until programming is complete. The two instructions
following the start of the programming sequence
should be
NOP
s.
EXAMPLE 6-3:
INITIATING A PROGRAMMING SEQUENCE
; Set up a pointer to the first program memory location to be written
; program memory selected, and writes enabled
MOV
#0x0000,W0
;
MOV
W0
,
TBLPAG
; Initialize PM Page Boundary SFR
MOV
#0x6000,W0
; An example program memory address
; Perform the TBLWT instructions to write the latches
; 0th_program_word
MOV
#LOW_WORD_0,W2
;
MOV
#HIGH_BYTE_0,W3
;
TBLWTL
W2
,
[W0]
; Write PM low word into program latch
TBLWTH
W3
,
[W0++]
; Write PM high byte into program latch
; 1st_program_word
MOV
#LOW_WORD_1,W2
;
MOV
#HIGH_BYTE_1,W3 ;
TBLWTL
W2
,
[W0]
; Write PM low word into program latch
TBLWTH
W3
,
[W0++]
; Write PM high byte into program latch
; 2nd_program_word
MOV
#LOW_WORD_2,W2
;
MOV
#HIGH_BYTE_2,W3
;
TBLWTL
W2
,
[W0]
; Write PM low word into program latch
TBLWTH
W3
,
[W0++]
; Write PM high byte into program latch
•
•
•
; 31st_program_word
MOV
#LOW_WORD_31,W2
;
MOV
#HIGH_BYTE_31,W3
;
TBLWTL
W2
,
[W0]
; Write PM low word into program latch
TBLWTH
W3
,
[W0++]
; Write PM high byte into program latch
Note:
In Example 6-2, the contents of the upper byte of W3 has no effect.
DISI
#5
; Block all interrupts with priority <7
; for next 5 instructions
MOV
#0x55,W0
MOV
W0
,
NVMKEY
; Write the 0x55 key
MOV
#0xAA,W1
;
MOV
W1
,
NVMKEY
; Write the 0xAA key
BSET
NVMCON,#WR
; Start the erase sequence
NOP
; Insert two NOPs after the erase
NOP
; command is asserted
Содержание dsPIC30F6010
Страница 12: ...dsPIC30F6010 DS70119B page 10 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 32: ...dsPIC30F6010 DS70119B page 30 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 38: ...dsPIC30F6010 DS70119B page 36 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 50: ...dsPIC30F6010 DS70119B page 48 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 68: ...dsPIC30F6010 DS70119B page 66 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 72: ...dsPIC30F6010 DS70119B page 70 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 76: ...dsPIC30F6010 DS70119B page 74 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 86: ...dsPIC30F6010 DS70119B page 84 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 108: ...dsPIC30F6010 DS70119B page 106 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 116: ...dsPIC30F6010 DS70119B page 114 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 128: ...dsPIC30F6010 DS70119B page 126 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 150: ...dsPIC30F6010 DS70119B page 148 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 164: ...dsPIC30F6010 DS70119B page 162 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 208: ...dsPIC30F6010 DS70119B page 206 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 220: ...dsPIC30F6010 DS70119B page 220 Advance Information 2004 Microchip Technology Inc NOTES...
Страница 221: ...2004 Microchip Technology Inc Advance Information DS70119B page 221 dsPIC30F6010 NOTES...