·

Engenharia Elétrica ·

Sistemas Operacionais

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Preenchido pelo Aluno \ Estácio Nome ALAN LIMA DA SILVA Matrícula 201710144898 Disciplina \ (Discipllne Name) Curso Ano/Tur­ma Microcontroladores Campus Professor (s): Wagner da Silva Zazac Preenchido pelo Professor Nota NPTS: RIBEIRO Data 13/04/19 AV1 ( ) AV2 ( ) AV3 ( ) Fila A INSTRUÇÕES: • Leia com atenção cada questão antes de responder. Retire as dúvidas no momento da leitura da prova feita pelo Professor; • Responda somente com caneta preta ou azul (questões respondidas a lápis não serão consideradas para revisão); • Mediante correção de "cola", o aluno ficará com zero na PR correspondente; • Telefones celulares devem ser desligados; • Critério de correção: VIDE PONTUAÇÃO AO LADO DA QUESTÃO; • É expressamente proibido o uso de calculadora; • A prova não poderá ser feita com consulta. 1) Vemos na figura abaxlo e diagramas de blocos simplificado do PIC18F4520, cuja arquitetura é a Harvard, Qual a principal característica que a distingue da arquitetura Von-Neumann? (1,0 ponto) CPU PINS DE I/O PERIFÉRICOS (Timers, UART, conversor AID, PWM etc) MEMÓRIA DE DADOS SRAM MEMÓRIA DE DADOS EEPROM MEMÓRIA DE PROGRAMA 2) Abaixo são feitas algumas afirmações sobre o que deve feito com os pinos do microcontrolador não utilizados em uma determinada aplicação. a) Configurar como saída b) Configurar como entrada c) Configurar como pino digital d) Configurar como pino analógico e) Aplicar nível 0 f) Aplicar nível 1 Quais dos itens acima estão corretos, levando em consideração que o pino não utilizado deverá estar não conectado? (1,5 ponto) Pagina 1 de 2 3) Qual será a frequência do sinal de clock se o cristal for de 10 MHz e a opção escolhida para o oscilador for HS? Neste caso, qual será o tempo correspondente ao ciclo de instrução (Tcy)? (1,0 ponto) C1 13 080 XTAL 16 0052 C2 4) Cite três eventos que podem gerar um RESET no PIC18F4520. (1,0 ponto) 5) Monte o hardware e o programa-fonte do fluxograma abaixo, levando em consideração os seguintes parâmetros: (2,0 pontos) - PIC18F4520 operando com VDD=5V, frequência de clock de 8 MHz, com oscilador a cristal - BT1 -> RD0 - BT2 -> RB3 - LED -> RD0 As questões a seguir dizem respeito ao programa-fonte em anexo 6) Monte o fluxograma do programa-fonte em anexo. (2,0 pontos) 7) O programa-fonte em anexo implementa uma minuteria, na qual o LED se mantém emitindo por um minuto após o botão ser pressionado. O que fazer para aumentar o tempo para 2 minutos? (1,5 ponto) Pagina 2 de 2 D:\Microcontroladores\Exercicio_05_Minuteria.c 1 /*************************************************************************************************** 2 * Título: Minuteria de um minuto * 3 * Autor: Wagner da Silva Zazac * 4 * Mat. ID#: wq * 5 * Compilador: CCS C v3.249 * 6 * Data de conclusão: 03/03/2014 * 7 * Descrição: * 8 ****************************************************************************************************/ 9 #include <pic18f4520.h> //Inclusao de biblioteca 10 #include <delays.h> //Inclusão de biblioteca 11 //Definições dos pinos de entrada 12 #define BTN1 PORTCbits.RC2 13 #define BTN2 PORTCbits.RC1 14 #define LED1 PORTBbits.RB3 15 #define LED2 PORTCbits.RC3 16 //Definições dos pinos de saida 17 #define LED3 PORTDbits.RD0 18 #define LED4 PORTDbits.RD1 19 #define LED5 PORTDbits.RD2 20 #define LED6 PORTDbits.RD3 21 #define LED7 PORTDbits.RD4 22 #define LED8 PORTDbits.RD5 23 #define LED9 PORTDbits.RD6 24 #define LED10 PORTDbits.RD7 25 //Configurações dos registradores com finalidades específicas 26 #define TRISA 0x0F //PORTA saida 27 #define TRISB 0xF7 //PORTB saida 28 #define TRISC 0x3A //PORTC saida 29 #define TRISD 0x00 //PORTD saida 30 #define TRISE 0x07 //PORTE saida 31 INTCON2 = 0xF8 //Configura os pinos dos PORT A e PORT E como digitais 32 LATA = 0 //limpa PORTA 33 LATB = 0 //limpa PORTB 34 LATC = 0 //limpa PORTC 35 LATD = 0 //limpa PORTD 36 LATE = 0 //limpa PORTE 37 38 //InitRegs() 39 40 void main(void){ 41 int i; 42 int8 LED = 0; 43 while(1) //Loop infinito 44 { 45 while(BTN1==1) //Aguarda pressionar o botão 46 LED = 1 //LED emite 47 for(i=0;i<6000;i++) 48 { 49 Delay1KTCYx(20); //gera delay de 10ms 50 } 51 LED = 0; //LED apaga 52 while(BTN1==0) //Aguarda liberar o botão 53 } 54 55 }//main() 56