?Added PIC16F527, PIC16(L)F145x,PIC12F501,PIC16(L)F1508/1509, 18F26K80-66K80 Change 18(L)F2xK22/4xK22 ProgMemErase to 15ms 16C83/84 added*Midrange/Standard??@@APIC24 BaselineHA PIC18F7 @A PIC18F_J_F7dsPIC33 PIC18F_K_7 A dsPIC30@A  dsPIC30 SMPS KEELOQ?? HCS  EEPROMS/24LC  EEPROMS/25LC EEPROMS/93LCxA,C EEPROMS/93LCxB,CMidrange/1.8V Min??A  EEPROMS/11LC PIC32MCP250xx4PA Midrange/USB??A PIC18F_K80*7 AMidrange/NoDeviceId??@@AUnsupported Part,@fff@,@ PIC16F917 B@@?@ @@@     nIJf PIC16F690B@@?@ @@@     nIJfPIC24FJ64GA006VW=? ,@fff@,@ @PIC24FJ96GA006=? ,@fff@,@ @PIC24FJ128GA006=? ,@fff@,@ @PIC24FJ64GA008VW=? ,@fff@,@ @PIC24FJ96GA008 =? ,@fff@,@ @PIC24FJ128GA008 =? ,@fff@,@ @PIC24FJ64GA010 VW=? ,@fff@,@ @PIC24FJ96GA010 =? ,@fff@,@ @PIC24FJ128GA010 =? ,@fff@,@ @PIC16F87 B@@??  @@@V  "WZXYorJ  PIC12F675B@@04? @@@    nIJ PIC16F886` B@@???@ @@@  "  !#nIJf  PIC16F887 B@@???@ @@@  "  !#nIJf  PIC12F510?  @@@6$ &%(*+', PIC16F506  @@@6$ &%(*+', PIC10F200  @@@-$ /%(1+', PIC10F204  @@@-$ /%(1+', PIC10F202  @@@.$ 0%(2+', PIC10F206  @@@.$ 0%(2+', PIC10F220  @@@-$ /%(1+', PIC10F222  @@@.$ 0%(2+', PIC12F508  @@@.$ 0%(2+', PIC12F509  @@@6$ &%(*+',PIC16F54 @@@.$ 0%(2+PIC16F57 @@@)$ 4%53+PIC16F59 @@@)$ 4%53+ PIC16F505?T  @@@6$ &%(*+', PIC18F13200 @@ @@@>98@:; =<?@DEABC  PIC18F44J10  ?,@fff@,@G98@KL  PIC12F629B@@04? @@@    nIJ PIC12F635B@@?@ @@@     nIJf PIC12F683`B@@?@ @@@     nIJf PIC16F616@@@?@ @@@M NOHJ PIC16HV616`@@?@ @@@M NOHJ PIC16F627A@B@@!?  @@@    PnIJ  PIC16F628A`B@@!?  @@@    PnIJ  PIC16F648AB@@!?  @@@    PnIJ  PIC16F630B@@04? @@@    nIJ PIC16F676B@@04? @@@    nIJ PIC16F631 B@@?@ @@@     nIJPIC16F636 (639)B@@?@ @@@     nIJf PIC16F684B@@?@ @@@     nIJf PIC16F685B@@?@ @@@     nIJf PIC16F687 B@@?@ @@@     nIJf PIC16F688B@@?@ @@@     nIJf PIC16F689@B@@?@ @@@     nIJf PIC16F677@B@@?@ @@@     nIJPIC16F72@@_? @@ff@R QSTPIC16F73@@_? @@ff@R QSTPIC16F74 @@_? @@ff@R QSTPIC16F76@ @@_? @@ff@R QSTPIC16F77` @@_? @@ff@R QST PIC16F737 B@@9C??  @@ff@R "QSUJ PIC16F747 B@@9C??  @@ff@R "QSUJ PIC16F767 B@@9C??  @@ff@R "QSUJ PIC16F777 B@@9C??  @@ff@R "QSUJ PIC16F785B@@?@ @@@     nIJ PIC16HV785 B@@? @@@     nIJPIC16F88`B@@??  @@@V  "WZXYorJ  PIC16F818B@@??  @@@V  WZX[orJ  PIC16F819B@@??  @@@V  WZX[orJ  PIC16F873A@B@@/?  @@@V  \ZXPorJ  PIC16F874A`B@@/?  @@@V  \ZXPorJ  PIC16F876A B@@/?  @@@V  \ZXPorJ  PIC16F877A  B@@/?  @@@V  \ZXPorJ  PIC16F883 B@@???@ @@@  " !#nIJf  PIC16F884@ B@@???@ @@@  " !#nIJf  PIC16F913B@@?@ @@@     nIJf PIC16F914B@@?@ @@@     nIJf PIC16F916 B@@?@ @@@     nIJf PIC16F946` B@@?@ @@@     nIJf PIC18F242 0 '@@ @@@>98@:; =<?@DEABC  PIC18F252@0 '@@ @@@>98@:; =<?@DEABC  PIC18F442 0 '@@ @@@>98@:; =<?@DEABC  PIC18F452 @0 '@@ @@@>98@:; =<?@DEABC  PIC18F458`@0 '@@ @@@>98@:; =<?@DEABC  PIC18F12200 @@ @@@>98@:; =<?@DEABC  PIC18F42200 @@ @@@>98@:; =<?@DEABC  PIC18F23200 @@ @@@>98@:; =<?@DEABC  PIC18F4320 0 @@ @@@>98@:; =<?@DEABC  PIC18F22200 @@ @@@>98@:; =<?@DEABC  PIC18F23310 ?<@@ @@@>98@:; =<?@DEABC  PIC18F2431 0 ?<@@ @@@>98@:; =<?@DEABC  PIC18F43310 ?<@@ @@@>98@:; =<?@DEABC  PIC18F4431 0 ?<@@ @@@>98@:; =<?@DEABC  PIC18F2450 $ 00 ??@`@@`@@ @@@@]98@=<?^ABC  PIC18F4450$ 00 ??@`@@`@@ @@@@]98@=<?^ABC  PIC18F67220 @@@ @@@_98@ab =<?` cdABCu  PIC18F2410` 00 @`@@`@@ @@@@]98@=<?gABC  PIC18F2420@ 0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F2455`00 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F2480 0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F2510 @00 @`@@`@@ @@@@]98@=<?gABC  PIC18F2520@0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F2550@@0 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F2580@0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F4410 00 @`@@`@@ @@@@]98@=<?gABC  PIC18F4420 0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F4455 00 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F4480 0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F4510@00 @`@@`@@ @@@@]98@=<?gABC  PIC18F4520@0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F4550@0 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F4580@0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F2515 `00 @`@@`@@ @@@@]98@=<?h ABC  PIC18F2525 `0 @@@ @@@@]98@ab =<?h cdABCs  PIC18F2585`0 @@@ @@@@]98@ab =<?h cdABCs  PIC18F2610 00 @`@@`@@ @@@@]98@=<?h ABC  PIC18F2620 0 @@@ @@@@]98@ab =<?h cdABCs  PIC18F26800 @@@ @@@@]98@ab =<?h cdABCs  PIC18F4515` `00 @`@@`@@ @@@@]98@=<?h ABC  PIC18F4525@ `0 @@@ @@@@]98@ab =<?h cdABCs  PIC18F4585`0 @@@ @@@@]98@ab =<?h cdABCs  PIC18F4610 00 @`@@`@@ @@@@]98@=<?h ABC  PIC18F4620 0 @@@ @@@@]98@ab =<?h cdABCs  PIC18F46800 @@@ @@@@]98@ab =<?h cdABCs  PIC18F6527@`0 @@@ @@@_98@ab =<?` cdABCu  PIC18F66220 @@@ @@@_98@ab =<?` cdABCu  PIC18F66270 ???@???@?@ @@@_98@ab =<?` cdABCu  PIC18F8527``0 @@@ @@@_98@ab =<?` cdABCu  PIC18F86220 @@@ @@@_98@ab =<?` cdABCu  PIC18F86270 ???@???@?@ @@@_98@ab =<?` cdABCu  PIC18F8722 0 @@@ @@@_98@ab =<?` cdABCu  PIC18F24J10 ?,@fff@,@G98@KL  PIC18F25J10@,@fff@,@G98@KL  PIC18F45J10 @,@fff@,@G98@KL  PIC18F65J10 @,@fff@,@G98@K  PIC18F65J15@`,@fff@,@G98@K  PIC18F66J10`,@fff@,@G98@K  PIC18F66J15,@fff@,@G98@K  PIC18F67J10,@fff@,@G98@K  PIC18F85J10@,@fff@,@G98@K  PIC18F85J15`,@fff@,@G98@K  PIC18F86J10 ,@fff@,@G98@K  PIC18F86J15@,@fff@,@G98@K  PIC18F87J10`,@fff@,@G98@K  PIC16F870 @B@@;?00 @@@e  i jkqJ  PIC16F871 @B@@;?00 @@@e  i jkqJ  PIC16F872@B@@;?00 @@@e  i jkqJ  PIC16F873` B@@;?00 @@@e  i jkqJ  PIC16F874 B@@;?00 @@@e  i jkqJ  PIC16F876 B@@;?00 @@@e  i jkqJ  PIC16F877 B@@;?00 @@@e  i jkqJ  PIC16F84A`@B@@??? @@@e  i jkq PIC18F6520 @0 '@'@@ @@@>98@ab =<?@clABC  PIC18F8520 @0 '@'@@ @@@>98@ab =<?@clABC  PIC12F615!@@?@ @@@M mOHJ PIC12HV615!@@?@ @@@M mOHJ PIC12F609@"@@?@ @@@M mOHJ PIC12HV609"@@?@ @@@M mOHJ PIC16F610`"@@?@ @@@M mOHJ PIC16HV610"@@?@ @@@M mOHJ PIC16F716@@@ ?  @@@M vwxJ PIC18F6620`0 '@'@@ @@@>98@ab =<?@clABC  PIC18F8620@0 '@'@@ @@@>98@ab =<?@clABC  PIC18F6720 0 '@'@@ @@@>98@ab =<?@clABC  PIC18F87200 '@'@@ @@@>98@ab =<?@clABC  PIC18F67J60 ,@fff@,@G98@K  PIC18F87J60`,@fff@,@G98@K  PIC18F97J60,@fff@,@G98@K  PIC18F66J60,@fff@,@G98@K  PIC18F66J65,@fff@,@G98@K  PIC18F86J60 ,@fff@,@G98@K  PIC18F86J65@,@fff@,@G98@K  PIC18F96J60@,@fff@,@G98@K  PIC18F96J65,@fff@,@G98@K dsPIC33FJ128GP706(A) ,@fff@,@ zy{@|} PIC16F627B@@=?< @@@e  i jk~  PIC16F628B@@=?< @@@e  i jk~ dsPIC33FJ64GP206(A)V ,@fff@,@ zy{@|}dsPIC33FJ64GP306(A)V ,@fff@,@ zy{@|}dsPIC33FJ64GP706(A)V ,@fff@,@ zy{@|}dsPIC33FJ64GP710(A)V ,@fff@,@ zy{@|}dsPIC33FJ64GP310(A)V ,@fff@,@ zy{@|}dsPIC33FJ128GP206(A) ,@fff@,@ zy{@|}dsPIC33FJ128GP306(A) ,@fff@,@ zy{@|}dsPIC33FJ128GP310(A) ,@fff@,@ zy{@|}dsPIC33FJ128GP710(A) ,@fff@,@ zy{@|}dsPIC33FJ256GP710V ,@fff@,@ zy{@|}PIC24HJ64GP206AV ,@fff@,@ zy{@|}PIC24HJ64GP506IV ,@fff@,@ zy{@|}PIC24HJ64GP210GV ,@fff@,@ zy{@|}PIC24HJ128GP306e ,@fff@,@ zy{@|}PIC24HJ128GP506a ,@fff@,@ zy{@|}PIC24HJ128GP310g ,@fff@,@ zy{@|}PIC24HJ128GP210_ ,@fff@,@ zy{@|}PIC24HJ256GP210sV ,@fff@,@ zy{@|}PIC24HJ256GP206qV ,@fff@,@ zy{@|}PIC24HJ256GP610{V ,@fff@,@ zy{@|} PIC18F2685 '0 ???@???@?@ @@@@]98@ab =<?h cdABCu  PIC18F4682@'0 @@@ @@@@]98@ab =<?h cdABCu dsPIC33FJ256GP506V ,@fff@,@ zy{@|} PIC18F4321!0 @@@ @@@@]98@ab =<?@cdABCs  PIC18F4221@!0 @@@ @@@@]98@ab =<?@cdABCs  PIC18F8585@ `0 /@/@@ @@@>98@ab =<?@clABC  PIC18F6585` `0 /@/@@ @@@>98@ab =<?@clABC  PIC18F6310 00 ÅÁ @@@@98@=<?B PIC18F8310 00 ÅÁ @@@@98@=<?B PIC18F6410 00 ÅÁ @@@@98@=<?B PIC18F8410 00 ÅÁ @@@@98@=<?B PIC18F6390 00 ÅÁ @@@@98@=<?B PIC18F8390 00 ÅÁ @@@@98@=<?B PIC18F6490 00 ÅÁ @@@@98@=<?B PIC18F8490 00 ÅÁ @@@@98@=<?B PIC18F6680 0 /@/@@ @@@>98@ab =<?@clABC  PIC18F8680 0 /@/@@ @@@>98@ab =<?@clABC  PIC18F2221`!0 @@@ @@@@]98@ab =<?@cdABCs PIC24HJ64GP510KV ,@fff@,@ zy{@|} PIC18F4685`'0 ???@???@?@ @@@@]98@ab =<?h cdABCu  PIC18F6621 0 /@/@@ @@@>98@ab =<?@clABC  PIC18F8621 0 /@/@@ @@@>98@ab =<?@clABC  PIC18F6525 `0 /@/@@ @@@>98@ab =<?@clABC  PIC18F8525 `0 /@/@@ @@@>98@ab =<?@clABC dsPIC33FJ128GP708(A) ,@fff@,@ zy{@|}dsPIC33FJ64MC506V ,@fff@,@ zy{@|}dsPIC33FJ64MC510V ,@fff@,@ zy{@|}dsPIC33FJ64MC706V ,@fff@,@ zy{@|}dsPIC33FJ64MC710V ,@fff@,@ zy{@|}dsPIC33FJ128MC506 ,@fff@,@ zy{@|}dsPIC33FJ128MC710 ,@fff@,@ zy{@|}dsPIC33FJ256MC510V ,@fff@,@ zy{@|} PIC18F258@@0 '@@ @@@>98@:; =<?@DEABC  PIC18F448  0 '@@ @@@>98@:; =<?@DEABC  PIC18F248 0 '@@ @@@>98@:; =<?@DEABC dsPIC33FJ128MC510 ,@fff@,@ zy{@|} PIC18F45K20@ @0 @@@ @fff@ @]98@ab =<?gcdABs  PIC18F2321 !0 @@@ @@@@]98@ab =<?@cdABCs  PIC18F2682'0 @@@ @@@@]98@ab =<?h cdABCu dsPIC33FJ64MC508V ,@fff@,@ zy{@|}dsPIC33FJ64GP708(A)V ,@fff@,@ zy{@|}PIC24HJ128GP510c ,@fff@,@ zy{@|}PIC24HJ128GP206] ,@fff@,@ zy{@|}dsPIC33FJ256GP510V ,@fff@,@ zy{@|}dsPIC33FJ128MC706 ,@fff@,@ zy{@|}dsPIC33FJ128MC708 ,@fff@,@ zy{@|}dsPIC33FJ256MC710V ,@fff@,@ zy{@|} PIC18F2523@0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F2423P 0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F4423 0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F4523@0 @@@ @@@@]98@ab =<?gcdABCs  PIC18F12300 @@@ @@@@]98@ab =<?@cdABCs PIC18F1330 0 @@@ @@@@]98@ab =<?@cdABCs dsPIC30F6014A ?13?13 @@@ @ p dsPIC30F4012@ ?13?13 @@@ @ p dsPIC30F4011@ ?13?13 @@@ @ p dsPIC30F2010@ ?13?13 @@@ @ p dsPIC30F2012A ?13?13 @@@ p dsPIC30F3010  ?13?13 @@@ @ p dsPIC30F3013  ?13?13 @@@ @ p dsPIC30F2011@ ?13?13 @@@ p dsPIC30F3012  ?13?13 @@@ @ p dsPIC30F3011  ?13?13 @@@ @ p dsPIC30F3014`  ?13?13 @@@ @ p dsPIC30F4013A@ ?13?13 @@@ @ p dsPIC30F5011X ?13?13 @@@ @ p dsPIC30F5013X ?13?13 @@@ @ p dsPIC30F5015X ?13?13 @@@ @ p dsPIC30F5016X ?13?13 @@@ @ p dsPIC30F6011A ?13?13 @@@ @ p dsPIC30F6013A ?13?13 @@@ @ p dsPIC30F6010A ?13?13 @@@ @ p dsPIC30F6012A ?13?13 @@@ @ p dsPIC30F6015 ?13?13 @@@ @ p dsPIC30F1010  @@@@ y  dsPIC30F2020  @@@@ y  dsPIC30F2023  @@@@ y  PIC16F882 B@@???@ @@@  " !#nIJf  PIC18LF25J10@@ @,@ @G98@KL  PIC18LF24J10@ ? @,@ @G98@KL  PIC18LF44J10` ? @,@ @G98@KL  PIC18LF45J10`@ @,@ @G98@KL  PIC12F519@J  @@@$ $ %((+@PIC24FJ64GA004OVW?? ,@fff@,@ @PIC24FJ48GA004NB?? ,@fff@,@ @PIC24FJ32GA004M,?? ,@fff@,@ @PIC24FJ16GA004LW?? ,@fff@,@ @PIC24FJ16GA002DW?? ,@fff@,@ @PIC24FJ32GA002E,?? ,@fff@,@ @PIC24FJ48GA002FB?? ,@fff@,@ @PIC24FJ64GA002GVW?? ,@fff@,@ @ PIC18F83J908,@fff@,@G98@K  PIC18F84J908 ?,@fff@,@G98@K  PIC18F83J119,@fff@,@G98@K  PIC18F84J119 ?,@fff@,@G98@K  PIC18F85J119@,@fff@,@G98@K  PIC18F86J11D,@fff@,@G98@K  PIC18F86J16E,@fff@,@G98@K  PIC18F87J11 E,@fff@,@G98@K  PIC18F66J11@D,@fff@,@G98@K  PIC18F66J16`D,@fff@,@G98@K  PIC18F67J11D,@fff@,@G98@K  PIC18F25K20` @0 @@@ @fff@ @]98@ab =<?gcdABs  PIC18F65J11`9@,@fff@,@G98@K  PIC18F85J908@,@fff@,@G98@K  PIC18F65J90`8@,@fff@,@G98@K HCS300 @@@HCS200 @@@HCS301 @@@HCS320 @@@HCS362 $@@@$$HCS201 @@@HCS360 6@@@HCS361 6@@@24LC01B 33S@@33S@@24LC64  33S@@33S@@ 24LC00 33S@@33S@24LC02B 33S@@33S@@24LC04B 33S@@33S@@24LC08B 33S@@33S@@24LC16B 33S@@33S@@25LC010A  @@ @@25LC020A  @@ @@25LC040A  @@ @@25LC080A  @@ @@93LC46A (C x8)  @@ @93LC46B (C x16) @? @@ @24LC32A  33S@@33S@@ 24LC128 @?33S@@33S@@@24LC256 33S@@33S@@@24LC512 33S@@33S@@24LC1025 33S@@33S@@25LC080B  @@ @@ 25LC160A  @@ @@25LC160B  @@ @@ 25LC320A  @@ @@ 25LC256  @@ @@@25LC1024  @@ @@93LC56A (C x8)  @@ @93LC56B (C x16)  @@ @93LC66A (C x8)  @@ @93LC66B (C x16)  @@ @93LC76B (C x16)  @@ @93LC76A (C x8)  @@ @93LC86A (C x8)  @@ @93LC86B (C x16)  @@ @ PIC18F6628I0 ???@???@?@ @@@_98@ab =<?` cdABCu  PIC18F6723J0 @@@ @@@_98@ab =<?` cdABCu  PIC18F8628I0 ???@???@?@ @@@_98@ab =<?` cdABCu  PIC18F8723 J0 @@@ @@@_98@ab =<?` cdABCu  PIC18F65J50A@,@fff@,@G98@K  PIC18F66J50@A,@fff@,@G98@K  PIC18F66J55`A,@fff@,@G98@K  PIC18F67J50A,@fff@,@G98@K  PIC18F87J50 B,@fff@,@G98@K  PIC18F86J55B,@fff@,@G98@K  PIC18F85J50A@,@fff@,@G98@K  PIC18F86J50A,@fff@,@G98@K PIC24HJ12GP202  ,@fff@,@ zy{@|}dsPIC33FJ12GP202 ,@fff@,@ zy{@|}dsPIC33FJ12MC202 ,@fff@,@ zy{@|}dsPIC33FJ12GP201 ,@fff@,@ zy{@|}dsPIC33FJ12MC201 ,@fff@,@ zy{@|}PIC24HJ12GP201  ,@fff@,@ zy{@|} PIC18F2458`*00 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F2553@*@0 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F4458 *00 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F4553*@0 ??@@@ @@@@]98@ab =<?gcdABCs  PIC18F63J119,@fff@,@G98@K  PIC18F64J11 9 ?,@fff@,@G98@K  PIC18F63J908,@fff@,@G98@K  PIC18F64J90 8 ?,@fff@,@G98@K  PIC16F526@  @@@$ $ %((+25LC128 @? @@ @@@25LC512  @@ @@ PIC18F44K20 0 @@@ @fff@ @]98@ab =<?gcdABs  PIC18F24K20 0 @@@ @fff@ @]98@ab =<?gcdABs  PIC16F722@@70??@ @@ @M " !#IJ PIC16F723`@@70??@ @@ @M " !#IJ PIC16F724@@@70??@ @@ @M " !#IJ PIC16F726  @@70??@ @@ @ " !#IJ PIC16F727 @@70??@ @@ @ " !#IJ PIC16LF722@@7??@ @fff@ @M " !#IJ PIC16LF723`@@7??@ @fff@ @M " !#IJ PIC16LF724@@@7??@ @fff@ @M " !#IJ PIC16LF726  @@7??@ @fff@ @M " !#IJ PIC16LF727 @@7??@ @fff@ @ " !#IJ PIC18F46K20 0 @@@ @fff@ @]98@ab =<?h cdABs  PIC18F26K20 0 @@@ @fff@ @]98@ab =<?h cdABs  PIC18F14K50`G 0 8M@'@@ @33S@ @]98@: =<?DABs  PIC18LF14K50 G 0 8M@'@@ @33S@ @]98@: =<?DABs PIC18F14K50-ICDG 0 8?M@'?@@ @@ @]98@ab =<?cdABs11LC160 fff@@fff@  PIC18F639300 ÅÁ @@@@98@=<?B PIC18F6493 00 ÅÁ @@@@98@=<?B PIC18F8393 00 ÅÁ @@@@98@=<?B PIC18F8493  00 ÅÁ @@@@98@=<?BPIC32MX360F512L //w ,@fff@,@ PIC24HJ16GP304 ,@fff@,@ zy{@|}dsPIC33FJ16GP304 ,@fff@,@ zy{@|}dsPIC33FJ16MC304 ,@fff@,@ zy{@|}PIC24HJ32GP202, ,@fff@,@ zy{@|}PIC24HJ32GP204, ,@fff@,@ zy{@|}dsPIC33FJ32MC202 , ,@fff@,@ zy{@|}dsPIC33FJ32MC204 , ,@fff@,@ zy{@|}25LC640A  @@ @@ dsPIC33FJ32GP202 , ,@fff@,@ zy{@|}dsPIC33FJ32GP204, ,@fff@,@ zy{@|}PIC32MX360F256L@ //w ,@fff@,@ PIC32MX320F128L//w ,@fff@,@ PIC32MX340F256H  //w ,@fff@,@ PIC32MX320F128H//w ,@fff@,@ PIC32MX320F064H`K//w ,@fff@,@ PIC32MX320F032H +//w ,@fff@,@ PIC32MX460F512L //w ,@fff@,@ PIC32MX460F256L@ //w ,@fff@,@ PIC32MX440F128L//w ,@fff@,@ PIC32MX440F256H  //w ,@fff@,@ PIC24FJ64GB110VW;? ,@fff@,@ @PIC24FJ64GB108VW;? ,@fff@,@ @PIC24FJ64GB106VW;? ,@fff@,@ @PIC24FJ128GB110;? ,@fff@,@ @PIC24FJ128GB108 ;? ,@fff@,@ @PIC24FJ128GB106 ;? ,@fff@,@ @PIC24FJ192GB106;? ,@fff@,@ @PIC24FJ192GB108;? ,@fff@,@ @PIC24FJ192GB110;? ,@fff@,@ @PIC24FJ256GB110VW;? ,@fff@,@ @PIC24FJ256GB108VW;? ,@fff@,@ @PIC24FJ256GB106VW;? ,@fff@,@ @PIC24FJ128GA110;? ,@fff@,@ @PIC24FJ128GA108 ;? ,@fff@,@ @PIC24FJ128GA106;? ,@fff@,@ @PIC24FJ192GA110;? ,@fff@,@ @PIC24FJ192GA108;? ,@fff@,@ @PIC24FJ192GA106;? ,@fff@,@ @PIC24FJ256GA110VW;? ,@fff@,@ @PIC24FJ256GA108VW;? ,@fff@,@ @PIC24FJ256GA106VW;? ,@fff@,@ @PIC18F1330-ICD0 @@@ @@@@]98@ab =<?@cdABCs PIC18LF13K50G0 8M@'@@ @33S@ @]98@ab =<?cdABs  PIC18F13K50@G0 8M@'E@@ @33S@ @]98@: =<?DABs MCP25020F@?@@@TMCP25025F@?@@@TMCP25050F@?@@@TMCP25055F@?@@@T11LC080 fff@@fff@ 11LC040 fff@@fff@ 11LC020 fff@@fff@ 11LC010 fff@@fff@ dsPIC33FJ32MC302, ,@fff@,@ zy{@|}dsPIC33FJ32GP304, ,@fff@,@ zy{@|}dsPIC33FJ64GP202V ,@fff@,@ zy{@|}dsPIC33FJ64GP204V ,@fff@,@ zy{@|}dsPIC33FJ64GP802V ,@fff@,@ zy{@|}dsPIC33FJ64GP804V ,@fff@,@ zy{@|}dsPIC33FJ128GP202% ,@fff@,@ zy{@|}dsPIC33FJ128GP204' ,@fff@,@ zy{@|}dsPIC33FJ128GP802- ,@fff@,@ zy{@|}dsPIC33FJ128GP804/ ,@fff@,@ zy{@|}dsPIC33FJ128MC804+ ,@fff@,@ zy{@|}dsPIC33FJ128MC802) ,@fff@,@ zy{@|}dsPIC33FJ128MC202! ,@fff@,@ zy{@|}dsPIC33FJ128MC204# ,@fff@,@ zy{@|}dsPIC33FJ64MC802V ,@fff@,@ zy{@|}dsPIC33FJ64MC804V ,@fff@,@ zy{@|}dsPIC33FJ64MC202V ,@fff@,@ zy{@|}dsPIC33FJ64MC204V ,@fff@,@ zy{@|}dsPIC33FJ32MC304, ,@fff@,@ zy{@|}dsPIC33FJ32GP302, ,@fff@,@ zy{@|} PIC18LF65200 @0 '@'@@ @@@>98@ab =<?@clABC  PIC18LF8520 @0 '@'@@ @@@>98@ab =<?@clABC PIC24HJ32GP302E, ,@fff@,@ zy{@|}PIC24HJ32GP304G, ,@fff@,@ zy{@|}PIC24HJ64GP202UV ,@fff@,@ zy{@|}PIC24HJ64GP204WV ,@fff@,@ zy{@|}PIC24HJ64GP502uV ,@fff@,@ zy{@|}PIC24HJ64GP504wV ,@fff@,@ zy{@|}PIC24HJ128GP202e ,@fff@,@ zy{@|}PIC24HJ128GP204g ,@fff@,@ zy{@|}PIC24HJ128GP502} ,@fff@,@ zy{@|}PIC24HJ128GP504 ,@fff@,@ zy{@|}PIC32MX340F128L//w ,@fff@,@ PIC32MX340F128H//w ,@fff@,@ dsPIC33FJ16GS504  ,@fff@,@ y{@}dsPIC33FJ16GS502  ,@fff@,@ y{@}dsPIC33FJ16GS404  ,@fff@,@ y{@}dsPIC33FJ16GS402  ,@fff@,@ y{@}dsPIC33FJ06GS202  ,@fff@,@ y{@}dsPIC33FJ06GS102  ,@fff@,@ y{@}dsPIC33FJ06GS101  ,@fff@,@ y{@} PIC18F45J11N@ ,@fff@,@G98@KL  PIC18LF45J11N@  @,@ @G98@KL  PIC18F25J11M@ ,@fff@,@G98@KL  PIC18LF25J11`N@  @,@ @G98@KL  PIC18F46J11 N ,@fff@,@G98@KL  PIC18F26J11M ,@fff@,@G98@KL  PIC18LF46J11N  @,@ @G98@KL  PIC18LF26J11N  @,@ @G98@KL  PIC18F44J11M ? ,@fff@,@G98@KL  PIC18F24J11M ? ,@fff@,@G98@KL  PIC18LF44J11N ?  @,@ @G98@KL  PIC18LF24J11@N ?  @,@ @G98@KL  PIC18F46J50L ,@fff@,@G98@K  PIC18F26J50@L ,@fff@,@G98@K  PIC18LF46J50`M  @,@ @G98@K  PIC18LF26J50M  @,@ @G98@K  PIC18F25J50 L@ ,@fff@,@G98@K  PIC18F45J50L@ ,@fff@,@G98@K  PIC18LF45J50@M@  @,@ @G98@K  PIC18LF25J50L@  @,@ @G98@K  PIC18F44J50`L ? ,@fff@,@G98@K  PIC18F24J50L ? ,@fff@,@G98@K  PIC18LF24J50L ?  @,@ @G98@K  PIC18LF44J50 M ?  @,@ @G98@K  PIC18F14K22 O 0 @'@@,@@,@98@: =<?^DABs  PIC18LF14K22`O 0 @'@@,@fff@,@98@: =<?^DABs  PIC18F13K22@O0 @'@@,@@,@98@: =<?@DABs  PIC18LF13K22O0 @'@@,@fff@,@98@: =<?@DABs  PIC16F1939#@?37?? @@ @  " !#nJ  PIC16F1938#@?37?? @@ @  " !#nJ  PIC16F1937# ?37?? @@ @  "  !#nJ  PIC16F1936`# ?37?? @@ @  "  !#nJ  PIC16F1934@#?37?? @@ @  "  !#nJ  PIC16LF723A@@@7??@ @fff@ @M " !#IJ PIC16LF1829( ?7?? @fff@ @  " !#nJ  PIC16LF1934@$?7?? @fff@ @  "  !#nJ  PIC16LF1936`$ ?7?? @fff@ @  "  !#nJ  PIC16LF1937$ ?7?? @fff@ @  "  !#nJ  PIC16LF1938$@?7?? @fff@ @  " !#nJ  PIC16LF1939$@?7?? @fff@ @  " !#nJ PIC18LF14K50-ICDK 0 8M@'@@ @fff@ @]98@: =<?DABs PIC18F23K20 0 @@@ @fff@ @]98@ab =<?@cdABs  PIC18F43K20 0 @@@ @fff@ @]98@ab =<?@cdABs PIC32MX420F032H +//w ,@fff@,@ PIC32MX440F128H//w ,@fff@,@ PIC32MX440F512H` //w ,@fff@,@ PIC18F87J90P,@fff@,@G98@K  PIC18F67J90 P,@fff@,@G98@K  PIC18F66J90P,@fff@,@G98@K  PIC18F86J90P,@fff@,@G98@K  PIC24F04KA201   @fff@ @    PIC24F04KA200   @fff@ @    PIC24F16KA102   @fff@ @  @    PIC24F16KA101   @fff@ @  @    PIC24F08KA101   @fff@ @  @    PIC24F08KA102   @fff@ @  @   PIC24FJ64GA104BVW?;? ,@fff@,@ @PIC24FJ64GA102BVW?;? ,@fff@,@ @PIC24FJ64GB002BVW?;? ,@fff@,@ @PIC24FJ64GB004BVW?;? ,@fff@,@ @PIC24FJ32GA102B,?;? ,@fff@,@ @PIC24FJ32GA104 B,?;? ,@fff@,@ @PIC24FJ32GB002B,?;? ,@fff@,@ @PIC24FJ32GB004 B,?;? ,@fff@,@ @PIC32MX340F512H` //w ,@fff@,@ PIC16F1826'?7?? @@ @  "  !#nJ  PIC16F1827'?7?? @@ @  "  !#nJ  PIC16LF1827(?7?? @fff@ @  "  !#nJ  PIC16LF1933$?7?? @fff@ @  "  !#nJ  PIC16F1933#?37?? @@ @  "  !#nJ  PIC12F617`@@?@ @@@M OHIJf PIC16F707 @@70??@ @@ @ " !#IJ PIC16LF707 @@7??@ @fff@ @ " !#IJ PIC16LF1826(?7?? @fff@ @  "  !#nJ  PIC18F45K22U@0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF45K22 U@0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC12F1822'?7?? @@ @  " !#nJ  PIC16F1823 '?7?? @@ @  " !#nJ  PIC12LF1822(?7?? @fff@ @  " !#nJ  PIC16LF1823 (?7?? @fff@ @  " !#nJ  PIC16F1947 %@?7?? @@ @  " !#nJ  PIC16LF1947%@?7?? @fff@ @  " !#nJ  PIC16F1946% ?7?? @@ @  " !#nJ  PIC16LF1946% ?7?? @fff@ @  " !#nJ  PIC18LF25K22`U@0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC18F25K22@U@0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18F46K22T0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF46K22 T0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC18F26K22@T0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF26K22`T0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC18F44K22V 0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF44K22 V 0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC18F24K22@V 0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF24K22`V 0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC18F43K22W0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF43K22 W0 ?@%?@@ @fff@ @98@ab =<?h cdAB% PIC18F23K22@W0 ?@%?@@ @@ @98@ab =<?h cdAB% PIC18LF23K22`W0 ?@%?@@ @fff@ @98@ab =<?h cdAB%dsPIC33FJ256GP710AV ,@fff@,@ zy{@|}dsPIC33FJ256GP510AV ,@fff@,@ zy{@|}dsPIC33FJ256GP506AV ,@fff@,@ zy{@|} PIC16F1824@'?7?? @@ @  " !#nJ  PIC16F1828'?7?? @@ @  " !#nJ  PIC16LF1824@(?7?? @fff@ @  " !#nJ  PIC16LF1828(?7?? @fff@ @  " !#nJ  PIC16F723A@@70??@ @@ @M " !#IJ PIC16F722A @@70??@ @@ @M " !#IJ PIC16LF722A`@@7??@ @fff@ @M " !#IJ PIC16F721 @@{3??@ @@ @M " !#IJ PIC16F720@@{3??@ @@ @M " !#IJ PIC16LF721`@@{3??@ @fff@ @M " !#IJ PIC16LF720@@@{3??@ @fff@ @M " !#IJ PIC16F1829' ?7?? @@ @  " !#nJ  PIC16F1825`' ?7?? @@ @  " !#nJ  PIC16LF1825`( ?7?? @fff@ @  " !#nJ  PIC12F1840?7?? @@ @  " !#nJ  PIC12LF1840?7?? @fff@ @  " !#nJ  PIC16F1527@>>?? @@ @ " !#nJ  PIC16F1526 >>?? @@ @ " !#nJ  PIC16LF1526 >>?? @fff@ @ " !#nJ  PIC16LF1527@>>?? @fff@ @ " !#nJ  PIC16F1519@>>?? @@ @ " !#nJ  PIC16LF1519@>>?? @fff@ @ " !#nJ  PIC16LF1903,>?? @fff@ @ " !#nJ  PIC16LF1902 ,>?? @fff@ @ " !#nJ  PIC16LF1904,>?? @fff@ @ " !#nJ  PIC16LF1906`, >?? @fff@ @ " !#nJ  PIC16LF1907@, >?? @fff@ @ " !#nJ  PIC16F1518@>>?? @@ @ " !#nJ  PIC16F1517 >>?? @@ @ " !#nJ  PIC16F1516 >>?? @@ @ " !#nJ  PIC16LF1518@>>?? @fff@ @ " !#nJ  PIC16LF1517 >>?? @fff@ @ " !#nJ  PIC16LF1516 >>?? @fff@ @ " !#nJ  PIC16LF1847 ?7?? @fff@ @  " !#nJ  PIC16F1847 ?7?? @@ @  " !#nJ  PIC16F1783 *?3??? @@ @   " !#nJ  PIC16LF1783*?3??? @fff@ @   " !#nJ  PIC12F752@@y??@ @@@M OHIJf PIC12HV752 @@y??@ @@@M OHIJf PIC16F1782*?3??? @@ @   " !#nJ  PIC16LF1782*?3??? @fff@ @   " !#nJ  PIC18F26K80 a0 @]@@ff@@,@$98@ =<h " !# PIC16F1507-.?? @@ @ "!#nJ  PIC16LF1507-.?? @fff@ @ "!#nJ  PIC10F322)@@? @@ @M ! IJf  PIC10LF322)@@? @fff@ @M ! IJf  PIC10F320)@@? @@ @M ! IJf  PIC10LF320)@@? @fff@ @M ! IJf  PIC12F1501,.?? @@ @ "!#nJ  PIC12LF1501-.?? @fff@ @ "!#nJ  PIC16F1509@- >>?? @@ @ " !#nJ  PIC16LF1509. >>?? @fff@ @ " !#nJ  PIC16F1508 ->>?? @@ @ " !#nJ  PIC16LF1508->>?? @fff@ @ " !#nJ PIC16C84?@B@@??? @@@e  &)'(qPIC16C83?@B@@??? @@@e  &)'(qdsPIC33FJ64GS608@V "g,@fff@,@ y{@} PIC16F1503,.?? @@ @ "!#nJ  PIC16LF1503-.?? @fff@ @ "!#nJ  PIC16F1454 0 >??? @@@ @ " !#nJ  PIC16F1455!0 >??? @@@ @ " !#nJ  PIC16F1459#0 >??? @@@ @ " !#nJ  PIC16LF1455%0 >??? @@@ @ " !#nJ  PIC16LF1454$0 >??? @@@ @ " !#nJ  PIC16LF1459'0 >??? @@@ @ " !#nJ  PIC16F1784@*?3??? @@ @   " !#nJ  PIC16F1786`* ?3??? @@ @   " !#nJ  PIC16F1787* ?3??? @@ @   " !#nJ  PIC16LF1784*?3??? @fff@ @   " !#nJ  PIC16LF1786+ ?3??? @fff@ @   " !#nJ  PIC16LF1787 + ?3??? @fff@ @   " !#nJ  PIC16F527@  @@@$ $ %((+ PIC18F24K500\ 0 ;_?@%_?ӥ@@ @@ @98@ab =<?*@cdAB% PIC18LF24K50\ 0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18LF25K50\@0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18LF45K50\0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18F25K50 \@0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18F45K50\@0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18F26K50]0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18LF26K500]0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18F46K50]0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18LF46K50@]0 ;_?@%_?ӥ@@ @@ @98@ab =<?h cdAB% PIC18F25K80a@0 @]@@ff@@,@$98@ =<h " !# PIC18F45K80`a@0 @]@@ff@@,@$98@ =<h " !# PIC18F65K80@a@0 @]@@ff@@,@$98@ =<h " !# PIC18F46K80a0 @]@@ff@@,@$98@ =<h " !# PIC18F66K80`0 @]@@ff@@,@$98@ =<h " !# PIC18LF26K80b0 @]@@ff@fff@,@$98@ =<h " !# PIC18LF45K80@b@0 @]@@ff@fff@,@$98@ =<h " !# PIC18LF65K80 b@0 @]@@ff@fff@,@$98@ =<h " !# PIC18LF66K80a0 @]@@ff@fff@,@$98@ =<h " !# PIC18LF25K80`b@0 @]@@ff@fff@,@$98@ =<h " !# PIC18LF46K80a0 @]@@ff@fff@,@$98@ =<h " !#PIC16F83?@B@@??? @@@e  &)'(qPIC16F84?@B@@??? @@@e  &)'(q HVProgEntry1Standard 12V Vpp 100ms delay after entering. Drop Vpp & retake high to try entry on parts with internal MCLR & osc, and ICSP pin(s) high outputs. HVProgExit1 Ϫ Ϫ]Standard 12V programming mode exit Ensure /MCLR for 50ms, leave /MCLR enabled. LVP AUX for v5 MR_RdDevID1Read Device ID for Midrange.MR_ChpEraseEE10msI  +Erase progmem (09) & EE(0B), int timed 10msMR_ProgMemRd32.1 (Progmem read 32 words, rd(04) adrInc(06) MR_EERd32.1 &read EE(05) data 32 bytes. AdrInc(06) MR_UsrIDRd4.1&LdCfg(0) Read Progmem(04), AddrInc(06) MR_CfgRd1.1&Rd 1 Cfg Wrd. Rd PrgMem(04) AdrInc(06) MR_PrgMemWr8Int.1窍>Wr x8 int timed 2.5ms. LdPrgMem(02), AdrInc(06), BeginPrg(08) MR_EEWr1Int.1 @1byte write int timed 5.5ms. LdEE(03), BeginPrg(08), AdrInc(06) MR_UsrIDWrInt.1窍 Int timed write 2.5ms MR_CfgWr1Int.1窍:Wr 1 Cfg Word Int timed 2.5ms LdCfg(0) IncAdr(6) BgnPrg(8) MR_PrgMemWr4Int.1v>Wr x4 int timed 2.5ms. LdPrgMem(02), AdrInc(06), BeginPrg(08) DBG_Halt.1 /ICSPCLK drop halt DBG_RdDEVer.1 ߪRead debug exec version cmd 02 DBG_Run.1 ߪTarget run - cmd 19DBG_BulkWrData.1ߪ ުުުުުݪBulk Write Data cmd 04DBG_BulkRdData.1ߪ ުުުުݪBulk Read Data cmd 03 DBG_SStep.1 ߪSingle Step cmd 1A DBG_Status.1ܪICSPCLK state - running/halted.24_ProgEntry.1/򪲻»򪊻 Delay 100ms 500us MLCR pulse 1ms delay after first MCLR pulse for RESET sync. PIC24 code sequence 4D434851 Delay 50ms Plus extra 5 bits for 1st SIX 24_RdDevID.12٪٪تتت٪ت٪ ٪٪ تت٪ ٪ تت٪ <تתت 0Reads Revision as well (in second pair of bytes) 24_SetAddr.1٪٪تتت٪تԪӪ٪٪Gx ت.Sets address according to 3 bytes in dl buffer24_ProgMemRd32.1٪ تتת٪تت֪٪تReads 32 3-byte words24_ChpErase450ms.1'٪٪تتت٪ت٪$٪ ;٪a绨ت٪تPAmov #404F, W10 mov W10, NVMCON BSET.b NVMCON+1, #7 256 NOPs ~13ms24_ProgMemWrPrep.1!٪٪تتت٪ت٪$٪ ;ԪӪ٪ت6Set NVMCON = x4001 loads TBLPAG, W7 with dest address.24_ProgMemWr64.12ԪӪԪӪ٪ تت٪تت٪تت٪تت ٪a绨ت٪تdloads W0-W3 with data from dld_buffer TBLWTL W0, [W7] TBLWTH W1, [W7++] TBLWTH W2, [W7] TBLWTL W3, [W7++] needs NOPS at end for clks to complete prog P13 = 2msMR_ProgMemWr1Int.1 vPWrites 1 word at a time, int timed 2.5ms. LdPrgMem(02), AdrInc(06), BeginPrg(08) MR_RdOSCCAL.1 ݪ۪63 byte address in DL Buffer. RdPrgMem(04), AdrInc(06)MR_WrOSCCALInt.1ݪ۪vk3 byte address followed by OSCCAL word in DL buffer. Int Timed 2.5ms LdPrgMem(02), AdrInc(06), BeginPrg(08) MR_AddrSet.1^/ݪ۪Z3 byte address Set in DL Buffer. AdrInc(06) Goes out and in to Prog mode to reset counter. MR_PrgMemWr8Int.2窍 TABLAT, shifts out, increments EEADDR.< 18F_CfgRd7.1ڪ0ڪnڪڪnڪڪn  *Sets TBLPTR = x30.00.00 and reads 7 words =18F_UsrIDRd4.1ڪ ڪnڪڪnڪڪn ,Sets TBLPTR = x20.00.00 and reads 4 words. >18F_ChpErase.x80%ڪ<ڪnڪڪnڪڪn 򪀻򪀻ڪ$writes 0x80 to 0x3C.00.04 P11 = 5ms?18F_PrgMemWrPrep.1!ڪnڪnڪnڪڪ?Sets TBLPTR(L:H:U) to 3-byte address in DL buffer. Sets EECON1.@18F_ProgMemWr4.1ms# / Kloads 4 words, then programs, then advances pointer. P9 = 1ms. P10 = 100usA18F_UsrIDWr4.1ms/ڪ ڪnڪڪnڪnڪڪ /CSets TBLPTR = x20.00.00, sets EECON1, and writes 4 words. P9 = 1msB 18F_CfgWrPrepڪڪڪڪڪ0ڪnڪڪnڪn۪۪۪=Sets up EECON1, executes GOTO 0x10.00.00, TBLPTR = 0x30.00.00C18F_CfgWr7_1ms3/ڪ*/ڪ*0N(writes LSB, incf TBLPTRL, writes MSB, incf TBLPTRL) x 7 P9 = 1ms P10 = 100usD18F_EEWrPrepSmallڪjڪڪڪn۪۪Eclrf TBLPTRU Set EECON1, Set EEADDR based on 3-byte address in DL BufE18F_EEWr1Small5ms&ڪnڪڪUڪnڪڪnڪڪڪڪ*]1 byte EE write. EEDATA = byte, 0x55->EECON2, 0xAA->EECON2, bsf EECON1, WR incf EEADR P11=5msF 18J_ProgEntry/򪲻» wPIC18J code sequence 4D434850 MCLR hi pulse 500us Delay 1ms after first MCLR high pulse (P19) for RESET sync Delay 5ms G18J_ChpErase400ms4ڪ<ڪnڪڪnڪڪn ڪڪn 򪀻򪀻ڪJFwrite x0101 to x3C.00.05, write x8080 to x3C.00.04, PGC low for 400ms.HMR_CfgWr1Ext.1v BLdCfg(0) IncAdr(6) BgnPrg(18) EndPrg(A) Tprog = 2.5ms TDIS = 100usIMR_DbgVctWr2Int.1窍 YWr 2 Words Int timed 3ms to 0x2004 and 0x2005. LoadCfg(0) AddInc(6) LdProg(2) BgnProg(8)JMR_DbgVctRd2.17Rd 2 Wrds from 0x2004, 0x2005. Rd PrgMem(04) AdrInc(06)K18J_PrgMemWrPrepڪnڪnڪnڪESets TBLPTR(L:H:U) to 3-byte address in DL buffer. Sets EECON1, WREN.L18J_PrgMemWr32.10ms#  Mloads 32 words, then programs, then advances pointer. P9 = 10ms. P10 = 400nsMMR_ChpErase10ms  "Erase progmem (09), int timed 10msNMR_PrgMemWr4Ext.1v HLdPrgMem(2), IncAdr(6), BgnPrg(18), EndPrg(A) Tprog = 2.5ms TDIS = 100usOMR_UsrIDWr4Ext.1v LLdCfg(0) LdPrgM(2) IncAdr(6) BgnPrg(18) EndPrg(A) Tprog = 2.5ms TDIS = 100usPMR_CfgWr1Int.2窍WWr 1 Cfg Word Int timed 2.5ms USES LOADPROGMEM LdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(8)QMR_PrgMemWr2Ext.1/8LdPrgMem(2), IncAdr(6), BgnPrg(8), EndPrg(E) Tprog = 1msRMR_ChpErase30ms  "Erase progmem (09), int timed 30msSMR_UsrIDWr4Ext.2/ILdCfg(0) LdPrgM(2) IncAdr(6) BgnPrg(8) EndPrg(E) Tprog = 1ms TDIS = 100usTMR_CfgWr1Ext.2/KLdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(8) EndPrg(E) Tprog = 1ms TDIS = 100usUMR_CfgWr2Ext.2"/KLdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(8) EndPrg(E) Tprog = 1ms TDIS = 100usVMR_ChpErase"Chip"1F %"Chip Erase" command (1F) Tera = 10msWMR_PrgMemWr4Ext.2^GLdPrgMem(2), IncAdr(6), BgnPrg(18), EndPrg(17) Tprog = 2ms TDIS = 100usXMR_UsrIDWr4Ext.3^KLdCfg(0) LdPrgM(2) IncAdr(6) BgnPrg(18) EndPrg(17) Tprog = 2ms TDIS = 100usYMR_CfgWr2Ext.3"^MLdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(18) EndPrg(17) Tprog = 2ms TDIS = 100usZ MR_EEWr1Ext.1窼^RLdEE(03), BgnErs(8), BeginPrg(18), AdrInc(06), EndPrg(17) Tprog = 2ms Tprog2 = 4ms[MR_CfgWr1Ext.3^MLdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(18) EndPrg(17) Tprog = 2ms TDIS = 100us\MR_PrgMemWr8Ext.2/GLdPrgMem(2), IncAdr(6), BgnPrg(18), EndPrg(17) Tprog = 1ms TDIS = 100us]18F_ChpErase.x3F8F2ڪ<ڪnڪڪnڪڪn ??ڪڪn 򪏻򪏻ڪ+writes 0x3F8F to 0x3C.00.04 - 05 P11 = 5ms^18F_ProgMemWr8.1ms# / Kloads 8 words, then programs, then advances pointer. P9 = 1ms. P10 = 100us_18F_ChpErase.xFF872ڪ<ڪnڪڪnڪڪn ڪڪn 򪇻򪇻ڪ+writes 0xFF87 to 0x3C.00.04 - 05 P11 = 5ms`18F_ProgMemWr32.1ms-# / Lloads 32 words, then programs, then advances pointer. P9 = 1ms. P10 = 100usa18F_EERdPrepLarge.1ڪڪڪnڪn۪ڪڪnxSets up EECON1 and EEADRH:L for EE at 3-byte address in DL Buf. Does dummy read. For reading EEs of more than 256 bytes.b18F_EERd32Large.1!ڪڪPڪnڪڪڪ*ڪػڪ*JSets EECON1, RD, moves EEDATA -> TABLAT, shifts out, increments EEADDRH:L.c18F_EEWrPrepLarge.1ڪjڪڪڪnڪn۪Yclrf TBLPTRU Set EECON1, Set EEADDRH:L based on 3-byte address in DL Buf EECON1, WREN = 1d18F_EEWr1Large5ms#ڪnڪڪڪڪڪ*ڪػڪ*D1 byte EE write. EEDATA = byte, bsf EECON1, WR incf EEADRH:L P11=5mseMR_ChpErase87x8yLdCfg(0), IncAdr(6), BulkEraseSetup1(1), BlkErsStup2(7), BgnErase(8), LdEE(3). Wont erase EE if no CP/DP set, so erase EEfMR_RowErase16.1 ,RowErase(x11) Tera = 6ms then advance PC 16xg18F_ProgMemWr16.1ms# / Lloads 16 words, then programs, then advances pointer. P9 = 1ms. P10 = 100ush18F_ProgMemWr32.1ms# / Lloads 32 words, then programs, then advances pointer. P9 = 1ms. P10 = 100usiMR_ProgMemWr1Int.2 窼NWrites 1 word at a time, int timed 4ms. LdPrgMem(02), AdrInc(06), BeginPrg(18)jMR_UsrIDWrInt.3窼 =Int timed write 4ms LdCfg(0), AdrInc(6), LdPrg(2), BgnPrg(18)kMR_CfgWr1Int.2窼VWr 1 Cfg Word Int timed 4ms USES LOADPROGMEM LdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(18)l18F_EEWr1LargeAA55,ڪnڪڪUڪnڪڪnڪڪڪڪ*ڪػڪ*]1 byte EE write. EEDATA = byte, 0x55->EECON2, 0xAA->EECON2, bsf EECON1, WR incf EEADR P11=5msmMR_ProgMemWr1Ext.1v HLdPrgMem(2), IncAdr(6), BgnPrg(18), EndPrg(A) Tprog = 2.5ms TDIS = 100usnMR_PMemErase10msI  3Erase all flash progmem (09) NOT EE, int timed 10msoMR_PMemEraseExt ^[Erase Program & Config memory, NOT EE Tprog3 = 2ms EraseProgMem(9), BgnErase(8), EndPrg(17)p30_ChpErasePrepتت٪ت٪\ ٪;٪ ٪&;eSets NVMADRU:NVMADR = 0x0080:05C0 This is the Unit ID address, so it gets erased with the Bulk Erase.qMR_PMemErase87x bLdCfg(0), IncAdr(6), BulkEraseSetup1(1), BlkErsStup2(7), BgnErase(8)Wont erase EE if no CP/DP set.rMR_EEMemEraseExt  ^CErase EE only Tprog3 = 2ms EraseDataMem(B), BgnErase(8), EndPrg(17)s18F_PMemErase.xF832ڪ<ڪnڪڪnڪڪn ڪڪn 򪃻򪃻ڪ?writes 0x0F83 to 0x3C.00.04 - 05 erases all except EE P11 = 5mst18F_EraseTest2+һһڪ<ڪnڪڪnڪڪn ڪ$$writes 0x83 to 0x3C.00.04 P11 = 5msu18F_PMemErase.xFF832ڪ<ڪnڪڪnڪڪn ڪڪn 򪃻򪃻ڪAwrites 0xFF83 to 0x3C.00.04 - 05 Erases all except EE. P11 = 5msvMR_PrgMemWr4Ext.3^9LdPrgMem(2), IncAdr(6), BgnPrg(18), EndPrg(E) Tprog = 2mswMR_UsrIDWr4Ext.4vLLdCfg(0) LdPrgM(2) IncAdr(6) BgnPrg(18) EndPrg(E) Tprog = 2.5ms TDIS = 100usxMR_CfgWr1Ext.4v LdCfg(0) IncAdr(6) BgnPrg(18) EndPrg(E) Tprog = 2.5ms TDIS = 100us Write 1 past config word, else part can't be read without a PORy 33_CfgRd80٪٪تتت٪ت٪ ٪٪٪Gx ت٪ تتת٪ت#dsPIC33/PIC24H read 8 config words.z 33_UserIDRd46٪٪تتت٪ت٪ ٪٪ ٪Gx ت٪ تت֪ ٪ت#dsPIC33/PIC24H read 4 UserID bytes.{33_ProgMemWr64.12ԪӪԪӪ٪ تت٪تت٪تت٪تت ٪a绨ت٪تHloads W0-W3 with data from dld_buffer TBLWTL W0, [W7] TBLWTH W1, [W7++] TBLWTH W2, [W7] TBLWTL W3, [W7++] needs NOPS at end for clks to complete prog P13 = 1.5ms| 33_UsrIDWr4<٪٪تتت٪ت٪ ٪ $٪ ;٪ ٪Ӫ٪تت٪a绨تت٪a绩تDWrites the 4 User IDs for dsPIC33/PIC24H Ext timed programming 30ms.} 33_CfgWr8<٪٪تتت٪ت٪ ٪ $٪ ;٪ ٪Ԫ٪تت٪a绨تت٪a绩تFWrites the 8 Config Bytes for dsPIC33/PIC24H External Programming 30ms~MR_PMemErase15msI FErase progmem (09) NOT EE, int timed 15ms BgnPrg(08) ldcfg with 0x3FFFMR_PrgMemWr4Int.2窍 NVMKEY BSET.b NVMCON+1, #7 BCLR.b NVMCON+1, #7 30_SetAddr.1#تت٪تԪӪ٪٪;٪ ;٪ ٪Gx ت_Sets address according to 3 bytes in DL buffer 1) in TBLPAG & W6 2) in NVMADRH:L Sets W5 = 0x2030_ProgMemRd32.1"٪ تت٪تت٪تReads 32 3-byte words 30_CfgRd70تت٪تت٪ ٪٪ تت٪٪ تت٪ <تت Reads config words from 0xF80000 30_EERd64.1٪ تت ?٪تReads 64 2-byte words30_ProgMemWrPrep.1%تت٪تت٪$٪ ;ԪӪ٪ت٪;٪ ;٪ ySet NVMCON = x4001 loads TBLPAG, W7 with dest address. 30_ProgMemWr32.1=ԪӪ٪ تت٪تت٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تتت٪ت٪ ;loads W0-W1 with data from dld_buffer TBLWTL W0, [W7] TBLWTH W1, [W7++] unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR MOV W10, NVMCON 30_EEWrPrep.1تت٪تت٪Z$٪ ;ԪӪ٪ت6Set NVMCON = x4005 loads TBLPAG, W7 with dest address. 30_EEWr16.1=ԪԪ٪تت٪تت٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تتت٪ت٪ ;loads W0-W1 with data from dld_buffer TBLWTL W0, [W7++] TBLWTL W1, [W7++] unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR MOV W10, NVMCON30_CfgWrPrep.1تت٪تت٪$٪ ;Ԫ۪٪ ٪ت=Set NVMCON = x4008 loads TBLPAG = 0xF8, W7 with dest address. 30_CfgWr7.15Ԫ٪تت٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تتتتتت٪ ;تت2~loads W0 with data from dld_buffer TBLWTL W0, [W7++] unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR MOV W10, NVMCON30_CfgClear7.17٪ ٪تت٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تتتتتت٪ ;تت0{For 5011, 5013 Sets W0 = 0x0000 TBLWTL W0, [W7++] unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR MOV W10, NVMCON30_UsrIDRdPrepتت٪تت٪\ ٪ ٪٪Gx تSets address to 0x8005C030_UsrIDRd32.1"٪ تت٪تت٪تReads 32 3-byte words30_UsrIDWrPrep.1تت٪تت٪$٪ ;٪\ ٪ ٪ت;Set NVMCON = x4001 loads TBLPAG, W7 with address = 0x8005c0 30S_CfgWrPrep٪٪تتت٪ت۪۪۪٪ ٪$ 30S_CfgWr8-٪ ;٪ ٪Ԫ٪تت٪a绨تتتت٪a绩تتت٪ت*loop 5430S_ProgMemWr32.ԪӪ٪ تت٪تت٪a绨تتتت窔٪a绩تتتت٪ت٪ ;30S_ChpErasePrep٪٪تتت٪\ ٪;٪ ٪&;eSets NVMADRU:NVMADR = 0x0080:05C0 This is the Unit ID address, so it gets erased with the Bulk Erase.30S_UsrIDWrPrep.1 ٪٪تتت٪$٪ ;٪\ ٪ ٪ت;Set NVMCON = x4001 loads TBLPAG, W7 with address = 0x8005c0MR_DbgVctWr2Ext.3"/MLdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(18) EndPrg(17) Tprog = 1ms TDIS = 100usBL_UsrIDRd4@x440  ?3Increments to address 1088 IncAddr(06) RdPrgMem(04)BL_UsrIDWr4Ext@x440* ?^eincrements addr to 0x440. Ext timed 2ms. TDIS= 100us IncAddr(6) LdProgMem(02) BgnProg(8) EndProg(E)BL_OSCCALRd1@x3FF ۪۪۪KInc address to 0x3FF clear 3-byte address in DLBuf IncAddr(06) RdPrgMem(04)BL_OSCCALWrExt@x3FF ۪۪۪^mInc. Addr to 0x3FF clear 3 byte address in DL buffer. Ext timed 2ms. AdrInc(6) LdPrg(02) BgPrg(8) EndPrg(E)BL_ChpErase-519-^   Sets Cfg = 0 (so nCPSW = 0) Ext timed 2ms. Dly TDIS = 100us + 100 bulk erase (9). Int timed 10ms. Inc PC = 0x441 bulk erase(9), Int timed 10ms (erase UserIDs)BL_EEPrep-x400 VAdvances address to 1023 - first read or write will advance to 1024 before read/writeBL_PMemErase-519  \bulk erase (9). Int timed 10ms. Inc PC = 0x441 bulk erase(9), Int timed 10ms (erase UserIDs)BL_EEMemErase-519  kInc PC = 0x400 bulk erase (9). Int timed 10ms. Inc PC = 0x441 bulk erase(9), Int timed 10ms (erase UserIDs)18F_DbgVctWr2.2ms1ڪ ڪnڪڪnڪ(ڪnڪڪ ^USets TBLPTR = x20.00.28, sets EECON1, and writes 2 words. P9 = 2ms (1ms) P11 = 120us18F_DbgVctRd2.1ڪ ڪnڪڪnڪ(ڪn ,Sets TBLPTR = x20.00.28 and reads 2 words. MR_CfgRowErase.1"LdCfg(0) RowErase(x11) Tera = 6ms MR_RowErase32.2^GLdProg(2) BeginErase(x8). EndProg(x17) Tprog2 = 2ms then advance PC 32xMR_CfgRowErase.2^3LdCfg(0) BeginErase(x8). EndProg(x17) Tprog2 = 2ms 18F_RowErase32.5ms.1/ڪڪڪUڪnڪڪnڪڪڪڪ@ڪ&ڪػڪ*ڪػڪ*18F_PrgMemWrPrep.1 - called first bsf EECON1, WREN bsf EECON1, FREE 55, AA -> EECON2 bsf EECON1, WR NOP DLY P10+11 bcf EECON1, WREN TBLPTR += 64 P10 + P11 = 5ms P10 = 100us18F_UsrIDRowErs.5msڪڪڪUڪnڪڪnڪڪڪ18F_PrgMemWrPrep.1 - called first bsf EECON1, WREN bsf EECON1, FREE 55, AA -> EECON2 bsf EECON1, WR NOP DLY P10+11 bcf EECON1, WREN P10 + P11 = 5ms P10 = 100us18F_RowErase32.5ms.22ڪڪڪڪ@ڪ&ڪػڪ*ڪػڪ*Gڪڪ18F_PrgMemWrPrep.1 - called first bsf EECON1, WREN bsf EECON1, FREE < no eecon2 code > bsf EECON1, WR Ext timing NOP P9+10 TBLPTR += 64 P9 = 1ms P10 = 100us30_RowErase32.1=٪$٪ ;٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تت٪ت٪C٪B٪d'٪;(must run 30_ProgMemWr32.1 1st) set NVMCON = x4071 unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR ADD W6, W5, W6 BTSC SR, #C INC NVMADDRH MOV W6, NVMADR30_UsrIDErase.1=٪\ ٪;٪ ٪&;٪$٪ ;٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تت٪تoSets NVMADRU:NVMADR = 0x0080:05C0 set NVMCON = x4071 unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR 30_EERowErase8.1=٪Z$٪ ;٪X ٪8;٪ ٪9;٪a绨تتتت^٪a绩تت٪ت٪C٪B٪d'٪;(must run 30_SetAddr.1 1st) set NVMCON = x4075 unlock NVMCON BSET NVMCON, #WR P12 = 2ms BCLR NVMCON, #WR ADD W6, W5, W6 BTSC SR, #C INC NVMADDRH MOV W6, NVMADRMR_DbgVctWr2Ext.2"/JLdCfg(0) LdPrgMem(2) IncAdr(6) BgnPrg(8) EndPrg(E Tprog = 1ms TDIS = 100usHVProgEntryVpp1stShuts off Vdd at start then turns on after 100ms delay & Vpp enabled. CANNOT BE USED WITH TARGET POWER! Standard 12V Vpp 100ms delay after entering. Drop Vpp & retake high to try entry on parts with internal MCLR & osc, and ICSP pin(s) high outputs. DoNothing No Comment HCS_Write12!d 窼 窼窼ЪЪ  PFor HCS200,201,300,301,320 Tps = 4ms Tph1= 4ms Tph2 = 64us Tpbw = 4ms Twc = 50ms HCS_Verify12 d֪֪  HCS_Write18!d 窼 窼窼ЪЪ @For HCS362 Tps = 4ms Tph1= 4ms Tph2 = 64us Tpbw = 4ms Twc = 50ms HCS_Verify18 d֪֪ For HCS362HCS_Write360-361"dЪЪЪЪ ЪЪЪЪ SW must set S1 via VPP, data for bit 0, and lower clock for first bit. Also must fill buffer with complemented words, and shift first byte by 1. HCS_VPPSetup۪۪۪d 窲 >For HCS360 and 361 parts. Starts up PWM, but leaves VPP = GNDHCS_Verify360-361d֪֪  shuts off VPPEE24_ProgEntryϪBUSY on, setup pins EE24_ProgExitϪBUSY off, reset pinsEE24_RdPrep1Adrͪʪ۪ʪ;for devices with 1 address byte following the control byte. EE24_Rd64ͪʪ۪۪ɪɪɪɪɪɪɪȪ̪sequential read 64 bytesEE24_Wr8Adr1.5msͪʪ۪ʪʪʪʪʪʪʪʪʪ̪BWrite x8 with 1 address word following the control byte. Twc = 5msEE24_RdPrep2AdrͪʪʪʪExt Timed 128us IncAddr(06) LdProgMem(02) BgnProg(8) EndPrg(E)18F_ProgMemWr4.2ms# ^ Kloads 4 words, then programs, then advances pointer. P9 = 2ms. P10 = 120us24_ExecErase50ms.2<٪٪ت٪ ٪٪ ٪تت٪*$٪ ;٪a绨ت٪ت٪@ ҪҪݪ%Erases 2 pages mov #80, W0 mov W0, TBLPAG mov #0, W0 X:TBLWTL W0, [W0] 2x NOP mov #4042, W10 mov W10, NVMCON BSET.b NVMCON+1, #7 256 NOPs ~13ms mov #0x400, W0 Loop X: 33_UserIDRd26٪٪تتت٪ت٪ ٪٪ ٪Gx ت٪ تت֪ ٪ت#dsPIC33/PIC24H read 2 UserID bytes. 33_UsrIDWr2<٪٪تتت٪ت٪ ٪ $٪ ;٪ ٪Ӫ٪تت٪a绨تت٪a绩ت@Writes 2 User IDs for dsPIC33/PIC24H Ext timed programming 30ms.18J_PrgMemWr32.1ms! / Lloads 32 words, then programs, then advances pointer. P9 = 1ms. P10 = 400ns18F_ChpErase.x8F8F2ڪ<ڪnڪڪnڪڪn 򪏻򪏻ڪڪn 򪏻򪏻ڪ+writes 0x8F8F to 0x3C.00.04 - 05 P11 = 5msMRE_CalWrdsErWr193x" yErase all flash progmem (09), including Cal Words NOT EE, int timed 10ms. Erase & write Cal @2009 Erase & write Cal @200AMRE_DbgVctWr2Int.1窍 YWr 2 Words Int timed 3ms to 0x8004 and 0x8005. LoadCfg(0) AddInc(6) LdProg(2) BgnProg(8)18F_EEWr1SmallNOPsڪnڪڪڪڪc ڪ*R1 byte EE write. EEDATA = byte EECON1, WREN EECON1, WR 200 NOP incf EEADR P11=5ms 18F_EERd32Small.2ڪڪPڪnڪڪ*LSets EECON1, RD, moves EEDATA -> TABLAT *NOP* shifts out, increments EEADDR.18J_PrgMemWr32.3ms! 窌 Lloads 32 words, then programs, then advances pointer. P9 = 3ms. P10 = 400ns LVPProgEntryPGMϪ Ϫ LVP Program entry using PGM pin. MRE_ProgEntryLVP 0PHCM4per 16F193x spec 32b code lsb 1st, then extra clock.  24K_CfgRd90٪٪تتت٪ت٪ ٪٪٪Gx ت٪ تتת٪تPIC24F-KA- read 9 config words.  24K_CfgWr9<٪٪تتت٪ت٪ ٪J$٪ ;٪ ٪Ԫ٪تت٪a绨تت٪a绩تDWrites the 9 Config Bytes for dsPIC24F-KA- External Programming 30ms 24K_ChpErase450ms.1'٪٪تتت٪ت٪J$٪ ;٪a绨ت٪تPAmov #4064, W10 mov W10, NVMCON BSET.b NVMCON+1, #7 256 NOPs ~13ms24K_ProgMemWr32.12ԪӪԪӪ٪ تت٪تت٪تت٪تت ٪a绨ت٪ت^loads W0-W3 with data from dld_buffer TBLWTL W0, [W7] TBLWTH W1, [W7++] TBLWTH W2, [W7] TBLWTL W3, [W7++] needs NOPS at end for clks to complete prog P13 = 2ms24K_ProgMemWrPrep.1!٪٪تتت٪ت٪J$٪ ;ԪӪ٪ت6Set NVMCON = x4004 loads TBLPAG, W7 with dest address.24K_ProgEntry.HVU/򪲻»򪊻 !! FIRST DELAY_SHORT argument is VPP * 100mV Delay 100ms MLCR = VPP 1ms delay PIC24 code sequence 4D434851 Delay 50ms Plus extra 5 bits for 1st SIX 24K_EERd64.1٪ تت ?٪تReads 64 2-byte words24K_EEWrPrep.1!٪٪تتت٪ت٪J$٪ ;ԪӪ٪ت6Set NVMCON = x4004 loads TBLPAG, W7 with dest address. 24K_EEWr1Ԫ٪تت٪a绨ت٪تOloads W0 with data from dld_buffer TBLWTL W0, [W7++] BSET NVMCON, #WR P12 = 2ms24K_ExecErase10ms.1;٪٪تتت٪ت٪ ٪٪ ٪تت٪$٪ ;٪a绨تتتت٪erase 4 pages0040200 mov #80, W0 mov W0, TBLPAG mov #0, W0 TBLWTL W0, [W0] 2x NOP add #100h, w0 Loop mov #405A, W10 mov W10, NVMCON BSET.b NVMCON+1, #7 256 NOPs ~13ms18F_ChpErase.x0F8F.15ms2ڪ<ڪnڪڪnڪڪn ڪڪn 򪏻򪏻ڪ,writes 0x0F8F to 0x3C.00.04 - 05 P11 = 15msLVPProgEntryPGD/򪲻» LVP Program entry using PGD pin. Code sequence 4D434850 MCLR hi pulse 500us Delay 1ms after first MCLR high pulse (P19) for RESET sync Delay 5ms MR_PrgMemWr16Int.1窍=Wr x16 int timed 3ms. LdPrgMem(02), AdrInc(06), BeginPrg(08)MRE_CfgWr2Int.1_182x_VCOREV$򪚻scThis script sends the necessary commands to support setting the VCOREV bit in configuration word 2.MR_PrgMemWr32Int.1窍=Wr x32 int timed 3ms. LdPrgMem(02), AdrInc(06), BeginPrg(08)MR_PrgMemWrPrep.LEAG4_FIXVThis script turns on the internal oscillator and BOR in Config Word 1 override options18F_EERdPrepLarge.2ڪڪڪtnڪun۪ڪڪnESame as 18F_EERdPrepLarge.1, EECON at 7F, EEADRL:H 74:75, EEDAT at 7318F_EERd32Large.2!ڪڪsPڪnڪڪڪt*ڪػڪu*8Same as 18F_EERd32Large.1, move EE regs for K80 mem map.18F_EEWrPrepLarge.2ڪjڪڪڪtnڪun۪DSame as 18F_EEWrPrepLarge.1, change EE reg addresses for K80 mem map18F_EEWr1Large5ms.2#ڪsnڪڪڪڪڪt*ڪػڪu*BSame as 18F_EEWr1Large5ms, change EE reg addresses for K80 mem map18F_PrgMemWrPrep.2!ڪnڪnڪnڪڪCSame as 18F_PrgMemWrPrep.1, changes EECON1 address for K80 mem map. 18F_CfgWrPrep.2ڪڪڪڪڪ0ڪnڪڪnڪn۪۪۪