Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Documentos relacionados
Sistemas Microcontrolados

Curso de Microcontroladores PIC 16F84A

Marcelo Fernandes Valter Rodrigues de Jesus Junior. Thermal Control

OMPLAB é um programa para PC, que roda sobre a

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

Sumário. 1. Apresentação Hardware Microcontrolador PIC16F628A Displays de 7 segmentos Teclas...

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

1.1 Noções básicas sobre interrupções em Microcontroladores

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

6. Estrutura do Programa em Assembly

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

OMódulo Comparador Analógico consiste em um conjunto

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011.

Hardware Parte I. Fábio Rodrigues de la Rocha

SEL0338 Tópicos Especiais em Sistemas Digitais

Arquitetura de Computadores. Prof. João Bosco Jr.

PIC. PeripheralInterface Controller. Prof. EngºespLuiz Antonio Vargas Pinto Prof. Vargas

Microcontrolador PIC 16F877

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Sistemas Embarcados:

Microcontroladores: Programação em C

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

Microcontroladores PIC

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016

Servo-Motor. por. Nuno Monteiro & Gabriel Dinis Eng. Electrotécnica, UTAD Junho de nuno_monteiro@portugalmail.com gabrieldinis@portugalmail.

7. Técnicas de Programação

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

Seqüencial de Leds utilizando o microcontrolador PIC16F628A Vitor Amadeu

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

FACULDADE LEÃO SAMPAIO

Programação em BASIC para o PIC Vitor Amadeu Souza

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

Manual do Usuário. McMaster Desenvolvimento de Sistemas com Microcontroladores PIC

Sistemas Microcontrolados. Período Aula 6. 1 Saulo O. D. Luiz

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware

OMicrocontrolador PIC16F877A implementa um conversor

Sistemas Microcontrolados

C:\seminario\guiao_aluno\trab6\trab6.asm

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

1. Considerações Sobre o Hardware

Introdução aos Microcontroladores PIC

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

ARQUITETURA DE PROCESSAMENTO

História e características dos Microcontroladores PIC. Microcontroladores

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) /

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos alexvbh@gmail.com

Parte 11 PROVAS ANTERIORES

INTRODUÇÃO: MICROCONTROLADORES

Copyright 2014 VW Soluções

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Guia do Usuário Placa de Desenvolvimento McLab1

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

Kit Clp Pic 40B Manual do usuário. Manual do usuário - Kit Clp Pic 40B v2.0. Copyright VW Soluções

Construção de Robôs Jogadores de Futebol (2ª Parte)

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes.

Microcontroladores. 1 Microprocessadores x Microcontroladores Microprocessadores: Microcontroladores: 2 Microcontrolador x DSP

MICROCONTROLADORES PIC PRIMEIROS PASSOS

INSTITUTO DE TECNOLOGIA EMERSON MARTINS

5. Conjunto de Instruções do MCU PIC

Palestra de Tecnologia. Assunto: Microcontroladores.

Microcontroladores PIC16 - XM 116 -

Data Sheet FBEE Kit V05

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Arquitetura PIC - PWM

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

01. Identifique o conjunto de portas de entrada A e o conjunto de portas B na figura abaixo.

Sumário. 1. Apresentação Hardware Microcontrolador PIC16F877A LCD alfanumérico Displays de 7 segmentos...

Manual do usuário. - Kit Clp Pic 40 v4.0. Manual do usuário. Copyright VW Soluções

Application Note FBEE Controle de Placas com entradas Analógicas REV01. 1 Rev01

PIC16F628a. Pinagem do PIC16F628a:

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Manual MicroICD. Soluções Eletrônicas

Copyright 2013 VW Soluções

Conhecendo o PIC24 e o mikropascal

Laboratório de Hardware

Sistemas Embarcados:

Sumário. 1. Apresentação Hardware Microcontrolador PIC18F LCD alfanumérico Displays de 7 segmentos...

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

V1 5V +V. (14)Vdd (6)RB0 PIC 16F628A. (16) Clk-out. C1 33pF. C2 33pF. Figura 1 Circuito pisca-pisca.

