Você está na página 1de 62

Guia do Usurio ICD2BR In Circuit Debugger

Guia do Usurio

ICD2BR

Sumrio
1. SOBRE O ICD2
1.1. 1.2. 1.3. 1.4.
BR

..............................................................4
BR

APRESENTAO DO ICD2 .................................................................4 BR COMO O ICD2 PODE AJUDAR EM SEUS PROJETOS ...............................5 BR QUAIS PICS O ICD2 TRABALHA?......................................................5 BR QUAIS PICS E DSPICS QUE O ICD2 SUPORTA? (TABELA DE
QUANTIDADE DE MEMRIA E REGISTROS UTILIZADOS POR MODELO PARA DEPURAR)

.......................................................................................15

2. INSTALANDO O ICD2BR ..................................................24


2.1. 2.2. 2.3. 2.4. 2.5. SISTEMA E COMPONENTES REQUERIDOS PARA UTILIZAR O ICD2 .........25 BR INSTALANDO E CONFIGURANDO O ICD2 ...........................................25 OPES DE CONEXO .......................................................................26 BR PREPARANDO O AMBIENTE (MPLAB) PARA UTILIZAR O ICD2 ............27 BR SEQNCIA PARA DESENVOLVER COM ICD2 .....................................28
Programando o componente para depurar: ....................................... 28 Seqncia do Depurador................................................................... 29 Modificao do cdigo para depurar.................................................. 31 Terminando o depurador e utilizando o ICD2BR como gravador. ...... 31 Opes adicionais do modo gravao............................................... 33
BR

2.5.1. 2.5.2. 2.5.3. 2.5.4. 2.5.5.

3. LIMITAES DO ICD2BR.................................................34 4. APNDICE A - PROBLEMAS MAIS COMUNS ...............40 5. APNDICE B - CABO DE LIGAO ENTRE ICD2BR E PRODUTOS LABTOOLS ................................................43 6. APNDICE C - CABO DE LIGAO ENTRE ICD2BR E PRODUTOS MICROCHIP ...............................................44 7. APNDICE D PINAGEM DO CONECTOR HEADER ICD2BR .............................................................................45 8. APNDICE E GRAVAO IN-CIRCUIT.......................46 9. APNDICE F GRAVAO DE MICROCONTROLADORES ALIMENTADOS COM 3,3V 48
2

Guia do Usurio

ICD2BR

10. APNDICE G - DISPOSIO DOS PINOS NO CONECTOR RJ12...........................................................49 11. APNDICE H POSIO DO JUMPER NO SOQUETE PARA GRAVAO DOS PICS ......................................50 12. APNDICE I - EXEMPLOS DE CDIGOS PARA MODO DE DEPURAO............................................................51 13. CERTICADO DE GARANTIA ..........................................61

Guia do Usurio

ICD2BR

1.

Sobre o ICD2BR
1.1. Apresentao do ICD2BR

Primeiramente, agradecemos novamente a confiana em adquirir produtos LabTools (uma diviso da Mosaico High Performance Solutions) e parabns pela escolha, pois este produto ir auxiliar bastante nos seus projetos. A LabTools lana para o mercado BR nacional o ICD2 . A diviso de tecnologia Hiware da Mosaico em parceria com a equipe de desenvolvimento Microchip se esforaram para desenvolver um produto robusto, de boa qualidade e de timo preo. Este produto homologado / licenciado pela Microchip. BR Este depurador / gravador, intitulado ICD2 , permite de maneira fcil e rpida, depurar seus softwares em microcontroladores da linha 10F, 12F, 16F, 18F, 24F, 24H, dsPICs e PIC32 da Microchip. Com este produto voc ir perceber que seu tempo de projeto vai diminuir substancialmente, alm de deteco rpida de erros atravs de pontos de parada (breakpoints). Com a preocupao de facilitar a vida BR do desenvolvedor brasileiro, juntamente com o ICD2 , seguir o soquete padro de gravao para PICs de 8, 18, 28 e 40 pinos. Salientamos que, os dsPICs no podem ser gravados neste soquete. No podemos esquecer de mencionar nossa preocupao com o bem social. A Mosaico, conforme acordo firmado com a Microchip, doar 3% de toda venda deste produto para instituies de caridade de nossa regio. Nota: O ICD2BR foi desenvolvido e designado para ser utilizado no desenvolvimento de aplicaes e, portanto, no recomendado o seu uso num processo de produo em larga escala. O kit do ICD2
BR

que voc est adquirindo est composto por:

1 ICD2 depurador / gravador Microchip; 1 McSoc - Soquete para leitura/gravao (componentes DIP); BR 1 Cabo de ligao entre o ICD2 o McSoc e os produtos LabTools; 1 CD com este Guia do Usurio, MPLAB verso 8.xx; 1 Cabo padro USB. 4

BR

Guia do Usurio

ICD2BR

1.2.
O ICD2
BR

Como o ICD2BR pode ajudar em seus projetos

permite voc realizar:

Depurar as informaes de seu cdigo fonte na prpria aplicaco; Depurar seu hardware em tempo real; Programar um componente que utiliza o protocolo ICSP da Microchip.

1.3.

Quais PICs o ICD2BR trabalha?


BR

Lista dos PICs suportados pelo ICD2 Microcontrolador PIC10F200 PIC10F202 PIC10F204 PIC10F206 PIC10F220 PIC10F222 PIC12F508 PIC12F509 PIC12F510 PIC12F615 PIC12F629 PIC12F635 PIC12F675 PIC12F683 PIC16F505 PIC16F506 PIC16F54 PIC16F57

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 5

Guia do Usurio
Microcontrolador PIC16F59 PIC16F610 PIC16F616 PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F631 PIC16F636 PIC16F639 PIC16F648A PIC16F676 PIC16F677 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F716 PIC16F72 PIC16F73 PIC16F737 PIC16F74 PIC16F747 PIC16F76 PIC16F767 PIC16F77 PIC16F777 PIC16F785 PIC16F818

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 6

Guia do Usurio
Microcontrolador PIC16F819 PIC16F83 PIC16F84 PIC16F84A PIC16F87 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16F88 PIC16F883 PIC16F884 PIC16F886 PIC16F887 PIC16F913 PIC16F914 PIC16F916 PIC16F917 PIC16F946 PIC16HV785 PIC18C601 PIC18C801 PIC18F1220 PIC18F1230 PIC18F1320

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 7

Guia do Usurio
Microcontrolador PIC18F1330 PIC18F2220 PIC18F2221 PIC18F2320 PIC18F2321 PIC18F2331 PIC18F2410 PIC18F242 PIC18F2420 PIC18F2423 PIC18F2431 PIC18F2439 PIC18F2450 PIC18F2455 PIC18F2458 PIC18F248 PIC18F2480 PIC18F24J10 PIC18F2510 PIC18F2515 PIC18F252 PIC18F2520 PIC18F2523 PIC18F2525 PIC18F2539 PIC18F2550 PIC18F2553 PIC18F258 PIC18F2580 PIC18F2585 PIC18F25J10 PIC18F2610

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 8

Guia do Usurio
Microcontrolador PIC18F2620 PIC18F2680 PIC18F2682 PIC18F2685 PIC18F4220 PIC18F4221 PIC18F4320 PIC18F4321 PIC18F4331 PIC18F4410 PIC18F442 PIC18F4420 PIC18F4423 PIC18F4431 PIC18F4439 PIC18F4450 PIC18F4455 PIC18F4458 PIC18F448 PIC18F4480 PIC18F44J10 PIC18F4510 PIC18F4515 PIC18F452 PIC18F4520 PIC18F4523 PIC18F4525 PIC18F4539 PIC18F4550 PIC18F4553 PIC18F458 PIC18F4580

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 9

Guia do Usurio
Microcontrolador PIC18F4585 PIC18F45J10 PIC18F4610 PIC18F4620 PIC18F4680 PIC18F4685 PIC18F6310 PIC18F6390 PIC18F6410 PIC18F6490 PIC18F6520 PIC18F6525 PIC18F6527 PIC18F6585 PIC18F65J10 PIC18F65J15 PIC18F6620 PIC18F6621 PIC18F6622 PIC18F6627 PIC18F6680 PIC18F66J10 PIC18F66J11 PIC18F66J15 PIC18F66J16 PIC18F66J60 PIC18F66J65 PIC18F6720 PIC18F6722 PIC18F67J10 PIC18F67J11 PIC18F67J60

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 10

Guia do Usurio
Microcontrolador PIC18F8310 PIC18F8390 PIC18F8410 PIC18F8490 PIC18F8520 PIC18F8525 PIC18F8527 PIC18F8585 PIC18F85J10 PIC18F85J11 PIC18F85J15 PIC18F85J90 PIC18F8620 PIC18F8621 PIC18F8622 PIC18F8627 PIC18F8680 PIC18F86J10 PIC18F86J11 PIC18F86J15 PIC18F86J16 PIC18F86J60 PIC18F86J65 PIC18F8720 PIC18F8722 PIC18F87J10 PIC18F87J11 PIC18F87J60 PIC18F96J60 PIC18F96J65 PIC18F97J60 PIC18LF24J10

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 11

