279

Apostila de PIC

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. XM118 - Microcontroladores PIC18. .Reviso a Principais Autores Descrio da Verso ca a Trmino e A Jos Domingos Adriano e Verso inicial. a 01/06/2009 B Raael De Oliveira Marano c Alterao do esquema eltrico ca e 12/08/2009 C Victor Piva Renault Grossi Alterao no corpo do documento. ca 21/02/2011 c Copyright 2008 por Exsto Tecnologia Ltda. Todos os direitos reservados Desenvolvido e produzido com orgulho no Brasil. Exsto Tecnologia Ltda Av. Cel. Francisco Palma, 95 - Sala 02 - Centro Santa Rita do Sapuca - MG CEP: 37540-000 +55 35 3471 6898 www.exsto.com.br. 2
  • 2. Sumrio aLista de Figuras 10Lista de Tabelas 13Apostila Terica o 221 Microcontroladores 25 1.1 Sistema computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.1.1 Memrias . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . 26 1.1.2 Dispositivos de entrada e sa da . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.1.3 Perifricos . . . . . . . . . . . . . . . . . . . e . . . . . . . . . . . . . . . . . . 30 1.1.4 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.2 Arquitetura Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.2.1 Arquitetura von-Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.2.2 Arquitetura Harvard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.2.3 Microcontrolador, Microprocessador e DSP . . . . . . . . . . . . . . . . . . 372 PIC18, microcontroladores de alto desempenho 38 2.1 Microcontroladores PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.1.1 A Microchip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2.1 Pinagem e hardware bsico . . . . . . . . . . a . . . . . . . . . . . . . . . . . 42 2.3 Memrias . . . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 43 2.3.1 Memria de programa . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 43 2.3.2 Memria de dados . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . 46 2.4 Processador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.4.1 ALU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.5 Portais de I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.6 Conjunto de Instrues . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . 53 2.7 Oscilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.7.1 Oscilador a cristal ( LP,XT e HS) . . . . . . . . . . . . . . . . . . . . . . . 55 2.7.2 PLL - Phase Locked Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.7.3 Oscilador RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.7.4 Oscilador Externo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.7.5 Oscilador Interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.7.6 Comparao entre os modos de oscilador . . . ca . . . . . . . . . . . . . . . . . 59 2.7.7 Sistema de clock do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . 59 2.7.8 Congurao de clock para operar com USB ca . . . . . . . . . . . . . . . . . 61 2.7.9 Escolha de modo e troca de oscilador . . . . . . . . . . . . . . . . . . . . . . 62 2.8 Caractersticas Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.8.1 Modos de baixo consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.8.2 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3
  • 3. XM118 - Microcontroladores PIC18 2.8.3 POR - Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.8.4 PWRT - Power-up Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.8.5 OST - Oscillator Start-up Timer . . . . . . . . . . . . . . . . . . . . . . . . 67 2.8.6 BOR - Brown-out Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.8.7 Causas de reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.8.8 Sequncia de inicializao . . . . . . e ca . . . . . . . . . . . . . . . . . . . . . . 68 2.8.9 Watch-Dog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.8.10 Proteo de Cdigo (Code Protect) ca o . . . . . . . . . . . . . . . . . . . . . . 69 2.8.11 Gravao e depurao . . . . . . . . ca ca . . . . . . . . . . . . . . . . . . . . . . 693 Ferramentas para o PIC18F: MPLAB IDE e Compilador C18 71 3.1 O MPLAB IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.1.1 Criando um novo projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.1.2 Construindo um projeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.1.3 Gravando o microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.2 Simulao em C . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . . . . 76 3.2.1 Simulao . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . . . . 78 3.2.2 Outras funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.2.3 Analisador lgico . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . 79 3.2.4 Gerao de est ca mulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.3 O compilador C18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.3.1 Outros Compiladores C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.4 Depurao em C . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . . . . 824 Linguagem C para microcontroladores 84 4.1 Introduo a linguagem C . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 84 4.1.1 A funo printf() . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 86 4.1.2 C ou no C, eis a questo. . . . . . . . . a a . . . . . . . . . . . . . . . . . . 86 4.1.3 Passado e Futuro da linguagem C . . . . . . . . . . . . . . . . . . . . . . . 89 4.2 Diretivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.2.1 #include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.2.2 #dene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.2.3 #pragma cong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.2.4 #pragma interrupt e #pragma interruptlow . . . . . . . . . . . . . . . . . . 98 4.3 Tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.3.1 Declarao de variveis e constantes . . . . ca a . . . . . . . . . . . . . . . . . . 100 4.3.2 Variveis locais e globais . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 101 4.3.3 Vetores e matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.3.4 Ponteiros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.3.5 Qualicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.4 Comandos Bsicos . . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 104 4.4.1 Atribuio . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 104 4.4.2 Deciso . . . . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 110 4.4.3 Repetio . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 113 4.5 Funes . . . . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . 115 4.5.1 Passagem de parmetros . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 115 4.6 Interrupes . . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . 118 4.6.1 Utilizao das Interrupes . . . . . . . . . ca co . . . . . . . . . . . . . . . . . . 121 4.6.2 Interrupes no C18 . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . 124 4.7 Funes uteis . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . 126 4.7.1 Operaes matemticas . . . . . . . . . . . co a . . . . . . . . . . . . . . . . . . 128 4.8 Tcnicas de Otimizao de Cdigo . . . . . . . . . e ca o . . . . . . . . . . . . . . . . . . 128 4.8.1 Rotinas Matemticas . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 129 4
  • 4. XM118 - Microcontroladores PIC18 4.8.2 Usando assembly no C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.8.3 Uso de variveis locais e globais . . . . . . . . . . . . . . . . . . . . . . . . . 131 a5 Aplicaes co 132 5.1 Display de 7 segmentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.1.1 Displays multiplexados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.1.2 Apresentando valores em display . . . . . . . . . . . . . . . . . . . . . . . . 134 5.2 Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.3 Teclado Matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.3.1 Interrupo por mudana de estado na ca c porta B . . . . . . . . . . . . . . . . 137 5.4 Display de cristal l quido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.4.1 A biblioteca XLCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.5 Memrias EEPROM e FLASH . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . 141 5.5.1 Memria EEPROM . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . 143 5.5.2 Memria Flash . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . 1456 Perifricos e 148 6.1 Como usar a ajuda das bibliotecas do C18 . . . . . . . . . . . . . . . . . . . . . . . 148 6.2 Contadores e Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 6.2.1 Timer 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 6.2.2 Timer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.2.3 Timer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.2.4 Timer 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.2.5 Funes . . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . 158 6.3 Comparadores Analgicos . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . 158 6.3.1 Funcionamento do Comparador . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.4 Conversor Analgico-Digital . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . 163 6.4.1 Quantizao . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . 163 6.4.2 Taxa de Amostragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 6.4.3 Linearidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.4.4 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.4.5 Aplicao . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . 167 6.4.6 Usando o conversor ADC no microcontrolador . . . . . . . . . . . . . . . . 167 6.5 CCP - Captura, Comparao e PWM . . . . . . . . . ca . . . . . . . . . . . . . . . . 170 6.5.1 Modo captura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 6.5.2 Modo comparao . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . 172 6.5.3 Modo PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.5.4 EPWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.6 EUSART - Porta Serial Ass ncrona . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.6.1 Comunicao serial ass ca ncrona . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.6.2 Comunicao paralela . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . 176 6.6.3 Comunicao serial . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . 176 6.6.4 EUSART do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.6.5 EIA-232C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6.6.6 Protocolos de comunicao . . . . . . . . . . . ca . . . . . . . . . . . . . . . . 183 6.7 MSSP - Porta Serial S ncrona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.7.1 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.7.2 I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.8 USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 5
  • 5. XM118 - Microcontroladores PIC187 Anexos 196 7.1 Anexo A - Distribuio de Pinos do 18F4550 . . . . . . ca . . . . . . . . . . . . . . . 196 7.2 Anexo B - Registros de funo especial do PIC18F4550 ca . . . . . . . . . . . . . . . 197 7.3 Anexo C - Leituras Recomendadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 7.4 Anexo D - Bibliograa: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.5 Anexo E - Conjunto de instrues do PIC18 . . . . . . . co . . . . . . . . . . . . . . . 200Caderno de Experincias e 2038 Aulas Prticas a 204 8.1 Aula 1 - Introduo aos microcontroladores . . . . . . . . . ca . . . . . . . . . . . . . 205 8.2 Aula 2 - O PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 8.3 Aula 3 - Assembly do PIC18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 8.4 Aula 4 - Ferramentas de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . 210 8.5 Aula 5 - Caracter sticas Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 8.6 Aula 6 - Iniciando com a linguagem C . . . . . . . . . . . . . . . . . . . . . . . . . 215 8.7 Aula 7 - Estruturas de Deciso . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . 217 8.8 Aula 8 - Estruturas de Repetio . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . 221 8.9 Aula 9 - Funes . . . . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . 224 8.10 Aula 10 - Interrupes . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . 225 8.11 Aula 11 - Display de 7 segmentos e buzzer . . . . . . . . . . . . . . . . . . . . . . . 227 8.12 Aula 12 - Teclado Matricial e LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 8.13 Aula 13 - Contadores e temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . 230 8.14 Aula 14 - Conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 8.15 Aula 15 - Mdulo CCP . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . 233 8.16 Aula 16 - Comunicao serial ass ca ncrona (RS232 e RS485) . . . . . . . . . . . . . 235 8.17 Aula 17 - SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 8.18 Aula 18 - I 2 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 8.19 Aula 19 - Interface industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242Manual de Operao e Manuteno. ca ca 2449 Conte do do Kit: u 246 9.1 Contedo do DVD . . . . . . . . . . . . . . . . . u . . . . . . . . . . . . . . . . . . . 247 9.2 Instalaes . . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . . 247 9.2.1 Instalao do Hardware . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . 247 9.2.2 Instalao dos Softwares . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . 248 9.2.3 Conguraes aps a instalao . . . . . co o ca . . . . . . . . . . . . . . . . . . . 258 9.3 Hardware do kit XM118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 9.3.1 Fonte de alimentao . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . 265 9.3.2 Microcontrolador PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . 265 9.3.3 Conectores para acesso de I/O (PORTS) . . . . . . . . . . . . . . . . . . . . 267 9.3.4 ICD e conector ICSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 9.3.5 Congurao . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . 269 9.3.6 Dispositivos de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 9.3.7 Dispositivos de sa da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 9.3.8 Acionamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 9.3.9 Dispositivos analgicos . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . 275 9.3.10 Interfaces seriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 9.3.11 Diversos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 9.4 Resolvendo Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 6
  • 6. XM118 - Microcontroladores PIC189.4.1 Suporte Tcnico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 e 7
  • 7. Lista de Figuras 1 Caracter sticas dos PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.1 Diagrama em blocos genrico de um sistema e computacional . . . . . . . . . . . . . 26 1.2 Portais de entrada e sada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.3 Esquema t pico de um pino de I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.4 Diagrama em blocos de uma CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.5 Arquitetura von-Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.6 Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.7 Arquitetura Harvard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.1 Diagrama em blocos do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2 Pinagem do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3 Mapa e memria de programa . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . 44 2.4 Estrutura do PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.5 Ponteiro da pilha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.6 Mapeamento de memria de dados para PIC18F4550 . . . . o . . . . . . . . . . . . . 47 2.7 Registros de funes especiais existentes no PIC18F4550 . . co . . . . . . . . . . . . . 48 2.8 Ciclos de instruo . . . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . 50 2.9 ALU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.10 Registro STATUS / Bits de ag . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.11 Esquema genrico de um pino . . . . . . . . . . . . . . . . . e . . . . . . . . . . . . . 52 2.12 Sistema de oscilao . . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . 55 2.13 Circuito do Oscilador a Cristal/Ressonador . . . . . . . . . . . . . . . . . . . . . . 55 2.14 Partida do oscilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.15 Esquema bsico de um PLL . . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . 56 2.16 Circuito do oscilador no modo RC. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.17 Forma de onda do oscilador RC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.18 Circuitos osciladores: (a) cristal paralelo e (b) cristal srie. e . . . . . . . . . . . . . 58 2.19 Sistema de gerao e seleo de clock do PIC18F4550. . . . ca ca . . . . . . . . . . . . . 60 2.20 Controle do oscilador (OSCTUNE) . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.21 Controle do oscilador (OSCCON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.22 Diagrama de reset do PIC18F4550. . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.23 Situaes de Brown-out . . . . . . . . . . . . . . . . . . . . co . . . . . . . . . . . . . 67 2.24 RCON e seus bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.1 Barra de ferramentas ICD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.1 Diagrama de interrupes do PIC18F . co . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.2 Registro INTCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.3 Registro INTCON 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4.4 Registro INTCON 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.1 - Displays de LED: (a) disposio dos segmentos, (b) catodo comum e (c) anodo ca comum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 8
  • 8. XM118 - Microcontroladores PIC185.2 Esquema Simplicado do Teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365.3 Fluxograma / Leitura do teclado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1375.4 Esquema Bsico do Display . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . 1395.5 Caracteres do display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405.6 EECON1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1425.7 Processo de leitura e escrita da EEPROM . . . . . . . . . . . . . . . . . . . . . . . 1435.8 Processo de leitura da FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1465.9 Processo de escrita na FLASH(PIC18F452) . . . . . . . . . . . . . . . . . . . . . . 1466.1 Aspecto da pasta PERIPH-LIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1496.2 Contedo da ajuda. . . . . . . . . . . . . . . . . . u . . . . . . . . . . . . . . . . . . 1496.3 Resumo das bibliotecas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506.4 Verso de AD do microcontrolador utilizado. . . . a . . . . . . . . . . . . . . . . . . 1506.5 Apresentao da funo ajuda. . . . . . . . . . . . ca ca . . . . . . . . . . . . . . . . . . 1516.6 Diagrama do Timer 0 no modo 8 bits . . . . . . . . . . . . . . . . . . . . . . . . . . 1556.7 Diagrama do Timer 0 no modo 16 bits . . . . . . . . . . . . . . . . . . . . . . . . . 1556.8 Diagrama do Timer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566.9 Diagrama em blocos do timer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1576.10 Diagrama do timer 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1576.11 Registro de congurao do comparador . . . . . . ca . . . . . . . . . . . . . . . . . . 1596.12 Conguraes poss co veis do comparador. . . . . . . . . . . . . . . . . . . . . . . . . 1606.13 Representao do funcionamento do comparador . ca . . . . . . . . . . . . . . . . . . 1616.14 Descrio da sa do comparador . . . . . . . . . ca da . . . . . . . . . . . . . . . . . . 1626.15 Escala de converso . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 1646.16 Grau de Linearidade de Converso . . . . . . . . . a . . . . . . . . . . . . . . . . . . 1656.17 Diagrama em blocos do conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . . 1666.18 Escala de converso . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . 1666.19 Diagrama em blocos do ADC do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . 1686.20 Diagrama em blocos do ADC do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . 1686.21 Diagrama do modo captura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1716.22 Diagrama do modo comparao . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 1726.23 Diagrama em blocos no modo PWM . . . . . . . . . . . . . . . . . . . . . . . . . . 1736.24 Sinal PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1746.25 Comunicao Ass ca ncrona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1786.26 Mdulo de Recepo . . . . . . . . . . . . . . . . . o ca . . . . . . . . . . . . . . . . . . 1786.27 Mdulo de Transmisso . . . . . . . . . . . . . . . o a . . . . . . . . . . . . . . . . . . 1796.28 Especicaes eltricas do EIA-232C . . . . . . . . co e . . . . . . . . . . . . . . . . . . 1816.29 Esquemas ligao de diversos transceptores a rede ca . . . . . . . . . . . . . . . . . . 1826.30 Pinos para operao em SPI . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 1866.31 Diagrama em blocos para o modo SPI . . . . . . . . . . . . . . . . . . . . . . . . . 1866.32 Diagrama em blocos para o modo I2C escravo. . . . . . . . . . . . . . . . . . . . . 1886.33 Protocolo I2C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1886.34 Condies de Start e Stop. . . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . 1886.35 Sinal de no-acknowledge (NACK). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1896.36 Start e Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1896.37 Operao de leitura. . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 1906.38 Operao de escrita . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . 1906.39 Diagrama em blocos para o modo I 2 C escravo . . . . . . . . . . . . . . . . . . . . 1906.40 Diagrama em blocos para o modo I 2 C mestre . . . . . . . . . . . . . . . . . . . . . 1916.41 Tipos de conectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1947.1 Convenes do PIC 18F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 co7.2 Conjunto de instrues do Pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 co 9
  • 9. XM118 - Microcontroladores PIC187.3 Conjunto de instrues do Pic(segunda parte) . . . . . . . . . . . . . . . . . . . . 201 co7.4 Conjunto de instrues do Pic(terceira parte) . . . . . . . . . . . . . . . . . . . . . 202 co9.1 Diagrama de instalao do kit . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2489.2 Tela inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2499.3 Contrato de licena do MPLAB. . . . . . . . . . . . . . . . . c . . . . . . . . . . . . 2499.4 Seleo de verso. . . . . . . . . . . . . . . . . . . . . . . . . . ca a . . . . . . . . . . . . 2509.5 Pasta de instalao do MPLAB. . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2509.6 Contrato de licena do Application Maestro. . . . . . . . . . . c . . . . . . . . . . . . 2519.7 Contrato de licena do compilador C32. . . . . . . . . . . . . c . . . . . . . . . . . . 2519.8 Resumo da instalao . . . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2529.9 Andamento da instalao. . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2529.10 Instalao do compilador HI-TECH C. . . . . . . . . . . . . . ca . . . . . . . . . . . . 2539.11 Tela de concluso da instalao. . . . . . . . . . . . . . . . . . a ca . . . . . . . . . . . . 2539.12 Tela inicial de instalao do C18. . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2549.13 Contrato de licena. . . . . . . . . . . . . . . . . . . . . . . . c . . . . . . . . . . . . 2559.14 Diretrio de instalao . . . . . . . . . . . . . . . . . . . . . . o ca . . . . . . . . . . . . 2559.15 Componentes do pacote do compilador. . . . . . . . . . . . . . . . . . . . . . . . . 2569.16 Campos a serem selecionados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2569.17 Campos a serem selecionados 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579.18 Tela inicio de instalao. . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2579.19 Tela de concluso. . . . . . . . . . . . . . . . . . . . . . . . . a . . . . . . . . . . . . 2589.20 Assistente para adicionar novo hardware. . . . . . . . . . . . . . . . . . . . . . . . 2589.21 Procura avanada de drivers. . . . . . . . . . . . . . . . . . . c . . . . . . . . . . . . 2599.22 Localizao do painel de congurao . . . . . . . . . . . . . ca ca . . . . . . . . . . . . 2609.23 Selecionando XICD como ferramenta de programao . . . .ca . . . . . . . . . . . . 2609.24 Tela inicial do wizard para congurao do XICD . . . . . . . ca . . . . . . . . . . . . 2619.25 Opo de porta de comunicao do XICD . . . . . . . . . . . ca ca . . . . . . . . . . . . 2619.26 Fonte de alimentao do target. . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2629.27 Congurao da conexo automtica . . . . . . . . . . . . . . ca a a . . . . . . . . . . . . 2639.28 Congurao do download automtico do sistema operacional ca a do XICD . . . . . . 2639.29 Resumo das conguraes do XICD . . . . . . . . . . . . . . co . . . . . . . . . . . . 2649.30 Serigraa do Kit XM118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649.31 Pinagem do PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2669.32 Esquema de pinos do XICD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2689.33 Ligao do XICD . . . . . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2689.34 Ligao do XICD . . . . . . . . . . . . . . . . . . . . . . . . . ca . . . . . . . . . . . . 2699.35 Dom nios de terra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2789.36 Ligao de entradas ao mdulo XMM01 . . . . . . . . . . . . ca o . . . . . . . . . . . . 2799.37 Ligao de sa ca das ao mdulo XMM01 . . . . . . . . . . . . . o . . . . . . . . . . . . 279 10
  • 10. Lista de Tabelas 2.1 Caractersticas dos PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.2 Caractersticas eltricas de entrada e sa . . . . . e da . . . . . . . . . . . . . . . . . . 42 2.3 Ciclos Qdo microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.4 Seleo de capacitores para oscilador a cristal . . . ca . . . . . . . . . . . . . . . . . . 56 2.5 Comparao entre os modos de oscilador . . . . . . ca . . . . . . . . . . . . . . . . . . 59 2.6 Frequncia / fator de diviso do PLL prescaler . . e a . . . . . . . . . . . . . . . . . . 61 2.7 PLL postscaler / Frequncia do oscilador principal e . . . . . . . . . . . . . . . . . . 62 2.8 Combinaes poss co veis de modos de baixo consumo e fontes de clock. . . . . . . . . 65 3.1 Comandos e suas descries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . co 78 4.1 Palavras reservadas pelo padro ANSI. . . a . . . . . . . . . . . . . . . . . . . . . . . 85 4.2 Comparao entre C e Assembly . . . . . ca . . . . . . . . . . . . . . . . . . . . . . . 88 4.3 PLL Prescaler Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.4 CPU System Clock Postscaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.5 USB Clock Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.6 Oscillator Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.7 Oscillator Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.8 Internal/External Oscillator Switchover . . . . . . . . . . . . . . . . . . . . . . . . 92 4.9 Power-up Timer Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.10 Brown-out Reset Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.11 Brown-out Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.12 USB Voltage Regulator Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.13 Watchdog Timer Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.14 Watchdog Timer Postscale Select bits . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.15 MCLR Pin Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.16 Low-Power Timer 1 Oscillator Enable . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.17 PORTB A/D Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.18 CCP2 MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.19 Stack Full/Underow Reset Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.20 Single-Supply ICSP Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.21 Dedicated In-Circuit Debug/Programming Port (ICPORT) Enable . . . . . . . . . 95 4.22 Extended Instruction Set Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.23 Background Debugger Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.24 Code Protection bit Block 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.25 Code Protection bit Block 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.26 Code Protection bit Block 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.27 Code Protection bit Block 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.28 Boot Block Code Protection bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.29 Data EEPROM Code Protection bit . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.30 Write Protection bit Block 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.31 Write Protection bit Block 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 11
  • 11. XM118 - Microcontroladores PIC184.32 Write Protection bit Block 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964.33 Write Protection bit Block 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.34 Boot Block Write Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.35 Conguration Register Write Protection . . . . . . . . . . . . . . . . . . . . . . . . 974.36 Data EEPROM Write Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.37 table EEPROM Write Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.38 Table Read Protection bit Block 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.39 Table Read Protection bit Block 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.40 Table Read Protection bit Block 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 984.41 Boot Block Table Read Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . 984.42 Tipos da dados inteiros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.43 Tipos da dados inteiros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.44 Representao de valores . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . . . . . . 1004.45 Operadores matemticos . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . 1054.46 Operadores Comparativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.47 Operadores Comparativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.48 Operadores Comparativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.49 operadores de manipulao de memria ca o . . . . . . . . . . . . . . . . . . . . . . . . 1084.50 Operadores de manipulao de memria ca o . . . . . . . . . . . . . . . . . . . . . . . . 1084.51 Controle das interrupes . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . 1244.52 Funes de converso de tipo . . . . . . co a . . . . . . . . . . . . . . . . . . . . . . . . 1264.53 Funes de Reset . . . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . 1264.54 Funes do portal B . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . 1274.55 Funes do portal B . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . 1274.56 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.57 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285.1 Acionamento de display de sete segmentos. . . . . . . . . . . . . . . . . . . . . . . 1335.2 Dgitos/Linhas/Colunas de um teclado matricial. . . . . . . . . . . . . . . . . . . . 1355.3 Ligao entre o PIC e o teclado matricial. . . . . ca . . . . . . . . . . . . . . . . . . . 1365.4 Cdigos hexadecimais de comandos do LCD. . . o . . . . . . . . . . . . . . . . . . . 1385.5 Endereos de posio no display . . . . . . . . . . c ca . . . . . . . . . . . . . . . . . . . 1385.6 Descrio dos pinos do display. . . . . . . . . . . ca . . . . . . . . . . . . . . . . . . . 1395.7 Comandos XLCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416.1 Funes da Biblioteca timers.h . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586.2 Funes da biblioteca ANCOMP.h co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1636.3 Funes de uso do ADC . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1696.4 Funes de Captura . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1716.5 Funes de comparao . . . . . . co ca . . . . . . . . . . . . . . . . . . . . . . . . . . . 1726.6 Funes para PWM . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1756.7 Funes da USART . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1806.8 Funes da USART . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1816.9 Funes da USART . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856.10 Funes da SPI . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1876.11 Pinos para operao em SPI . . . . ca . . . . . . . . . . . . . . . . . . . . . . . . . . . 1876.12 Funes de I 2 C . . . . . . . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1926.13 Funes da EEPROM I 2 C . . . . . co . . . . . . . . . . . . . . . . . . . . . . . . . . . 1939.1 Caracter sticas dos PIC18F4550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2669.2 Esquema de pinos do XICD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2679.3 Congurao das chaves. . . . . ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2709.4 Congurao do dip switch . . ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 12
  • 12. XM118 - Microcontroladores PIC189.5 Leitura do teclado matricial pelo microcontrolador . . . . . . . . . . . . . . . . . . 2729.6 Leitura do teclado matricial pelo microcontrolador . . . . . . . . . . . . . . . . . . 273 13
  • 13. XM118 - Microcontroladores PIC18Introduo ca Parabns! Voc acaba de adquirir um produto de alta qualidade e tecnologia de ponta. O e eKit Educacional XM118 ser de grande aux no aprendizado e desenvolvimento de sistemas a liodigitais, na elaborao de cursos e treinamentos que envolvam microcontroladores PIC18. ca A Exsto Tecnologia uma empresa situada em Santa Rita do Sapuca Minas Gerais, cidade e ,conhecida como Vale da Eletrnicapor seu destaque na indstria eletroeletrnica e pela ex- o u ocelncia de suas instituies de ensino. Nossa misso sempre fornecer as melhores ferramentas e co a epara o desenvolvimento e aprendizado em eletrnica e desenvolvimento de software. Visite nosso osite www.exsto.com.br para conhecer outras solues e produtos oferecidos. co 14
  • 14. XM118 - Microcontroladores PIC18Apresentao do produto ca O Kit Educacional XM118 um ambiente de desenvolvimento que visa facilitar o aprendizado ee o desenvolvimento de aplicaes de microcontroladores PIC18. co Seu desenvolvimento foi baseado no PIC18F4550, que dentre outras caracter sticas importantespossui um perifrico USB Device, apesar de suportar outros componentes de 40 pinos (nestes ecasos nem todas as aplicaes da placa so suportadas). A tabela abaixo apresenta algumas das co aprincipais caracter sticas do PIC18F4550. A tabela a seguir traz as principais caracter sticas do PIC18F4550. Figura 1: Caracter sticas dos PIC18F4550 15
  • 15. XM118 - Microcontroladores PIC18 A escolha da fam PIC18 se justica por ser uma fam de dispositivos de 8 bits de alto lia liadesempenho, que possui recursos comuns a todos os microcontroladores modernos, permitindoum aprendizado que no se limite apenas a essa fam mas que se estenda a outras fam a lia liasPIC e mesmo a outros fabricantes. Outra vantagem dessa linha poder usar um compilador C eprossional como o C18. Na atualidade o desenvolvimento em sistema embarcados praticamente etodo feito em C, sendo usado o Assembly apenas em situaes espec co cas. O kit foi concebido para poder explorar ao mximo os recursos oferecidos pelo microcontro- alador. As diversas aplicaes esto dispostas de forma didtica, com indicao na serigraa da co a a caplaca. Esto dispon a veis diversos pontos de medida (teste points) que permitem a visualizao cados sinais de maior relevncia. O gravador/depurador XICD-2 embutido no kit permite, alm a eda gravao a depurao (esse processo ser mais explorado ao longo do curso); esse dispositivo ca ca a totalmente compat com o ICD-2 Microchip e conecta-se diretamente ao MPLAB IDE. Ase velprincipais caracter sticas do kit XM118 so: a Baseado no PIC18F4550; Fontes de alimentao; ca +5 e +12V; Fontes chaveadas com seleo automtica de tenso e protees; ca a a co Bastidor robusto em ao; c Gravador/depurador XICD-2 (compat com MPLAB) embutido; vel Acesso a todos os pinos do microcontrolador; Conguraes de hardware atravs de dip switch; co e 8 chaves dip switch ligadas ao PORTb; Teclado matricial de 16 teclas; 6 push-buttons em pinos de funo especial(reset interrupes,timers); ca co 8 LEDs convencionais ligados ao PORTD; 2 LEDs bicolores; 4 displays de 7 segmentos multiplexados; Display LCD Alfanumrico; e Conector para LCD Grco 128x64 (Opcional); a Buzzer; Lmpada DC acionada por PWM; a 4 rels; e Gerador de sinal ajustvel; a 16
  • 16. XM118 - Microcontroladores PIC18 Sistema de controle; Resistncia para aquecimento; e Ventoinha; Sensor de temperatura ; Tacgrafo para medida de velocidade da ventoinha; o Dispositivos de comunicao serial; ca Memria EEPROM I2C o Potencimetro digital SPI o RTC com bateria prpria o Portas de comunicao serial; ca RS232; RS485; USB 2.0 Full Speed (Device); Perifricos analgicos; e o DAC a partir do PWM; ADC com canais especiais: Potencimetro; o Sensor de temperatura; Duas entradas com ganho ajustvel de 1 a 10; a Entrada 0 a 10VDC; Entrada 4 a 20mA Como vrias aplicaes utilizam os mesmos pinos do microcontrolador o kit possui um srie a co e de dip switchs para congurao de hardware. Consulte o manual e o esquema eltrico . ca e 17
  • 17. XM118 - Microcontroladores PIC18Objetivo deste documento Este documento divido em trs unidades, com os seguintes contedos: e e u Apostila: apresenta a conceituao terica sobre o assunto do kit ca o Caderno de Experincias: traz a orientao para a realizao das experincias prticas. e ca ca e a Manual de Operao e Manuteno: rene as informaes necessrias para instalao e ca ca u co a ca congurao do kit, alm de trazer esquemas eltricos e outras informaes importantes ca e e co para manuteno. ca Documentos adicionais como guias de software e manuais de componentes esto tambm a econtidos no CD ou DVD que acompanha o kit. Esse contedo ser discutido oportunamente u ana seo Manual. ca 18
  • 18. XM118 - Microcontroladores PIC18Orientao Pedaggica ca o O material didtico (apostila e caderno de experincias) tem como funo guiar o aluno durante a e catodo o seu aprendizado em Microcontroladores PIC18 utilizando o kit XM118. A apostila trazos contedos tericos sobre microcontroladores e linguagem C. Ela organiza em cap u o e tulos, deforma que possa ser dividida conforme o plano de aula e carga horria do curso. a Temos o propsito de explorar os conceitos abordados e imediatamente prover a integrao o cado aluno com o prazer da prtica, tornado seu aprendizado mais interessante e consistente. Todo ao contedo aqui abordado de forma a fomentar a vontade do aluno e aplicar o conhecimento de u eforma imediata, permitindo que ele possa criar seus prprios circuitos a partir dos conhecimentos oadquiridos. O curso e, em especial as experincias prticas, foram pensados com o objetivo de levar o e aaluno a adquirir competncias para o trabalho com microcontroladores, a saber: e Compreender, analisar e comparar microcontroladores; Compreender e utilizar circuitos com microcontroladores; Ser capaz de entender e desenvolver programas em linguagem C para microcontroladores; Conhecer os perifricos mais comuns em microcontroladores; e Desenvolver projetos usando microcontroladores; O assunto microcontroladores bastante extenso e no se pode fazer um curso com a pre- e atenso de abord-lo todo. No caso deste curso foi enfocado o microcontrolador PIC18F4550, um a adispositivo de uma fam avanada com uma srie de recursos. Buscamos explorar a maioria lia c edesses recursos, apesar de alguns no terem sido inclusos e outros serem tratados apenas de forma aintrodutria. Foi dada especial ateno ao estudo da linguagem C para microcontroladores. o ca A diviso das aulas do curso prev um esquema de 2 horas de teoria e 1 hora de prtica a e apara cada aula. Abaixo apresentada uma proposio de diviso de aulas tericas. Para cada e ca a oaula destas existe uma aula prtica na seo Caderno de Experincias(para alguns contedos a ca e uconceituais a aula prtica na verdade um questionrio sobre o assunto abordado). Tendo em a e aconta a extenso do assunto e a variedade de cargas horrias das disciplinas, propomos dois a an veisem que o curso pode ser ministrado: bsico e avanado. O n bsico aborda o contedo a c vel a um nimo que entendemos como necessrio a um curso de microcontroladores, com uma carga ahorria limitada em 30 horas (10 aulas). O n a vel avanado foi previsto para uma carga de 60 choras (19 aulas + 1 de projeto) e permite explorar alguns perifricos a mais, alm de aumentar a e eoportunidade de exercitar a linguagem C com mais experincias. Recomendamos que na ultima e 19
  • 19. XM118 - Microcontroladores PIC18aula do mdulo avanado seja proposto um projeto envolvendo diversos conceitos estudados ao o clongo do curso. 20
  • 20. XM118 - Microcontroladores PIC18Algumas observaes: co1. Para instituies que possuem cursos de linguagem C - ANSI anterior ao de microcontro- co ladores as aulas 6, 7, 8 e 9 podem ser resumidas em 1 ou 2 aulas, enfocando apenas a parte prtica. a2. A aula 1 tem o objetivo de introduzir ou revisar os conceitos fundamentais sobre microcon- troladores e processadores. Se houve um estudo prvio de arquitetura de computadores ou e outros modelos de microcontroladores, essa aula se torna dispensvel. a3. Na apresentao das aulas alguns assuntos foram apresentados em seus sub-itens (como os ca tpicos 6.4 e 6.5) por uma questo de diviso de aulas. Entenda-se que todo o tpico deve o a a o ser estudado para um correto entendimento. 21
  • 21. XM118 - Microcontroladores PIC18 A Um Poeta Olavo Bilac Longe do estril turbilho da rua, e a Beneditino, escreve! No aconchego Do claustro, na pacincia e no sossego, e Trabalha, e teima, e lima, e sofre, e sua! Mas que na forma se disfarce o emprego Do esforo; e a trama viva se construa c De tal modo, que a imagem que nua, Rica mas sbria, como um templo grego. o No se mostre na fbrica o supl a a cio Do mestre. E, natural, o efeito agrade, Sem lembrar os andaimes do edif cio: Porque a Beleza, gmea da Verdade, e Arte pura, inimiga do artif cio, E a fora e a graa na simplicidade. c c O mundo da tecnologia est em constate e rpida evoluo. Acompanhar essa evoluo exige a a ca cadedicao e investimento da parte dos que aceitam o desao de no s consumir tecnologia, mas ca a otambm de cri-la. e a A linha de microcontroladores PIC18 foi lanada com uma arquitetura renovada e otimizada cem relao ` linha PIC16, trazendo tambm vrias inovaes que permitem o desenvolvimento ca a e a code aplicaes mais avanadas e ecientes. Faz-se necessrio, ento, uma atualizao dos conheci- co c a a camentos para tirar o mximo proveito das novas caracter a sticas da linha PIC18. Paralelamente a essa evoluo de hardware processa-se uma revoluo de software, onde a ca calinguagem C apresentada como escolha mais adequada para o desenvolvimento de cdigo em e omicrocontroladores, em substituio a linguagem Assembly. Essa revoluo ocasionada no s ca ca e a opelo desenvolvimento de compiladores mais conveis e ecientes como tambm pela otimizao a e cado conjunto de instrues e arquitetura dos microcontroladores para a linguagem C. A linha coPIC18, objeto de nosso estudo, tem sua arquitetura otimizada para C e a Microchip oferece umeciente compilador, o C18. Tendo isso em vista, foi desenvolvido um curso que permitisse abordar as duas inovaes: a colinha PIC18 e programao de microcontroladores em linguagem C. ca No cap tulo 1 apresentado o conceito de microcontroladores. Esse cap e tulo serve no s para a ointroduzir os que ainda no esto familiarizados com microcontroladores como tambm como uma a a ereviso dos conceitos fundamentais. Permite, dessa forma, equalizao dos conhecimentos para a camelhor aprov