Arquitetura do Microcontrolador Atmega 328

Microcontrolador PIC: Conceitos Básicos

Sistemas Digitais e Microcontrolados

Sistemas Microcontrolados

Jadsonlee da Silva Sá

Comunicação USB com o PIC Vitor Amadeu Souza

DEPARTAMENTO DE ELECTROTECNIA. João Paulo Baptista. Curso de Engenharia Electrotécnica Electrónica e Computadores

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

UNIPAC UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS FACULDADE DE CIÊNCIA DA COMPUTAÇÃO E COMUNICAÇÃO SOCIAL CURSO DE CIÊNCIA DA COMPUTAÇÃO

Disciplina : Microcontroladores AVR

Copyright 2013 VW Soluções

Guia do Usuário ICD2 BR In Circuit Debugger

Sistemas Digitais e Microcontrolados

Cerne Tecnologia e Treinamento

Microcontroladores e FPGAs

Introdução ao Microcontrolador PIC

INTRODUÇÃO AOS SISTEMAS EMBEBIDOS

Transcrição:

Placa Upgrade PIC16F84A p/ PIC16F62x

Sumário 1. UTILIZANDO OS PICS 16F62X...3 1.1. INTRODUÇÃO...3 2. ATUALIZAÇÃO DO HARDWARE...4 2.1. UPGRADE DA PLACA MCLAB1 PARA TRABALHAR COM PIC16F627 / PIC16F628...4 2.2. POR QUE A ALTERAÇÃO É NECESSÁRIA?...4 3. CARACTERÍSTICAS DOS PICS 16F62X (P.13 DO LIVRO)5 3.1. A PINAGEM...6 3.2. AS NOMENCLATURAS UTILIZADAS (PÁGINA 14)...6 3.3. CARACTERÍSTICAS ELÉTRICAS E OUTRAS (PÁGINA 123)...7 4. MEMÓRIA DE DADOS (PÁGINA16)...8 5. MEMÓRIA DE PROGRAMA (P.15 DO LIVRO)...10 5.1. CONVERTENDO OS PROGRAMAS...10 6. CONVERTENDO OS PROGRAMAS P/ A PLACA MCLAB1...11 7. ROTINAS PARA EEPROM CORRIGIDAS...13 7.1. ESCRITA (PÁGINA 118)...13 7.1.1. Leitura (página 119)...13 7.1.2. Exemplo (página 123)...13 8. GRAVAÇÃO IN-CIRCUIT...15 II

1. Utilizando os PICs 16F62x 1.1. Introdução Atualmente tanto o livro Desbravando o PIC quanto o curso e a placa McLab 1 da Labtools se baseiam no PIC16F84 para a realização de todas as experiências propostas. Entretanto, nos últimos tempos a Microchip desenvolveu novos modelos de PIC que possuem características semelhantes ao F84 mas com uma tecnologia superior. Isto possibilita que estes novos modelos, denominados 16F627 e 16F628, possuam mais recursos e sejam mais baratos. A Labtools, no seu constante trabalho de divulgação do conhecimento, e na sua plena preocupação com os melhores benefícios para os nossos clientes, resolveu criar este documento para que os usuários de nossos sistemas possam ter a opção de utilizarem também os novos modelos apresentados. Não é nossa intenção entretanto, explicar ou esclarecer os novos recursos disponíveis nos modelos 16F62x, mas somente informar sobre as alterações necessárias para utiliza-los nos exemplos desenvolvidos para o 16F84. 3