Guia do Usurio
Microcontrolador PIC18LF25J10 PIC18LF44J10 PIC18LF45J10 PIC24FJ128GA006 PIC24FJ128GA008 PIC24FJ128GA010 PIC24FJ32GA002 PIC24FJ32GA004 PIC24FJ64GA002 PIC24FJ64GA004 PIC24FJ64GA006 PIC24FJ64GA008 PIC24FJ64GA010 PIC24FJ96GA006 PIC24FJ96GA008 PIC24FJ96GA010 PIC24HJ128GP206 PIC24HJ128GP210 PIC24HJ128GP306 PIC24HJ128GP310 PIC24HJ128GP506 PIC24HJ128GP510 PIC24HJ256GP206 PIC24HJ256GP210 PIC24HJ256GP610 PIC24HJ64GP206 PIC24HJ64GP210 PIC24HJ64GP506 PIC24HJ64GP510 dsPIC30F2010 dsPIC30F2011 dsPIC30F2012

ICD2BR

Gravao Depurao Soquete especial x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 12

Guia do Usurio

ICD2BR

Microcontrolador Gravao Depurao Soquete especial dsPIC30F2020 x x dsPIC30F2023 x x dsPIC30F3010 x x dsPIC30F3011 x x dsPIC30F3012 x x dsPIC30F3013 x x dsPIC30F3014 x x dsPIC30F4011 x x dsPIC30F4012 x x dsPIC30F4013 x x dsPIC30F5011 x x dsPIC30F5013 x x dsPIC30F5015 x x dsPIC30F5016 x x dsPIC30F6010 x x dsPIC30F6010A x x dsPIC30F6011 x x dsPIC30F6011A x x dsPIC30F6012 x x dsPIC30F6012A x x dsPIC30F6013 x x dsPIC30F6013A x x dsPIC30F6014 x x dsPIC30F6014A x x dsPIC30F6015 x x dsPIC33FJ128GP206 x x dsPIC33FJ128GP306 x x dsPIC33FJ128GP310 x x dsPIC33FJ128GP706 x x dsPIC33FJ128GP708 x x dsPIC33FJ128GP710 x x dsPIC33FJ128MC506 x x 13

Guia do Usurio

ICD2BR

Microcontrolador Gravao Depurao Soquete especial dsPIC33FJ128MC510 x x dsPIC33FJ128MC706 x x dsPIC33FJ128MC708 x x dsPIC33FJ128MC710 x x dsPIC33FJ256GP506 x x dsPIC33FJ256GP510 x x dsPIC33FJ256GP710 x x dsPIC33FJ256MC510 x x dsPIC33FJ256MC710 x x dsPIC33FJ64GP206 x x dsPIC33FJ64GP306 x x dsPIC33FJ64GP310 x x dsPIC33FJ64GP706 x x dsPIC33FJ64GP708 x x dsPIC33FJ64GP710 x x dsPIC33FJ64MC506 x x dsPIC33FJ64MC508 x x dsPIC33FJ64MC510 x x dsPIC33FJ64MC706 x x dsPIC33FJ64MC710 x x Dado: MPLAB verso 7.60 Observaes: 1 O soquete especial um soquete que usado somente no modo de depurao. Para gravao no h necessidade do uso deste soquete. Mais informaes voc pode encontrar em www.microchip.com/icd2 (documento ICE and ICD Header Information ). 2 Dependendo da verso do MPLAB a lista de microcontroladores BR que o ICD2 suporta pode variar na quantidade de modelos.

14

Guia do Usurio

ICD2BR

3 A lista dos microcontroladores que o ICD2BR suporta no levou em considerao os componentes em verses betas do gravador e depurador. Isso no significa que os componentes em verses betas no iro funcionar, mas pode ter algum problema. Ao sair uma nova verso do MPLAB possivelmente estar em verso totalmente funcional. 4 Microcontroladores PIC10F, dsPICs, PIC18 srie J, PIC24F e PIC24H no podem ser gravados no McSoc. Para dsPICs existe um soquete apropriado. Mais informaes voc pode encontrar em www.labtools.com.br .

1.4.

Quais PICs e dsPICs que o ICD2BR suporta? (Tabela de quantidade de memria e registros utilizados por modelo para depurar)

Recursos utilizados pelas famlias 10F e 12F: Caractersticas gerais: Pino MCLR utilizado para depurar. No poder utilizar como I/O digital no modo debug. (Exceto para componentes ICD); MCLR/VPP livre para gravao; PGC e PGD reservados para o modo debug. Portanto outras funes nestes pinos no estaro disponveis para depurar; Um nvel de pilha no disponvel. Tabela de uso:
Tipo PIC10F200/2/4/6 (PIC16F505-ICD) PIC10F220/2 (PIC16F506-ICD) Memria de Programa usada Nenhum Nenhum Registradores usados Nenhum Nenhum

15

Guia do Usurio
Memria de Programa usada Nenhum Nenhum

ICD2BR
Registradores usados Nenhum Nenhum 0x70 0x065-0x06F 0x54-0x5F 0xD4-0xDF 0x65-0x6F 0x70, 0xF0 0x170, 0x1F0 0x54-0x5F 0xD4-0xDF 0x65-0x6F 0x70, 0xF0

Tipo PIC12F508/509 (PIC16F505-ICD) PIC12F510 (PIC16F506-ICD) PIC12F609/615, PIC12HV609/615 (PIC16F616-ICD) PIC12F629 (PIC12F675-ICD) PIC12F635 (PIC16F636-ICD) PIC12F675 (PIC12F675-ICD) PIC12F683 (PIC12F683-ICD)

0x0300-0x03FF

0x300-0x3FF

0x300-0x3FF

0x300-0x3FF 0x700-0x7FF

Recursos utilizados pela famlia 16F: Caractersticas gerais: Pino MCLR utilizado para depurar. No poder utilizar como I/O digital no modo depurador. (Exceto para componentes ICD); MCLR/VPP livre para gravao; PGC e PGD reservados para modo depurador. Portanto outras funes multiplexadas nestes pinos no estaro disponveis para depurar; Um nvel de pilha no disponvel; Modo de programao ICSP baixa voltagem desabilitado;

16

Guia do Usurio
Tabela de uso:
Tipo PIC16F505 (PIC16F505-ICD) PIC16F506 (PIC16F506-ICD) PIC16F610/ PIC16HV610 (PIC16F616-ICD) PIC16F616/ PIC16HV616 (PIC16F616-ICD) PIC16F627A (PIC16F648A-ICD) PIC16F628A (PIC16F648A-ICD) PIC16F630 (PIC16F676-ICD) PIC16F631 (PIC16F690-ICD) PIC16F636 PIC16F639 (PIC16F636-ICD) PIC16F648A (PIC16F648A-ICD) PIC16F676 (PIC16F676-ICD) PIC16F677 (PIC16F690-ICD) Memria de Programa usada Nenhum Nenhum 0x0300-0x03FF 0x0700-0x07FF 0x300-0x3FF 0x700-0x7FF 0x300-0x3FF 0x300-0x3FF 0x700-0x7FF

ICD2BR
Registradores usados Nenhum Nenhum 0x70 0x065-0x06F 0x65-0x6F 0x70, 0xF0 0x170, 0x1F0 0x70, 0xF0 0x165-0x16F 0x170, 0x1F0 0x54-0x5F 0xD4-0xDF 0x65 - 0x70, 0xF0, 0x170, 0x1F0 0x65-0x6F 0x70, 0xF0 0x170, 0x1F0 0x70, 0xF0 0x165-0x16F 0x170, 0x1F0 0x54-0x5F 0xD4-0xDF 0x65 - 0x70, 0xF0, 0x170, 0x1F0

0xF00-0xFFF

0x300-0x3FF 0x700-0x7FF

17

Guia do Usurio
Memria de Programa usada

ICD2BR
Registradores usados 0x65-0x6F 0x70, 0xF0 0x165-0x16F 0x170, 0x1F0 0x70, 0xF0 0x165-0x16F 0x170, 0x1F0 0x65-0x6F 0x70, 0xF0 0x170, 0x1F0

Tipo

PIC16F684 (PIC16F684-ICD)

0x700-0x7FF

PIC16F685 (PIC16F690-ICD) PIC16F687 (PIC16F690-ICD) PIC16F688 (PIC16F688-ICD) PIC16F689 (PIC16F690-ICD) PIC16F690 (PIC16F690-ICD) PIC16F716 (PIC16F716-ICD) PIC16F737/747 PIC16F767/777 PIC16F785 (PIC16F785-ICD)

0xF00-0xFFF

0x700-0x7FF

0xF00-0xFFF

0x70, 0xF0 0x165-0x16F 0x170, 0x1F0

0x700-0x7FF 0x0F00-0x0FFF 0x1F00-0x1FFF 0x700-0x7FF

0x65-0x6F 0x70, 0xF0 0x70, 0xF0, 0x165-0x16F 0x170, 0x1F0 0x65-0x6F 0x70, 0xF0 0x170, 0x1F0 0x70, 0xF0 0x170, 0x1F0 0x1E7-0x1EF

PIC16F87/88

0xF00-0xFFF

18

Guia do Usurio
Memria de Programa usada

