O documento descreve as características do microcontrolador PIC16F628a, incluindo que possui 18 pinos, 35 instruções, memória Flash de 2048 words e RAM de 224 bytes. Apresenta detalhes sobre a arquitetura Harvard, conjunto de instruções RISC e uso dos pinos como entradas e saídas digitais.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PDF, TXT ou leia online no Scribd
O documento descreve as características do microcontrolador PIC16F628a, incluindo que possui 18 pinos, 35 instruções, memória Flash de 2048 words e RAM de 224 bytes. Apresenta detalhes sobre a arquitetura Harvard, conjunto de instruções RISC e uso dos pinos como entradas e saídas digitais.
O documento descreve as características do microcontrolador PIC16F628a, incluindo que possui 18 pinos, 35 instruções, memória Flash de 2048 words e RAM de 224 bytes. Apresenta detalhes sobre a arquitetura Harvard, conjunto de instruções RISC e uso dos pinos como entradas e saídas digitais.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PDF, TXT ou leia online no Scribd
O documento descreve as características do microcontrolador PIC16F628a, incluindo que possui 18 pinos, 35 instruções, memória Flash de 2048 words e RAM de 224 bytes. Apresenta detalhes sobre a arquitetura Harvard, conjunto de instruções RISC e uso dos pinos como entradas e saídas digitais.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PDF, TXT ou leia online no Scribd
Fazer download em pdf ou txt
Você está na página 1de 0
Anlise de Circuitos Digitais PIC16F628a Prof.
Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 1
PIC16F628a
O PIC16F628a um microcontrolador fabricado pela Microchip Technology (www.microchip.com), com as seguintes caractersticas: - composto de 18 pinos; - possui somente 35 instrues no seu microcdigo; - sinal de clock de freqncia at 20 MHz; - memria de programa do tipo Flash de 2048 words (1 word = 32 bits); - 224 bytes de memria RAM para dados; - 128 bytes de memria EEPROM para dados; - instrues de 14 bits com 200ns de tempo de execuo; - dados de 8 bits por endereo de memria; - 15 registradores especiais; - 16 pinos os quais podem ser configurados como entrada e/ou sada; - outras caractersticas especiais como programao in-circuit serial, proteo por cdigo, watchdog timer (temporizador co de guarda), mdulo CCP, comparador interno, USART,....
Pinagem do PIC16F628a:
Os pinos de RA0 RA7 e de RB0 RB7 podem ser configurados como entradas ou sadas digitais. A alimentao se d no pino V dd , ligado normalmente em 5V com faixa de tolerncia de 2 6V e o pino V ss a referncia de terra. O pino OSC1/CLKIN utilizado para sinal de clock poduzido por cristal ou um circuito externo e o pino OSC2/CLKOUT para sinal de clock por cristal (utilizado em conjunto com OSC1/CLKIN). O pino MCLR uma entrada de sinal de reset em nvel Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 2
baixo (zero). O PIC16F628a composto pelos subsistemas digitais conforme diagrama de blocos abaixo:
Arquitetura Harvard
O PIC16F628a possui uma arquitetura denominada Harvard para acesso aos dados e s instrues do programa, a qual caracterizada por utilizar um bus (via de acesso) para comunicao dos dados e outro bus distinto para comunicao com o programa. A maioria dos microcomputadores e microcontroladores no mercado utilizam um nico bus, tanto para dados quanto para instrues do programa. Nota-se a diferena no uso desta arquitetura na visualizao da memria do microcontrolador PIC: existe uma memria para o programa e outra para os dados Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 3
a serem utilizados. A figura a seguir mostra a memria RAM de um microcomputador PC, em que dados e instrues do programa esto na mesma memria, denominada memria principal (geralmente a RAM do computador). As letras abaixo, nas ltimas linhas, mostram valores dos registradores especiais, como o DS (Data Segment) o qual indica o endereo inicial dos dados na memria e o CS (Code Segment) o qual indica o endereo inicial da memria no qual as instrues do programa corrente se iniciam.
A figura abaixo mostra o software MPLab IDE com as janelas de visualizao da memria Flash que contm o programa (janela esquerda) e da memria RAM a qual contm os dados e registradores especiais (janela direita) do PIC16F628a. Este tipo de arquitetura permite uma velocidade maior no cesso ao programa e aos dados, porm so necessrios dois bus.
Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 4
Instrues RISC
Na tabela abaixo observa-se o conjunto de instrues do PIC16F628a, com os mnemnicos, os operandos de cada instruo, um resumo descritivo, o nmero de ciclos do clock exigido, o cdigo em linguagem de mquina, os bits do registrador de status que so afetados e anotaes sobre cada instruo. O nmero de instrues limitado, sendo denominado arquitetura RISC - Reduced Instruction Set (Grupo Reduzido de Instrues). O nmero de instrues pequeno, porm cada instruo formada por 14 bits que codificam uma operao e os operandos ou os dados sujeitos respectiva operao. A tabela abaixo mostra o microcdigo para os microcontroladores da linha PIC, com a instruo assembly na primeira coluna, os operandos possveis para a respectiva instruo, a descrio, o nmero de ciclos do clock que a instruo exige para ser executada e o cdigo em linguagem de mquina.
MNEMNICOS OPERANDOS DESCRIO CICLOS DO CLOCK OPCODE DE 14 BITS OPERAES DE REGISTRADORES ORIENTADAS A BYTE ADDWF f, d Soma o contedo do registrador W e de f 1 00 0111 dfff ffff ANDWF f, d Operao lgica E entre o contedo de W e f 1 00 0101 dfff ffff CLRF f Limpa o contedo de f 1 00 0001 lfff ffff CLRW -f, Limpa o contedo do registrador W 1 00 0001 0xxx xxxx COMF d Complemento do contedo de f 1 00 1001 dfff ffff DECF f, d Decrementa o valor armazenado em f 1 00 0011 dfff ffff DECFSZ f, d Decrementa o valor armazenado em f, pula a prxima instruo se for igual a 0 1 (2) 00 1011 dfff ffff INCF f, d Incrementa o valor armazenado em f 1 00 1010 dfff ffff INCFSZ f, d Incrementa o valor armazenado em f, pula a prxima instruo se for igual a 0 1 (2) 00 1111 dfff ffff IORWF f, d Operao lgica OU INCLUSIVO do contedo do registrador W com o contedo de f 1 00 0100 dfff ffff MOVF f, d Move o contedo de f para o registrador W 1 00 1000 dfff ffff MOVWF f Move o contedo do registrador W para f 1 00 0000 lfff ffff NOP -f, Sem operao 1 00 0000 0xx0 0000 Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 5
RLF d Rotaciona os bits armazenados em f para a esquerda com Carry 1 00 1101 dfff ffff RRF f, d Rotaciona os bits armazenados em f para a direita com Carry 1 00 1100 dfff ffff SUBWF f, d Subtrao do contedo em W de f 1 00 0010 dfff ffff SWAPF f, d Troca o primeiro nibble (4 bits) com o ltimo nibble armazenados em f 1 00 1110 dfff ffff XORWF f, d Operao lgica OU EXCLUSIVO do contedo de W com o contedo de f 1 00 0110 dfff ffff OPERAES DE REGISTRADORES ORIENTADAS A BIT BCF f, b Muda para 0 o valor do bit b de f 1 01 00bb bfff ffff BSF f, b Muda para 1 o valor do bit b de f 1 01 01bb bfff ffff BTFSC f, b Verifica o valor do bit b do registrador f e pula a prxima instruo se for igual a 0 1 (2) 01 10bb bfff ffff BTFSS f, b Verifica o valor do bit b do registrador f e pula a prxima instruo se for igual a 1 1 (2) 01 11bb bfff ffff OPERAES DE CONTROLE E LITERAIS ADDLW k Adiciona um nmero k ao contedo do registrador W 1 11 111x kkkk kkkk ANDLW k Operao lgica E de um nmero k com W 1 11 1001 kkkk kkkk CALL k Chamada de uma subrotina indicada por k 2 10 0kkk kkkk kkkk CLRWDT Limpa o temporizador co de guarda 1 00 0000 0110 0100 GOTO k Vai ao endereo dado por k 2 10 1kkk kkkk kkkk IORLW k Operao OU INCLUSIVO de um nmero k com W 1 11 1000 kkkk kkkk MOVLW k Move um nmero de valor k para W 1 11 00xx kkkk kkkk RETFIE Retorno de uma interrupo 2 00 0000 0000 1001 RETLW k Retorna com um valor k no registrador W 2 11 01xx kkkk kkkk RETURN Retorno de uma subrotina ao programa principal 2 00 0000 0000 1000 SLEEP Entra no modo standby 1 00 0000 0110 0011 Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 6
SUBLW k Subtrai o contedo do registrador W de um nmero k 1 11 110x kkkk kkkk XORLW k Operao lgica OU EXCLUSIVO de um nmero k com o contedo do registrador W 1 11 1010 kkkk kkkk
Obs.: Nos operandos, as letras f, d, b, k indicam: - f: registrador na memria RAM, como o PORTA, TRISB, STATUS, ou uma posio qualquer; - d: direo para a qual pode se designada a funo; - b: o nmero de um bit dentro de um registrador. Para o PIC16F628a, so de 0 a 8, porque os registradores possuem 8 bits; - k: um literal, que envolve letras (ASCII), nmeros no formato decimal, hexadecimal ou binrio, at o limite especificado pelo tamanho do registrador.
Ports de entrada e sada
Os microcontroladores da linha PIC possuem pinos que podem ser configurados como entrada ou sada digital. Cada conjunto de oito destes pinos denominado Port, geralmente classificado por uma letra do alfabeto (PortA, PortB, PortC,....) Ports de entrada e sada
Os microcontroladores da linha PIC possuem pinos que podem ser configurados como entrada ou sada digital. Cada conjunto de oito destes pinos denominado Port, geralmente classificado por uma letra do alfabeto (PortA, PortB, PortC,....). Para isto, existem implementados na memria RAM do PIC registradores especiais para configurar e ler/modificar o valor destes pinos. No PIC16F628a, dois destes registradores, o TRISA e o TRISB, so responsveis pela configurao destes pinos para funcionamento como entrada ou sada digital. A abreviatura TRIS para estes registradores provem de tri-state (trs estados) porque alguns pinos podem funcionar de trs modos diferentes: como entrada digital, sada digital ou com outra funo especfica.
Pinos do PortA Pinos do PortA Pinos do PortB Pinos do PortB Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 7
Por exemplo: os pinos RB6 e RB7 do PIC16F628a podem funcionar como entrada digital, sada digital ou terminal de comunicao serial para programar e ler o programa presente na memria do PIC. Outros modelos de microcontroladores da linha PIC possuem pinos que podem funcionar como E/S digital e entrada analgica, ou porta de comunicao de dados,.... Como cada registrador em um PIC pode armazenar no mximo oito bits, os registradores TRISA e TRISB podem configurar no mximo oito pinos cada um, com o valor de cada bit nestes registradores correspondendo configurao de um pino. O PIC16F628a possui treze pinos de E/S digital, ento o registrador TRISB responsvel pela configurao de 8 pinos (RB0 a RB7) e o registrador TRISA para o restante (RA0 a RA4, e trs bits no so utilizados neste registrador), como demonstrado nas tabelas abaixo:
RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 TRISA
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 TRISB
Obs.: Os bits marcados com um X no so utilizados, porque o PIC16F628a possui somente 13 pinos para E/S digital. A tentativa de alterao do valor destes bits no influencia o funcionamento do microcontrolador.
Cada registrador acima configura um pino como entrada digital se o bit respectivo possuir valor 1; ou sada digital, se o bit respectivo possuir o valor 0. Os exemplos abaixo mostram os valores que devem estar presentes nos registradores TRISA eTRISB dada a respectiva configurao dos pinos: - pinos RA0 a RA7 configurados como entradas digitais e pinos RB0 a RB7 como sadas digitais: TRISA 1 1 1 1 1 1 1 1
TRISB 0 0 0 0 0 0 0 0
- pinos RA0, RA2, RA4 e RA6 como entradas digitais e o restante como sadas: TRISA 0 1 0 1 0 1 0 1
TRISB 0 0 0 0 0 0 0 0
- pino RB4 como sada digital e o restante como entrada: TRISA 1 1 1 1 1 1 1 1
TRISB 1 1 1 0 1 1 1 1
- pinos RB0 e RB7 como entradas digitais e o restante como sadas digitais: TRISA 1 0 1 0 1 0 1 0
TRISB 0 1 0 1 0 1 0 1
- pinos de RA0 a RA7 como sadas digitais e o restante como entradas digitais: TRISA 0 0 0 0 0 0 0 0 Anlise de Circuitos Digitais PIC16F628a Prof. Luiz Marcelo Chiesse da Silva
Cefet/PR Cornlio Procpio 8
TRISB 1 1 1 1 1 1 1 1
- pinos RA0, RA1, RA2, RB0, RB1, RB2, RB3 e RB4 como entradas digitais e o restante como sadas: TRISA 0 0 1 1 1
TRISB 0 0 0 1 1 1 1 1
A visualizao do valor nos registradores pode ser feita no software MPLAB pela janela da memria RAM ou pela janela dos registradores de funes especiais, que exibe diretamente a denominao dos registradores especiais e seus valores em quatro formatos: decimal, ASCII, hexadecimal e binrio. A memria RAM exibe o contedo dos registradores especiais localizados na mesma, pelo seu endereo, e das posies de memria restantes. Alguns registradores especiais no se localizam na memria RAM, mas esto implementados no prprio circuito da CPU do microcontrolador PIC, como o Work Register Registrador de Trabalho ou registrador W. O endereos na memria RAM dos registradores TRISA e TRISB so 85H e 86H. Geralmente o inico da maioria dos programas para o PIC contm instrues para modificar os valores de TRISA e TRISB, ou seja, para configurar quais pinos funcionaro como entrada digital ou sada digital.