2. Atualização do Hardware 2.1. Upgrade da Placa para trabalhar com PIC16F627 / PIC16F628 Alterar os resistores R19, R20, R21, R22, R23, R24, R25 e R26 originalmente de 10kΩ para 330Ω e resistores R15, R16 e R17 originalmente de 470Ω para 2k2Ω. Atenção! A atualização do hardware só é necessária para as placas adquiridas anteriormente a data 13 de novembro de 2001. 2.2. Por que a alteração é necessária? A placa dispõe de um recurso de hardware que possibilita a utilização de uma entrada e uma saída num mesmo pino do microcontrolador. Este recurso é útil, por exemplo, quando se deseja ler o estado de um botão e no mesmo pino controlar um led. Desta forma, minimiza-se os I/O s utilizados no microcontrolador, possibilitando assim, desenvolver grandes aplicações mesmo em microcontroladores com poucos I/O s. No caso da placa, este recurso foi utilizado nas chaves SW2, SW3 e SW4, nos leds D10, D11 e D12 que estão ligados respectivamente nos pinos RA1, RA2, RA3 do PIC ( vide esquema elétrico). A placa foi inicialmente projetada para a utilização com o microcontrolador PIC16F84, acontece que neste microcontrolador estes pinos tinham uma arquitetura tipo TTL, já no PIC 16F62x estes pinos são do tipo Schmitt Trigger. Isso significa que os níveis de tensão que a porta entende como nível lógico 1 e/ou 0 são diferentes. Admitindo uma tensão de alimentação de 5V, para o PIC16F84 ( TTL ) o microcontrolador entende nível lógico 1 a partir de 2V nível lógico 0 abaixo de 0,8V. No PIC16F62x ( Schmitt Trigger ) o microcontrolador entende nível lógico 1 a partir de 4V e nível lógico 0 abaixo de 2V. Em virtude deste fato, para utilizar a placa 4

com o PIC16F62x é necessário alterar o valor de alguns resistores para garantir a polarização correta e conseqüentemente adequar os níveis de tensão para a porta tipo Schmitt Trigger. É importante salientar que a alteração não prejudica em nada a utilização da placa com o PIC 16F84, ou seja, depois de alterada, a placa poderá ser utilizada tanto com o PIC16F62x como com o PIC16F84. Você deve estar se perguntando porque a Microchip modificou a arquitetura interna de TTL para Schmitt Trigger nos PIC16F62x. O problema é que este novo microcontrolador apresenta um recurso interno analógico (comparadores) que não estava disponível no PIC16F84. No PIC16F62x alguns pinos podem ser configurados como entradas analógicas de comparadores internos, por isso, a alteração de TTL para Schmitt Trigger. Esta alteração não foi em todos os pinos do microcontrolador, e sim apenas naqueles pinos utilizados pelos comparadores analógicos, ou seja, no PORTA, justamente o mesmo que utilizamos na placa para fazer a leitura/escrita num mesmo pino. 3. Características dos PICs 16F62x (p.13 do livro) Para os usuários que possuem o livro Desbravando o PIC, as principais diferenças entre os modelos podem ser observadas em relação as características apresentadas no Capítulo 5 O PIC16F84. Por isso, vamos seguir a mesma formatação do livro para apresentarmos as características dos modelos 16F62x: Microcontroladores de 18 pinos, o que facilita a montagem de hardwares experimentais; 16 I/Os, sendo que 15 podem ser configurados como entradas e saídas e 1 (RA5) só pode ser utilizado como entrada; Possui oscilador interno de 4MHz (pode ser usado externo, perdendo-se 2 I/O s); Possui Máster Clear interno (pode ser usado externo, perdendo-se 1 I/O); 5

5 interrupções disponíveis (TMR0, Externa, Mudança de Estado, EEPROM e comparador); Dois comparadores internos com tensão de referência externa; Três timers internos: TMR0 (8 bits), TMR1 (16 bits) e TMR2 (8 bits); Capture,Compare e PWM (10 bits); USART; Memória de programação Flash, que permite a gravação do programa diversas vezes no mesmo chip, sem a necessidade de apaga-lo através de luz ultra-violeta, como acontece nos microcontroladores de janela; Memória EEPROM (não volátil) interna; Via de programação com 14 bits e 35 instruções. 3.1. A pinagem 3.2. As nomenclaturas utilizadas (página 14) O 16F62x possui um total de 16 I/Os separados em dois grupos denominados PORTAS. Desta forma temos a Porta A e a Porta B. Para facilitarmos o entendimento e a comparação com os data sheets originais, 6

