Esta apostila aborda aplicações práticas com microcontroladores PICMicro da família PIC18 da Microchip, Utilizando a plataforma de desenvolvimento SANUSB. Esta apostila foi elaborada pelos Profs. Sandro César Silveira Jucá, professor da área de telemática do IFCE, e Renata Imaculada Soares Pereira.
Sumário
1. INTRODUÇÃO ....................................................................................................................................................... 10
1.1 ASSEMBLY X LINGUAGEM C ......................................................................................................................................... 10
1.2 VANTAGENS X DESVANTAGENS DA LINGUAGEM C PARA MICROCONTROLADORES ...................... 12
1.3 ARQUITETURAS DOS MICROCONTROLADORES ................................................................................................. 12
1.4 O CONTADOR DE PROGRAMA (PC) ........................................................................................................................... 13
1.5 BARRAMENTOS .................................................................................................................................................................. 13
1.6 A PILHA (STACK)................................................................................................................................................................ 14
1.7 CICLO DE MÁQUINA ......................................................................................................................................................... 14
1.8 MATRIZ DE CONTATOS OU PROTOBOARD ............................................................................................................ 15
1.9 RESISTORES ......................................................................................................................................................................... 16
1.10 CAPACITORES ...................................................................................................................................................................... 17
1.11 FONTES DE ALIMENTAÇÃO .......................................................................................................................................... 19
1.12 RUÍDO (BOUNCING) E FILTRO (DEBOUNCING).................................................................................................. 19
1.13 PROTOCOLO DE COMUNICAÇÃO USB ...................................................................................................................... 20
1.14 MÉTODOS DE COMUNICAÇÃO USB ........................................................................................................................... 20
2. FERRAMENTA DE GRAVAÇÃO VIA USB ...................................................................................................... 22
2.1 GRAVAÇÃO DE MICROCONTROLADORES............................................................................................................... 23
2.2 Usando FOR para piscar o LED ................................................................................................................................... 33
2.3 Usando WHILE para piscar o LED ............................................................................................................................. 34
2.4 USANDO O PORT B ............................................................................................................................................................ 34
2.5 GRAVANDO O MICROCONTROLADOR VIA USB NO WINDOWS.................................................................... 36
2.6 GRAVAÇÃO WIRELESS DE MICROCONTROLADORES ....................................................................................... 39
2.7 RGB ........................................................................................................................................................................................... 51
2.8 SISTEMA DUAL CLOCK .................................................................................................................................................... 55
2.9 EMULAÇÃO DE COMUNICAÇÃO SERIAL NO WINDOWS .................................................................................. 55
2.10 GRAVANDO O MICROCONTROLADOR VIA USB NO LINUX ............................................................................. 62
2.11 GRAVANDO O PIC VIA USB PELO TERMINAL DO LINUX OU MAC OSX ..................................................... 64
2.12 SISTEMA DUAL CLOCK .................................................................................................................................................... 65
2.13 EMULAÇÃO DE COMUNICAÇÃO SERIAL NO LINUX ........................................................................................... 66
2.14 PROGRAMA COM INTERRUPÇÃO EXTERNA POR BOTÃO E DO TIMER 1 ................................................ 69
2.15 DESAFIO: SEMÁFORO COM BOTÃO PARA PEDESTRE ...................................................................................... 74
3. BUZZER ................................................................................................................................................................. 77
4. OBTENÇÃO DE UM VOLTÍMETRO ATRAVÉS DO CONVERSOR AD COM A VARIAÇÃO DE UM
POTENCIÔMETRO ....................................................................................................................................................... 78
5. CIRCUITO COM84 PARA GRAVAÇÃO DO gerenciador.hex ................................................................... 79
6. PERIFÉRICOS INTERNOS DO MICROCONTROLADOR ............................................................................ 81
6.1 CONVERSOR A/D ................................................................................................................................................................ 81
6.2 AJUSTE DE RESOLUÇÃO DO SENSOR E DO CONVERSOR AD DE 8 BITS .................................................. 83
6.3 AJUSTE DA TENSÃO DE FUNDO DE ESCALA COM AMPOP ............................................................................ 83
6.4 AJUSTE DA TENSÃO DE REFERÊNCIA COM POTENCIÔMETRO .................................................................. 84
6.5 CONVERSOR AD DE 10 BITS ......................................................................................................................................... 84
6.6 OBTENÇÃO DE UM VOLTÍMETRO ATRAVÉS DO CONVERSOR AD COM A VARIAÇÃO DE UM
POTENCIÔMETRO .............................................................................................................................................................................. 85
6.7 LEITURA DE TEMPERATURA COM O LM35 ATRAVÉS DO CONVERSOR AD .......................................... 86
6.8 TERMISTOR .......................................................................................................................................................................... 88
6.9 LINEARIZAÇÃO ................................................................................................................................................................... 89
7. MEMÓRIAS DO MICROCONTROLADOR ...................................................................................................... 90
7.1 MEMÓRIA DE PROGRAMA ............................................................................................................................................. 90
7.2 MEMÓRIA DE INSTRUÇÕES .......................................................................................................................................... 90
7.3 MEMÓRIA EEPROM INTERNA ..................................................................................................................................... 90
7.4 MEMÓRIA DE DADOS (RAM) ........................................................................................................................................ 91
7.5 EXEMPLO DE APLICAÇÃO:CONTROLE DE ACESSO COM TECLADO MATRICIAL ................................. 92
7.6 PONTEIROS ........................................................................................................................................................................... 93
7.7 MODULAÇÃO POR LARGURA DE PULSO PELO CCP ........................................................................................... 96
8. CONTROLE PWM POR SOFTWARE DE VELOCIDADE DE UM MOTOR CC ........................................ 98
9. INTERRUPÇÕES E TEMPORIZADORES ....................................................................................................... 99
9.1 INTERRUPÇÕES .................................................................................................................................................................. 99
9.2 INTERRUPÇÕES EXTERNAS ........................................................................................................................................ 100
9.3 INTERRUPÇÃO DOS TEMPORIZADORES .............................................................................................................. 101
9.4 MULTIPLEXAÇÃO POR INTERRUPÇÃO DE TEMPORIZADORES ................................................................ 103
10. EMULAÇÃO DE PORTAS LÓGICAS ......................................................................................................... 105
10.1 INSTRUÇÕES LÓGICAS PARA TESTES CONDICIONAIS DE NÚMEROS .................................................... 105
10.2 INSTRUÇÕES LÓGICAS BOOLANAS BIT A BIT .................................................................................................... 105
10.3 EMULAÇÃO DE DECODIFICADOR PARA DISPLAY DE 7 SEGMENTOS .................................................... 110
11. MULTIPLEXAÇÃO COM DISPLAYS DE 7 SEGMENTOS .................................................................... 117
12. COMUNICAÇÃO SERIAL EIA/RS-232.................................................................................................... 121
12.1 CÓDIGO ASCII ..................................................................................................................................................................... 122
12.2 INTERFACE USART DO MICROCONTROLADOR................................................................................................. 123
12.3 CÁLCULO DE TAXA DE TRANSMISSÃO SERIAL ................................................................................................. 125
12.4 COMUNICAÇÃO SERIAL EIA/RS-485 ...................................................................................................................... 127
12.5 APLICAÇÃO DE COMUNICAÇÃO SERIAL VIA BLUETOOTH OU ZIGBEE.................................................. 127
13. ACIONAMENTO DE MOTORES MICROCONTROLADOS .................................................................. 128
13.1 ACIONAMENTO DE MOTORES CC DE BAIXA TENSÃO ................................................................................... 128
13.2 MOTORES ELÉTRICOS UTILIZADOS EM AUTOMÓVEIS ................................................................................. 128
13.3 COROA E O PARAFUSO COM ROSCA SEM-FIM ................................................................................................... 130
13.4 CHAVEAMENTO DE MOTORES CC COM TRANSISTORES MOSFET .......................................................... 131
13.5 EXEMPLO: SEGUIDOR ÓTICO DE LABIRINTO .................................................................................................... 132
13.6 ESTABILIDADE DO CONTROLE DE MOVIMENTO ............................................................................................ 132
13.7 PONTE H .............................................................................................................................................................................. 135
13.8 DRIVER PONTE H L293D ............................................................................................................................................. 136
13.9 SOLENÓIDES E RELÉS ................................................................................................................................................... 137
13.10 DRIVER DE POTÊNCIA ULN2803 ........................................................................................................................ 139
13.11 PONTE H COM MICRORELÉS ................................................................................................................................ 143
13.14 ACIONAMENTO DE MOTORES DE PASSO ....................................................................................................... 145
13.15 MOTORES DE PASSO UNIPOLARES ................................................................................................................... 145
13.16 MODOS DE OPERAÇÃO DE UM MOTOR DE PASSO UNIPOLAR ............................................................. 147
13.17 ACIONAMENTO BIDIRECIONAL DE DOIS MOTORES DE PASSO .......................................................... 147
Exemplo de código em C para CCS: .......................................................................................................................................... 148
13.18 SERVO-MOTORES ....................................................................................................................................................... 150
14. FOTOACOPLADORES E SENSORES INFRAVERMELHOS................................................................. 156
14.1 TRANSMISSOR E RECEPTOR IR ............................................................................................................................... 157
14.2 AUTOMAÇÃO E DOMÓTICA COM CONTROLE REMOTO UNIVERSAL ...................................................... 161
15. LCD (DISPLAY DE CRISTAL LÍQUIDO) ................................................................................................. 164
15.1 EXEMPLO: CONTROLE DE TENSÃO DE UMA SOLDA CAPACITIVA COM LCD ..................................... 169
15.2 CGRAM (RAM de geração de caracteres especiais) .......................................................................................... 172
16. MODELAGEM DE SINAIS DE SENSORES .............................................................................................. 174
16.1 EXEMPLO: MODELAGEM DE UM LUXÍMETRO MICROCONTROLADO COM LDR ............................... 174
16.2 SUPERVISÓRIO .................................................................................................................................................................. 180
17. INTERFACE I
2
C ............................................................................................................................................ 182
17.1 REGRAS PARA TRANSFERÊNCIA DE DADOS ...................................................................................................... 183
17.2 MEMÓRIA EEPROM EXTERNA I
2
C ........................................................................................................................... 187
18. RTC (RELÓGIO EM TEMPO REAL) ........................................................................................................ 189
18.1 EXEMPLO: PROTÓTIPO DATALOGGER USB DE BAIXO CUSTO .................................................................. 193
19. TRANSMISSÃO DE DADOS VIA GSM ..................................................................................................... 199
19.1 COMANDOS AT PARA ENVIAR MENSAGENS SMS DE UM COMPUTADOR PARA UM CELULAR OU
MODEM GSM ....................................................................................................................................................................................... 200
19.2 COMANDOS AT PARA RECEBER MENSAGENS SMS EM UM COMPUTADOR ENVIADAS POR UM
CELULAR OU MODEM GSM .......................................................................................................................................................... 201
20. O PROTOCOLO MODBUS EMBARCADO .............................................................................................. 204
20.1 MODELO DE COMUNICAÇÃO ...................................................................................................................................... 204
20.2 DETECÇÃO DE ERROS .................................................................................................................................................... 205
20.3 MODOS DE TRANSMISSÃO .......................................................................................................................................... 205
21. INTRODUÇÃO À SISTEMAS OPERACIONAIS EM TEMPO REAL (RTOS) .................................... 210
21.1 MÁQUINAS DE ESTADO ................................................................................................................................................ 212
22. UTILIZANDO O COMPILADOR C18 E A IDE MPLABX MULTIPLATAFORMA COM FUNÇÕES
EM PORTUGUÊS ........................................................................................................................................................ 214
22.1 FUNÇÕES EM PORTUGUÊS .......................................................................................................................................... 215
22.2 FUNÇÕES BÁSICAS DA APLICAÇÃO DO USUÁRIO............................................................................................. 215
22.3 FUNÇÕES DO CONVERSOR ANALÓGICO DIGITAL (A/D)............................................................................... 220
22.4 FUNÇÕES DA COMUNICAÇÃO SERIAL RS-232 ................................................................................................... 221
23. EXEMPLOS DE PROGRAMAS................................................................................................................... 222
24. APÊNDICE I: CABEÇALHOS DA FERRAMENTA PARA DIVERSOS COMPILADORES............... 230
24.1 CCS C Compiler .................................................................................................................................................................. 230
24.2 C18 compiler ...................................................................................................................................................................... 231
24.3 SDCC ....................................................................................................................................................................................... 233
24.4 MikroC ................................................................................................................................................................................... 234
24.5 Hi-Tech C Compiler ......................................................................................................................................................... 235
24.6 Microchip ASM compiler ............................................................................................................................................... 235
25. REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................................... 246
Nenhum comentário:
Postar um comentário