ICD2BR
Registradores usados 0x65-0x70 0xE5-0xF0 0x165-0x170 0x1E5-0x1F0 0x65-0x70 0xF0, 0x170 0x1E5-0x1F0 0x70, 0xF0 0xB5-0xBF 0x170, 0x1F0 0x1B5-0x1BF 0x7E-0x7F 0xF4-0xFF 0x17E-0x17F 0x1F4-0x1FF 0x70, 0xF0 0x170, 0x1F0 0x1E5-0x1EF 0x70, 0xF0 0x170, 0x1F0 0x0B5-0x0BF 0x70, 0xF0 0x170, 0x1F0 0x165-0x16F 0x70, 0xF0 0x170, 0x1F0 0x1E5-0x1EF 0x70, 0xF0 0x165-0x16F 0x170, 0x1F0

Tipo

PIC16F818

0x300-0x3FF

PIC16F819

0x700-0x7FF

PIC16F870 PIC16F871 PIC16F872

0x700-0x7FF

PIC16F873/873A PIC16F874/874A

0xF00-0xFFF

PIC16F876/876A PIC16F877/877A

0x1F00-0x1FFF

PIC16F882

0x06C0-0x07FF

PIC16F883/884

0x0F00-0x0FFF

PIC16F886/887

0x1F00-0x1FFF

PIC16F913/914

0xF00-0xFFF

19

Guia do Usurio
Memria de Programa usada 0x1FF0-0x1FFF

ICD2BR
Registradores usados

Tipo PIC16F916/917 PIC16F946

Recursos utilizados pela famlia 18F: Caractersticas gerais: Pino MCLR utilizado para depurar. No poder utilizar como I/O digital no modo depurador. (Exceto para componentes ICE); MCLR/VPP livre para gravao; PGC e PGD reservados para modo Depurador. Portanto outras funes multiplexadas nestes pinos no estaro disponveis para depurador; BR Duas pilhas no disponveis. Pelo motivo do ICD2 utilizar duas pilhas o registrador TOS (TOSL, TOSH, TOSU) esto reservados; Modo de programao ICSP baixa voltagem desabilitado; Tabela de uso:
Tipo PIC18C601 PIC18C801 PIC18F242 PIC18F248 PIC18F442 PIC18F448 PIC18F252 PIC18F258 PIC18F452 PIC18F458 Memria de Programa usada 0x1FFE00-0x1FFFFF (Boot RAM) Registradores Usados 0x3F4-0x3FF

0x3DC0-0x3FFF

0x2F4-0x2FF

0x7DC0-0x7FFF

0x5F4-0x5FF

20

Guia do Usurio
Memria de Programa usada 0x0E40-0x0FFF 0xFDC0-0xFFFF 0x1E40-0x1FFF 0x1FDC0-0x1FFFF 0x0DC0-0x0FFF 0x1DC0-0x1FFF 0x1DC0-0x1FFF 0x0DC0-0x0FFF 0x1DC0-0x1FFF 0x3DC0-0x3FFF

ICD2BR
Registradores Usados 0xF0-0xFF 0xFB-0xFF 0xF0-0xFF 0xFB-0xFF

Tipo PIC18F1220 PIC18F1230 PIC18F1231 PIC18F1320 PIC18F1330 PIC18F1331 PIC18F2220/4220 PIC18F2221/4221 PIC18F2320/4320 PIC18F2321/4321 PIC18F2331/4331 PIC18F2410/4410 PIC18F2420/4420 PIC18F2431/4431 PIC18F2439 PIC18F4439 PIC18F2450/4450 PIC18F2455/4455 PIC18F2458/4458 PIC18F2480/4480 PIC18F2510/4510 PIC18F2515/4515 PIC18F2520/4520 PIC18F2525/4525 PIC18F2539/4539 PIC18F2550/4550 PIC18F2553/4553 PIC18F2580/4580 PIC18F2585/4585

0x1F4-0x1FF

0x2F4-0x2FF 0x2F4-0x2FF 0x5F4-0x5FF 0x2F4-0x2FF 0x1F4-0x1FF 0x3F4-0x3FF 0x3F4-0x3FF 0x2F4-0x2FF 0x5F4-0x5FF 0xEF4-0xEFF 0x5F4-0x5FF 0xEF4-0xEFF 0x5F4-0x5FF 0x3F4-0x3FF 0x3F4-0x3FF 0x5F4-0x5FF 0xCF4-0xCFF

0x3DC0-0x3FFF 0x3DC0-0x3FFF 0x5DC0-0x5FFF 0x5DC0-0x5FFF 0x3DC0-0x3FFF 0x7DC0-0x7FFF 0xBD80-0xBFFF 0x7DC0-0x7FFF 0xBD80-0xBFFF 0x7DC0-0x7FFF 0x7DC0-0x7FFF 0x7DC0-0x7FFF 0x7DC0-0x7FFF 0xBD80-0xBFFF

21

Guia do Usurio
Memria de Programa usada 0xFD80-0xFFFF 0xFD80-0xFFFF 0x13D80-0x13FFF 0x17D80-0x17FFF 0x1DC0-0x1FFF 0x3DC0-0x3FFF 0x7D80-0x7FFF 0xBD80-0xBFFF

ICD2BR
Registradores Usados 0xEF4-0xEFF 0xCF4-0xCFF 0xCF4-0xCFF 0xCF4-0xCFF 0x2F4-0x2FF 0x2F4-0x2FF 0x7F4-0x7FF 0xEF4-0xEFF 0x7F4-0x7FF 0xCF4-0xCFF

Tipo PIC18F2610/4610 PIC18F2620/4620 PIC18F2680/4680 PIC18F2682/4682 PIC18F2685/4685 PIC18F6310/8310 PIC18F6390/8390 PIC18F6410/8410 PIC18F6490/8490 PIC18F6520/8520 PIC18F6525/8525 PIC18F6527/8527 PIC18F6585/8585 PIC18F6620/8620 PIC18F6621/8621 PIC18F6622/8622 PIC18F6627/8627 PIC18F6680/8680 PIC18F6720/8720 PIC18F6722/8722 PIC18F24J10/44J10 (PIC18F44J10-ICE) PIC18F25J10/45J10 (PIC18F45J10-ICE)

0xFD80-0xFFFF 0x17D80-0x17FFF 0xFD80-0xFFFF 0x1FD80-0x1FFFF 0x1FD80-0x1FFFF

0xEF4-0xEFF 0x7F4-0x7FF 0xCF4-0xCFF 0xEF4-0xEFF 0x7F4-0x7FF

Nenhum

0x3F4-0x3FF

PIC18F63J11/83J11 PIC18F64J11/84J11 PIC18F63J90/83J90 Nenhum PIC18F64J90/84J90 (PIC18F85J90-ICE)

0x3F4-0x3FF

22

Guia do Usurio
Memria de Programa usada

ICD2BR
Registradores usados

Tipo

PIC18F65J10/85J10 PIC18F65J15/85J15 PIC18F66J10/86J10 Nenhum PIC18F65J90/85J90 (PIC18F87J10-ICE) PIC18F66J60/ 86J60/96J60 PIC18F67J60/ 87J60/97J60 Nenhum PIC18F66J65/ 86J65/96J65 (PIC18F97J60-ICD) PIC18F65J50/85J50 PIC18F66J50/86J50 PIC18F67J50/87J50 PIC18F66J55/86J55 Nenhum PIC18F66J15/86J15 PIC18F67J10/87J10 (PIC18F87J10-ICE)

0x7F4-0x7FF

0xDF4-0xDFF

0xEF4-0xEFF

PIC18F65J11/85J11 PIC18F66J11/86J11 PIC18F67J11/87J11 Nenhum PIC18F66J16/86J16 (PIC18F85J90-ICE)

0xEF4-0xEFF

Recursos utilizados pela famlia 30F: Caractersticas gerais: Pino MCLR utilizado para depurar. No poder utilizar como I/O digital no modo depurador; MCLR/VPP livre para gravao; 23

Guia do Usurio

ICD2BR

PGC e PGD reservados para modo Depurador. Portanto outras funes multiplexadas nestes pinos no estaro disponveis para debug;
Tipo Memria de Programa usada Nenhum Registradores usados 0x800-0x822

dsPIC30F

Recursos utilizados pela famlia 33F e 24F: Caractersticas gerais: Pino MCLR utilizado para depurar. No poder utilizar como I/O digital no modo depurador; MCLR/VPP livre para gravao; PGC e PGD reservados para modo Depurador. Portanto outras funes multiplexadas nestes pinos no estaro disponveis para debug;
Tipo PIC24F (PIC24F-ICE) dsPIC33F (dsPIC33F-ICE) Memria de Programa usada Registradores usados

Nenhum

0x800-0x850

24

Guia do Usurio

ICD2BR

2.

Instalando o ICD2BR
2.1. Sistema e componentes requeridos para utilizar o ICD2BR

MPLAB verso 6.20 ou superior. recomendado instalar o MPLAB verso 8.xx (ou superior) que segue no CD; USB No instale o cabo USB antes de instalar o MPLAB. Siga as instrues de instalao da USB at ser concludo o processo. O ICD2BR utilizar o prprio sistema de fonte da USB para gravao e depurao. Se o sistema em desenvolvimento necessitar de uma corrente acima de 50mA, ser necessrio o desenvolvimento de uma fonte prpria para a aplicao conforme necessidade.