usaremos os termos provenientes do inglês: PORTA (port A) e PORTB (port B). O PORTA possui 8 pinos que podem ser configurados como entrada ou saída, e seus nomes são definidos como RA0, RA1, RA2, RA3, RA4, RA5, RA6 e RA7. O pino referente ao RA4 pode ser configurado também para incrementar o contador TMR0. Nos exercícios do livro e do curso são utilizadas somente as portas de RA0 a RA4, pois os pinos 16 e 17 são utilizados para o oscilador externo e o pino 4 é utilizado como Master Clear externo. As demais funções destes pinos, como os comparadores e oscilador interno não são vistas no livro ou no curso. Já o PORTB possui 8 pinos configuráveis como entrada ou saída, sendo seu nomes RB0, RB1, RB2, RB3, RB4, RB5, RB6 e RB7. O RB0 pode ser utilizado também para gerar a interrupção externa, assim como os pinos de RB4 a RB7 podem gerar a interrupção por mudança de estado. Estes pinos possuem também outras funções, como a USART, SPI, Capture, Compare, PWM, mas estes recursos não são estudados no livro e no McLab 1. Maiores detalhes sobre os recursos disponíveis podem ser conseguidos no Data Sheet do componente. 3.3. Características elétricas e outras (página 123) Temperatura de trabalho... -40ºC até +125ºC Temperatura de armazenamento...-65ºc até 150ºC Tensão de trabalho... 3.0V a 5.5V Voltagem máxima no pino Vdd (em relação ao Vss)... -0.3V até 6.5V V. máxima no pino MCRL (em relação ao Vss)...-0.3V até 14V V. max. nos demais pinos (em relação ao Vss)...-0.3V até (Vdd + 0.3V) Dissipação máxima de energia...800 mw Corrente máxima de saída no pino Vss...300 ma Corrente máxima de entrada no pino Vdd... 250 ma Corrente máxima de entrada de um pino (quando em Vss)...25 ma Corrente máxima de saída de um pino (quando em Vdd)... 25 ma Corrente máxima de entrada do PORTA... 200 ma Corrente máxima de saída do PORTA... 200 ma Corrente máxima de entrada do PORTB... 200 ma Corrente máxima de saída do PORTB... 200 ma 7

4. Memória de dados (página16) A memória de dados da família F62x é bem diferente da do F84. As principais diferenças a serem consideradas para a migração (F84 -> F62x) são: Posição inicial da memória de dados de uso geral: de 0x0C para 0x20; Posição dos endereços dos SFR s relacionados com a EEPROM: EEDATA: de 0x08 para 0x9A; EEADR: de 0x09 para 0x9B; EECON1: de 0x88 para 0x9C; EECON2: de 0x89 para 0x9D; Vale observar também que a RAM para estes modelos aumentou de 68 para 225 bytes. A EEPROM aumentou de 64 para 128 bytes. 8

9

5. Memória de programa (p.15 do livro) O importante a observar é que o modelo 16F627 possui o mesmo tamanho de memória de programa que o 16F84, isto é, 1K. Já o 16F628 possui o dobro de memória: 2K. Isto possibilita que qualquer um dois possa ser utilizado no lugar do 16F84. 5.1. Convertendo os programas Para que os programas desenvolvidos para 16F84 possam ser utilizados na família 16F62x é importante observar os seguintes pontos para a conversão de qualquer programa: Sempre altere o modelo de PIC no projeto em uso. Para isso, utilize a opção Edit Project, do menu Project. Reposicione a localização do bloco de variáveis. Para isso, altere a linha CBLOCK 0X0C para CBLOCK 0X20. Esta linha está no início de todo programa e exemplo do livro, no bloco Variáveis. substituir o arquivo de include no bloco Arquivos de Definições, de <16F84.INC> para <16F627.INC> ou <16F628.INC>. 10

