Escolar Documentos
Profissional Documentos
Cultura Documentos
ICD2BR
In Circuit Debugger
ICD2BR
02/03/2011
ICD2BR
BR
1.
Apresentao do ICD2
1.2.
Como o ICD2
1.3.
BR
BR
.............................................................................................................................. 3
trabalha? ................................................................................................................... 4
BR
1.4.
Quais PICs e dsPICs que o ICD2 suporta? (Tabela de quantidade de memria e registros utilizados
por modelo para depurar) ....................................................................................................................................... 17
2.
Instalando o ICD2
BR
............................................................................................................................................ 29
BR
2.1.
2.2.
2.3.
2.4.
2.5.
BR
.......................................................................................................... 29
BR
BR
2.5.1.
2.5.2.
2.5.3.
2.5.4.
2.5.1.
3.
Limitaes do ICD2
.......................................................................................................................................... 35
4.
5.
6.
7.
8.
9.
BR
BR
.......................................................................................... 43
10.
11.
12.
13.
ICD2BR
Rev 13
ICD2BR
Sobre o ICD2BR
1.
1.1.
Apresentao do ICD2
BR
Primeiramente, agradecemos novamente a confiana em adquirir produtos Mosaico (uma diviso da Mosaico High
Performance Solutions) e parabns pela escolha, pois este produto ir auxiliar bastante nos seus projetos. A
BR
Mosaico lana para o mercado 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 do desenvolvedor brasileiro, juntamente
BR
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.
BR
Nota: O ICD2 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
ICD2BR
BR
BR
Rev 13
ICD2BR
1.2.
O ICD2
BR
BR
Como o ICD2
BR
Microcontrolador
trabalha?
BR
Gravao
Depurao
Soquete especial
PIC10F200
PIC10F202
PIC10F204
PIC10F206
PIC10F220
PIC10F222
PIC12F508
PIC12F509
PIC12F510
PIC12F615
PIC12F629
PIC12F635
PIC12F675
PIC12F683
ICD2BR
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
Soquete especial
PIC16F505
PIC16F506
PIC16F54
PIC16F57
PIC16F59
PIC16F610
PIC16F616
PIC16F627
PIC16F627A
PIC16F628
PIC16F628A
PIC16F630
PIC16F631
PIC16F636
PIC16F639
PIC16F648A
PIC16F676
PIC16F677
PIC16F684
PIC16F685
PIC16F687
PIC16F688
PIC16F689
ICD2BR
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
Soquete especial
PIC16F690
PIC16F716
PIC16F72
PIC16F73
PIC16F737
PIC16F74
PIC16F747
PIC16F76
PIC16F767
PIC16F77
PIC16F777
PIC16F785
PIC16F818
PIC16F819
PIC16F83
PIC16F84
PIC16F84A
PIC16F87
PIC16F870
PIC16F871
PIC16F872
PIC16F873
PIC16F873A
ICD2BR
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC16F874
PIC16F874A
PIC16F876
PIC16F876A
PIC16F877
PIC16F877A
PIC16F88
PIC16F883
PIC16F884
PIC16F886
PIC16F887
PIC16F913
PIC16F914
PIC16F916
PIC16F917
PIC16F946
PIC16HV785
PIC18C601
PIC18C801
PIC18F1220
PIC18F1230
PIC18F1320
PIC18F1330
ICD2BR
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC18F2220
PIC18F2221
PIC18F2320
PIC18F2321
PIC18F2331
PIC18F2410
PIC18F242
PIC18F2420
PIC18F2423
PIC18F2431
PIC18F2439
PIC18F2450
PIC18F2455
PIC18F2458
PIC18F248
PIC18F2480
PIC18F24J10
PIC18F2510
PIC18F2515
PIC18F252
PIC18F2520
PIC18F2523
PIC18F2525
ICD2BR
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC18F2539
PIC18F2550
PIC18F2553
PIC18F258
PIC18F2580
PIC18F2585
PIC18F25J10
PIC18F2610
PIC18F2620
PIC18F2680
PIC18F2682
PIC18F2685
PIC18F4220
PIC18F4221
PIC18F4320
PIC18F4321
PIC18F4331
PIC18F4410
PIC18F442
PIC18F4420
PIC18F4423
PIC18F4431
PIC18F4439
ICD2BR
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC18F4450
PIC18F4455
PIC18F4458
PIC18F448
PIC18F4480
PIC18F44J10
PIC18F4510
PIC18F4515
PIC18F452
PIC18F4520
PIC18F4523
PIC18F4525
PIC18F4539
PIC18F4550
PIC18F4553
PIC18F458
PIC18F4580
PIC18F4585
PIC18F45J10
PIC18F4610
PIC18F4620
PIC18F4680
PIC18F4685
ICD2BR
10
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC18F6310
PIC18F6390
PIC18F6410
PIC18F6490
PIC18F6520
PIC18F6525
PIC18F6527
PIC18F6585
PIC18F65J10
PIC18F65J15
PIC18F6620
PIC18F6621
PIC18F6622
PIC18F6627
PIC18F6680
PIC18F66J10
PIC18F66J11
PIC18F66J15
PIC18F66J16
PIC18F66J60
PIC18F66J65
PIC18F6720
PIC18F6722
ICD2BR
11
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC18F67J10
PIC18F67J11
PIC18F67J60
PIC18F8310
PIC18F8390
PIC18F8410
PIC18F8490
PIC18F8520
PIC18F8525
PIC18F8527
PIC18F8585
PIC18F85J10
PIC18F85J11
PIC18F85J15
PIC18F85J90
PIC18F8620
PIC18F8621
PIC18F8622
PIC18F8627
PIC18F8680
PIC18F86J10
PIC18F86J11
PIC18F86J15
ICD2BR
12
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC18F86J16
PIC18F86J60
PIC18F86J65
PIC18F8720
PIC18F8722
PIC18F87J10
PIC18F87J11
PIC18F87J60
PIC18F96J60
PIC18F96J65
PIC18F97J60
PIC18LF24J10
PIC18LF25J10
PIC18LF44J10
PIC18LF45J10
PIC24FJ128GA006
PIC24FJ128GA008
PIC24FJ128GA010
PIC24FJ32GA002
PIC24FJ32GA004
PIC24FJ64GA002
PIC24FJ64GA004
PIC24FJ64GA006
ICD2BR
13
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
PIC24FJ64GA008
PIC24FJ64GA010
PIC24FJ96GA006
PIC24FJ96GA008
PIC24FJ96GA010
PIC24HJ128GP206
PIC24HJ128GP210
PIC24HJ128GP306
PIC24HJ128GP310
PIC24HJ128GP506
PIC24HJ128GP510
PIC24HJ256GP206
PIC24HJ256GP210
PIC24HJ256GP610
PIC24HJ64GP206
PIC24HJ64GP210
PIC24HJ64GP506
PIC24HJ64GP510
dsPIC30F2010
dsPIC30F2011
dsPIC30F2012
dsPIC30F2020
dsPIC30F2023
ICD2BR
14
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
dsPIC30F3010
dsPIC30F3011
dsPIC30F3012
dsPIC30F3013
dsPIC30F3014
dsPIC30F4011
dsPIC30F4012
dsPIC30F4013
dsPIC30F5011
dsPIC30F5013
dsPIC30F5015
dsPIC30F5016
dsPIC30F6010
dsPIC30F6010A
dsPIC30F6011
dsPIC30F6011A
dsPIC30F6012
dsPIC30F6012A
dsPIC30F6013
dsPIC30F6013A
dsPIC30F6014
dsPIC30F6014A
dsPIC30F6015
ICD2BR
15
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
dsPIC33FJ128GP206
dsPIC33FJ128GP306
dsPIC33FJ128GP310
dsPIC33FJ128GP706
dsPIC33FJ128GP708
dsPIC33FJ128GP710
dsPIC33FJ128MC506
dsPIC33FJ128MC510
dsPIC33FJ128MC706
dsPIC33FJ128MC708
dsPIC33FJ128MC710
dsPIC33FJ256GP506
dsPIC33FJ256GP510
dsPIC33FJ256GP710
dsPIC33FJ256MC510
dsPIC33FJ256MC710
dsPIC33FJ64GP206
dsPIC33FJ64GP306
dsPIC33FJ64GP310
dsPIC33FJ64GP706
dsPIC33FJ64GP708
dsPIC33FJ64GP710
dsPIC33FJ64MC506
ICD2BR
16
Soquete especial
Rev 13
ICD2BR
Microcontrolador
Gravao
Depurao
dsPIC33FJ64MC508
dsPIC33FJ64MC510
dsPIC33FJ64MC706
dsPIC33FJ64MC710
Soquete especial
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 que o ICD2
quantidade de modelos.
BR
BR
3 A lista dos microcontroladores que o ICD2 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.Mosaico.com.br .
1.4.
BR
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.
ICD2BR
17
Rev 13
ICD2BR
Tabela de uso:
Tipo
Registradores usados
PIC10F200/2/4/6
Nenhum
Nenhum
Nenhum
Nenhum
Nenhum
Nenhum
Nenhum
Nenhum
(PIC16F505-ICD)
PIC10F220/2
(PIC16F506-ICD)
PIC12F508/509
(PIC16F505-ICD)
PIC12F510
(PIC16F506-ICD)
PIC12F609/615,
0x70
PIC12HV609/615
0x0300-0x03FF
0x065-0x06F
(PIC16F616-ICD)
PIC12F629
0x54-0x5F
0x300-0x3FF
(PIC12F675-ICD)
0xD4-0xDF
0x65-0x6F
PIC12F635
0x300-0x3FF
0x70, 0xF0
(PIC16F636-ICD)
0x170, 0x1F0
PIC12F675
0x54-0x5F
0x300-0x3FF
(PIC12F675-ICD)
0xD4-0xDF
PIC12F683
0x65-0x6F
0x700-0x7FF
(PIC12F683-ICD)
ICD2BR
0x70, 0xF0
18
Rev 13
ICD2BR
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;
Tabela de uso:
Tipo
PIC16F505
Registradores usados
Nenhum
Nenhum
Nenhum
Nenhum
(PIC16F505-ICD)
PIC16F506
(PIC16F506-ICD)
PIC16F610/ PIC16HV610
0x70
0x0300-0x03FF
(PIC16F616-ICD)
PIC16F616/ PIC16HV616
0x065-0x06F
0x65-0x6F
0x0700-0x07FF
(PIC16F616-ICD)
0x70, 0xF0
0x170, 0x1F0
PIC16F627A
0x300-0x3FF
(PIC16F648A-ICD)
0x70, 0xF0
0x165-0x16F
0x170, 0x1F0
PIC16F628A
0x700-0x7FF
(PIC16F648A-ICD)
PIC16F630
0x54-0x5F
0x300-0x3FF
(PIC16F676-ICD)
PIC16F631
0xD4-0xDF
0x300-0x3FF
(PIC16F690-ICD)
ICD2BR
19
Rev 13
ICD2BR
Tipo
PIC16F636
0x700-0x7FF
0x65-0x6F
PIC16F639
PIC16F648A
(PIC16F636-ICD)
0x70, 0xF0
0x70,
0x170,0xF0
0x1F0
0xF00-0xFFF
0x165-0x16F
(PIC16F648A-ICD)
PIC16F676
0x54-0x5F
0x170, 0x1F0
0x300-0x3FF
(PIC16F676-ICD)
PIC16F677
Registradores usados
0xD4-0xDF
0x700-0x7FF
(PIC16F690-ICD)
0x65-0x6F
PIC16F684
0x70, 0xF0
0x700-0x7FF
(PIC16F684-ICD)
0x165-0x16F
0x170, 0x1F0
0x70, 0xF0
PIC16F685
0xF00-0xFFF
0x165-0x16F
(PIC16F690-ICD)
0x170, 0x1F0
0x65-0x6F
PIC16F687
0x700-0x7FF
0x70, 0xF0
(PIC16F690-ICD)
0x170, 0x1F0
PIC16F688
(PIC16F688-ICD)
0x70, 0xF0
PIC16F689
0xF00-0xFFF
0x165-0x16F
(PIC16F690-ICD)
0x170, 0x1F0
PIC16F690
(PIC16F690-ICD)
ICD2BR
20
Rev 13
ICD2BR
Tipo
PIC16F716
Registradores usados
0x65-0x6F
0x700-0x7FF
(PIC16F716-ICD)
PIC16F737/747
0x70, 0xF0
0x0F00-0x0FFF
0x70, 0xF0,
0x165-0x16F
PIC16F767/777
0x1F00-0x1FFF
0x170, 0x1F0
0x65-0x6F
PIC16F785
0x700-0x7FF
0x70, 0xF0
(PIC16F785-ICD)
0x170, 0x1F0
0x70, 0xF0
PIC16F87/88
0xF00-0xFFF
0x170, 0x1F0
0x1E7-0x1EF
0x65-0x70
0xE5-0xF0
PIC16F818
0x300-0x3FF
0x165-0x170
0x1E5-0x1F0
0x65-0x70
PIC16F819
0x700-0x7FF
0xF0, 0x170
0x1E5-0x1F0
0x70, 0xF0
PIC16F870
0xB5-0xBF
PIC16F871
0x700-0x7FF
0x170, 0x1F0
PIC16F872
0x1B5-0x1BF
ICD2BR
21
Rev 13
ICD2BR
0x7E-0x7F
PIC16F873/873A
0xF4-0xFF
0xF00-0xFFF
PIC16F874/874A
0x17E-0x17F
0x1F4-0x1FF
0x70, 0xF0
PIC16F876/876A
0x1F00-0x1FFF
0x170, 0x1F0
PIC16F877/877A
0x1E5-0x1EF
0x70, 0xF0
PIC16F882
0x06C0-0x07FF
0x170, 0x1F0
0x0B5-0x0BF
0x70, 0xF0
PIC16F883/884
0x0F00-0x0FFF
0x170, 0x1F0
0x165-0x16F
0x70, 0xF0
PIC16F886/887
0x1F00-0x1FFF
0x170, 0x1F0
0x1E5-0x1EF
0x70, 0xF0
PIC16F913/914
0xF00-0xFFF
0x165-0x16F
0x170, 0x1F0
PIC16F916/917
0x1FF0-0x1FFF
PIC16F946
ICD2BR
22
Rev 13
ICD2BR
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
0x1FFE00-0x1FFFFF
PIC18C801
(Boot RAM)
Registradores Usados
0x3F4-0x3FF
PIC18F242
PIC18F248
0x3DC0-0x3FFF
0x2F4-0x2FF
0x7DC0-0x7FFF
0x5F4-0x5FF
PIC18F442
PIC18F448
PIC18F252
PIC18F258
PIC18F452
PIC18F458
ICD2BR
23
Rev 13
ICD2BR
Tipo
Registradores Usados
PIC18F1220
0x0E40-0x0FFF
0xF0-0xFF
PIC18F1230
0xFDC0-0xFFFF
0xFB-0xFF
PIC18F1231
PIC18F1320
0x1E40-0x1FFF
0xF0-0xFF
PIC18F1330
0x1FDC0-0x1FFFF
0xFB-0xFF
PIC18F1331
PIC18F2220/4220
0x0DC0-0x0FFF
PIC18F2221/4221
0x1DC0-0x1FFF
PIC18F2320/4320
0x1DC0-0x1FFF
PIC18F2321/4321
0x0DC0-0x0FFF
PIC18F2331/4331
0x1DC0-0x1FFF
0x2F4-0x2FF
PIC18F2410/4410
0x3DC0-0x3FFF
0x2F4-0x2FF
PIC18F2420/4420
PIC18F2439
0x1F4-0x1FF
0x5F4-0x5FF
0x3DC0-0x3FFF
PIC18F2431/4431
PIC18F4439
0x2F4-0x2FF
PIC18F2450/4450
0x3DC0-0x3FFF
0x1F4-0x1FF
PIC18F2455/4455
0x5DC0-0x5FFF
0x3F4-0x3FF
PIC18F2458/4458
0x5DC0-0x5FFF
0x3F4-0x3FF
PIC18F2480/4480
0x3DC0-0x3FFF
0x2F4-0x2FF
PIC18F2510/4510
0x7DC0-0x7FFF
0x5F4-0x5FF
PIC18F2515/4515
0xBD80-0xBFFF
0xEF4-0xEFF
PIC18F2520/4520
0x7DC0-0x7FFF
0x5F4-0x5FF
PIC18F2525/4525
0xBD80-0xBFFF
0xEF4-0xEFF
PIC18F2539/4539
0x7DC0-0x7FFF
0x5F4-0x5FF
PIC18F2550/4550
0x7DC0-0x7FFF
0x3F4-0x3FF
PIC18F2553/4553
0x7DC0-0x7FFF
0x3F4-0x3FF
PIC18F2580/4580
0x7DC0-0x7FFF
0x5F4-0x5FF
PIC18F2585/4585
0xBD80-0xBFFF
0xCF4-0xCFF
ICD2BR
24
Rev 13
ICD2BR
Tipo
Registradores Usados
PIC18F2610/4610
0xFD80-0xFFFF
0xEF4-0xEFF
PIC18F2680/4680
0xFD80-0xFFFF
0xCF4-0xCFF
PIC18F2682/4682
0x13D80-0x13FFF
0xCF4-0xCFF
PIC18F2685/4685
0x17D80-0x17FFF
0xCF4-0xCFF
0x1DC0-0x1FFF
0x2F4-0x2FF
0x3DC0-0x3FFF
0x2F4-0x2FF
0x7D80-0x7FFF
0x7F4-0x7FF
PIC18F2620/4620
PIC18F6310/8310
PIC18F6390/8390
PIC18F6410/8410
PIC18F6490/8490
PIC18F6520/8520
PIC18F6525/8525
PIC18F6527/8527
0xEF4-0xEFF
0xBD80-0xBFFF
0x7F4-0x7FF
PIC18F6585/8585
0xCF4-0xCFF
PIC18F6620/8620
PIC18F6621/8621
0xFD80-0xFFFF
0xEF4-0xEFF
PIC18F6627/8627
0x17D80-0x17FFF
0x7F4-0x7FF
PIC18F6680/8680
0xFD80-0xFFFF
0xCF4-0xCFF
PIC18F6720/8720
0x1FD80-0x1FFFF
0xEF4-0xEFF
PIC18F6722/8722
0x1FD80-0x1FFFF
0x7F4-0x7FF
PIC18F6622/8622
ICD2BR
25
Rev 13
ICD2BR
Tipo
Registradores Usados
PIC18F24J10/44J10
(PIC18F44J10-ICE)
Nenhum
0x3F4-0x3FF
Nenhum
0x3F4-0x3FF
Nenhum
0x7F4-0x7FF
Nenhum
0xDF4-0xDFF
PIC18F25J10/45J10
(PIC18F45J10-ICE)
PIC18F63J11/83J11
PIC18F64J11/84J11
PIC18F63J90/83J90
PIC18F64J90/84J90
(PIC18F85J90-ICE)
PIC18F65J10/85J10
PIC18F65J15/85J15
PIC18F66J10/86J10
PIC18F65J90/85J90
(PIC18F87J10-ICE)
PIC18F66J60/
86J60/96J60
PIC18F67J60/
87J60/97J60
PIC18F66J65/
86J65/96J65
(PIC18F97J60-ICD)
ICD2BR
26
Rev 13
ICD2BR
Tipo
Registradores Usados
PIC18F65J50/85J50
PIC18F66J50/86J50
PIC18F67J50/87J50
PIC18F66J55/86J55
Nenhum
0xEF4-0xEFF
Nenhum
0xEF4-0xEFF
PIC18F66J15/86J15
PIC18F67J10/87J10
(PIC18F87J10-ICE)
PIC18F65J11/85J11
PIC18F66J11/86J11
PIC18F67J11/87J11
PIC18F66J16/86J16
(PIC18F85J90-ICE)
ICD2BR
27
Rev 13
ICD2BR
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;
PGC e PGD reservados para modo Depurador. Portanto outras funes multiplexadas nestes pinos no
estaro disponveis para debug;
Tipo
dsPIC30F
Nenhum
Registradores usados
0x800-0x822
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
Registradores usados
PIC24F
(PIC24F-ICE)
Nenhum
0x800-0x850
dsPIC33F
(dsPIC33F-ICE)
ICD2BR
28
Rev 13
ICD2BR
Instalando o ICD2BR
2.
2.1.
BR
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.
BR
O ICD2 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.
BR
BR
Aps a instalao do MPLAB conecte o cabo USB no micro e no ICD2 . Aparecer uma janela de instalao de
BR
um dispositivo USB. 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.
BR
Observao: A partir da verso 7.31 do MPLAB existe a possibilidade de pr-instalar o driver do ICD2 durante a
BR
BR
instalao do MPLAB, facilitando a instalao do ICD2 . Quando conectado o cabo USB no micro e no ICD2
BR
aparecer a janela de instalao e esta j reconhecer o ICD2 , bastando apenas confirmar a instalao dos
driver.
BR
Use o dilogo de seleo (Configure > Select Device) para selecionar o componente a ser depurado. Para
BR
saber se o componente escolhido suportado pelo ICD2 como Depurador, um marcador ao lado do
BR
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);
BR
No item Programmer > Settings orelha Power configure a fonte de alimentao. Se voc for usar o ICD2
com o McSoc (somente para PICs de 8 a 40 pinos), selecione a opo Power target circuit from MPLAB
BR
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).
ICD2BR
29
Rev 13
ICD2BR
2.3.
Opes de conexo
BR
Uma vez iniciada a conexo com o ICD2 , voc pode continuar a conectar manualmente cada vez que voc
BR
BR
seleciona o ICD2 como um depurador (use Programmer > Connect) ou voc pode setar o ICD2 para conexo
automtica (use o caminho Automatically connect at start-up ( Programmer > Settings > orelha Status ).
2.4.
2.5.
BR
BR
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.
BR
Voc tem que tomar cuidado com a alimentao da placa de aplicao em relao ao ICD2 . Siga os passos
BR
usando o Setup 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 ;
ICD2BR
30
Rev 13
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 Mosaico pode ajudar a encontrar os erros.
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
BR
aplicao pode ser programado dentro da placa de aplicao com o ICD2 .
2.6.
BR
2.6.1.
BR
BR
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);
Selecione Debugger > Program para download de seu cdigo e execute o debug para o componente ou
BR
sua placa de aplicao conectada no ICD2 . O tempo de download depende da memria utilizada.
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.
ICD2BR
31
Rev 13
ICD2BR
2. Em Debugger > Settings na orelha Program interessante que clique na opo Alow ICD2 to select
BR
memories and ranges para o ICD2 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.6.2.
Seqncia do Depurador
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.
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.
O modo de execuo passo a passo pode ser acessado depois da parada do processador.
ICD2BR
32
Rev 13
ICD2BR
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
BR
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 atualizados. Se alguma
posio da memria de programa ou algum valor na memria de dados no aparecem corretos, lembre-se que o
BR
ICD2 reserva recursos para que o modo Depurador funcione.
2.6.3.
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;
Exemplos de cdigos preparados para modo de depurao, vide pgina 51, apndice I.
2.6.4.
Uma vez que o cdigo tenha sido depurado e a aplicao rodada como projeto, o componente pode ser
BR
programado com o depurador desabilitado. Os recursos do componente reservados para a operao do ICD2
BR
estaro livres para outro uso. O ICD2 pode ser selecionado como depurador ou gravador, nunca os dois juntos.
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.
BR
Clique em Debugger > Select Tool >MPLAB ICD2 e selecione Nenhum para desabilitar o ICD2
Aps isso clique em Programmer > Select Programmer > MPLAB ICD2 para habilitar o ICD2
ICD2BR
33
BR
BR
como Depurador.
como gravador;
Rev 13
ICD2BR
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
BR
de demonstrao que est conectada no seu ICD2 .
2.6.1.
2.6.2.
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
BR
calibrao sempre so preservados pelo ICD2 .
Blank Check Selecione Blank Check para verificar que o componente est apagado.
ICD2BR
34
Rev 13
ICD2BR
Limitaes do ICD2BR
3.
Limitaes de depurao
BR
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
BR
de 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.
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:
Nmeros de instrues derrapadas
Famlia
Memria de programa
Memria de dados
PIC12/16
PIC18
dsPIC30F
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;
ICD2BR
35
Rev 13
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.
Quando voc seleciona o MPLAB ICD2 (ICD2 ) no menu Debugger, os itens para depurar so
adicionados seguindo as funes do MPLAB:
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.
Step Into - F7
Funo passo a passo no cdigo de programa
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
BR
No disponivel no ICD2 .
Step Out
BR
No disponvel no ICD2 .
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.
ICD2BR
36
Rev 13
ICD2BR
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.
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
BR
em seu PC.
ICD2BR
37
Rev 13
ICD2BR
4.
BR
BR
com o MPLAB:
ICD2BR
38
Rev 13
ICD2BR
BR
2. O ICD2
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.
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.
BR
5. O ICD2
BR
6. O ICD2
ICD2BR
39
BR
Rev 13
ICD2BR
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 gravao do
BR
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...
ICD2BR
40
Rev 13
ICD2BR
Apndice B - Cabo de ligao entre ICD2BR e produtos Mosaico
5.
A tabela a seguir mostra como montar um cabo para ligao entre o ICD2
utilizado do tipo RJ12 nas duas extremidades.
BR
Obs: Olhando o conector de frente, com a trava para baixo, o pino 1 o da direita!
BR
ICD2
RJ12 (Mosaico)
Pino
Funo
Pino
Funo
No usado
No usado
Vss
Vss
Vdd
Vdd
PGC
PGC
PGD
PGD
Vpp
Vpp
ICD2BR
41
Rev 13
ICD2BR
Apndice C - Cabo de ligao entre ICD2BR e produtos Microchip
6.
A tabela a seguir mostra como montar um cabo para ligao entre o ICD2
utilizado do tipo RJ12 nas duas extremidades.
BR
ICD2
RJ12 (Microchip)
Pino
Funo
Pino
Funo
No usado
No usado
PGC
PGC
PGD
PGD
Vss
Vss
Vdd
Vdd
Vpp
Vpp
ICD2BR
BR
42
Rev 13
ICD2BR
7.
A tabela a seguir mostra a pinagem do conector Header (CN5) disponvel para montagem de um cabo ICSP.
BR
ICD2
ICD2BR
Pino
Funo
No usado
Vss
Vdd
PGC
PGD
Vpp
43
Rev 13
ICD2BR
8.
BR
BR
ICD2
em modo de gravao in-circuit voc deve montar um cabo conforme a tabela a seguir:
RJ12 (Mosaico)
Pino
Funo
Pino no PIC
No usado
No usado
Vss
Vss (GND)
Vdd
Vdd (Vcc)
PGC
PGC
PGD
PGD
Vpp
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 ser gravado se
BR
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
BR
alimentao ao PIC a ser gravado 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.
ICD2BR
44
Rev 13
ICD2BR
A figura abaixo ilustra a forma de conectar o gravador ao PIC para gravao in-circuit
Para o circuito mostrado acima, no esquea de clicar em Programmer > Settings orelha Power e marque a
opo Power target circuit from MPLAB ICD2.
ICD2BR
45
Rev 13
ICD2BR
Apndice F Gravao de microcontroladores alimentados com 3,3V
9.
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:
No MPLAB clique em Programmer > Settings orelha Power e desmarque a opo Power target circuit from
MPLAB ICD2.
ICD2BR
46
Rev 13
ICD2BR
10.
Vista frontal:
ICD2BR
47
Rev 13
ICD2BR
Apndice H Posio do Jumper no Soquete para Gravao dos Pics
11.
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
121
A
2
COMUM
PIC 28 E 40 PINOS
ICD2BR
48
Rev 13
ICD2BR
12.
PIC16F877A
Circuito de teste:
5V
R3
10k
+5V
5V
11
32
12
31
13
C1
22pF
Vss
Vss
MCLR/Vpp
RB7/PGD
RB6/PGC
OSC1
RB0
OSC2
RB1
MCLR
PGD
PGC
40
39
33
HEADER - ICSP
LIGAR AO CN5 DO ICD2BR
U1
PIC16F877A
34
R2
330R
LED
ICD2BR
6
5
4
3
2
1
XTAL1
4MHz
14
C2
22pF
Vdd
Vdd
R1
10k
BOTO
49
Rev 13
ICD2BR
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
DE REDIGITAO.
#INCLUDE <P16F877A.INC>
; MICROCONTROLADOR UTILIZADO
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
__CONFIG _CP_OFF & _CPD_OFF & _DEBUG_ON & _LVP_OFF & _WRT_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CBLOCK
0X20
TESTE
ENDC
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
#DEFINE
BANK1
BSF
STATUS,RP0
#DEFINE
BANK0
BCF
STATUS,RP0
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
CONSTANTES INTERNAS
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
ICD2BR
50
Rev 13
ICD2BR
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
ENTRADAS
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
#DEFINE
BOTAO
PORTB,0
; BOTO
; 1 -> LIBERADO
; 0 -> PRESSIONADO
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
SADAS
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
#DEFINE
LED
PORTB,1
; LED
; 1 -> LED LIGADO
; 0 -> LED DESLIGADO
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
ORG
0X0000
GOTO
CONFIGURACAO
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ICD2BR
51
Rev 13
ICD2BR
;
ORG
0X0004
RETFIE
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
CONFIGURACAO
CLRF
PORTA
CLRF
PORTB
CLRF
PORTC
CLRF
PORTD
CLRF
PORTE
BANK1
MOVLW
B'11111111'
MOVWF
TRISA
MOVLW
B'11111101'
MOVWF
TRISB
MOVLW
B'11111111'
MOVWF
TRISC
MOVLW
B'11111111'
MOVWF
TRISD
MOVLW
B'00000111'
MOVWF
TRISE
MOVLW
B'00000000'
MOVWF
INTCON
; CONFIGURA INTERRUPES
; DESABILITA AS INT.
ICD2BR
52
Rev 13
ICD2BR
MOVLW
B'00000111'
MOVWF
ADCON1
BANK0
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
LOOP PRINCIPAL
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;
MAIN
INCF
TESTE,F
BTFSC
BOTAO
GOTO
GOTO
BOTAO_PRES
BCF
LED
;APAGA O LED
GOTO
MAIN
BSF
LED
;ACENDE O LED
GOTO
MAIN
BOTAO_LIB
BOTAO_PRES
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; *
FIM DO PROGRAMA
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
END
ICD2BR
; FIM DO PROGRAMA
53
Rev 13
ICD2BR
Exemplo em linguagem C CCS:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
*
TEL: (0XX11) 4992-8775
SITE: www.Mosaico.com.br
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
VERSO : 1.0
DATA : 18/12/2006
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
DESCRIO GERAL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <16f877A.h>
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#fuses
XT,NOWDT,NOPROTECT,PUT,BROWNOUT,NOLVP,NOCPD,NOWRT,DEBUG
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
Constantes internas
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#use fast_io(a)
#use fast_io(b)
ICD2BR
54
Rev 13
ICD2BR
#use fast_io(c)
#use fast_io(d)
#use fast_io(e)
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
char TESTE;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
PROTOTIPAGEM DE FUNES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
ENTRADAS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// AS ENTRADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO E
//FUTURAS ALTERAES DO HARDWARE.
#bit
BOTAO = PORTB.0
//BOTO
//1 -> PRESSIONADO
//0 -> LIBERADO
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
SADAS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// AS SADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO E
//FUTURAS ALTERAES DO HARDWARE.
#bit
LED = PORTB.1
//LED
//1 -> LIGADO
ICD2BR
55
Rev 13
ICD2BR
//0 -> DESLIGADO
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
BLOCO DE FUNES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
FUNO PRINCIPAL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
void main(void)
{
PORTA=0x00;
// limpa PORTA
PORTB=0x00;
// limpa PORTB
PORTC=0x00;
// limpa PORTC
PORTD=0x00;
// limpa PORTD
PORTE=0x00;
// limpa PORTE
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;
if(!BOTAO) LED = 1;
else LED = 0;
}
}
ICD2BR
56
Rev 13
ICD2BR
PIC18F452
Circuito de teste:
5V
R3
10k
+5V
5V
11
32
12
31
13
C1
22pF
Vdd
Vdd
MCLR/Vpp
Vss
Vss
RB7/PGD
RB6/PGC
OSC1
RB0
OSC2
RB1
MCLR
PGD
PGC
40
39
6
5
4
3
2
1
33
HEADER - ICSP
LIGAR AO CN5 DO ICD2BR
XTAL1
4MHz
14
C2
22pF
U1
PIC18F452
34
R2
330R
LED
R1
10k
BOTO
Exemplo C18:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
*
TEL: (0XX11) 4992-8775
SITE: www.Mosaico.com.br
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
VERSO : 1.0
DATA : 18/12/2006
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
DESCRIO GERAL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
ICD2BR
57
Rev 13
ICD2BR
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <p18F452.h>
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
Constantes internas
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
PROTOTIPAGEM DE FUNES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
ENTRADAS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// AS ENTRADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO E
//FUTURAS ALTERAES DO HARDWARE.
ICD2BR
58
Rev 13
ICD2BR
#define
BOTAO
PORTBbits.RB0
//BOTO
//1 -> PRESSIONADO
//0 -> LIBERADO
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
SADAS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// 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
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
FUNO PRINCIPAL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
void main(void)
{
ICD2BR
PORTA=0x00;
// limpa PORTA
PORTB=0x00;
// limpa PORTB
PORTC=0x00;
// limpa PORTC
PORTD=0x00;
// limpa PORTD
PORTE=0x00;
// limpa PORTE
TRISA = 0b11111111;
59
Rev 13
ICD2BR
TRISB = 0b11111101;
TRISC = 0b11111111;
TRISD = 0b11111111;
TRISE = 0b11111111;
while(1)
{
TESTE = TESTE + 1;
if(!BOTAO) LED = 1;
else LED = 0;
ICD2BR
60
Rev 13
ICD2BR
dsPIC30F3014
Circuito de teste:
5V
R3
10k
+5V
5V
11
21
32
40
12
20
31
39
13
C1
22pF
Vdd
Vdd
Vdd
Vdd
MCLR/Vpp
RB7/PGD
RB6/PGC
Vss
Vss
Vss
Vss
C2
22pF
MCLR
PGD
PGC
9
8
6
5
4
3
2
1
HEADER - ICSP
LIGAR AO CN5 DO ICD2BR
OSC1
RB1
XTAL1
4MHz
14
RB0
OSC2
R2
330R
R1
10k
U1
dsPIC30F3014
LED
BOTO
Exemplo C30:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
*
TEL: (0XX11) 4992-8775
SITE: www.Mosaico.com.br
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
VERSO : 1.0
DATA : 18/12/2006
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
DESCRIO GERAL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
ICD2BR
61
Rev 13
ICD2BR
#include <p30F3014.h>
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
Constantes internas
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
PROTOTIPAGEM DE FUNES
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
ENTRADAS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// AS ENTRADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAO E
//FUTURAS ALTERAES DO HARDWARE.
#define
BOTAO
PORTBbits.RB0
//BOTO
//1 -> PRESSIONADO
ICD2BR
62
Rev 13
ICD2BR
//0 -> LIBERADO
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
SADAS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// 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
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
FUNO PRINCIPAL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int main(void)
{
PORTA=0x0000;
// limpa PORTA
PORTB=0x0000;
// limpa PORTB
PORTC=0x0000;
// limpa PORTC
PORTD=0x0000;
// limpa PORTD
PORTF=0x0000;
// limpa PORTE
TRISA = 0b1111111111111111;
TRISB = 0b1111111111111101;
TRISC = 0b1111111111111111;
TRISD = 0b1111111111111111;
TRISF = 0b1111111111111111;
ICD2BR
63
Rev 13
ICD2BR
while(1)
{
TESTE = TESTE + 1;
if(!BOTAO) LED = 1;
else LED = 0;
}
}
ICD2BR
64
Rev 13
ICD2BR
13.
Certicado de Garantia
1. Tempo de Garantia
A Mosaico 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, Mosaico far o reparo do defeito apresentado, ou substituir o produto,
se isso for necessrio.
Os produtos devero ser encaminhados Mosaico, 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 Mosaico, ficando, portanto, excludo o atendimento domiciliar.
3. Excluses de Garantia
ICD2BR
65
Rev 13
ICD2BR
4. Limitao de Responsabilidade
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 Mosaico 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 Mosaico 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.
ICD2BR
66
Rev 13