2.2.

Instalando e Configurando o ICD2BR

Aps a instalao do MPLAB conecte o cabo USB no micro e no BR ICD2 . Aparecer uma janela de instalao de um dispositivo USB. BR Siga as instrues de instalao dos drivers do ICD2 . Quando solicitado o driver para o dispositivo localize-o na pasta de instalao do MPLAB o diretrio ICD2\Drivers (nas verses do 7.xx e 8xx do MPLAB) ou no diretrio Driversnn\ICD2_USB (nas verses 6.xx do MPLAB, onde nn a verso do sistema operacional). Dependendo do sistema operacional pode aparecer uma mensagem que o driver no certificado. Ignore esta mensagem e instale normalmente. Observao: A partir da verso 7.31 do MPLAB existe a possibilidade BR de pr-instalar o driver do ICD2 durante a instalao do MPLAB, BR facilitando a instalao do ICD2 . Quando conectado o cabo USB no BR micro e no ICD2 aparecer a janela de instalao e esta j BR reconhecer o ICD2 , bastando apenas confirmar a instalao dos driver. 25

Guia do Usurio
Aps instalao do ICD2BR:

ICD2BR

Use o dilogo de seleo (Configure > Select Device) para selecionar o componente a ser depurado. Para saber se o componente escolhido suportado pelo ICD2BR como BR Depurador, um marcador ao lado do nome ICD2 dever estar na cor verde; BR Habilite o ICD2 como gravador (Programmer > Select Programmer > MPLAB ICD2); BR Configure o ICD2 para interface USB (Programmer > Settings, item Comunications e selecione a interface USB); No item Programmer > Settings orelha Power configure a fonte de alimentao. Se voc for usar o ICD2BR com o McSoc (somente para PICs de 8 a 40 pinos), selecione a opo Power BR target circuit from MPLAB ICD2. No caso de usar o ICD2 com uma placa de aplicao, ligue a fonte da placa e desabilite o item citado acima (Vdd da placa de aplicao deve estar ligado no pino Vdd do RJ12 ou CN5).

2.3.

Opes de conexo
BR

