Microcontroladores - Sidinei Guissoni 1. Qual a funç função ão da CPU CPU num num computador? A unidade central de processamento é a parte de um sistema computacional, que busca, executa e decodifica as instruções de um programa de computador. As instruções podem ser aritméticas, lógicas e a entrada e saída do programa. 2. O que que é um um periféri periférico? co? Periféricos são aparelhos ou placas de expansão que enviam ou recebem informações do computador, ou seja, qualquer equipamento ligado a CPU. 3. Qual a função função de de uma interfa interface? ce? Uma interface descreve as conexões lógicas e físicas utilizadas em um PIC. Em relação ao usuário, uma interface é o meio pelo qual um programa se comunica com o usuário. 4. O que diferencia diferencia um microcontr microcontrolador olador de um microproce microprocessador? ssador? Um microprocessador é um circuito integrado que realiza funções de cálculo e tomada de decisão. Os microcontroladores são menos poderosos, mais lentos e possuem um espaço de endereçamento menor. Por outro lado, microcontroladores consomem menos energia e espaço. O conjunto de instruções de um microcontrolador limita-se as instruções mais simples de um microprocessador. 5. Quais as caract característ erísticas icas das memóri memórias as do tipo EEPROM, flash ROM e SRAM do PIC16F877A PIC16F877A? ? ● Memória Memória Interna Interna (EEPRO (EEPROM) M) - 256 Bytes ● Memória de Programa Programa (Flash ROM) - 14K Bytes ● Memória Memória de Dados Dados (SRAM): (SRAM): 368 Bytes Qual a capacidade em bits das 3 memórias do PIC16F877A? Quais os tipos de memória de programa existentes em um microcontrolador da família PIC PIC? ? Quantos bits existem no bus da memória de programa do PIC16F? E no bus da memória de dados? ● Memória Interna Interna (EEPROM (EEPROM)) - 256 x 8 bits = 2048 bits ● Memória de Programa Programa (Flash ROM) - 8192 8192 x 14 bits = 114688 bits ● Memória de Dados (SRAM): 368 x 8 bits = 2944 bits A letra F indica que a memória de programa do PIC16F é do tipo Flash ROM. ● Program Bus - 14 bits ● Data Bus - 8 bits 6. Expli Explique que o funcionam funcionamento ento dos regist registradores radores STATUS e OPTION_REG no controle do PIC16F877A.. PIC16F877A ● STATUS: Indica STATUS: Indica estouro de valores (Carry (Carry / Borrow), Borrow), resultados iguais a zero, se foi executado um Sleep ou CLRWDT ou se ocorreu time-out do time-out do WDT (watchdog) e seleciona o banco de registradores de forma direta ou indireta. ● OPTION_REG: Configura OPTION_REG: Configura o funcionamento dos registradores internos (Timer 0). 7. O que que é uma uma subroti subrotina? na? São trechos do programa que resolvem um problema específico, parte de um problema maior. As vantagens de se utilizar subrotinas incluem: redução de código duplicado, reutilização do código, melhor interpretação visual, etc. 8. Qual a funç função ão do WDT? Como zerá-lo? O watchdog timer é é um temporizados que, de tempos em tempos, reseta o microcontrolador. Isso ocorre quando o valor desse registrador estoura. Para zerá-lo basta executar a instrução CLRWDT. 9. Cite exemplos exemplos de outros fabric fabricantes antes além da Microchip. O que significa a sigla PIC PIC? ? Quais as principais características desta familía de microcontroladores? Cite aplicações do microcontrolador. Atmel e Frescale são outras fabricantes. PIC significa: Programmable Interface Controller. Algumas características do PIC incluem o uso da arquitetura RISC com PIPELINE de quatro estágios.
Entre as aplicações, é possível citar: Controle de semáforo, processos industriais, entre outros.
10. Quais os principais registradores do PIC? W, STATUS, PCON, OPTION_REG, PORTx, TRISx, INTCON, PIR1, PIE, TMR0 e TMR2. 11. Como é chamado o registrador de trabalho dos PIC? Qual sua importância? Work register ou registrador W. Esse registrador é endereçado diretamente pela ULA (Unidade lógica e aritmética) e é utilizado para ler e escrever dados diretamente na memória. A transferência de dados é feita através dele. 12. Quantos bits têm o registrador PC? Como é a formação do registrador PC? 13 bits. 5b para PCLATH e 8b para PCL. 13. Quais bits, de qual registrador, selecionam as páginas (bancos) da memória de dados do PIC16F? Bits 5 e 6 do registrados STATUS para endereçamento direto e bit 7 para endereçamento indireto. Qual a Influência dessa característica em relação ao funcionamento do microcontrolador? Porque a Microchip dividiu a memória de dados em bancos? Cada bloco tem seu barramento, através deles é possível realizar a leitura ou escrita em bancos diferentes no mesmo ciclo. A vantagem disso é o paralelismo no acesso dos dados. 14. Qual a finalidade do pino MCLR? Quais são os tipos de reset encontrados no PIC16F877A? O pino MCLR causa um reset no PIC caso a tensão no pino seja 0. Os tipos de reset do PIC incluem: ● Estouro do WDT (Watchdog timer ). ● Pino MCLR. ● Power-on. 15. Qual dos pinos de I/O do PIC16F877A só pode ser configurado como entrada? Qual a finalidade do registrador TRISX? Quais as maneiras de se efetuar a leitura dos bits de I/O configurados como entrada? Quantas portas e quantos bits cada porta do PIC16F877A apresenta? Quantas entradas e saídas tem o PIC16F877A? Os pinos MCLR/Vpp (1) , VDD (11) , VSS (12), OSC1/CLKI (13), VDD (32) e VSS (31) são apenas para entrada. TRISX: Define se a porta X funcionará como entrada (1) ou saída (0). PORTX: Serve para leitura ou escrita dos bits da porta X. O PIC16F877A apresenta 5 portas, sendo que a PORTA tem 6 bits, as PORTB, PORTC e PORTD tem 8 bits e a PORTE tem 3 bits. Ao total o PIC16F877A tem 33 entradas e saídas. 16. Qual a função dos bits Z, DC e C do registrador STATUS? Quais as funções do registrador STATUS? (Geralmente cada bit tem uma função diferente, qual?) e o registrador OPTION_REG? ● Z (Bit Zero): Indica que a última operação realizada pela ULA foi zero (Z = 1). ● DC (Digit Carry / Borrow): Indica que a última soma (ADD) provocou um estouro (Vai-um ou Empresta-um) entre os bits 3 e 4 (DC = 1). ● C (Carry / Borrow): Indica que a última soma (ADD) provocou um estouro (Vai-um ou Empresta-um) no bit 7 (DC = 1). ● STATUS: Indica estouro de valores (Carry / Borrow), resultados iguais a zero, se foi executado um Sleep ou CLRWDT ou se ocorreu time-out do WDT (watchdog) e seleciona o banco de registradores de forma direta ou indireta. ● OPTION_REG: Configura o funcionamento dos registradores internos (Timer 0). 17. Para onde o programa é desviado quando ocorre o reset ? E uma interrupção? ● Reset: Endereço 0x00 da memória de programa.
● Interrupção: Endereço 0x04 da memória de programa. 18. Explique o funcionamento da interrupção externa. Explique o funcionamento da interrupção do Timer 0 . Quantas interrupções tem o PIC16F877A? Quais são? Quais são os registradores associados com as interrupções do PIC16F877A? O pino (RB0) do PIC pode ser utilizado como interrupção externa. Com isso, podemos gerar uma interrupção na rampa de subida ou descida da alimentação desse pino. Quando o Timer0 estoura (0xFF -> 0x00) essa interrupção ocorre, pode-se utilizar isso como temporizador ou contador. O PIC tem 15 interrupções. Interrupção externa, TMR0, TMR1, TMR2, Mudança de estado de pino (RB4, RB5, RB6 e RB7), fim de escrita da EEPROM, comparador, recepção do USART, transmissão do USART, captura. INTCON, OPTION_REG<6>, PIE1 e PIR1. 19. Quantas instruções tem o PIC16F877A? A afirmação: um PIC16F877A consegue acionar um motor CC de 100mA é verdadeira? Explique? 35 instruções. A afirmação é verdadeira, pois a corrente de saída de cada pino é de 20 mA. Se 5 saídas forem combinadas é possível ligar o motor. Lembrando que o limite é de 200 mA. 20. O oscilador do PIC16F877A pode funcionar de quantos modos diferentes? Como é feita esta escolha? Quais os tipos de funcionamento do oscilador dispõem o PIC16F877A? O oscilador pode funcionar de 8 modos diferentes. A escolha é feita por bits de config (XT_OSC). RC Externo/Cristal de alta frequência (HS)/ Cristal de baixa potência (LP). 21. Explique o funcionamento do Watchdog ? O watchdog timer é um temporizados interno do PIC que serve para resetar o PIC caso o temporizados estoure, ou seja, quando ocorre um problema no PIC. 22. Qual o tipo de conversor AD existente no PIC16F877A? Qual sua resolução? E sua faixa de tensão? Está faixa de tensão pode ser alterada? De que forma? Quais os registradores associados? Qual registrador armazena o resultado binário da conversão? Conversão por aproximações sucessivas. 10 bits. Entre VDD e VSS (4.5 V à 5.5 V). Sim, com os pinos RA2 (V-) e RA3 (V+). ADCON0 e ADCON1 ADRESH e ADRESL 23. Os PWMs do PIC16F877A são gerados em quais pinos? Os pinos 16 e 17 (2 PWM).