Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DO PAMPA Campus Alegrete Lista 01 1) Qual a finalidade geral de um módulo temporizador (Timer) em um microcontrolador? Explique brevemente seu funcionamento e sua configuração. 2) O que é uma interrupção? Qual a finalidade de uma interrupção? Cite as fontes de interrupção do PIC utilizado durante o semestre. 3) Qual a finalidade do watchdog em um microcontrolador? Quais os procedimentos que devem ser efetuados quando o watchdog estiver ativo? 4) Qual a função dos registradores TRISX? 5) Diferencie as arquiteturas Harvard e von-Neumann. 6) Quantos bancos de memória existem no PIC16F877A? Qual o registrador empregado para realizar a mudança de um banco de memória para outro? 7) Se, em um programa em Assembly, se quiser chamar uma subrotina, deve-se usar CALL. Se em vez de CALL usar-se GOTO, a subrotina será executada da mesma forma. Explique por que razão se deve, no entanto, usar CALL. 8) Relativo à aquisição de um sinal analógico em um microcontrolador, qual das afirmações abaixo está correta? ( ) O tempo de digitalização deve ser maior ou igual ao dobro do período do sinal analógico sendo amostrado. ( ) Para que a resolução efetiva do sistema não seja diminuída, deve-se sempre manter a amplitude original do sinal analógico até a entrada no conversor A/D. ( ) O número de bits do valor digitalizado depende da frequência de amostragem utilizada. ( ) Em um conversor A/D por aproximação sucessiva é necessário o uso de um capacitor de amostragem para manter o sinal analógico constante durante todo o tempo de conversão. ( ) Nenhuma das alternativas anteriores. 9) Qual a função do registrador W na arquitetura do PIC16F877A? ( ) Armazenar valores constantes. ( ) Armazenar o valor da posição da memória que contém a instrução a ser executada. ( ) Armazenar o resultado da última operação lógico-aritmética. ( ) Armazenar informações sobre o status da última operação realizada pela ULA. ( ) Nenhuma das alternativas anteriores. 10) O program counter (PC) é um registrador especial cuja função principal é: ( ) Armazenar o status da execução do programa atual. ( ) Informar o endereço do dado que será utilizado pela unidade lógico-aritmética. ( ) Armazenar o endereço da memória de programa que contém o endereço de retorno de uma chamada de função. ( ) Armazenar o endereço da memória de programa que contém a próxima instrução a ser executada. ( ) Nenhuma das alternativas anteriores. UNIVERSIDADE FEDERAL DO PAMPA Campus Alegrete 11) Escreva um programa em linguagem Assembly que faça a soma de dois números 0xA2 e 0x29 e guarde este valor no registrador de trabalho. (Obs: apenas as rotinas relativas à soma). 12) Escreva um fragmento de código em linguagem Assembly para configurar os pinos do PORTB(RB0-RB7) como entrada. 13) Escreva um fragmento de código em Assembly usando o conjunto de instruções do PIC16F877A que realize a soma de todos os números inteiros de 5 a 10. Armazene o valor final no registrador de trabalho. Utilize laços. 14) O programa a seguir permite que um dispositivo de locomoção se oriente através de 2 sensores de entrada. Como o programa apresenta uma falha à locomoção esta comprometida. Encontre a falha e proponha uma solução ao problema. (2 pontos) PROCESSOR 16F877A #INCLUDE <P16F877A.INC> #DEFINE BANCO0 BCF STATUS, RP0 #DEFINE BANCO1 BSF STATUS, RP0 AUX EQU 0x0C ORG 0x00 GOTO Inicio ORG 0x04 Inicio BANCO1 MOVLW 0x06 MOVWF ADCON1 MOVLW B'00000011' MOVWF TRISA CLRF TRISB BANCO0 Loop MOVF TRISA, W ANDLW B'00000011' MOVWF AUX XORLW B'00000000' BTFSC STATUS, Z GOTO Along MOVF AUX, W XORLW B'00000001' BTFSC STATUS, Z GOTO Right MOVF AUX, W XORLW B'00000010' BTFSC STATUS, Z GOTO Left MOVF AUX, W XORLW B'00000011' BTFSC STATUS, Z GOTO Back GOTO Loop Along MOVLW B'00000011' MOVWF PORTB GOTO Loop Back MOVLW B'00000000' MOVWF PORTB GOTO Loop Right MOVLW B'00000010' MOVWF PORTB GOTO Loop Left MOVLW B'00000001' MOVWF PORTB GOTO Loop END UNIVERSIDADE FEDERAL DO PAMPA Campus Alegrete 15) Uma ponte que faz a travessia sobre o Rio Carnaúba, divisa com as localidades de Rio dos Vales e Passo do Vinho, apresenta problemas de rachaduras que pode comprometer o tráfego. Para impedir acidentes de veículos vários sensores com saída digital como os da figura 1 são utilizados. Desta forma, faça um programa em assembler que faça uma varredura a cada 33 milisegundos (aproximadamente) e armazene os dados na memória EEPROM do PIC. Toda vez que o sensor detectar excesso de pressão ( valor maior a 00010000) a ponte deve ser imediatamente ser fechada e um sinal sonoro de aviso associado a uma sinaleira vermelha deve ser emitido. Quando não tiver problemas de pressão nas vigas da ponte, uma luz Amarela piscante (escolha o tempo) deve ser acionada e o trânsito é liberado. Figura 1 – Sensor de pressão com saída digital de 8 bits
Compartilhar