• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia Elétrica ·

Arquitetura de Computadores

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Arquitetura de Von Neumann e Componentes do Sistema

1

Arquitetura de Von Neumann e Componentes do Sistema

Arquitetura de Computadores

UFPI

Arquitetura de Sistemas Computacionais - Conceitos Básicos

44

Arquitetura de Sistemas Computacionais - Conceitos Básicos

Arquitetura de Computadores

UFPI

Projeto Jogo Genius com PIC18F4550 e LCD 16x2: Relatório Detalhado

2

Projeto Jogo Genius com PIC18F4550 e LCD 16x2: Relatório Detalhado

Arquitetura de Computadores

UFPI

Programação do TimerA0 para gerar base de tempo de 100 ms e envio de dados de memória para computador e LCD

1

Programação do TimerA0 para gerar base de tempo de 100 ms e envio de dados de memória para computador e LCD

Arquitetura de Computadores

UFPI

Arquitetura-de-Computadores-MIPS-Multiciclo-Bloco-Operativo-e-Etapas-de-Execucao

40

Arquitetura-de-Computadores-MIPS-Multiciclo-Bloco-Operativo-e-Etapas-de-Execucao

Arquitetura de Computadores

UFPI

Arquitetura de Computadores

11

Arquitetura de Computadores

Arquitetura de Computadores

UFPI

Lista de Exercícios Arquitetura de Sistemas Digitais - Ponto Fixo e Representação de Números

2

Lista de Exercícios Arquitetura de Sistemas Digitais - Ponto Fixo e Representação de Números

Arquitetura de Computadores

UFCG

Tarefa 06 - Arquiteturas Modernas

4

Tarefa 06 - Arquiteturas Modernas

Arquitetura de Computadores

UESPI

Arquitetura de Sistemas Computacionais

2

Arquitetura de Sistemas Computacionais

Arquitetura de Computadores

UESPI

Projeto de Melhoria do Processador RISC-V com Novos Componentes e Aplicação Pratica

1

Projeto de Melhoria do Processador RISC-V com Novos Componentes e Aplicação Pratica

Arquitetura de Computadores

UEPB

Texto de pré-visualização

