Considerando esses fatores, esta atividade pretende avaliar sua capacidade de interpretar um sistema digital responsável por contar peças que passam por um processo de pintura, contando com um botão que incrementa e outro que decrementa um contador implementado em assembly. O programa:

Categoria:

Descrição

Considerando esses fatores, esta atividade pretende avaliar sua capacidade de interpretar um sistema digital responsável por contar peças que passam por um processo de pintura, contando com um botão que incrementa e outro que decrementa um contador implementado em assembly.

O programa:

; programa para gerar um sinal pwm com frequencia de saída PWM
;de 1,25KHZ UTILIZANDO OSCILADOR INTERNO.
;a) Quando RA0 estiver em 1, o duty cycle é de 25%.
;b) Quando RA1 estiver em 1, o dutycycle é de 50%.
;c) Quando RA2 estiver em 1, o duty cycle é de 75%.
;d) Quando RA3 estiver em 1, o dutycycle é de 100%.

; O VENTILADOR DO KIT P04 SERÁ ACIONADO PELO PINO RC1 (PINO 16)
;QUE É A SAÍDA DO MÓDULO CCP2 QUANDO EM PWM


; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * CONFIGURAÇÕES PARA GRAVAÇÃO *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; CONFIG FOSC = XT_XT, FCMEN = OFF, IESO = OFF, PWRT = ON, BOR = ON, BORV = 0
CONFIG FOSC = INTOSCIO_EC, FCMEN = OFF, IESO = OFF, PWRT = ON, BOR = ON, BORV = 0

CONFIG WDT = OFF, WDTPS = 128, MCLRE = ON, LPT1OSC = OFF, PBADEN = OFF
;CONFIG CCP2MX = PORTC, STVREN = OFF,
CONFIG LVP = OFF, DEBUG = OFF, XINST = OFF
CONFIG CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF, CPB = OFF, CPD = OFF
CONFIG WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF, WRTB = OFF
CONFIG WRTC = OFF, WRTD = OFF, EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF
CONFIG EBTR3 = OFF, EBTRB = OFF

#INCLUDE <P18F4550.INC> ; MICROCONTROLADOR UTILIZADO


; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * DEFINIÇÃO DAS VARIÁVEIS *


; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * DEFINIÇÃO DAS VARIÁVEIS *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CBLOCK 0X0000 ; BANK 0 –> 0X00..0X5F –> ACCESS BANK

ENDC



; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * ENTRADAS *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; AS ENTRADAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAÇÃO E
; FUTURAS ALTERAÇÕES DO HARDWARE.

#DEFINE BT_1 PORTA,0
#DEFINE BT_2 PORTA,1
#DEFINE BT_3 PORTA,2
#DEFINE BT_4 PORTA,3


; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * SAÍDAS *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; AS SAÍDAS DEVEM SER ASSOCIADAS A NOMES PARA FACILITAR A PROGRAMAÇÃO E
; FUTURAS ALTERAÇÕES DO HARDWARE.






; * VETOR DE RESET DO MICROCONTROLADOR *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; POSIÇÃO INICIAL PARA EXECUÇÃO DO PROGRAMA

ORG 0X00 ; ENDEREÇO DO VETOR DE RESET

GOTO CONFIGURACAO ; PULA PARA CONFIG DEVIDO A REGIÃO
; DESTINADA AS ROTINAS SEGUINTES
;*********************************************************************************
;ENDEREÇOS DE TRATAMENTO DE INTERRUPÇÕES
ORG 0X0008 ;ENDEREÇO DE TRATAMENTO DE INTERRUPÇÕES
RETFIE

ORG 0X0018
RETFIE

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * CONFIGURAÇÕES INICIAIS DE HARDWARE E SOFTWARE *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; NESTA ROTINA SÃO INICIALIZADAS AS PORTAS DE I/O DO MICROCONTROLADOR E AS
; CONFIGURAÇÕES DOS REGISTRADORES ESPECIAIS (SFR). A ROTINA INICIALIZA A
; MÁQUINA E AGUARDA O ESTOURO DO WDT.

CONFIGURACAO

MOVLW B’11111111′
MOVWF TRISA ; CONFIGURA I/O DO PORTA

MOVLW B’00000000′
MOVWF TRISB ; CONFIGURA I/O DO PORTB

