TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

PROGRAMAÇÃO DIMMER

Por:   •  29/5/2017  •  Trabalho acadêmico  •  1.888 Palavras (8 Páginas)  •  262 Visualizações

Página 1 de 8

ANHANGUERA EDUCACIONAL – KROTON

UNIDADE GUARULHOS

        

ENGENHARIA ELÉTRICA

MICROCONTROLADORES E MICROPROCESSADORES

GUARULHOS

2017

PROPOSTA DO PROJETO

Criação de um controle de intensidade de luz (Dimmer) em uma lâmpada 12v (ou um LED de auto brilho) com controle de aumento e diminuição de intensidade (2 botões) e display de 7 segmentos para exibir o valor atual da intensidade.

ETAPAS DE PROJETO

Para chegar ao objetivo final desse projeto, foram cumpridas 7 etapas (listadas abaixo), onde em cada uma delas gradativamente os conceitos necessários foram estudados.

ETAPAS:

  1. Botão / LED;
  2. Delay (Temporização);
  3. Display de 7 segmentos temporizado;
  4. Display de 7 seguimentos acionado por botões;
  5. Problema de projeto, modificação de Hardware;
  6. PDW (Controle de intensidade);
  7. Controle de intensidade de luz (Dimmer).

Componentes utilizados:

  • 1 PIC 16F628A;
  • 9 Resistores;
  • 2 Botões;
  • 1 LED;
  • 1 Proto Board;
  • 1 Display 7 SEG Anodo comum;

FLUXOGRAMA

[pic 2]

        

ESQUEMA ELÉTRICO

[pic 3]

CÓDIGO FONTE

#include "P16F628A.INC" ; ADICIONA A BIBLIOTECA DO PIC

;CONFIGURA BITS DE CONFIGURAÇAO 
__CONFIG _BOREN_OFF & _CP_OFF & _PWRTE_OFF & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _INTOSC_OSC_NOCLKOUT  

; AREA PARA CRIACAO DE VARIAVEIS 

CBLOCK 0x20 

T1; VARIAVEL PARA ARMAZENAR UM VALOR PARA O DELAY

T2; VARIAVEL PARA ARMAZENAR UM VALOR PARA O DELAY

CONTADOR; VARIAVEL PARA ARMAZENAR UM VALOR PARA O CONTADOR

ENDC 

; VETOR DE RESET

ORG 0X00

GOTO INICIO

; VETOR DE INTERRUPCAO

ORG 0X04

RETFIE

;______________________________________________________________________________

INICIO

CLRF PORTA ;LIMPAR O PORT A (DEIXAR TUDO EM NIVEL LOGICO 0V)

CLRF PORTB ;LIMPAR O PORT B (DEIXAR TUDO EM NIVEL LOGICO 0V)

;SELECIONA BANCO 1

BSF STATUS,RP0

MOVLW B'00000000'

MOVWF TRISA        ;CONFIGURA PORT A COMO SAIDA

MOVLW B'11110111' 

MOVWF TRISB ; CONFIGURA O RB3 COMO SAIDA PARA O PWM E OS BOTOES DE SUBIDA DE DESCIDA DO PWM.

MOVLW B'0000000' ;CONFIGURA OPTION 

MOVWF OPTION_REG

MOVLW B'00000000' ; CONFIGURA INTCON

MOVWF INTCON

MOVLW B'00001000' ;CONFIGURA OSCILADOR INTERNO EM 4 MHZ

MOVWF PCON

TR2.249 ;

;SELECIONA BANCO 0

BCF STATUS,RP0

MOVLW B'00000101'

MOVWF CMCON

;INICIALIZACAO DO PWM

MOVLW   B'00000101'

MOVWF   T2CON

MOVLW   B'1111' ; MOVER O VALOR QUE SERA ULTILIZADO PARA CONFIGURAR A FUNÇÃO PWM PARA O REGISTRADOR W.

MOVWF   CCP1CON ; (CCP1CON Utilizado para configurar o modo de operação (captura, comparação ou PWM) e configurar os 2 bits menos significativo do duty cycle)

CLRF        CCPR1L; INICIA O PWM EM ZERO, ( CCPR1L É ULTILIZADO PARA CONFIGURA OS 8 BITS MAIS SIGNIFICATIVOS DO PWM)

;______________________________________________________________________________

MAIN; INICIO

MOVLW 0X00        ; ACIDIONAR O VALOR "0" NA VARIAVEL W.

MOVWF CONTADOR ; MOVER O VALOR DA VARIAVEL W PARA A VARIAVEL CONTADOR.

EXIBIR_NO_DISPLAY ; CHAMA SUBROTINA EXIBIR_NO_DISPLAY.

CALL ATUALIZA ; CHAMA SUBROTINA PARA APRESENTAR O VALOR DA VARIAVEL "CONTADOR" NO DISPLAY DE 7 SEGMENTOS.

CALL VERIFICACAO_DO_PWM ;SUBROTINA PARA VERIRIFICAR VALOR DA VARIAVEL CONTADOR E ADICIONAR O PERCENTUAL NA SAIDA DO PWM.

BTFSS PORTB,1 ; VERIFICA SE O BOTAO (RB1) ESTA PRESIONADO; SE ESTIVER EXECUTE A PROXIMA INSTRUCAO SENAO, EXECUTE A SEGUNDA INSTRUCAO.

GOTO INCREMENTAR_INICIO ; SALTA PARA LABEL INCREMENTAR_INICIO

BTFSS PORTB,0 ; VERIFICA SE O BOTAO (RB2) ESTA PRESIONADO; SE ESTIVER EXECUTE A PROXIMA INSTRUCAO SENAO, EXECUTE A SEGUNDA INSTRUCAO.

GOTO DECREMENTAR_INICIO ; SALTA PARA LABEL DECREMENTAR_INICIO.

GOTO EXIBIR_NO_DISPLAY ; CHAMA SUBROTINA EXIBIR_NO_DISPLAY.

;______________________________________________________________________________

...

Baixar como (para membros premium)  txt (14.1 Kb)   pdf (220.5 Kb)   docx (145 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com