Universidade Federal do Piauí Centro de Tecnologia Curso de Engenharia Elétrica Teoria de Microcontroladores Prof Dr Everton Reis evertonsxufpiedubr Fortaleza 2020 2 Microcontroladores Prof Everton Reis 1 O PIC 16F877A 11 Principais Características 12 Arquitetura 13 Conjunto de Instruções 14 Assembly Sumário 3 Microcontroladores Prof Everton Reis 1 Introdução 4 Microcontroladores Prof Everton Reis Introdução Microcontrolador Também abreviado por µC uC ou MCU Reúne num único chip Microprocessador Memória Periféricos de ES programáveis 4 5 Microcontroladores Prof Everton Reis Introdução Microcontroladores são dispositivos voltados a sistemas embarcados e aplicações específicas ao contrário dos µPs destinados a PCs e aplicações de uso geral Memórias de programa e de dados também são frequen temente integradas ao chip o que não ocorre nos µPs Principais razões da integração das memórias aos µCs redução do número de pinos do encapsulamento redução dos custos com componentes externos diminuição das dimensões da montagem simplificação do circuito de aplicação Em contrapartida a integração das memórias aos µCs tem a desvantagem de limitar a complexidade do programa embarcado bem como o montante de dados manipuláveis uma vez que o tamanho da memória é limitada pelo µC 6 Microcontroladores Prof Everton Reis Introdução Alguns Fabricantes de Microcontroladores Atmel Cypress MicroSystems Freescale Semiconductor Fujitsu Intel Microchip Technology National Semiconductor NXP NEC STMicroelectronics Texas Instruments ZiLOG 7 Microcontroladores Prof Everton Reis Portas de Entrada e Saída Memória ROM Memória RAM Dados Temporários Oscilador timers contadores etc CPU Introdução Aplicações Típicas Periféricos de informática Eletrônicos de consumo Sistemas de supervisão Instrumentação Automação Robótica 8 Microcontroladores Prof Everton Reis Introdução Unidade de Comando de Injeção Eletrônica 9 Microcontroladores Prof Everton Reis Introdução Robo 3π Em seu núcleo um uC Atmel à 20 MHz 10 Microcontroladores Prof Everton Reis Introdução Osciloscópios de mão baseados em uCs ARM e AVR 11 Microcontroladores Prof Everton Reis Introdução CLP baseado num uC PIC 12 Microcontroladores Prof Everton Reis 2 Os Microcontroladores PIC 13 Microcontroladores Prof Everton Reis Os Microcontroladores PIC Microcontroladores da Microchip Technologies Conhecidos como microcontroladores PIC ou PICmicro Seu nome é uma sigla para Programmable Interface Controller Mais de 570 uCs divididos em 3 grandes grupos 8 bits 16 bits 32 bits Núcleo composto por uma máquina RISC As versões mais simples tem apenas 33 instruções Arquitetura de memória Harvard 14 Microcontroladores Prof Everton Reis Os Microcontroladores PIC A família de Microcontroladores PIC PIC10 PIC12 PIC16 PIC18 PIC24F PIC24H dsPIC3 0 dsPIC3 3 PIC32 8 bits 16 bits 32 bits Desempenho Funcionalidades 15 Microcontroladores Prof Everton Reis Os Microcontroladores PIC Os Microcontroladores PIC de 8 bits Mais de 300 uCs reunindo desde os mais simples e pequenos 6 pinos 2x3mm a dispositivos de alta gama com maior poder de processamento periféricos e interfaces chegando a 100 pinos Dividemse em 4 categorias de acordo com a complexidade da aplicação a que se destinam Baseline MidRange Enhanced MidRange PIC18 16 Microcontroladores Prof Everton Reis Os Microcontroladores PIC PIC 8bits Memória de Programa vs N de Pinos 17 Microcontroladores Prof Everton Reis Os Microcontroladores PIC PIC 8bits Principais Características Atributo Arquitetura Baseline MidRange Enhanced MidRange PIC18 N de Pinos 640 864 864 18100 Suporte a Interrupções sem suporte Uma interrupção Uma interrupção com armazenamento de contexto de hardware Múltiplas interrupções com armazenamento de contexto de hardware Desempenho 5 MIPS 5 MIPS 8 MIPS Up to 16 MIPS Instruções 33 12bit 35 14bit 49 14bit 83 16bit Mem de Programa até 3 kB até 14 kB até 28 kB até 128 kB Mem De Dados até 134B até 368B até 15 kB até 4 kB Recursos Comparador ADC de 8 bits Memória de Dados Oscilador interno Além dos da Baseline SPII2C UART PWMs Suporte a LCD ADC de 10 bits Op Amp Além dos da MidRange Comunicações com Múltiplos Periféricos Espaço para Programação Linear PWMs com Temporização Independente Além dos da Enh MidRange Multiplicador 8x8 em Hardware CAN CTMU USB Ethernet ADC de 12 bits Famílias PIC10 PIC12 PIC16 PIC12 PIC16 PIC12F1XXX PIC16F1XXX PIC18 18 Microcontroladores Prof Everton Reis Os Microcontroladores PIC PIC 8bits 10F200 16F628 e 16F877 19 Microcontroladores Prof Everton Reis 3 O PIC 16F877A 20 Microcontroladores Prof Everton Reis O PIC 16F877A O PIC16F877A Microcontrolador MidRange de 8 bits Reúne os principais pontos de interesse no estudo da arquitetura de sistemas digitais Será adotado para a maior parte das aplicações desta disciplina 21 Microcontroladores Prof Everton Reis O PIC 16F877A Principais Características do PIC 16F877A Apenas 35 instruções de máquina Assembly nível ISA Execução em pipeline 1 ciclo de máquinainstrução sequencial e 2 ciclosinstrução de desvio 1 ciclo 4 pulsos de clock Operação com clock de até 20 MHz 5 MIPS Arquitetura de memória Harvard Memória de Programa 8k x 14 bits Flash Memória de Dados 368 Bytes RAM Memória auxiliar EEPROM não volátil de 256 Bytes regravável por software 22 Microcontroladores Prof Everton Reis O PIC 16F877A 4 encapsulamentos disponíveis PDIP 40 PLCC 44 QFN 44 TQFP 44 Encapsulamento PDIP 40 adotado 4 pinos de alimentação 2 pinos de clock 1 pino de gravaçãoreset 33 pinos de entradasaída configuráveis Fácil prototipagem em Protoboards 23 Microcontroladores Prof Everton Reis O PIC 16F877A Pinagem do Encapsulamento PDIP 40 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PIC 16F877A MCLRVPP RA0AN0 RA1AN1 RA2AN2VREFCVREF RA3AN3VREF RA4T0CKIC1OUT RA5AN4SSC2OUT RE0RDAN5 RE1WRAN6 RE2CSAN7 VDD VSS OSC1CLKI OSC2CLKO RC0T1OSOT1CKI RC1T1OSICCP2 RC2CCP1 RC3SCKSCL RD0PSP0 RD1PSP1 RB7PGD RB6PGC RB5 RB4 RB3PGM RB2 RB1 RB0INT VDD VSS RD7PSP7 RD6PSP6 RD5PSP5 RD4PSP4 RC7RXDT RC6TXCK RC5SDO RC4SDISDA RD3PSP3 RD2PSP2 24 Microcontroladores Prof Everton Reis O PIC 16F877A Opção para proteção de código executável Uma vez ativada impossibilita a leitura da memória de programa evitando a pirataria do código para outros microcontroladores Tensão de trabalho de 2 a 55V Modo SLEEP Coloca o uC para dormir reduzindo drasticamente o consumo de energia Sistema integrado de programação e depuração in circuit Programação e depuração serial apenas 2 pinos Programação e depuração possível sem a necessidade desconectar o uC do circuito 25 Microcontroladores Prof Everton Reis O PIC 16F877A Conversor AD de 10 bits x 8 canais Dois comparadores analógicos configuráveis 2 pinos para captura comparação e PWM Uma porta serial síncrona com SPI mestre e I2C mestreescravo Uma porta serial universal USART Uma porta paralela de 8 bits escrava Sistema de interrupções com 14 fontes diferentes por hardware e por software Sistema monitor capaz de reiniciar automaticamente o uC caso alguma anormalidade seja detectada evitando o travamento do sistema 26 Microcontroladores Prof Everton Reis O PIC 16F877A Arquitetura do PIC 16F877 Diagrama Simplificado ULA UNIDADE DE CONTROLE PC W STATUS FSR IR MUX SISTEMAS DE SUPORTE Programação Depuração Temporização Reset Stack Memória de Programa Flash Memória de Dados RAM M U X EEPROM PORTAS de ES A B C D E 3 PERIFÉRICOS ADC Timers etc 27 Microcontroladores Prof Everton Reis O PIC 16F877A Arquitetura do PIC 16F877 Diagrama Detalhado 28 Microcontroladores Prof Everton Reis O PIC 16F877A Memória de Programa Armazena de forma permanente o programa a ser executado pelo PIC Memória ROM tipo flash de 8 kWords 8192 endereços de 14 bits Pode ser alterada aplicandose 13V ao pino VPP 5V no modo LVP Divida em 4 páginas de 2k sendo a primeira reduzida em 5 endereços que possuem função especial 0x0000 vetor de reset 0x0004 vetor de interrupção 0x0001 a 0x0003 reservados 29 Microcontroladores Prof Everton Reis O PIC 16F877A Memória de Dados RAM Armazena dados do programa e registradores da CPU Divida em 4 bancos de 128 bytes Cada posição endereçável é chamada registro É composta por dois tipos de registradores Registradores de propósito geral 368 bytes Registradores de função específica SFR SFRs complementam os registradores nativos da CPU Banco 0 Banco 1 Banco 2 Banco 3 RAM 30 Microcontroladores Prof Everton Reis O PIC 16F877A Acesso Direto aos SFRs 3 0 31 Microcontroladores Prof Everton Reis O PIC 16F877A Mapa da RAM 32 Microcontroladores Prof Everton Reis O PIC 16F877A SFRs Banco 0 33 Microcontroladores Prof Everton Reis O PIC 16F877A SFRs Banco 1 34 Microcontroladores Prof Everton Reis O PIC 16F877A SFRs Banco 2 e 3 35 Microcontroladores Prof Everton Reis O PIC 16F877A Stack Memória interna composta por 8 registros de 13 bits destinada a armazenar endereços da memória de programa Quando uma subrotina é chamada ou na ocorrência de uma interrupção o endereço para onde o PC deveria apontar caso não houvesse desvio é salvo automati camente na pilha stack e recuperado ao final da execução da subrotina É escrita de forma circular isto é após 8 chamadas aninhadas a nona irá sobrescrever o endereço da primeira naturalmente isto deve ser evitado 36 Microcontroladores Prof Everton Reis O PIC 16F877A O Assembly do 16F877A 35 instruções divididas em 4 grupos Operações com Bytes de Registradores ADDWF ANDWF CLRF COMF DECF DECFZ INCF INCFSZ IORWF MOVF MOVWF RLF RRF SUBWF SWAPF XORWF Operações com Números Literais ADDLW ANDLW IORLW MOVLW SUBLW XORLW Operações com Bits de Registradores BCF BSF BTFSC BTFSS Controle CLRW NOP CALL CLRWDT GOTO RETFIE RETLW RETURN SLEEP 37 Microcontroladores Prof Everton Reis O PIC 16F877A Instruções de Operação com Bytes de Registradores N Instrução Argumentos Descrição 1 ADDWF fd Soma W e F guardando o resultado em d 2 ANDWF fd Lógica E entre W e f guardando o resultado em d 3 CLRF f Limpa f 4 COMF fd Calcula o complemento de f guardando o resultado em d 5 DECF fd Decrementa f guardando o resultado em d 6 DECFSZ fd Decrementa f guarda o resultado em d e pula a próxima linha se for zero 7 INCF fd Incrementa f guardando o resultado em d 8 INCFSZ fd Incrementa f guarda o resultado em d e pula a próxima linha se for zero 9 IORWF fd Lógica OU entre W e f guardando o resultado em d 10 MOVF fd Move f para d copia 11 MOVWF f Move W para f copia 12 RLF fd Rotaciona f 1 bit para esquerda 13 RRF fd Rotaciona f 1 bit para direita 14 SUBWF fd Subtrai W de f f W guardando o resultado em d 15 SWAPF fd Inverte as partes alta e baixa de f guardando o resultado em d 16 XORWF fd Lógica OU exclusivo entre W e f guardando o resultado em d 38 Microcontroladores Prof Everton Reis O PIC 16F877A Instruções de Operação com Números Literais Instruções de Operação com Bits de Registradores N Instrução Argumentos Descrição 17 ADDLW k Soma um número k com W guardando o resultado em W 18 ANDLW k Lógica E entre k e W guardando o resultado em W 19 IORLW k Lógica OU entre k e W guardando o resultado em W 20 MOVLW k Move k para W 21 SUBLW k Subtrai W de k k W guardando o resultado em W 22 XORLW k Lógica OU exclusivo entre k e W guardando o resultado em W N Instrução Argumentos Descrição 23 BCF fb Coloca 0 zero ao bit b do registrador f 24 BSF fb Coloca 1 um ao bit b do registrador f 25 BTFSC fb Testa o bit b do registrador e pula a próxima linha se ele for 0 zero 26 BTFSS fb Testa o bit b do registrador e pula a próxima linha se ele for 1 um 39 Microcontroladores Prof Everton Reis O PIC 16F877A Instruções de Controle N Instrução Argumentos Descrição 27 CLRW Limpa W deixa W com valor 0 28 NOP Gasta um ciclo de máquina sem fazer nada 29 CALL Rotina X Executa a rotina X 30 CLRWDT Limpa o registrador WDT para não acontecer o reset 31 GOTO R Desvia para o ponto R mudando o PC 32 RETFIE Retorna de uma interrupção 33 RETLW k Retorna de uma rotina com k em W 34 RETURN Retorna de uma rotina sem afetar W 35 SLEEP Coloca o PIC em modo Sleep para economia de energia 40 Microcontroladores Prof Everton Reis Assembly Exemplo 1 parte 1 41 Microcontroladores Prof Everton Reis Assembly Exemplo 1 parte 2 42 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 1 43 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 2 44 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 3 45 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 4 46 Microcontroladores Prof Everton Reis Razões para Programar o PIC em Assembly Aplicações de controle crítico de tempo Maximização da eficiência do código Redução do tamanho do programa Dominar melhor a arquitetura do uC Assembly 47 Microcontroladores Prof Everton Reis Bibliografia Milan Verle PIC Microcontrollers Programming in C 1a Ed MikroElektronika 2009 Microchip Tec Inc 8bit PIC Microcontrollers Data Sheet 2010 Microchip Tec Inc PIC16F87XA 284044Pin Enhanced Flash Microcontrollers Data Sheet 2003 Andrew S Tanenbaum Organização Estruturada de Computadores 5a Ed Pearson 2006 J L Hennessy D A Patterson Arquitetura de Computadores Uma Abordagem Quantitativa Editora Campus 2003

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Arquitetura de Von Neumann e Componentes do Sistema