MOVLW B’11111001′
MOVWF TRISC ; PINO RC2 E RC1 COMO SAIDA

MOVLW B’11110000′
MOVWF TRISD ; CONFIGURA I/O DO PORTD

MOVLW B’00001111′
MOVWF TRISE ; CONFIGURA I/O DO PORTE


MOVLW .99
MOVWF PR2 ;PARA FREQUÊNCIA DE 2,5KHZ CO OSCILADOR INTERNO


MOVLW B’00000000′ ; CONFIGURA INTERRUPÇÕES

MOVWF INTCON ; HABILITA CHAVE GERAL DAS INTERRUPÇÕES E PERIFERICOS E TMR0

MOVLW B’00001111′ ; CONFIGURA CONVERSOR A/D
MOVWF ADCON1 ; CONFIGURA PORTA, PORTB E PORTE COMO I/O DIGITAL

MOVLW B’00110010′
MOVWF OSCCON

; MOVLW B’11001111′
;MOVWF OSCTUNE

;********************************************************************************
;ROTINA PARA LIMPAR OS REGISTRADORES DE ENTRADAS E SAIDAS.
LIMPA_REGS
CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
CLRF PORTE
CLRF LATA
CLRF LATB
CLRF LATC
CLRF LATD
CLRF LATE

;*****************************************************************************
;PROGRAMA PRINCIPAL

CLRF CCP2CON

MAIN

CALL DC_25
CALL DC_50
CALL DC_75
CALL DC_100
GOTO MAIN

DC_25

BTFSS BT_1
RETURN

BSF T2CON,2

MOVLW .25 ;PARA DC DE 25%
MOVWF CCPR2L

MOVLW B’00001100′ ;SAIDA SIMPLES (P1A)<7:6>,00 PARTE BAIXA DA RESOLUÇAO<5:4>
MOVWF CCP2CON ;P1A E P1B ATIVOS ALTOS <3:0>
TESTE_LIB_1
BTFSC BT_1
GOTO TESTE_LIB_1
CLRF CCP2CON ;DESLIA MÓDULO CCP
BCF T2CON,2
RETURN

DC_50

BTFSS BT_2
RETURN

BSF T2CON,2

MOVLW .50 ;PARA DC DE 50%
MOVWF CCPR2L

MOVLW B’00001100′ ;SAIDA SIMPLES (P1A)<7:6>,00 PARTE BAIXA DA RESOLUÇAO<5:4>
MOVWF CCP2CON ;P1A E P1B ATIVOS ALTOS <3:0>
TESTE_LIB_2
BTFSC BT_2
GOTO TESTE_LIB_2
CLRF CCP2CON ;DESLIGA MÓDULO CCP
BCF T2CON,2
RETURN

DC_75
BTFSS BT_3
RETURN

BSF T2CON,2

MOVLW .75 ;PARA DC DE 75%
MOVWF CCPR2L

MOVLW B’00001100′ ;SAIDA SIMPLES (P1A)<7:6>,00 PARTE BAIXA DA RESOLUÇAO<5:4>
MOVWF CCP2CON ;P1A E P1B ATIVOS ALTOS <3:0>
TESTE_LIB_3
BTFSC BT_3
GOTO TESTE_LIB_3
CLRF CCP2CON ;DESLIGA MÓDULO CCP
BCF T2CON,2
RETURN

DC_100

BTFSS BT_4
RETURN

BSF T2CON,2

MOVLW .100 ;PARA DC DE 100%
MOVWF CCPR2L

MOVLW B’00001100′ ;SAIDA SIMPLES (P1A)<7:6>,00 PARTE BAIXA DA RESOLUÇAO<5:4>
MOVWF CCP2CON ;P1A E P1B ATIVOS ALTOS <3:0>
TESTE_LIB_4
BTFSC BT_4
GOTO TESTE_LIB_4
CLRF CCP2CON ;DESLIGA MÓDULO CCP
BCF T2CON,2
RETURN
reew4




END ; FIM DO PROGRAMA


Avaliações

Não há avaliações ainda.

Seja o primeiro a avaliar “Considerando esses fatores, esta atividade pretende avaliar sua capacidade de interpretar um sistema digital responsável por contar peças que passam por um processo de pintura, contando com um botão que incrementa e outro que decrementa um contador implementado em assembly. O programa:”

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *