




















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Acesso indireto à memória; Interface de Entrada e Saída - Parte 1: Modulo CCP - Captura, comparação e PWM
Tipologia: Notas de aula
1 / 28
Esta página não é visível na pré-visualização
Não perca as partes importantes!





















[Disponível na
ACESSO INDIRETO À MEMÓRIA DE DADOS Acesso direto à memória de dados:Primeiro seleciona-se o banco de registradores, por meio dos bits RP1 e RP0do STATUS, em^ seguida^ o^ registrador^ desejado
é^ acessado^ informando^ o endereço do mesmo na instrução (7bits). UFSJ – CAP© Edgar C. Furtado
AULA-
ACESSO INDIRETO À MEMÓRIA DE DADOS Acesso indireto à memória de dados:Primeiro o endereço do registrador desejado é movido para
FSR. Em seguida, o acesso/modificação do conteúdo do registrador desejado é realizado pormeio de outro registrador:^ INDF. UFSJ – CAP© Edgar C. Furtado
AULA-
ACESSO INDIRETO À MEMÓRIA DE DADOS Exemplo: Assumindo-se que é necessário zerar o conteúdo do registradorTRISA. No estado^ inicial (após energização^ ou^
reset) tem-se que: IRP=0. Logo, inicialmente os bancos 0 e 1 estão selecionados. ; MICROPROCESSADORES ; -- ARQUIVO^ DE^ DEFINIÇÕES: #INCLUDE^ <P16F877.INC>__CONFIG^ _XT_OSC^ &^ _WDT_OFF &^ _PWRTE_OFF
& _BODEN_OFF^ &^ _LVP_OFF^ &^ _CPD_OFF^ &^ _CP_OFF ; -- VETOR^ DE^ RESET:^ ORG^ 0X00^ GOTO^ INICIO
Banco 0^ Banco 1^5 GOTO^ INICIO ; -- INÍCIO INTERRUPÇÃO: ORG^ 0X04RETFIE ; -- INÍCIO DO^ PROGRAMA: INICIOBCF STATUS,^ IRPSeleção dos bancos de memória 0 e 1.MOVLW 0X85^ Acessar um dos 256 registradores dos referidos bancos de memória.MOVWF FSR CLRF INDF^ Zera o registrador apontado por FSR, que nesse caso é o TRISA.... ; -- FIM DO PROGRAMA: END UFSJ – CAP© Edgar C. Furtado AULA-
ACESSO INDIRETO À MEMÓRIA DE DADOS Tomando-se a linguagem C como exemplo, a relação entre o acesso indiretoà memória, na arquitetura do PIC, e os ponteiros é: & É equivalente ao registrador FSR^ ^ Endereço da variável. ***** É equivalente ao registrador INDF^ ^ Conteúdo da variável. Na arquitetura do microcontrolador PIC16F o ponteiro é definido com apenasum registrador na memória.Entretanto, em arquiteturas mais complexas pode-se um ponteiro pode serdefinido em qualquer registrador na memória. Além disso, o ponteiro podeassumir^ diferentes^ tipos^ de^ variáveis,UFSJ – CAP© Edgar C. Furtado
tais^ como,^ inteiro,^ ponto^ flutuante, entre outras.
AULA-
ACESSO INDIRETO À MEMÓRIA DE DADOS Exemplo: Considere o^ seguinte trecho de código em
C, e uma^ possível versão em^ Assembly.
; -- DECLARAÇÃO^ DE^ VÁRIÁVEIS: X^ EQU^ D’32’^ ;^ Endereço^ da^ Variável
X Y^ EQU^ D’33’^ ;^ Endereço^ da^ Variável
Y ; -- INÍCIO DO^ PROGRAMA: PRINCIPALMOVLW^ X^ ;^ W^ ^ D’32’^ MOVWF^ FSR^ ;^ FSR^ ^ W void^ main(void){^ int^ x,^ y;^ int^ *p; UFSJ – CAP© Edgar C. Furtado
MOVWF^ FSR^ ;^ FSR^ ^ W MOVF^ INDF,W^ ;^ W^ ^ INDF MOVWF^ Y^ ;^ Y^ ^ W ... ; -- FIM^ DO PROGRAMA:^ END int^ *p; p =^ &x;y =^ *p;} A variável p foi declarada como um ponteiro inteiro, que recebe o endereçoda variável x. A variável y recebe o conteúdo do endereço apontado por p.^ AULA-
PERIFÉRICOS: MÓDULO CCP O módulo CCP possui três funções distintas: Captura, Comparação e Geraçãode sinal PWM. Função Captura: É utilizada quando se deseja registrar o tempo que um dadoevento ocorreu. Essa função está associada ao temporizador TIMER1 de 16bits. Função de Comparação: É^ utilizada^ quando^ se^ deseja^ somar
a^ quantidade^ de AULA-10 10 Função^ de^ Comparação:^ É^ utilizada UFSJ – CAP© Edgar C. Furtado
quando^ se^ deseja^ somar^ a^ quantidade
de ocorrências de um evento externo, se essa quantidade for igual a outra pré-determinada^ no^ código,^ uma^
ação^ pode^ ser^ realizada.^ Nesse
caso,^ o temporizador TIMER1 é usado como contador de eventos. Geração de um sinal PWM:^ Os sinais com largura de pulso modulada, PWM(Pulse Width Modulation), são utilizados em diversos contextos em engenharia.Essa função está associada ao temporizador TIMER2.
MÓDULO CCP: SINAL PWM Considere o sinal PWM (Pulse Width Modulation) – Pulso de largura modulada,a seguir: DUTY CYCLE 5 TEMPO (S) PERÍODO^ AULA-^ PERÍODO:^ Tempo para o sinal PWM se repetir. DUTY CYCLE:^ Período em que a largura de pulso permanece em nível lógico 1(5V); RESOLUÇÃO:^ O menor incremento que pode ocorrer noUFSJ – CAP© Edgar C. Furtado PERÍODO^ duty cycle.
x(t)^ a^ seguir^ é aplicado^ a^ uma^ lâmpada^ incandescente,
com^ resistência^ de^ 10Ω. Determine a potência média dissipada pela lâmpada.^ x(t)^5
AULA-^ 5 0 0,2T^ T0,4T^ 0,6T^ 0,8T^ UFSJ – CAP© Edgar C. Furtado
MÓDULO CCP: GERAÇÃO DE SINAL PWM Cálculo do Período do sinal PWM:^ (^ )(^ )(^
) 124 PTPRT +=TMR2OSCPWM em que:PR2 – Fator de escala, valor do registrador PR2;T– Período do^ clock^ do sistema;OSC^
AULA-^ OSC P– Fator de pré-escala do temporizador TMR2:TMR2^ UFSJ – CAP© Edgar C. Furtado
1, 4^ e^^16 ; Quando o perído TMR2 é igual ao PR2, os seguintes eventos ocorrem:^ O temporizador TMR2 é zerado;^ O terminal CCP1 se torna nível lógico 1, à exceção se
duty cycle =0% ;
GERAÇÃO DE SINAL PWM Cálculo da resolução do sinal PWM A resolução do sinal PWM representa um número binário que será equivalenteà largura do pulso de nível lógico 1, dentro do período. CCP1RL^
A resolução Ré formada por:PWM^
AULA-^ Bit 7^ UFSJ – CAP© Edgar C. Furtado
Duty Cycle Assumindo-se resolução máxima possível de 10bits. a:
GERAÇÃO DE SINAL PWM Teste para avaliar a possibilidade do uso da quantidade de bits para resolução.Existe um valor máximo para a resolução do sinal PWM, que é dada por: F OSC^ log^ (^ )(^ )^ PF ^ TMR2PWM bitsR =)PWM(máximo^ )^2 log(^ ^ AULA-^ UFSJ – CAP© Edgar C. Furtado
) (^2) log(^ ^ ^ em que:R: Maior valor da resolução: [CCP1RL e CCP1CON(5:4)];PWM(máximo)F: Frequência do^ clock^ do sistema;OSC^ F: Frequência do sinal PWM;PWM^ P: Fator de pré-escala do temporizador TMR2:TMR^
1, 4^ e^^16 ;
GERAÇÃO DE SINAL PWM Cálculo do Duty Cycle ( DC ):PWM^ (^ )(^ )(^ ) PTRDC =TMR2OSCPWMPWM (^) em que:R: Valor da resolução: [CCP1RL e CCP1RCON(5:4)];PWM (^) T: Período do clock do sistema;OSC AULA-^ O^ valor^ da^ resolução^ RestáPWM^ UFSJ – CAP© Edgar C. Furtado
relacionado^ ao^ conteúdo^ máximo
do registrador PR2, haja visto a multiplicação realizada 4(PR2+1) = 1024
=d OSC P: Fator de pré-escala do temporizador TMR2:TMR2 10bits
1, 4^ e^^16 ; Se o^ duty cycle^ for maior que o período do sinal PWM, então o terminal 9(RB3|CCP1) permanecerá em nível lógico 1;
GERAÇÃO DE SINAL PWM Exemplo: Cálculo do duty cycle^ do sinal PWM.Considere o MCR operando a 4MHz, com PR2 ajustado para 255
e com fatord de escala de 4 aplicado ao TMR2. Assuma três valores para o
duty cycle ,
(^ )(^ )( UFSJ – CAP© Edgar C. Furtado
1.^ [CCP1RL = 0000 0000e CCP1CON(5:4) = 00]^ ^0 b^ b^ ) PTRDC^^ = PWM^ TMR2OSCPWM^ ( )(^ )( ) n^42500 =^ ms^0 =
d