Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome do(a) Aluno(a): GABRIEL DA COSTA DOS SANTOS Matrícula: 201802482644 Disciplina: ARA0108 MICROPROCESSADOR Data: 07/ 10/ 2021 Período: 2021.2 / AV1 Turma: 3001 OBSERVAÇÕES: Leia com atenção as questões antes de responder. As questões devem ser respondidas nesta própria folha de prova. Caso necessite de mais espaço para resolução das questões, o espaçamento entre as questões pode ser alterado. Terminada a prova, o aluno deverá salvar em PDF e enviar ao professor via Teams. Boa prova. ___________________________________________________________________________________________________________ 1. Questão (valor 6,0 pontos) Desenvolva um programa em Assembly para microcontroladores PIC16F628A que realize as seguintes tarefas: - Ao ser pressionado um primeiro botão ligue um Led vermelho; - Ao ser pressionado um segundo botão ligue um Motor DC; - Ao ser pressionado um terceiro botão desligue o Motor DC e apague o Led vermelho; Deverão ser seguidas as seguintes definições: - As portas RA1, RA2 e RA3 serão configuradas como entradas para o primeiro, segundo e terceiro botões respectivamente; - As portas RB4 e RB5 serão configuradas como saídas para o Led vermelho e para o Motor DC respectivamente; Deverão ser seguidas as seguintes nomenclaturas: - Primeiro botão referenciado como BT_VM; - Segundo botão referenciado como BT_MT; - Terceiro botão referenciado como BT_CLR; - Led vermelho referenciado como LED_VM; - Motor DC referenciado como MT_DC; Deverão ser seguidas as seguintes configurações: __CONFIG _BOREN_ON & _CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _XT_OSC Obs.: As portas de entrada deverão ser acionadas com nível lógico baixo. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* EX1 - BOTÃO E LED * ;* DESBRAVANDO O PIC * ;* * ;* PROF. PAULO SILVEIRA DATA: 10/03/2020 aluno: Gabriel costa * ;* DISCIPLINA: SISTEMAS A MICROCONTROLADORES * ;* * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* DESCRIÇÃO DO ARQUIVO * ;*-------------------------------------------------------------------------------------------------------------------------------------------------* ;* SISTEMA MUITO SIMPLES PARA REPRESENTAR O ESTADO DE UM BOTÃO ATRAVÉS DE UM LED *. ;* * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* ARQUIVOS DE DEFINIÇÕES * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #INCLUDE <P16F628A.INC> ;ARQUIVO PADRÃO MICROCHIP PARA 16F628A __CONFIG _BOREN_ON & _CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _XT_OSC ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* PAGINAÇÃO DE MEMÓRIA * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;DEFINIÇÃO DE COMANDOS DE USUÁRIO PARA ALTERAÇÃO DA PÁGINA DE MEMÓRIA #DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK 0 DE MEMÓRIA #DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK 1 DE MAMÓRIA ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* VARIÁVEIS * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; DEFINIÇÃO DOS NOMES E ENDEREÇOS DE TODAS AS VARIÁVEIS UTILIZADAS ; PELO SISTEMA CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE ;USUÁRIO W_TEMP ;REGISTRADORES TEMPORÁRIOS PARA STATUS_TEMP ;INTERRUPÇÕES ;ESTAS VARIÁVEIS NEM SERÃO UTI- ;LIZADAS ENDC ;FIM DO BLOCO DE MEMÓRIA ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* FLAGS INTERNOS * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; DEFINIÇÃO DE TODOS OS FLAGS UTILIZADOS PELO SISTEMA ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* CONSTANTES * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; DEFINIÇÃO DE TODAS AS CONSTANTES UTILIZADAS PELO SISTEMA ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* ENTRADAS * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; DEFINIÇÃO DE TODOS OS PINOS QUE SERÃO UTILIZADOS COMO ENTRADA ; RECOMENDAMOS TAMBÉM COMENTAR O SIGNIFICADO DE SEUS ESTADOS (0 E 1) #DEFINE BT_VM PORTA,1 #DEFINE BT_MT PORTA,2 #DEFINE BT_CLR PORTA,3 ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* SAÍDAS * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; DEFINIÇÃO DE TODOS OS PINOS QUE SERÃO UTILIZADOS COMO SAÍDA ; RECOMENDAMOS TAMBÉM COMENTAR O SIGNIFICADO DE SEUS ESTADOS (0 E 1) #DEFINE LED_VM PORTB,4 #DEFINE MT_DC PORTB,5 ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* VETOR DE RESET * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO GOTO INICIO ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* INÍCIO DA INTERRUPÇÃO * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; AS INTERRUPÇÕES NÃO SERÃO UTILIZADAS, POR ISSO PODEMOS SUBSTITUIR ; TODO O SISTEMA EXISTENTE NO ARQUIVO MODELO PELO APRESENTADO ABAIXO ; ESTE SISTEMA NÃO É OBRIGATÓRIO,MAS PODE EVITAR PROBLEMAS FUTUROS ORG 0x04 ;ENDEREÇO INICIAL DA INTERRUPÇÃO RETFIE ;RETORNA DA INTERRUPÇÃO ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* INICIO DO PROGRAMA * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * INICIO BANK0 ;ALTERA PARA O BANCO 0 MOVLW B'00000111' MOVWF CMCON ;DEFINE O MODO DE OPERAÇÃO DO COMPARADOR ANALÓGICO CLRF PORTA ;LIMPA O PORTA CLRF PORTB ;LIMPA O PORTB BANK1 ;ALTERA PARA O BANCO 1 MOVLW B'00001110' MOVWF TRISA ;DEFINE RA2 COMO ENTRADA E DEMAIS ;COMO SAÍDAS MOVLW B'00000000' MOVWF TRISB ;DEFINE TODO O PORTB COMO SAÍDA MOVLW B'10000000' MOVWF OPTION_REG ;PRESCALER 1:2 NO TMR0 ;PULL-UPS DESABILITADOS ;AS DEMAIS CONFG. SÃO IRRELEVANTES MOVLW B'00000000' MOVWF INTCON ;TODAS AS INTERRUPÇÕES DESLIGADAS BANK0 ;RETORNA PARA O BANCO 0 ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* INICIALIZAÇÃO DAS VARIÁVEIS * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* ROTINA PRINCIPAL * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * MAIN TESTA_BOTAO_LED BTFSC BT_VM GOTO TESTA_BOTAO_MOTOR GOTO LIGA_LED TESTA_BOTAO_MOTOR BTFSC BT_MT GOTO TESTA_BOTAO_CLEAR GOTO LIGA_MOTOR TESTA_BOTAO_CLEAR BTFSC BT_CLR GOTO TESTA_BOTAO_LED GOTO DESLIGA_TUDO LIGA_LED BSF LED_VM GOTO MAIN LIGA_MOTOR BSF MT_DC GOTO MAIN DESLIGA_TUDO BCF LED_VM BCF MT_DC GOTO MAIN ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* FIM DO PROGRAMA * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * END ;OBRIGATÓRIO 2. Questão (valor 2,0 pontos) Qual dos circuitos eletrônicos abaixo é capaz representar corretamente o funcionamento da lógica desenvolvida na questão 1? JUSTIFIQUE SUA ESCOLHA. Resposta: DIAGRAMA 5 Porque e o único que corresponde as entradas e saída como e feita pela questão anterior e também a utilização do cristal e o master clear off Diagrama 1 Diagrama 2 Diagrama 3 Diagrama 4 Diagrama 5 Diagrama 6 ___________________________________________________________________________________________________________ Campus: Prova Montada em 07/10/2021 por SULACAP PAULO CEZAR ROCHA SILVEIRA
Compartilhar