1

Arquitetura de Von Neumann e Componentes do Sistema

Arquitetura de Computadores

UFPI

Arquitetura de Sistemas Computacionais - Conceitos Básicos

44

Arquitetura de Sistemas Computacionais - Conceitos Básicos

Arquitetura de Computadores

UFPI

Projeto Jogo Genius com PIC18F4550 e LCD 16x2: Relatório Detalhado

2

Projeto Jogo Genius com PIC18F4550 e LCD 16x2: Relatório Detalhado

Arquitetura de Computadores

UFPI

Programação do TimerA0 para gerar base de tempo de 100 ms e envio de dados de memória para computador e LCD

1

Programação do TimerA0 para gerar base de tempo de 100 ms e envio de dados de memória para computador e LCD

Arquitetura de Computadores

UFPI

Arquitetura-de-Computadores-MIPS-Multiciclo-Bloco-Operativo-e-Etapas-de-Execucao

40

Arquitetura-de-Computadores-MIPS-Multiciclo-Bloco-Operativo-e-Etapas-de-Execucao

Arquitetura de Computadores

UFPI

Arquitetura de Computadores

11

Arquitetura de Computadores

Arquitetura de Computadores

UFPI

Lista de Exercícios Arquitetura de Sistemas Digitais - Ponto Fixo e Representação de Números