Uma vez iniciada a conexo com o ICD2 , voc pode continuar a BR conectar manualmente cada vez que voc seleciona o ICD2 como um depurador (use Programmer > Connect) ou voc pode setar o BR ICD2 para conexo automtica (use o caminho Automatically connect at start-up ( Programmer > Settings > orelha Status ).

26

Guia do Usurio

ICD2BR
BR

2.4.

Preparando o Ambiente (MPLAB) para utilizar o ICD2BR

Segue um guia rpido de operao do ICD2

Selecionando o modo depurador e opes de programao O caminho mais fcil para configurar utilizando o MPLAB ICD2 Setup Wizard (Programmer > MPLAB ICD2 Setup Wizard). Adicionalmente, estes dilogos permitem voc habilitar ou desabilitar o modo depurador ou opo de programao: Configurao de bits (Configurations Bits): (Configure > Configurations Bits). Selecione a configurao de bits do componente. Para completar os detalhes sobre estas opes, veja as caractersticas especiais (Special Features) no datasheet do componente a ser programado.

Nota: A configurao de bits pode ser especificada no seu prprio cdigo fonte, facilitando o procedimento, alm do mais, toda vez que seu cdigo compilado voc ter que habilitar suas configuraes de bits se elas no tiverem no cdigo. Habilitando o modo ICD2 (Debugger > Settings ou Programmer > Settings). Escolha a comunicao, a alimentao, programao e mensagens de alerta, como tambm o status, limitaes e informaes.

Voc tem que tomar cuidado com a alimentao da placa de BR aplicao em relao ao ICD2 . Siga os passos usando o Setup BR Wizard do ICD2 . Para maiores detalhes utilize a caixa de dilogo Settings Dialog: Orelha Program Selecione (memrias, programas, tamanho memria externa ID, opo de programao, apagar tudo). Se for desejado realizar a programao dos bits do ID, coloque o valor a ser programado em Configure > ID Memory ; 27

Guia do Usurio

ICD2BR

Orelha Warnings Determine cada mensagem de alerta para aparecer no MPLAB. Pode ser selecionado para todas as mensagens se elas forem repassadas ao arquivo (veja a orelha Status); Orelha Status Em adio a auto conexo na inicializao e controle Self Test, as mensagens podem ser selecionadas e serem logadas para o arquivo. Estas mensagens podem ajudar usurios ou se necessrio, o suporte LabTools pode ajudar a encontrar os erros.

Criando e compilando um Projeto O caminho mais fcil para criar um projeto novo selecionando Project > Project Wizard. O Project Wizard guiar voc para o processo de adio de arquivos fonte (source files), bibliotecas (libraries), linker scripts, etc. para vrios nodes na janela do projeto. Depois do projeto criado, escolha Project > Build All para compilar sua aplicao. Este cdigo objeto criado para a aplicao pode ser BR programado dentro da placa de aplicao com o ICD2 .

2.5.

Seqncia para desenvolver com ICD2BR


BR

A seqncia para desenvolver com ICD2

segue estes passos:

2.5.1. Programando o componente para depurar:


Para programar o cdigo fonte dentro do ICD2 siga estes passos:
BR

como depurador,

Selecione Debugger > Settings e clique na orelha Program para setar a opo de programao para sua aplicao; Selecione Configure > Configuration Bits e acerte o oscilador e outras configuraes apropriadas para o componente escolhido (se necessrio); 28

Guia do Usurio

ICD2BR

Selecione Debugger > Program para download de seu cdigo e execute o debug para o componente ou sua placa de BR aplicao conectada no ICD2 . O tempo de download depende da memria utilizada.

Existem ainda algumas dicas antes de depurar: 1. Em Debugger > Settings na orelha Program existem duas alternativas na opo Automatically. A primeira Program after successful build serve para gravar o programa logo aps a compilao do programa, se o mesmo no tiver erros. A segunda Run after successful program diz ao MPLAB para rodar o programa logo aps a gravao. 2. Em Debugger > Settings na orelha Program interessante que clique na opo Alow ICD2 to select memories and ranges para o ICD2BR automaticamente ajustar o tamanho e quais memrias devem ser gravadas. Com isso ganha-se muito na velocidade de gravao do cdigo fonte no PIC;

2.5.2. Seqncia do Depurador


Para depurar seu cdigo, siga estes passos: Tempo real de execuo (Real Time)

O tempo real de execuo ocorre quando o componente na placa de aplicao colocado no modo Run no MPLAB. BR Quando o ICD2 roda em tempo real, as instrues executam como o componente estivesse sem o depurador. Quando no modo Run, os registros no so atualizados na tela do MPLAB. Para executar o cdigo em tempo real, abra o cdigo fonte, selecione Debugger > Run. O componente vai rodar at um breakpoint inserido ou at o Debugger > Halt. 29

Guia do Usurio
Breakpoints (pontos de parada)

ICD2BR

Breakpoints permite voc especificar uma condio de parada de seu cdigo, bem como observar a memria, registro ou variao de valores depois de uma execuo em tempo real. Voc pode inserir o breakpoint na janela do cdigo-fonte ou na janela View > Program Memory. Voc pode inserir um breakpoint utilizando simultaneamente: Boto da direita de seu mouse, clique na linha do cdigo que voc deseja inserir um breakpoint; Dilogo do breakpoint Debugger > Breakpoints e entre com um breakpoint em um endereo especfico; Clicando duas vezes no lugar onde deseja inserir um breakpoint.

Modo de execuo passo a passo: O modo de execuo passo a passo pode ser acessado depois da parada do processador. Esta execuo ocorre em um nico passo no processador ou execute Debugger > Step Into. Este modo permite realizar uma instruo por tempo, para ver o fluxo do programa e visualizar os registradores. Nota: Quando operar neste modo o ICD2 responde o depurador nas interrupes.
BR

no

Escrevendo na memria EEPROM ou na memria de programa (FLASH) Se a EEPROM ou a memria de programa est sendo escrita durante a execuo do programa, a janela EEPROM do MPLAB e a janela Program Memory no mostra as mudanas. Voc precisar ler o cdigo fonte (Debugger > Read) para que os valores da EEPROM e a memria de programa sejam 30

Guia do Usurio

ICD2BR

atualizados. Se alguma posio da memria de programa ou algum valor na memria de dados no BR aparecem corretos, lembre-se que o ICD2 reserva recursos para que o modo Depurador funcione.

2.5.3. Modificao do cdigo para depurar


Abra o cdigo fonte (d um duplo clique no arquivo escolhido dentro da janela de projeto ou use File > Open); Inserir na linha de configurao de bits para gravao a opo _DEBUG_ON (em assembly). Para outras linguagens de programao consulte o manual do seu compilador; Desabilite o Watchdog Timer na linha de configurao de bits com a opo _WDT_OFF; Comente as linhas de cdigos que podem usar algum recurso do Watchdog Timer; Recompile o arquivo usando Project > Buid All; Selecione Debugger > Program para programar o componente com o arquivo.hex modificado.

Exemplos de cdigos preparados para modo de depurao, vide pgina 51, apndice I.

2.5.4. Terminando o depurador e utilizando o ICD2BR como gravador.


Uma vez que o cdigo tenha sido depurado e a aplicao rodada como projeto, o componente pode ser programado com o depurador desabilitado. Os recursos do componente reservados para a operao BR BR do ICD2 estaro livres para outro uso. O ICD2 pode ser selecionado como depurador ou gravador, nunca os dois juntos. 31

Guia do Usurio

ICD2BR

Antes de gravar o seu cdigo voc deve modificar para gravao mudar o _DEBUG_ON para _DEBUG_OFF (em assembly) e habilitar o Watchdog Timer, se necessrio. Para mudar o ICD2 seguinte:
BR

do modo depurador para gravador faa o

Clique em Debugger > Select Tool >MPLAB ICD2 e selecione BR Nenhum para desabilitar o ICD2 como Depurador. Aps isso clique em Programmer > Select Programmer > MPLAB BR ICD2 para habilitar o ICD2 como gravador; O menu do gravador e o MPLAB mudaro para opes de gravao sempre que a ferramenta for selecionada. Tambm, a janela de sada (output) abrir mensagens sobre o status de comunicao e aceitao do ICD. O projeto recompilado com os bits de configurao (Configurations Bits) inseridos no cdigo fonte podem ser gravados no componente. Verifique como a sua fonte est habilitada. Para gravar a aplicao do projeto no componente siga os passos: Selecione Programmer > Settings e clique na orelha Program para setar a opo de programao para sua aplicao; Configurao de bits para gravao estar inserida conforme escrita em seu cdigo fonte; Selecione Configure > Configuration Bits e acerte o oscilador e outras configuraes apropriadas para o componente escolhido (se necessrio); Se desejar, configure os bits de identificao (ID) selecionando Configure > ID Memory; Selecione Programmer > Blank Check para checar se o componente esta apagado. Se no estiver, obrigatrio o processo de apagar (Programmer > Erase Part); Selecione Programmer > Program para inserir seu cdigo no componente ou placa de aplicao ou placa de demonstrao BR que est conectada no seu ICD2 . 32

Guia do Usurio

ICD2BR

2.5.5. Opes adicionais do modo gravao


Como um programador o ICD2 tm as funes tradicionais de funcionamento como outro produto LabTools (McFlash+ por exemplo). Seguem: Verificao da programao Selecione Verify do menu de gravao para verificar se o componente foi gravado corretamente. Lendo um componente Selecione Read do menu de gravao para ler a memria de programa e a EEPROM interna. Ler a memria do componente usando o MPLAB pode ser salvo em um arquivo. Para salvar clique em File > Export. Se voc tentar ler um componente com cdigo de proteo (code protection) no conseguir obter sucesso. Apagar e verificar se um componente est apagado Erase Part - Selecione este item para apagar a memria de programa. O oscilador interno os bits de calibrao sempre BR so preservados pelo ICD2 . Blank Check Selecione Blank Check para verificar que o componente est apagado.
BR

33

Guia do Usurio

ICD2BR

3.

Limitaes do ICD2BR
O ICD2 usa recursos dos componentes, quando est depurando.Se voc modificar a memria de programa, voc ter que compilar o programa todo novamente. O comando de Reset volta sempre pra zero e pra. O programa no volta ao lugar de origem da depurao automaticamente. Limite de breakpoints disponveis: Dependendo do microcontrolador uma determinada quantidade de BR breakpoints est disponvel ao usar o ICD2 . O nmero real varia dependendo do dispositivo selecionado. Para ver qual o limite de breakpoints que voc pode usar, selecione limites de breakpoints do Depurador para ver "o limite ativo de breakpoints" na caixa de dilogo. Podem ocorrer derrapagens em breakpoints.
BR

Limitaes de depurao

Os limites de breakpoints podem derrapar (no parar na instruo aonde o breakpoint colocado), baseado no dispositivo e no tipo de memria em que so ajustados, como descrito abaixo: Famlia
PIC12/16 PIC18 dsPIC30F

Nmeros de instrues derrapadas Memria de programa Memria de dados


1 1 2 0 2 2

34

Guia do Usurio

ICD2BR

A velocidade de clock na barra de status no relevante. A velocidade de clock ajustada pelo oscilador do componente; no controlada ou medida pelo MPLAB. Voc no pode executar um nico passo atravs da interrupo. A instruo SLEEP no pode ser usada quando voc est depurando. (Alguns componentes suportam Break on Sleep que podem trabalhar em volta desta limitao); O Watchdog Timer (WDT) no pode ser usado quando voc est depurando. Voc no pode ver a pilha (stack) mesmo que voc possa acess-la; Se voc tentar em um nico passo depurar uma instruo invlida, o contador de programa (program counter) move-se para a posio 2A.

Limitaes de gravao Um cuidado deve ser tomado ao programar microcontroladores (gravao in-circuit) com a opo PLL. O PLL muda somente quando a alimentao aplicada pela primeira vez no componente. Se voc estiver programando o PLL pela a primeira vez, remova a alimentao do microcontrolador e aps a programao, reaplique-a para que o PLL seja habilitado. Se voc reprogramar o dispositivo da modalidade PLL a uma outra modalidade, primeiramente reprograme com PLL fora, em seguida, remova a alimentao e reaplique-a; 35

Guia do Usurio

ICD2BR

Para todos os componentes com memria EEPROM, a operao de Erase (apagar) tambm apaga a EEPROM. No modo de depurao os pinos Clock e Data no funcionam com o hardware da placa.

Depurando com agilidade Quando voc seleciona o MPLAB ICD2 (ICD2 ) no menu Debugger, os itens para depurar so adicionados seguindo as funes do MPLAB:
BR

Run - F9
Executa o cdigo at um breakpoint ou at Halt ser selecionado. A execuo comea no contador de programa atual (como indicado na barra de status). A posio do contador de programa atual representada tambm como um ponteiro na janela da memria do programa. Quando o programa funcionar, diversas outras funes so desabilitadas. Animate O modo Animate atualiza os valores dos registros. O funcionamento do Animate mais lento do que a funo Run, mas permite que voc veja os valores mudando tanto no registro quanto na janela do clock. Para parar o Animate, use a parada do Depurador no menu opo F5.

Halt - F5
A funo Halt pra a execuo do cdigo. Quando voc clica em Halt, as informaes dos registradores so atualizadas.

36

Guia do Usurio
Step Into - F7 Funo passo a passo no cdigo de programa

ICD2BR

Este comando executa uma instruo. Aps a execuo de uma instruo, todas as janelas so atualizadas. Para o cdigo em C, este comando executa uma linha, que pode significar e execuo de um ou mais instrues. Aps a execuo todas as janelas tambm so atualizadas em C.

Step Over - F8
No disponivel no ICD2 .
BR

Step Out
No disponvel no ICD2BR. Reset - F6 Realizar uma seqncia de Reset (restaurao) emite um MCLR para restaurar o Program Counter ao vetor de Reset. Se o componente est rodando, e acionado o F6 o programa continuar rodando, porm, a partir do endereo de vetor de Reset.

Breakpoints - F2
Abra a caixa de dilogo do breakpoint. Ajuste os mltiplos, entretanto, somente um breakpoint permitido em um momento. Voc pode tambm utilizar o boto da direita e ajustar seu breakpoint.

Advanced Breakpoints
Os breakpoints avanados abrem a caixa de dilogo e preparam as caractersticas avanadas do breakpoint para os componentes ICD que suportam tais caractersticas. 37

Guia do Usurio

ICD2BR
BR

MPLAB ICD 2 Setup Wizard


Utilize o Wizard para lhe ajudar a configurar seu ICD2 . (MPLAB ICD2).

Program
Grave seu cdigo na sua placa de aplicao.

Read
Ler seu cdigo fonte gravado em seu componente. Se este estiver protegido contra leitura, voc no conseguir ler o componente.

Abort Operation
Abortar toda a operao de programao (por exemplo, o programa, a leitura). Esta operao deixar o componente em um estado desconhecido. Connect Estabelecer comunicao entre o MPLAB e o ICD2 PC. Download ICD2 Operating System Download da operao de sistema do ICD2 . Menu boto direito do mouse Set/Remove Breakpoint Insira ou remova um breakpoint. Enable/Disable Breakpoint Habilite ou desabilite um breakpoint na linha selecionada. 38
BR BR

em seu

Guia do Usurio
Breakpoints

ICD2BR

Remova, habilite ou desabilite todos os breakpoints. Run To Cursor Rode o programa at a posio do cursor atual. Set PC at Cursor Ajuste o contador de programa (Program Counter) posio do cursor.

39

Guia do Usurio

ICD2BR
ou perda de comunicao

4.

Apndice A - Problemas mais comuns


1. O MPLAB no reconhece o ICD2 BR do ICD2 com o MPLAB:
BR

Quando ocorrer o erro acima, na janela de Output do MPLAB aparecer: ICD0018: Communications: Failed to set port parameters ICD0021: Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready ou ICD0019: Communications: Failed to open port ICD0021: Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready ou ICD0020: Communications: Failed to close port ICD0021: Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready Neste caso, segue um procedimento de correo deste erro: V em Programmer > Select Programmer e selecione None; BR Retire o cabo USB no ICD2 , aguarde o Windows indicar que desconectou (atravs de um sinal sonoro no Windows XP, por exemplo) e conecte novamente. Aguarde o Windows indicar que conectou (atravs de um sinal sonoro no Windows XP, por exemplo) e clique em Programmer > Select Programmer e selecione MPLAB ICD2.

40

Guia do Usurio
2. O ICD2
BR

ICD2BR

no depura nas placas McLab1 e McLab2:

V em Debugger > Settings orelha Power e selecione a opo Power target circuit from ICD2; Verificar se foram feitas as modificaes para a depurao. Consulte a pgina 31, item 2.5.3; 3. Quando se faz uma gravao in circuit o programa no roda:

Clique em Programmer > Settings orelha Program e selecione a opo Run After Successful Program. Na verso 6.xx do MPLAB no existe esta opo, sendo necessrio a retirada do cabo de gravao in circuit. 4. Os pinos usados na gravao in circuit, quando usados para outras funes no so liberados aps a gravao: Aps a gravao in circuit deve ser retirado o cabo RJ12 para que os pinos funcionem corretamente. 5. O ICD2 no consegue comunicar com a placa na hora de depurar na placa de aplicao: Quando ocorrer o erro acima, na janela de Output do MPLAB aparecer: ICD0083: Debug: Unable to enter debug mode. Verifique se o programa est preparado para depurao; Verifique se foi gravado o programa antes de depurar (Debugger > Program); Verifique se o microcontrolador selecionado possui opo de depurao (vide pgina 5 tabela item 1.3).
BR

41

Guia do Usurio
BR

ICD2BR

6. O ICD2 no consegue detectar o microcontrolador aps conectar com o MPLAB: Quando ocorrer o erro acima, na janela de Output do MPLAB aparecer: ICDWarn0020: Invalid target device id Verifique se o microcontrolador est devidamente conectado BR ao ICD2 (PGC, PGD, MCLR, Vdd e Vss); Verifique se todos os pinos de alimentao (Vdd, Vss, AVdd, AVss) e capacitores (ateno especial aos dispositivos de 3,3V microcontroladores PIC18 srie J, dsPIC33F e PIC24F e PIC24H) esto devidamente conectados; Se estiver usando o McSoc, clique em Programmer > Settings orelha Power marque a opo Power target circuit from MPLAB ICD2. Note que o McSoc no grava PIC10F, dsPICs, PIC18 srie J, PIC24F e PIC24H; Verifique se o microcontrolador a ser gravado est devidamente selecionado no Configure > Select Device; 7. Quando programo um microcontrolador configurado com oscilador interno e MCLR interno aparece a mensagem ICDWarn0033: Quando um microcontrolador programado com a opo do oscilador interno e o MCLR interno habilitados ao mesmo tempo, o MPLAB avisa que se o programa fizer uso dos pinos PGD e PGC e aps a BR gravao do microcontrolador o programa ir rodar e se o ICD2 ainda enviar dados ao microcontrolador poder ocorrer queima dos pinos PGC e PGD, impossibitando assim uma nova gravao. Um delay de 10ms deve ser inserido no incio do programa para evitar este problema. Em alguns casos quando aparece a mensagem ICDWarn0033 pode aparecer uma mensagem ICD0200: Operation Aborted e aps isso no efetuada a gravao do programa. Para resolver este problema, clique em Programmer > Settings orelha Warnings e selecione a opo ICDWarn0033... 42

Guia do Usurio

ICD2BR

5.

Apndice B - Cabo de ligao entre ICD2BR e produtos LabTools

A tabela a seguir mostra como montar um cabo para ligao entre o BR ICD2 e os produtos LabTools. O conector utilizado do tipo RJ12 nas duas extremidades. Obs: Olhando o conector de frente, com a trava para baixo, o pino 1 o da direita! ICD2BR RJ12 (Labtools) Pino Funo 1 No usado 2 Vss 3 Vdd 4 PGC 5 PGD 6 Vpp Produtos LabTools RJ12 Pino Funo 6 No usado 5 Vss 4 Vdd 3 PGC 2 PGD 1 Vpp

43

Guia do Usurio

ICD2BR

6.

Apndice C - Cabo de ligao entre ICD2BR e produtos Microchip

A tabela a seguir mostra como montar um cabo para ligao entre o ICD2BR e os produtos Microchip. O conector utilizado do tipo RJ12 nas duas extremidades. ICD2BR RJ12 (Microchip) Pino Funo 1 No usado 2 PGC 3 PGD 4 Vss 5 Vdd 6 Vpp Produtos Microchip RJ12 Pino Funo 6 No usado 5 PGC 4 PGD 3 Vss 2 Vdd 1 Vpp

44

Guia do Usurio

ICD2BR

7.

Apndice D Pinagem do conector Header ICD2BR

A tabela a seguir mostra a pinagem do conector Header (CN5) disponvel para montagem de um cabo ICSP. ICD2BR Conector Header (CN5) Pino Funo 1 No usado 2 Vss 3 Vdd 4 PGC 5 PGD 6 Vpp

45

Guia do Usurio

ICD2BR

8.

Apndice E Gravao In-Circuit


BR

Para utilizar o ICD2 em modo de gravao in-circuit voc deve montar um cabo conforme a tabela a seguir: ICD2BR RJ12 (LabTools) Pino 1 2 3 4 5 6 Funo No usado Vss Vdd PGC PGD Vpp Microcontrolador PIC a ser gravado Pino no PIC No usado Vss (GND) Vdd (Vcc) PGC PGD MCLR

Deve-se tomar cuidado com os nveis de tenso envolvidos na gravao. O PIC a ser gravado deve estar previamente energizado antes de iniciar a gravao, ou seja, a prpria placa onde o PIC que BR ser gravado se encontra dever estar energizada. O ICD2 no tem capacidade de corrente suficiente para alimentar o PIC que est sendo gravado e o resto do circuito que se encontra na placa, por este motivo, a prpria placa deve prover alimentao ao PIC a ser gravado BR e no o ICD2 . O sinal ligado ao pino MCLR do microcontrolador atingir uma tenso de 13V aproximadamente durante a gravao, por este motivo, o PIC a ser gravado in-circuit no pode estar com o MCLR ligado diretamente ao +5V. Recomendamos o uso de um resistor de 10K ligando o MCLR ao +5V, de forma que a tenso de gravao (+13V) possa ser aplicada ao pino MCLR sem problemas. Quanto aos pinos PGC (clock) e PGD (data) utilizados pela gravao, deve-se observar o sentido de corrente em relao ao circuito j presente na placa. O ideal isolar o circuito da placa do circuito de gravao atravs de dois resistores de pelo menos 1k. A localizao dos pinos correspondente ao clock, data e MCLR depende do microcontrolador usado. Verifique esta informao no datasheet do componente usado. 46

Guia do Usurio

ICD2BR
+5V

A figura abaixo ilustra a forma de conectar o gravador ao PIC para gravao in-circuit.

ao ICD2 Vpp

BR

10k

PIC /MCLR PGD PGC

PGD PGC GND 1k 1k ao circuito da placa

Para o circuito mostrado acima, no esquea de clicar em Programmer > Settings orelha Power e marque a opo Power target circuit from MPLAB ICD2.

47

Guia do Usurio

ICD2BR

9.

Apndice F Gravao de microcontroladores alimentados com 3,3V

Os novos microcontroladores PIC (PIC18 srie J, dsPIC33F, PIC24F e PIC24H) a tenso mxima de alimentao destes componentes de 3,3V e por este motivo modelos DIP destes componentes no podem ser gravados no soquete de gravao, tanto o que acompanha o ICD2BR quanto o soquete para gravao de dsPICs. A gravao destes componentes deve ser apenas in-circuit, como mostra a figura abaixo: +3,3V ao ICD2 Vdd Vpp PGD PGC GND 1k 1k
BR

+3,3V 10k PIC ou dsPIC /MCLR PGD PGC

ao circuito da placa No MPLAB clique em Programmer > Settings orelha Power e desmarque a opo Power target circuit from MPLAB ICD2. 48

Guia do Usurio

ICD2BR

10.

Apndice G - Disposio dos Pinos no Conector RJ12

Vista pelo lado da solda:

Vista frontal:

49

Guia do Usurio

ICD2BR

11.

Apndice H Posio do Jumper no Soquete para Gravao dos Pics

O desenho a seguir mostra como gravar os modelos de PIC. A posio do pino 1 deve obedecer o desenho impresso no soquete, conforme pinagem do PIC. Todos os McSocs saem de fbrica com a configurao para gravao em PICs de 8, 14 e 18 pinos. Para gravao dos modelos de 8, 14 e 18 pinos (DIP) coloque os jumpers na posio A, para os modelos de 28 e 40 pinos (DIP) coloque os jumpers na posio B. Salientamos que este soquete no pode ser utilizado com dsPIC, PIC24 PIC18 srie J e PIC24.
PIC 8, 14 E 18 PINOS

JUMPER

RJ
A B

COMUM B A

PIC 28 E 40 PINOS

50

Guia do Usurio

ICD2BR

12.

Apndice I - Exemplos de cdigos para modo de depurao

PIC16F877A Circuito de teste:


5V

+5V 11 32 12 31 13 C1 22pF XTAL1 4MHz 14 C2 22pF OSC2 U1 PIC16F877A RB1 34 Vdd Vdd Vss Vss OSC1 MCLR/Vpp RB7/PGD RB6/PGC RB0 1 40 39 33

R3 10k MCLR PGD PGC

5V 6 5 4 3 2 1 HEADER - ICSP LIGAR AO CN5 DO ICD2BR

R2 330R

R1 10k

LED

BOTO

Exemplo em Assembly:
; ; ; ; ; ; ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * LABTOOLS - MOSAICO DIDACTIC DIVISION * * * * TEL: (0XX11) 4992-8775 SITE: www.labtools.com.br * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * VERSO : 1.0 * * DATA : 18/12/2006 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * DESCRIO GERAL * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ; TESTE MODO DE DEPURAO DO ICD2BR - ASSEMBLY ;

51

Guia do Usurio

ICD2BR
* * * * * * * * * * * * * PARA QUE NECESSIDADE

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * DEFINIO DAS VARIVEIS INTERNAS DO PIC ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; O ARQUIVO DE DEFINIES DO PIC UTILIZADO DEVE SER REFERENCIADO ; OS NOMES DEFINIDOS PELA MICROCHIP POSSAM SER UTILIZADOS, SEM A ; DE REDIGITAO. #INCLUDE <P16F877A.INC>

; MICROCONTROLADOR UTILIZADO

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * CONFIGURAES PARA GRAVAO * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * __CONFIG _CP_OFF & _CPD_OFF & _DEBUG_ON & _LVP_OFF & _WRT_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * DEFINIO DAS VARIVEIS * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * CBLOCK 0X20 TESTE ENDC ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * DEFINIO DOS BANCOS DE RAM * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; OS PSEUDOS-COMANDOS "BANK0" E "BANK1", AQUI DEFINIDOS, AJUDAM A COMUTAR ; ENTRE OS BANCOS DE MEMRIA. #DEFINE #DEFINE BANK1 BANK0 BSF BCF STATUS,RP0 STATUS,RP0 ; SELECIONA BANK1 DA MEMORIA RAM ; SELECIONA BANK0 DA MEMORIA RAM

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * CONSTANTES INTERNAS * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; A DEFINIO DE CONSTANTES FACILITA A PROGRAMAO E A MANUTENO. ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * DECLARAO DOS FLAGs DE SOFTWARE * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; A DEFINIO DE FLAGs AJUDA NA PROGRAMAO E ECONOMIZA MEMRIA RAM. ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * ENTRADAS * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; AS ENTRADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO E ; FUTURAS ALTERAES DO HARDWARE. #DEFINE BOTAO PORTB,0 ; BOTO ; 1 -> LIBERADO ; 0 -> PRESSIONADO

; * * * * * * * * * * * * * * * * * ; * ; * * * * * * * * * * * * * * * * * ; AS SADAS DEVEM SER ASSOCIADAS A ; FUTURAS ALTERAES DO HARDWARE. #DEFINE LED

* * * * * * * * * * * * * * * * * * * * * SADAS * * * * * * * * * * * * * * * * * * * * * * NOMES PARA FACILITAR A PROGRAMAO E ; LED ; 1 -> LED LIGADO ; 0 -> LED DESLIGADO

PORTB,1

52

Guia do Usurio

ICD2BR

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * VETOR DE RESET DO MICROCONTROLADOR * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; POSIO INICIAL PARA EXECUO DO PROGRAMA ORG GOTO 0X0000 CONFIGURACAO ; ENDEREO DO VETOR DE RESET ; PULA PARA CONFIG DEVIDO A REGIO ; DESTINADA S INTERRUPES * * * * * * * * * * * * * * * * * * * DO MICROCONTROLADOR * * * * * * * * * * * * * * * * * * * * UMA INTERRUPO ACONTECE ; ENDEREO DO VETOR DE INTERRUPO ; RETORNA DA INTERRUPO * * * * * * * * * * * * E SOFTWARE * * * * * * * * * * * * * MICROCONTROLADOR E AS

; * * * * * * * * * * * * * * * * * * * ; * VETOR DE INTERRUPO ; * * * * * * * * * * * * * * * * * * * ; POSIO DE DESVIO DO PROGRAMA QUANDO ORG RETFIE 0X0004

; * * * * * * * * * * * * * * * * * * * * * * * * * * ; * CONFIGURAES INICIAIS DE HARDWARE ; * * * * * * * * * * * * * * * * * * * * * * * * * * ; NESTA ROTINA SO INICIALIZADAS AS PORTAS DE I/O DO ; CONFIGURAES DOS REGISTRADORES ESPECIAIS (SFR). CONFIGURACAO CLRF CLRF CLRF CLRF CLRF BANK1 MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF DIGITAL BANK0 B'11111111' TRISA B'11111101' TRISB B'11111111' TRISC B'11111111' TRISD B'00000111' TRISE B'00000000' INTCON B'00000111' ADCON1 PORTA PORTB PORTC PORTD PORTE

; GARANTE TODAS AS SADAS EM ZERO

; SELECIONA BANCO 1 DA RAM ; CONFIGURA I/O DO PORTA ; CONFIGURA I/O DO PORTB ; CONFIGURA I/O DO PORTC ; CONFIGURA I/O DO PORTD ; CONFIGURA I/O DO PORTE ; CONFIGURA INTERRUPES ; DESABILITA AS INT. ; CONFIGURA CONVERSOR A/D ; CONFIGURA PORTA E PORTE COMO I/O ; SELECIONA BANCO 0 DA RAM

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * LOOP PRINCIPAL * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ESTA ROTINA PRINCIPAL SIMPLESMENTE LIMPA O WDT, POIS TODA A LGICA DO ; PROGRAMA TRATADA DENTRO DAS INTERRUPES. MAIN

53

Guia do Usurio
INCF BTFSC GOTO GOTO BOTAO_LIB BCF GOTO BOTAO_PRES BSF GOTO LED MAIN LED MAIN TESTE,F

ICD2BR

;INCREMENTA VARIVEL TESTE

BOTAO ;O BOTO EST PRESSIONADO? BOTAO_LIB ;NO, ENTO TRATA BOTO LIBERADO BOTAO_PRES ;SIM, ENTO TRATA BOTO PRESSIONADO ;APAGA O LED ;RETORNA AO LOOP PRINCIPAL ;ACENDE O LED ;RETORNA AO LOOP PRINCIPAL

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * FIM DO PROGRAMA * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * END ; FIM DO PROGRAMA

Exemplo em linguagem C CCS:


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * LABTOOLS - MOSAICO DIDACTIC DIVISION * * * * TEL: (0XX11) 4992-8775 SITE: www.labtools.com.br * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * VERSO : 1.0 * * DATA : 18/12/2006 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIO GERAL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* TESTE MODO DE DEPURAO DO ICD2BR - CCS*/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DEFINIO DAS VARIVEIS INTERNAS DO PIC * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* O ARQUIVO DE DEFINIES DO PIC UTILIZADO DEVE SER REFERENCIADO PARA QUE OS NOMES DEFINIDOS PELA MICROCHIP POSSAM SER UTILIZADOS, SEM A NECESSIDADE DE REDIGITAO. */ #include <16f877A.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Configuraes para gravao * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #fuses /* * * * * #use #use #use #use #use XT,NOWDT,NOPROTECT,PUT,BROWNOUT,NOLVP,NOCPD,NOWRT,DEBUG

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Constantes internas * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ fast_io(a) //MODO RPIDO DE MANIPULAO DOS I/Os fast_io(b) fast_io(c) fast_io(d) fast_io(e)

54

Guia do Usurio
#byte #byte #byte #byte #byte PORTA PORTB PORTC PORTD PORTE = = = = = 0x05 0x06 0x07 0x08 0x09 //DEFINIO //DEFINIO //DEFINIO //DEFINIO //DEFINIO DO DO DO DO DO REGISTRADOR REGISTRADOR REGISTRADOR REGISTRADOR REGISTRADOR PORTA PORTB PORTC PORTD PORTE

ICD2BR

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Definio e inicializao das variveis globais * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ char TESTE; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PROTOTIPAGEM DE FUNES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * // AS ENTRADAS DEVEM //FUTURAS ALTERAES #bit * * * * * * * * * * * * * * * * * * * * * * * * * * ENTRADAS * * * * * * * * * * * * * * * * * * * * * * * * * * SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO DO HARDWARE. //BOTO //1 -> PRESSIONADO //0 -> LIBERADO * * */ E * * */ E

BOTAO = PORTB.0

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SADAS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // AS SADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO //FUTURAS ALTERAES DO HARDWARE. #bit LED = PORTB.1 //LED //1 -> LIGADO //0 -> DESLIGADO

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BLOCO DE FUNES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BLOCO DE FUNES - ISR * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FUNO PRINCIPAL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void main(void) { PORTA=0x00; PORTB=0x00; PORTC=0x00; PORTD=0x00; PORTE=0x00; set_tris_a(0b11111111); set_tris_b(0b11111101); set_tris_c(0b11111111); set_tris_d(0b11111111); set_tris_e(0b00000111); while(1) { TESTE = TESTE + 1;

// // // // //

limpa limpa limpa limpa limpa

PORTA PORTB PORTC PORTD PORTE

//CONFIGURA DIREO DOS I/Os

//INCREMANTA VARIVEL TESTE

55

Guia do Usurio
if(!BOTAO) LED = 1; else LED = 0; } }

ICD2BR

//TESTA BOTO. SE PRESSIONADO LED = 1; //CASO CONTRRIO, LED = 0;

PIC18F452 Circuito de teste:


5V

+5V 11 32 12 31 13 C1 22pF XTAL1 4MHz 14 C2 22pF OSC2 U1 PIC18F452 RB1 34 Vdd Vdd Vss Vss OSC1 MCLR/Vpp RB7/PGD RB6/PGC RB0 1 40 39 33

R3 10k MCLR PGD PGC

5V 6 5 4 3 2 1 HEADER - ICSP LIGAR AO CN5 DO ICD2BR

R2 330R

R1 10k

LED

BOTO

Exemplo C18:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * LABTOOLS - MOSAICO DIDACTIC DIVISION * * * * TEL: (0XX11) 4992-8775 SITE: www.labtools.com.br * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * VERSO : 1.0 * * DATA : 18/12/2006 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIO GERAL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* TESTE MODO DE DEPURAO DO ICD2BR - C18*/

56

Guia do Usurio

ICD2BR

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DEFINIO DAS VARIVEIS INTERNAS DO PIC * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* O ARQUIVO DE DEFINIES DO PIC UTILIZADO DEVE SER REFERENCIADO PARA QUE OS NOMES DEFINIDOS PELA MICROCHIP POSSAM SER UTILIZADOS, SEM A NECESSIDADE DE REDIGITAO. */ #include <p18F452.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Configuraes para gravao * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #pragma #pragma #pragma #pragma #pragma #pragma config config config config config config OSC = XT WDT = OFF LVP = OFF PWRT = ON BOR = ON BORV = 45

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Constantes internas * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Definio e inicializao das variveis globais * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ unsigned char TESTE; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PROTOTIPAGEM DE FUNES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * // AS ENTRADAS DEVEM //FUTURAS ALTERAES #define BOTAO * * * * * * * * * * * * * * * * * * * * * * * * * * ENTRADAS * * * * * * * * * * * * * * * * * * * * * * * * * * SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO DO HARDWARE. //BOTO //1 -> PRESSIONADO //0 -> LIBERADO * * */ E * * */ E

PORTBbits.RB0

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SADAS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // AS SADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO //FUTURAS ALTERAES DO HARDWARE. #define LED PORTBbits.RB1 //LED //1 -> LIGADO //0 -> DESLIGADO

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BLOCO DE FUNES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BLOCO DE FUNES - ISR * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

57

Guia do Usurio

ICD2BR

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FUNO PRINCIPAL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void main(void) { PORTA=0x00; PORTB=0x00; PORTC=0x00; PORTD=0x00; PORTE=0x00; TRISA TRISB TRISC TRISD TRISE = = = = = 0b11111111; 0b11111101; 0b11111111; 0b11111111; 0b11111111;

// // // // //

limpa limpa limpa limpa limpa

PORTA PORTB PORTC PORTD PORTE

//CONFIGURA DIREO DOS I/Os

while(1) { TESTE = TESTE + 1; if(!BOTAO) LED = 1; else LED = 0; } }

//INCREMANTA VARIVEL TESTE //TESTA BOTO. SE PRESSIONADO LED = 1; //CASO CONTRRIO, LED = 0;

dsPIC30F3014 Circuito de teste:


5V

+5V 11 21 32 40 12 20 31 39 13 C1 22pF XTAL1 4MHz 14 C2 22pF OSC2 U1 dsPIC30F3014 LED Vdd Vdd Vdd Vdd Vss Vss Vss Vss OSC1 RB1 3 MCLR/Vpp RB7/PGD RB6/PGC RB0 1 9 8 2

R3 10k MCLR PGD PGC

5V 6 5 4 3 2 1 HEADER - ICSP LIGAR AO CN5 DO ICD2BR

R2 330R

R1 10k

BOTO

58

Guia do Usurio
Exemplo C30:

ICD2BR

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * LABTOOLS - MOSAICO DIDACTIC DIVISION * * * * TEL: (0XX11) 4992-8775 SITE: www.labtools.com.br * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * VERSO : 1.0 * * DATA : 18/12/2006 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DESCRIO GERAL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* TESTE MODO DE DEPURAO DO ICD2BR - C30*/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DEFINIO DAS VARIVEIS INTERNAS DO PIC * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* O ARQUIVO DE DEFINIES DO PIC UTILIZADO DEVE SER REFERENCIADO PARA QUE OS NOMES DEFINIDOS PELA MICROCHIP POSSAM SER UTILIZADOS, SEM A NECESSIDADE DE REDIGITAO. */ #include <p30F3014.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Configuraes para gravao * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ _FGS( CODE_PROT_OFF & GWRP_OFF ) _FOSC( CSW_FSCM_OFF & XT ) _FWDT( WDT_OFF ) _FBORPOR( MCLR_EN & PBOR_ON & BORV_45 & PWRT_4) /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Constantes internas * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Definio e inicializao das variveis globais * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ unsigned char TESTE; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PROTOTIPAGEM DE FUNES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * // AS ENTRADAS DEVEM //FUTURAS ALTERAES #define BOTAO * * * * * * * * * * * * * * * * * * * * * * * * * * ENTRADAS * * * * * * * * * * * * * * * * * * * * * * * * * * SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO DO HARDWARE. //BOTO //1 -> PRESSIONADO //0 -> LIBERADO * * */ E

PORTBbits.RB0

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SADAS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

59

Guia do Usurio

ICD2BR

// AS SADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO E //FUTURAS ALTERAES DO HARDWARE. #define LED PORTBbits.RB1 //LED //1 -> LIGADO //0 -> DESLIGADO

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BLOCO DE FUNES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BLOCO DE FUNES - ISR * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FUNO PRINCIPAL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ int main(void) { PORTA=0x0000; PORTB=0x0000; PORTC=0x0000; PORTD=0x0000; PORTF=0x0000; TRISA TRISB TRISC TRISD TRISF = = = = = 0b1111111111111111; 0b1111111111111101; 0b1111111111111111; 0b1111111111111111; 0b1111111111111111;

// // // // //

limpa limpa limpa limpa limpa

PORTA PORTB PORTC PORTD PORTE

//CONFIGURA DIREO DOS I/Os

while(1) { TESTE = TESTE + 1; if(!BOTAO) LED = 1; else LED = 0; } }

//INCREMANTA VARIVEL TESTE //TESTA BOTO. SE PRESSIONADO LED = 1; //CASO CONTRRIO, LED = 0;

60

Guia do Usurio

ICD2BR

13.

Certicado de Garantia

1. Tempo de Garantia
A LabTools garante contra defeitos de fabricao durante 4 meses para mo de obra de conserto. O prazo de garantia comea a ser contado a partir da data de emisso da Nota Fiscal de compra.

2. Condies de Garantia
Durante o prazo coberto pela garantia, LabTools far o reparo do defeito apresentado, ou substituir o produto, se isso for necessrio. Os produtos devero ser encaminhados LabTools, devidamente embalados por conta e risco do comprador, e acompanhados deste Certificado de Garantia sem emendas ou rasuras e da respectiva Nota Fiscal de aquisio. O atendimento para reparos dos defeitos nos produtos cobertos por este Certificado de Garantia ser feito somente na LabTools, ficando, portanto, excludo o atendimento domiciliar.

3. Excluses de Garantia
Esto excludos da garantia os defeitos provenientes de: Alteraes do produto ou dos equipamentos. Utilizao incorreta do produto ou dos equipamentos. Queda, raio, incndio ou descarga eltrica. Manuteno efetuada por pessoal no credenciado pela LabTools. Obs.: Todas as caractersticas de funcionamento dos produtos LabTools esto em seus respectivos manuais.

61

Guia do Usurio 4. Limitao de Responsabilidade

ICD2BR

A presente garantia limita-se apenas ao reparo do defeito apresentado, a substituio do produto ou equipamento defeituoso. Nenhuma outra garantia, implcita ou explcita, dada ao comprador. A LabTools no se responsabiliza por qualquer dano, perda, inconvenincia ou prejuzo direto ou indireto que possa advir de uso ou inabilidade de se usarem os produtos cobertos por esta garantia. A LabTools estabelece o prazo de 30 dias (a ser contado a partir da data da nota Fiscal de Venda) para que seja reclamado qualquer eventual falta de componentes. Importante: Todas as despesas de frete e seguro so de responsabilidade do usurio, ou seja, em caso de necessidade o Cliente responsvel pelo encaminhamento do equipamento at a LabTools.

FEV/2009

62