Na rotina de inicialização do programa (INICIO), devem ser inseridas as seguintes linhas ao final (após BANK0): MOVLW B 00000111 MOVWF CMCON ; desliga os comparadores internos Tomar cuidado com as rotinas de escrita e leitura da EEPROM, pois os registradores EEDATA e EEADR encontram-se no Banco 1 e não mais no banco 0. Nunca gravar o microcontrolador com a opção de oscilador interno. Nunca gravar o microcontrolador com a opção WDT ON. Se esta função não estiver prevista em software. 6. Convertendo os Programas p/ a placa Para que os programas desenvolvidos para o PIC16F84 possam ser utilizados na família PIC16F62x na placa McLab 1 é importante observar os seguintes pontos: Gravar o microcontrolador com a opção Brown-Out Reset (bor) ligada. Gravar o microcontrolador com a opção Power-on Reset (por) ligada. 11

Gravar o microcontrolador com a opção Watchdog Timer (WDT) desligada. Nunca gravar o microcontrolador com a opção Low Voltage Programer (LVP) ligada, pois o pino de I/O RA5/MCLR será gravado com a opção de MCLR_ON. (tome cuidado com esta opção). Utilize a seguinte linha de comando para o config. _CONFIG_BODEN_ON &_CP_OFF &_PWRTE_ON &_WDT_OFF &_LVP_OFF &_MCLRE_ON & _XT _ OSC. 12

7. Rotinas para EEPROM corrigidas 7.1. Escrita (página 118) ESCR_E2PROM BANK1 ;BANCO 1 MOVWF EEDATA ;ACERTA DADO PASSADO EM W BCF INTCON,GIE ;DESABILITA INTERRUPÇÕES BSF EECON1,WREN ;HABILITA ESCRITA MOVLW 0X55 ;INICIALIZAÇÃO DA ESCRITA MOVWF EECON2 ;(PROCEDIMENTO OBRIGATÓRIO) MOVLW 0XAA MOVWF EECON2 BSF EECON1,WR ;INICIA ESCRITA BCF EECON1,WREN BTFSC EECON1,WR ;NÃO, ACABOU ESCRITA? GOTO $-1 ;NÃO, CONTINUA AGUARDANDO BANK0 ;SIM, BANCO 0 BSF INTCON,GIE ;HABILITA INTERRUPÇÕES NOVAMENTE RETURN ;RETORNA 7.1.1. Leitura (página 119) LE_E2PROM BANK1 ;BANCO 1 BSF EECON1,RD ;PREPARA LEITURA NOP MOVF EEDATA,W ;COLOCA DADO EM W BANK0 ;BANCO 0 RETURN ;RETORNA 7.1.2. Exemplo (página 123) 13

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* ROTINA DE LEITURA DO VALOR DO CONTADOR * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ESTA ROTINA LÊ O VALOR DA MEMÓRIA E COLOCA O RESULTADO NA ; VARIÁVEL "CONTADOR". LE_CONTA MOVLW POS_MEM BANK1 ;MUDA PARA BANCO 1 MOVWF EEADR ;ACERTA O ENDEREÇO PARA LEITURA BANK0 ;VOLTA PARA BANCO 0 CALL LE_E2PROM ;EFETUA A LEITURA DA EEPROM MOVWF CONTADOR ;ATUALIZA O CONTADOR RETURN ;RETORNA ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* ROTINA DE ESCRITA DO VALOR DO CONTADOR * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ESTA ROTINA ESCREVE O VALOR ATUAL DE CONTADOR NA MEMÓRIA EEPROM ESCR_CONTA MOVLW POS_MEM BANK1 ;MUDA PARA BANCO 1 MOVWF EEADR ;ACERTA O ENDEREÇO PARA LEITURA BANK0 ;VOLTA PARA BANCO 0 MOVF CONTADOR,W ;COLOCA CONTADOR EM W CALL ESCR_E2PROM ;EFETUA A ESCRITA EEPROM RETURN ;RETORNA 14

8. Gravação in-circuit A placa é compatível com os gravadores McFlash e McPlus, de forma que o microcontrolador não precisa ser retirado da placa para ser gravado. O McFlash/McPlus deve ser ligado no conector CN3 e somente a Placa deve estar alimentada, fornecendo energia para o gravador. 15