2

Lista de Exercícios Arquitetura de Sistemas Digitais - Ponto Fixo e Representação de Números

Arquitetura de Computadores

UFCG

Tarefa 06 - Arquiteturas Modernas

4

Tarefa 06 - Arquiteturas Modernas

Arquitetura de Computadores

UESPI

Arquitetura de Sistemas Computacionais

2

Arquitetura de Sistemas Computacionais

Arquitetura de Computadores

UESPI

Projeto de Melhoria do Processador RISC-V com Novos Componentes e Aplicação Pratica

1

Projeto de Melhoria do Processador RISC-V com Novos Componentes e Aplicação Pratica

Arquitetura de Computadores

UEPB

Texto de pré-visualização

Universidade Federal do Piauí Centro de Tecnologia Curso de Engenharia Elétrica Teoria de Microcontroladores Prof Dr Everton Reis evertonsxufpiedubr Fortaleza 2020 2 Microcontroladores Prof Everton Reis 1 O PIC 16F877A 11 Principais Características 12 Arquitetura 13 Conjunto de Instruções 14 Assembly Sumário 3 Microcontroladores Prof Everton Reis 1 Introdução 4 Microcontroladores Prof Everton Reis Introdução Microcontrolador Também abreviado por µC uC ou MCU Reúne num único chip Microprocessador Memória Periféricos de ES programáveis 4 5 Microcontroladores Prof Everton Reis Introdução Microcontroladores são dispositivos voltados a sistemas embarcados e aplicações específicas ao contrário dos µPs destinados a PCs e aplicações de uso geral Memórias de programa e de dados também são frequen temente integradas ao chip o que não ocorre nos µPs Principais razões da integração das memórias aos µCs redução do número de pinos do encapsulamento redução dos custos com componentes externos diminuição das dimensões da montagem simplificação do circuito de aplicação Em contrapartida a integração das memórias aos µCs tem a desvantagem de limitar a complexidade do programa embarcado bem como o montante de dados manipuláveis uma vez que o tamanho da memória é limitada pelo µC 6 Microcontroladores Prof Everton Reis Introdução Alguns Fabricantes de Microcontroladores Atmel Cypress MicroSystems Freescale Semiconductor Fujitsu Intel Microchip Technology National Semiconductor NXP NEC STMicroelectronics Texas Instruments ZiLOG 7 Microcontroladores Prof Everton Reis Portas de Entrada e Saída Memória ROM Memória RAM Dados Temporários Oscilador timers contadores etc CPU Introdução Aplicações Típicas Periféricos de informática Eletrônicos de consumo Sistemas de supervisão Instrumentação Automação Robótica 8 Microcontroladores Prof Everton Reis Introdução Unidade de Comando de Injeção Eletrônica 9 Microcontroladores Prof Everton Reis Introdução Robo 3π Em seu núcleo um uC Atmel à 20 MHz 10 Microcontroladores Prof Everton Reis Introdução Osciloscópios de mão baseados em uCs ARM e AVR 11 Microcontroladores Prof Everton Reis Introdução CLP baseado num uC PIC 12 Microcontroladores Prof Everton Reis 2 Os Microcontroladores PIC 13 Microcontroladores Prof Everton Reis Os Microcontroladores PIC Microcontroladores da Microchip Technologies Conhecidos como microcontroladores PIC ou PICmicro Seu nome é uma sigla para Programmable Interface Controller Mais de 570 uCs divididos em 3 grandes grupos 8 bits 16 bits 32 bits Núcleo composto por uma máquina RISC As versões mais simples tem apenas 33 instruções Arquitetura de memória Harvard 14 Microcontroladores Prof Everton Reis Os Microcontroladores PIC A família de Microcontroladores PIC PIC10 PIC12 PIC16 PIC18 PIC24F PIC24H dsPIC3 0 dsPIC3 3 PIC32 8 bits 16 bits 32 bits Desempenho Funcionalidades 15 Microcontroladores Prof Everton Reis Os Microcontroladores PIC Os Microcontroladores PIC de 8 bits Mais de 300 uCs reunindo desde os mais simples e pequenos 6 pinos 2x3mm a dispositivos de alta gama com maior poder de processamento periféricos e interfaces chegando a 100 pinos Dividemse em 4 categorias de acordo com a complexidade da aplicação a que se destinam Baseline MidRange Enhanced MidRange PIC18 16 Microcontroladores Prof Everton Reis Os Microcontroladores PIC PIC 8bits Memória de Programa vs N de Pinos 17 Microcontroladores Prof Everton Reis Os Microcontroladores PIC PIC 8bits Principais Características Atributo Arquitetura Baseline MidRange Enhanced MidRange PIC18 N de Pinos 640 864 864 18100 Suporte a Interrupções sem suporte Uma interrupção Uma interrupção com armazenamento de contexto de hardware Múltiplas interrupções com armazenamento de contexto de hardware Desempenho 5 MIPS 5 MIPS 8 MIPS Up to 16 MIPS Instruções 33 12bit 35 14bit 49 14bit 83 16bit Mem de Programa até 3 kB até 14 kB até 28 kB até 128 kB Mem De Dados até 134B até 368B até 15 kB até 4 kB Recursos Comparador ADC de 8 bits Memória de Dados Oscilador interno Além dos da Baseline SPII2C UART PWMs Suporte a LCD ADC de 10 bits Op Amp Além dos da MidRange Comunicações com Múltiplos Periféricos Espaço para Programação Linear PWMs com Temporização Independente Além dos da Enh MidRange Multiplicador 8x8 em Hardware CAN CTMU USB Ethernet ADC de 12 bits Famílias PIC10 PIC12 PIC16 PIC12 PIC16 PIC12F1XXX PIC16F1XXX PIC18 18 Microcontroladores Prof Everton Reis Os Microcontroladores PIC PIC 8bits 10F200 16F628 e 16F877 19 Microcontroladores Prof Everton Reis 3 O PIC 16F877A 20 Microcontroladores Prof Everton Reis O PIC 16F877A O PIC16F877A Microcontrolador MidRange de 8 bits Reúne os principais pontos de interesse no estudo da arquitetura de sistemas digitais Será adotado para a maior parte das aplicações desta disciplina 21 Microcontroladores Prof Everton Reis O PIC 16F877A Principais Características do PIC 16F877A Apenas 35 instruções de máquina Assembly nível ISA Execução em pipeline 1 ciclo de máquinainstrução sequencial e 2 ciclosinstrução de desvio 1 ciclo 4 pulsos de clock Operação com clock de até 20 MHz 5 MIPS Arquitetura de memória Harvard Memória de Programa 8k x 14 bits Flash Memória de Dados 368 Bytes RAM Memória auxiliar EEPROM não volátil de 256 Bytes regravável por software 22 Microcontroladores Prof Everton Reis O PIC 16F877A 4 encapsulamentos disponíveis PDIP 40 PLCC 44 QFN 44 TQFP 44 Encapsulamento PDIP 40 adotado 4 pinos de alimentação 2 pinos de clock 1 pino de gravaçãoreset 33 pinos de entradasaída configuráveis Fácil prototipagem em Protoboards 23 Microcontroladores Prof Everton Reis O PIC 16F877A Pinagem do Encapsulamento PDIP 40 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PIC 16F877A MCLRVPP RA0AN0 RA1AN1 RA2AN2VREFCVREF RA3AN3VREF RA4T0CKIC1OUT RA5AN4SSC2OUT RE0RDAN5 RE1WRAN6 RE2CSAN7 VDD VSS OSC1CLKI OSC2CLKO RC0T1OSOT1CKI RC1T1OSICCP2 RC2CCP1 RC3SCKSCL RD0PSP0 RD1PSP1 RB7PGD RB6PGC RB5 RB4 RB3PGM RB2 RB1 RB0INT VDD VSS RD7PSP7 RD6PSP6 RD5PSP5 RD4PSP4 RC7RXDT RC6TXCK RC5SDO RC4SDISDA RD3PSP3 RD2PSP2 24 Microcontroladores Prof Everton Reis O PIC 16F877A Opção para proteção de código executável Uma vez ativada impossibilita a leitura da memória de programa evitando a pirataria do código para outros microcontroladores Tensão de trabalho de 2 a 55V Modo SLEEP Coloca o uC para dormir reduzindo drasticamente o consumo de energia Sistema integrado de programação e depuração in circuit Programação e depuração serial apenas 2 pinos Programação e depuração possível sem a necessidade desconectar o uC do circuito 25 Microcontroladores Prof Everton Reis O PIC 16F877A Conversor AD de 10 bits x 8 canais Dois comparadores analógicos configuráveis 2 pinos para captura comparação e PWM Uma porta serial síncrona com SPI mestre e I2C mestreescravo Uma porta serial universal USART Uma porta paralela de 8 bits escrava Sistema de interrupções com 14 fontes diferentes por hardware e por software Sistema monitor capaz de reiniciar automaticamente o uC caso alguma anormalidade seja detectada evitando o travamento do sistema 26 Microcontroladores Prof Everton Reis O PIC 16F877A Arquitetura do PIC 16F877 Diagrama Simplificado ULA UNIDADE DE CONTROLE PC W STATUS FSR IR MUX SISTEMAS DE SUPORTE Programação Depuração Temporização Reset Stack Memória de Programa Flash Memória de Dados RAM M U X EEPROM PORTAS de ES A B C D E 3 PERIFÉRICOS ADC Timers etc 27 Microcontroladores Prof Everton Reis O PIC 16F877A Arquitetura do PIC 16F877 Diagrama Detalhado 28 Microcontroladores Prof Everton Reis O PIC 16F877A Memória de Programa Armazena de forma permanente o programa a ser executado pelo PIC Memória ROM tipo flash de 8 kWords 8192 endereços de 14 bits Pode ser alterada aplicandose 13V ao pino VPP 5V no modo LVP Divida em 4 páginas de 2k sendo a primeira reduzida em 5 endereços que possuem função especial 0x0000 vetor de reset 0x0004 vetor de interrupção 0x0001 a 0x0003 reservados 29 Microcontroladores Prof Everton Reis O PIC 16F877A Memória de Dados RAM Armazena dados do programa e registradores da CPU Divida em 4 bancos de 128 bytes Cada posição endereçável é chamada registro É composta por dois tipos de registradores Registradores de propósito geral 368 bytes Registradores de função específica SFR SFRs complementam os registradores nativos da CPU Banco 0 Banco 1 Banco 2 Banco 3 RAM 30 Microcontroladores Prof Everton Reis O PIC 16F877A Acesso Direto aos SFRs 3 0 31 Microcontroladores Prof Everton Reis O PIC 16F877A Mapa da RAM 32 Microcontroladores Prof Everton Reis O PIC 16F877A SFRs Banco 0 33 Microcontroladores Prof Everton Reis O PIC 16F877A SFRs Banco 1 34 Microcontroladores Prof Everton Reis O PIC 16F877A SFRs Banco 2 e 3 35 Microcontroladores Prof Everton Reis O PIC 16F877A Stack Memória interna composta por 8 registros de 13 bits destinada a armazenar endereços da memória de programa Quando uma subrotina é chamada ou na ocorrência de uma interrupção o endereço para onde o PC deveria apontar caso não houvesse desvio é salvo automati camente na pilha stack e recuperado ao final da execução da subrotina É escrita de forma circular isto é após 8 chamadas aninhadas a nona irá sobrescrever o endereço da primeira naturalmente isto deve ser evitado 36 Microcontroladores Prof Everton Reis O PIC 16F877A O Assembly do 16F877A 35 instruções divididas em 4 grupos Operações com Bytes de Registradores ADDWF ANDWF CLRF COMF DECF DECFZ INCF INCFSZ IORWF MOVF MOVWF RLF RRF SUBWF SWAPF XORWF Operações com Números Literais ADDLW ANDLW IORLW MOVLW SUBLW XORLW Operações com Bits de Registradores BCF BSF BTFSC BTFSS Controle CLRW NOP CALL CLRWDT GOTO RETFIE RETLW RETURN SLEEP 37 Microcontroladores Prof Everton Reis O PIC 16F877A Instruções de Operação com Bytes de Registradores N Instrução Argumentos Descrição 1 ADDWF fd Soma W e F guardando o resultado em d 2 ANDWF fd Lógica E entre W e f guardando o resultado em d 3 CLRF f Limpa f 4 COMF fd Calcula o complemento de f guardando o resultado em d 5 DECF fd Decrementa f guardando o resultado em d 6 DECFSZ fd Decrementa f guarda o resultado em d e pula a próxima linha se for zero 7 INCF fd Incrementa f guardando o resultado em d 8 INCFSZ fd Incrementa f guarda o resultado em d e pula a próxima linha se for zero 9 IORWF fd Lógica OU entre W e f guardando o resultado em d 10 MOVF fd Move f para d copia 11 MOVWF f Move W para f copia 12 RLF fd Rotaciona f 1 bit para esquerda 13 RRF fd Rotaciona f 1 bit para direita 14 SUBWF fd Subtrai W de f f W guardando o resultado em d 15 SWAPF fd Inverte as partes alta e baixa de f guardando o resultado em d 16 XORWF fd Lógica OU exclusivo entre W e f guardando o resultado em d 38 Microcontroladores Prof Everton Reis O PIC 16F877A Instruções de Operação com Números Literais Instruções de Operação com Bits de Registradores N Instrução Argumentos Descrição 17 ADDLW k Soma um número k com W guardando o resultado em W 18 ANDLW k Lógica E entre k e W guardando o resultado em W 19 IORLW k Lógica OU entre k e W guardando o resultado em W 20 MOVLW k Move k para W 21 SUBLW k Subtrai W de k k W guardando o resultado em W 22 XORLW k Lógica OU exclusivo entre k e W guardando o resultado em W N Instrução Argumentos Descrição 23 BCF fb Coloca 0 zero ao bit b do registrador f 24 BSF fb Coloca 1 um ao bit b do registrador f 25 BTFSC fb Testa o bit b do registrador e pula a próxima linha se ele for 0 zero 26 BTFSS fb Testa o bit b do registrador e pula a próxima linha se ele for 1 um 39 Microcontroladores Prof Everton Reis O PIC 16F877A Instruções de Controle N Instrução Argumentos Descrição 27 CLRW Limpa W deixa W com valor 0 28 NOP Gasta um ciclo de máquina sem fazer nada 29 CALL Rotina X Executa a rotina X 30 CLRWDT Limpa o registrador WDT para não acontecer o reset 31 GOTO R Desvia para o ponto R mudando o PC 32 RETFIE Retorna de uma interrupção 33 RETLW k Retorna de uma rotina com k em W 34 RETURN Retorna de uma rotina sem afetar W 35 SLEEP Coloca o PIC em modo Sleep para economia de energia 40 Microcontroladores Prof Everton Reis Assembly Exemplo 1 parte 1 41 Microcontroladores Prof Everton Reis Assembly Exemplo 1 parte 2 42 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 1 43 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 2 44 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 3 45 Microcontroladores Prof Everton Reis Assembly Exemplo 1 Comentado parte 4 46 Microcontroladores Prof Everton Reis Razões para Programar o PIC em Assembly Aplicações de controle crítico de tempo Maximização da eficiência do código Redução do tamanho do programa Dominar melhor a arquitetura do uC Assembly 47 Microcontroladores Prof Everton Reis Bibliografia Milan Verle PIC Microcontrollers Programming in C 1a Ed MikroElektronika 2009 Microchip Tec Inc 8bit PIC Microcontrollers Data Sheet 2010 Microchip Tec Inc PIC16F87XA 284044Pin Enhanced Flash Microcontrollers Data Sheet 2003 Andrew S Tanenbaum Organização Estruturada de Computadores 5a Ed Pearson 2006 J L Hennessy D A Patterson Arquitetura de Computadores Uma Abordagem Quantitativa Editora Campus 2003

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®