Parte 11 PROVAS ANTERIORES

Documentos relacionados
Arquitetura de Computadores. Prof. João Bosco Jr.

Introdução aos Microcontroladores PIC

5. Conjunto de Instruções do MCU PIC

Microcontroladores PIC

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

Sistemas Microcontrolados

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

PIC. PeripheralInterface Controller. Prof. EngºespLuiz Antonio Vargas Pinto Prof. Vargas

Parte 7 ASSEMBLER. ; Programa 2 Vazio end ;fim OP. LÓGICAS E ARITMÉTICAS OP. LÓGICAS E ARITMÉTICAS OPERAÇÕES LÓGICAS E ARITMÉTICAS

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

1.1 Noções básicas sobre interrupções em Microcontroladores

Jadsonlee da Silva Sá

ARQUITETURA DE PROCESSAMENTO

Estrutura Básica de um Computador

KIT DIDÁTICO PIC-2377

Sistemas Embarcados:

Conjunto de Instruções e Modelos de Arquiteturas

INTRODUÇÃO: MICROCONTROLADORES

PIC16F628a. Pinagem do PIC16F628a:

Aula 10 Microcontrolador Intel 8051 Parte 1

Microcontrolador 8051

SEL0338 Tópicos Especiais em Sistemas Digitais

Microcontrolador 8051:

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

Introdução à Organização de Computadores. Aula 8

6. Estrutura do Programa em Assembly

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

Marcelo Fernandes Valter Rodrigues de Jesus Junior. Thermal Control

Conjunto de Instruções e Modelos de Arquiteturas

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware

Sistemas Microprocessados

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

Acetatos de apoio às aulas teóricas

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes.

Microcontrolador PIC 16F877

DOUGLAS DAL POZZO DIEGO VITTI

SEMINÁRIO ASSEMBLY: Arquitetura PIC

OMPLAB é um programa para PC, que roda sobre a

Parte 2 PIC DEFINIÇÃO DEFINIÇÃO DEFINIÇÃO DEFINIÇÃO DEFINIÇÃO

Sistemas Microcontrolados

Sistemas Digitais e Microcontrolados

Índice. Dia 05 de fevereiro de Apresentação Dia 12 de fevereiro de

Sistemas Embarcados:

PIC16F84 Profº MSc.Engº Getúlio Teruo Tateoki

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Parte 9 PRÁTICAS DISPLAY DE 7 SEGMENTOS DISPLAY DE 7 SEGMENTOS DISPLAY DE 7 SEGMENTOS DISPLAY DE 7 SEGMENTOS DISPLAY DE 7 SEGMENTOS

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011.

OMódulo Comparador Analógico consiste em um conjunto

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Hardware Parte I. Fábio Rodrigues de la Rocha

Sistemas Microcontrolados. Período Aula 6. 1 Saulo O. D. Luiz

Introdução ao Microcontrolador PIC

Prof. Adilson Gonzaga

Introdução à Computação: Arquitetura von Neumann

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

Curso de Microcontroladores PIC 16F84A

Sistemas Digitais e Microcontrolados

Prof. Adilson Gonzaga

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016

Sistemas Microcontrolados. Período Aula 9. 1 Saulo O. D. Luiz

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

INTRODUÇÃO AOS SISTEMAS EMBEBIDOS

Interrupção. Prof. Adilson Gonzaga

SSC512 Elementos de Lógica Digital. Memórias. GE4 Bio

MSP430 - Arquitertura

14/3/2016. Prof. Evandro L. L. Rodrigues

Programação Daniel Corteletti Aula 3 Parte III Página 1/7

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Período Saulo O. D. Luiz

Microcontrolador PIC 16F877

Organização e Projeto de Computadores

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Fundamentos de Microprocessadores 2006/2007 1º Ano Eng. Electrotécnica (Bolonha) 1º Exame (14/07/2007)

Plano de Trabalho Docente 2017 Ensino Técnico

Índice. Dia 05 de fevereiro de Apresentação Dia 12 de fevereiro de

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

2 - Considere a seguinte figura que representa uma parte dos componentes básicos de um microprocessador:

SISTEMAS MICROCONTROLADOS

1. Microcontrolador PIC. 1.1 Introdução

Microcontroladores. Rafael Silva de Lima

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

FACULDADE LEÃO SAMPAIO

Prof. Adilson Gonzaga

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

Família 8051 (introdução) 2011/1

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051

Transcrição:

Parte 11 PROVAS ANTERIORES 1. TESTES 2. RESPOSTAS DOS TESTES.. RESPOSTAS DAS. 6. RESPOSTAS DAS 1 2 1 TESTES 1 TESTES Teste 1 2012S1P1M TESTES A sigla PIC, da Microchip, significa: ( ) Program In-Chip ( ) Peripheral Interchange Component ( ) Programming Into Computer ( ) Programmable Interface Controller ( ) Programmer Internal Cappable ( ) Program Input Control 1 TESTES 1 TESTES Teste 2 201S2P1M Teste 201S2P1T A sigla IDE significa: ( ) Interface Development Environment ( ) Interface Directive Export ( ) Integrated Development Environment ( ) Integrated Directive Environment ( ) Integrated Directive Export ( ) Interface Development Export A sigla LVP significa: ( ) Low Voltage Processing ( ) Low Voltage Programming ( ) Low Virtual Processing ( ) Light Virtual Processing ( ) Light Voltage Programming ( ) Light Virtual Programming 6 1

1 TESTES 1 TESTES Teste 2012S1P1M Teste 2012S1P1M Qual a arquitetura da PIC16F877? ( ) Baseline ( ) Mid-Range ( ) Enhanced Mid-Range ( ) PIC18 ( ) PIC2H/E ( ) DsPIC PIC16F877 Nas instruções GOTO k e CALL k, a palavra k tem tamanho, em bits: ( ) 07 ( ) 08 ( ) 09 ( ) 11 ( ) 1 ( ) 1 7 8 1 TESTES 1 TESTES Teste 6 2012S1P1M Teste 7 2012S1P2M Qual instrução afeta o bit carry do Status Register? ( ) COMF ( ) INCF ( ) ADDWF ( ) ANDWF ( ) INCFSZ ( ) NOP Qual instrução afeta o TOS? ( ) SWAPF ( ) CALL ( ) CLRW ( ) NOP ( ) BTFSC ( ) CLRWDT 9 10 1 TESTES 1 TESTES Teste 8 2012S1P2M Teste 9 2012S1P2M Quanto às portas paralelas: ( ) São somente de entrada. ( ) São somente de saída. ( ) Cada palavra (A, B, C, D, E) pode ser configurada como entrada ou saída. ( ) Cada bit pode ser configurado como entrada ou saída. ( ) Cada palavra (A, B, C, D, E) pode ser configurada. como entrada, saída ou bidirecional. ( ) Cada bit pode ser configurado como entrada, saída ou bidirecional. O comando Make do MPLAB serve para: ( ) Gerar o código de máquina. ( ) Gravar o programa no chip. ( ) Executar o progama no computador. ( ) Executar o programa no chip. ( ) Ler o programa do chip. ( ) Reiniciar a execução do programa. 11 12 2

1 TESTES Teste 10 2012S1P2M 1 TESTES Teste 11 201S2P2M Qual parâmetro não pertence ao princípio de operação de uma entrada analógica? ( ) Bit rate ( ) Sampling rate ( ) Duty cycle ( ) V REF+ ( ) V REF ( ) Resolution PIC16F877 Qual instrução não pode ser efetuada sobre um interrupt flag? ( ) BCF ( ) BSF ( ) BTFSC ( ) BTFSS ( ) CLRF ( ) MOVF (d=w) 1 1 1 TESTES Teste 12 201S2P2M 1 TESTES Teste 1 201S2P2M PIC16F877 Qual módulo possui registrador de controle, mas não de dados? ( ) Timer (0, 1 ou 2) ( ) PORT (A, B, C, D ou E) ( ) PSP ( ) CCP (1 ou 2) ( ) MSSP ( ) AD PIC16F877 Qual módulo possui registrador de controle, mas não um registrador exclusivo para dados? ( ) Timer (0, 1 ou 2) ( ) PORT (A, B, C, D ou E) ( ) PSP ( ) CCP (1 ou 2) ( ) MSSP ( ) AD 1 16 1 TESTES Teste 1 201S1P1T Assinale a alternativa falsa. ( ) Uma histerese em uma entrada digital pode ser usada para bloquear altas frequências. ( ) Um oscilador analógico usa, como base de tempo, o processo de carga e de descarga de um capacitor ou indutor. ( ) Um contador digital onde todos os flip-flop s operam à mesma frequência é melhor do que um contador assíncrono. ( ) O processo de hibernação (sleep) serve para economizar energia elétrica. ( ) A ULA possui uma saída para o work register (acumulador) e uma saída para o data bus. ( ) O compartilhamento de funções em um mesmo pino serve para reduzir custo e tamanho do chip. 17 1 TESTES Teste 1 201S1P1T Assinale a alternativa verdadeira. ( ) A arquitetura Harvard permite que data memory e program memory tenham endereçamentos independentes. ( ) Na arquitetura Von-Neumann, uma instrução pode usar uma, duas ou três linhas da program memory. ( ) Na família PIC, todas as instruções que fazem leitura ou escrita o fazem sobre GPR s, SFR s ou W. ( ) O WDT é um contador de 8 bits e seu overflow provoca um WDT reset ou um WDT wake up. ( ) A família PIC mid-range possui instruções que podem usar zero, um ou dois argumentos numéricos. ( ) O Prefetch Queue permite que a instrução seguinte seja lida durante a execução da instrução anterior. 18

1 TESTES Teste 16 2016S2P1AT Assinale a alternativa falsa. ( ) Uma MCU é dividida em duas partes: Núcleo (core) e periféricos. ( ) Uma MCU em estado de reset não executa nenhuma instrução. ( ) Uma interrupção associada a um periférico que entra em power-down não pode provocar wake-up. ( ) PIC16F877 O Timer 0 no modo temporizador com o oscilador da PIC no modo RC pode solicitar interrupção. ( ) PIC16F877 A instrução CALL endereçada a uma página diferente altera o valor do PCLATCH. ( ) A rotina de interrupção pode fazer uso da instrução CALL. 1 TESTES Teste 17 2016S2P1BT Assinale a alternativa falsa. ( ) Todos os pinos de comunicação da PIC16F877 DIP0 acessam os periféricos da PIC. ( ) Todos os periféricos da PIC16F877 são registrados. ( ) Se uma palavra é de 10 ou 16 bits, ela usa dois registradores. ( ) O período do conversor AD, T AD, diz respeito à obtenção da palavra AD result. ( ) Um toogle switch é uma chave elétrica com memória. ( ) Lâmpada incandescente, forno elétrico e motor elétrico possuem ação passa-baixas. 19 20 1 TESTES Teste 18 2016S2P1BT 2 RESPOSTAS DOS TESTES Você precisa conectar MCU s PIC16F877 por meio do SPI. Marque a opção correta. ( ) Todas elas em master. ( ) Uma em master e duas em slave. ( ) Duas em master e uma em slave. ( ) Todas elas em slave. ( ) Todas elas em master daisy chain. ( ) Todas elas em slave daisy chain. RESPOSTAS DOS TESTES 21 22 2 RESPOSTAS DOS TESTES Teste 1 2012S1P1M 2 RESPOSTAS DOS TESTES Teste 2 201S2P1M A sigla PIC, da Microchip, significa: ( ) Program In-Chip ( ) Peripheral Interchange Component ( ) Programming Into Computer (X) Programmable Interface Controller ( ) Programmer Internal Cappable ( ) Program Input Control A sigla IDE significa: ( ) Interface Development Environment ( ) Interface Directive Export (X) Integrated Development Environment ( ) Integrated Directive Environment ( ) Integrated Directive Export ( ) Interface Development Export 2 2

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES Teste 201S2P1T Teste 2012S1P1M A sigla LVP significa: ( ) Low Voltage Processing (X ) Low Voltage Programming ( ) Low Virtual Processing ( ) Light Virtual Processing ( ) Light Voltage Programming ( ) Light Virtual Programming Qual a arquitetura da PIC16F877? ( ) Baseline (X) Mid-Range ( ) Enhanced Mid-Range ( ) PIC18 ( ) PIC2H/E ( ) DsPIC 2 26 2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES Teste 2012S1P1M Teste 6 2012S1P2M PIC16F877 Nas instruções GOTO k e CALL k, a palavra k tem tamanho, em bits: ( ) 07 ( ) 08 ( ) 09 (X) 11 ( ) 1 ( ) 1 Qual instrução afeta o bit carry do Status Register? ( ) COMF ( ) INCF (X) ADDWF ( ) ANDWF ( ) INCFSZ ( ) NOP 27 28 2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES Teste 7 2012S1P2M Teste 8 2012S1P2M Qual instrução afeta o TOS? ( ) SWAPF (X) CALL ( ) CLRW ( ) NOP ( ) BTFSC ( ) CLRWDT Quanto às portas paralelas: ( ) São somente de entrada. ( ) São somente de saída. ( ) Cada palavra (A, B, C, D, E) pode ser configurada como entrada ou saída. (X) Cada bit pode ser configurado como entrada ou saída. ( ) Cada palavra (A, B, C, D, E) pode ser configurada. como entrada, saída ou bidirecional. ( ) Cada bit pode ser configurado como entrada, saída ou bidirecional. 29 0

6 2 RESPOSTAS DOS TESTES Teste 9 2012S1P2M 2 RESPOSTAS DOS TESTES Teste 10 2012S1P2M O comando Make do MPLAB serve para: (X) Gerar o código de máquina. ( ) Gravar o programa no chip. ( ) Executar o progama no computador. ( ) Executar o programa no chip. ( ) Ler o programa do chip. ( ) Reiniciar a execução do programa. Qual parâmetro não pertence ao princípio de operação de uma entrada analógica? ( ) Bit rate ( ) Sampling rate (X) Duty cycle ( ) V REF+ ( ) V REF ( ) Resolution 1 2 2 RESPOSTAS DOS TESTES Teste 11 201S2P2M 2 RESPOSTAS DOS TESTES Teste 12 201S2P2M PIC16F877 Qual instrução não pode ser efetuada sobre um interrupt flag? ( ) BCF (X) BSF ( ) BTFSC ( ) BTFSS ( ) CLRF ( ) MOVF (d=w) PIC16F877 Qual módulo possui registrador de controle, mas não de dados? ( ) Timer (0, 1 ou 2) ( ) PORT (A, B, C, D ou E) (X) PSP ( ) CCP (1 ou 2) ( ) MSSP ( ) AD 2 RESPOSTAS DOS TESTES Teste 1 201S2P2M PIC16F877 Qual módulo possui registrador de controle, mas não um registrador exclusivo para dados? ( ) Timer (0, 1 ou 2) ( ) PORT (A, B, C, D ou E) (X) PSP ( ) CCP (1 ou 2) ( ) MSSP ( ) AD 2 RESPOSTAS DOS TESTES Teste 1 201S1P1T Assinale a alternativa falsa. ( ) Uma histerese em uma entrada digital pode ser usada para bloquear altas frequências. ( ) Um oscilador analógico usa, como base de tempo, o processo de carga e de descarga de um capacitor ou indutor. ( ) Um contador digital onde todos os flip-flop s operam à mesma frequência é melhor do que um contador assíncrono. ( ) O processo de hibernação (sleep) serve para economizar energia elétrica. (X) A ULA possui uma saída para o work register (acumulador) e uma saída para o data bus. ( ) O compartilhamento de funções em um mesmo pino serve para reduzir custo e tamanho do chip. 6

7 2 RESPOSTAS DOS TESTES Teste 1 201S1P1T Assinale a alternativa verdadeira. ( ) A arquitetura Harvard permite que data memory e program memory tenham endereçamentos independentes. ( ) Na arquitetura Von-Neumann, uma instrução pode usar uma, duas ou três linhas da program memory. ( ) Na família PIC, todas as instruções que fazem leitura ou escrita o fazem sobre GPR s, SFR s ou W. (X) O WDT é um contador de 8 bits e seu overflow provoca um WDT reset ou um WDT wake up. ( ) A família PIC mid-range possui instruções que podem usar zero, um ou dois argumentos numéricos. ( ) O Prefetch Queue permite que a instrução seguinte seja lida durante a execução da instrução anterior. 7 2 RESPOSTAS DOS TESTES Teste 16 2016S2P1AT Assinale a alternativa falsa. ( ) Uma MCU é dividida em duas partes: Núcleo (core) e periféricos. ( ) Uma MCU em estado de reset não executa nenhuma instrução. ( ) Uma interrupção associada a um periférico que entra em power-down não pode provocar wake-up. ( ) PIC16F877 O Timer 0 no modo temporizador com o oscilador da PIC no modo RC pode solicitar interrupção. (X) PIC16F877 A instrução CALL endereçada a uma página diferente altera o valor do PCLATCH. ( ) A rotina de interrupção pode fazer uso da instrução CALL. 8 2 RESPOSTAS DOS TESTES Teste 17 2016S2P1BT Assinale a alternativa falsa. ( ) Todos os pinos de comunicação da PIC16F877 DIP0 acessam os periféricos da PIC. ( ) Todos os periféricos da PIC16F877 são registrados. ( ) Se uma palavra é de 10 ou 16 bits, ela usa dois registradores. (X) O período do conversor AD, T AD, diz respeito à obtenção da palavra AD result. ( ) Um toogle switch é uma chave elétrica com memória. ( ) Lâmpada incandescente, forno elétrico e motor elétrico possuem ação passa-baixas. 2 RESPOSTAS DOS TESTES Teste 18 2016S2P1BT Você precisa conectar MCU s PIC16F877 por meio do SPI. Marque a opção correta. ( ) Todas elas em master. (X) Uma em master e duas em slave. ( ) Duas em master e uma em slave. ( ) Todas elas em slave. ( ) Todas elas em master daisy chain. ( ) Todas elas em slave daisy chain. 9 0 Questão 1 2012S1P1M PIC16F877 Na segunda coluna, coloque as letras associadas da primeira coluna (biunívoco). (A) EEPROM ( ) Data memory (B) Flash ( ) File register (C) ROM ( ) LIFO (D) SRAM ( ) Program Memory (E) Stack ( ) ULA 1 2

8 Questão 2 2012S1P2M Questão 2012S2P1M Na segunda coluna, coloque as letras associadas da primeira coluna (biunívoco). (A) P ( ) Chip com especialidade matemática (B) MCU ( ) Gravador de PIC (C) DSP ( ) Incorporação de periféricos (D) ULA ( ) Módulo executor de operações (E) ICD ( ) Processamento genérico Ligue os pontos da coluna da direita com os pontos da coluna da esquerda. Biunívoco. ROM Uma das palavras de entrada é selecionada e colocada na palavra de saída. COUNT A palavra de saída é definida por meio do bit de entrada escolhido. DEMUX A palavra lida é a última a ter sido escrita. ENC Uma das palavras de saída é selecionada para receber a palavra de entrada. REG Uma palavra de dados de saída, uma palavra de entrada de endereço. RAM A palavra de saída é o seu valor anterior sofrido de alguma operação. DEC Conexão de uma palavra de saída de um bloco para uma entrada de outro bloco. BUS Um bit de saída selecionado por vez por meio da palavra de entrada. STACK Uma palavra de dados de entrada, uma de saída, uma de endereço. MUX A palavra de entrada é copiada para a palavra de saída, onde é mantida. Questão 2012S2P1M Ligue os pontos da coluna da direita com os pontos da coluna da esquerda. Biunívoco. PIC16F877-20/P. 1 Tamanho da palavra PCH. 2 Quant. de bits de endereço de umregistrador da SRAM. Quant. de páginas da file registers. Quant. de bits usados na seleção de páginas da program memory. Quant. de bits usados no endereçamento do destino em instruçõesde desvio. 7 Quant. de bits usados no endereç. do file em instruções lógicas e aritméticas. 8 Tamanho das palavras da program memory. 9 Bits do conversor A/D da PIC mid-range architecture. 10 Quant. de bits usados na seleção do destiny em instr. lóg. e arit. do tipo WF. 11 Quant. de bits usados no endereç. de uma instrução na program memory. 1 Tamanho das palavras do file registers. 1 Quant. de bits usados na seleção de um bit em operações sobre bits. Questão 201S1P2T Preencha, entre parênteses, C caso o módulo pertença ao núcleo (core) ou P se for um periférico. ( ) WDT watchdog timer ( ) TMR0 timer 0 ( ) TMR1 timer 1 ( ) TMR2 timer 2 ( ) A/D converter ( ) CCPx capture-compare-pwm ( ) ALU arithmetic logic unit ( ) EEPROM memory ( ) FLASH memory ( ) USART serial ( ) STACK pilha ( ) SFR special function registers ( ) GPR general purpose registers ( ) WREG work register ( ) ICD in-circuit debugger ( ) LVP low-voltage programming 6 Questão 6 2012S1PM Questão 7 2012S2P1M Usando um demultiplexador 12 de bits e um multiplexador 21 de bits, construa um circuito que realiza a operação LR Left Bit Rotation de bits. Se a entrada A for zero, não há rotação. Se a entrada A for um, ocorre a rotação. Explique o que é um PUSH e um POP. Cite uma instrução que realize cada uma dessas ações. PIC16F877 20/P. 7 8

9 Questão 8 2012S2P2M Questão 9 2012S2P2M O Program Counter possui 1 bits (bit0 a bit12) e é referenciado pelos registradores PCL (low) e PCH (high). O PCL é acessível, porém o PCH não. O registrador PCLATH possui bits (bit0 a bit) e é acessível; ele é copiado para o PCH nas instruções de desvio ou quando se acessa o PCL. No caso de desvio (CALL e GOTO), a instrução recebe, como argumento, uma constante de 11 bits (bit0 a bit10). Quais são os bits de PCLATH enviados ao PCH nas instruções CALL e GOTO? Explique o erro no programa abaixo: #include <p16f877.inc> org 0x #define ondecadê 0x20 BCF STATUS, RP1 BCF STATUS, RP0 MOVF 0xBE, W MOVWFondecadê #undefine ondecadê end 9 0 Questão 10 2012S2P2M Questão 11 2012S2P2M Algumas instruções enquadram se na categoria 2T CY. O que é 2T CY? A instrução RETURN requer que uma outra instrução tenha sido executada em algum momento anterior. Que instrução é essa? Explique qual problema acontece se essa condição não for respeitada. 1 2 Questão 12 2012S2P2M Questão 1 2012S2P2M Explique por que motivo o decaimento da frequência de relógio (clock) não faz com que o WDT demore mais para gerar um reset ou um wake up? Explique a função dos pinos V REF+ e V REF.

10 Questão 1 201S1P1T Questão 1 201S1P1T Explique porque, para um determinado programa construído em linguagem de montagem (assembler) para um controlador/processador RISC, o tamanho do programa montado (em bits) não difere muito do tamanho do programa montado por meio de um assembler para um controlador/processador CISC com similar capacidade de processamento. Utilize um MUX para transformar várias ROM 2k 8bits em uma ROM 8k 8bits. Empregue a letra A para nomear todos os bits usados para o endereçamento, começando pelo índice 0 no bit menos significativo. 6 Questão 16 201S1P1M Questão 17 2012S1P2M Explique o motivo que justifica o uso de uma memória flash e o motivo que justifica o uso de uma EEPROM como parte integrante da PIC16F877-20/P. Quantas linhas de opcode ou de disassembly possui o programa abaixo? CONFIG _WDT_ON & _XT_OSC & _LVP_OFF & _BODEN_OFF #include <p16f877.inc> org 0x0 ;Vetor de Reset #define marqualrélio 0x ;dado 1 #define operador 0xA0 ;dado 2 BCF STATUS, RP1 BSF STATUS, RP0 MOVLW marqualrélio MOVWF operador #undefine ondecadê #undefine operador end 7 8 Questão 18 201S1P2T Questão 19 201S1P2T PIC16F877 Diga quais são as instruções do tipo 2T CY. PIC16F877 Diga qual instrução (incluindo argumento), usando a sintaxe do MPASM, equivale a dois NOP s seguidos. 9 60

11 Questão 20 201S1P2T Escreva o código disassembly para o programa abaixo, sabendo que: RP1=STATUS<6>,RP0=STATUS<>, WR=EECON1<1>. Especifique a linha da program memory. Usar as tabelas de montagem e de SFR s. ; Programa da P2 #include <p16f877.inc> org 0x #define ondecadê 0x0 ;endereço da EEPROM #define marqualrélio 0xca ;dado para a EEPROM ;Verifica se está em processo de escrita BSF STATUS, RP1 BSF STATUS, RP0 BTFSC EECON1, WR GOTO $-1 MOVLW ondecadê ;W = ondecadê1 MOVWF EEADR ;SRAM(EEADR) = W MOVLW marqualrélio ;W = marqualrélio MOVWF EEDATA ;SRAM(EEDATA) = W #undefine ondecadê #undefine marqualrélio end 61 Questão 21 201S1P2M Qual a instrução (e argumentos) do opcode 800h? Qual o opcode da instrução BTFSC 0xc, 0x1? Usar as tabelas de montagem. 62 Questão 22 201S1P2M Questão 2 201S1P2M Um sistema de controle de uma máquina recebe uma informação analógica de um sensor, aplica uma função de controle por meio da MCU e gera um sinal controlado para a máquina. 10 bits são usados como palavra na função de controle. Qual é o bloco da PIC que recebe a informação vinda do sensor e qual o bloco que envia a informação para o atuador? O que é um WDT time-out? Para que ele serve? O que ocorre com a MCU após o WDT time-out? 6 6 Questão 2 201S1P2M Questão 2 201S1PM O que é um contador prescaler? Para que serve? Como ele pode ser construído? Explique qual a função de um buffer em uma entrada digital. Explique qual função especial tem um buffer Schimitt Trigger em uma entrada digital. 6 66

12 Questão 26 201S1PT Desenhe o formato de onda típico de um oscilador RC. 67 Questão 27 201S1PT Faça um círculo sobre o(s) erro(s) no programa abaixo. Faça um traço sobre a(s) linha(s) que pode(m) ser removidas sem alterar o resultado do programa a não ser pelos T CY s da(s) linha(s) removida(s). ; Programa da P #_include <p16f887.inc> org0x0 #define marqualrélio 0x #define operador 0xae #define ondecadê 0xA0 CLRF ondecadê MOVLW marqualrélio MOVWF ondecadê CLRF ondecadê+1 SUBLW operador MOVWF ondecadê+1 #undefine marqualrélio #undefine operador #undefine ondecade 68 end. Questão 28 201S1PM Questão 29 201S1PM Explique qual a função de umresistor de pull-up. Como um transistor pode agir como uma resistência ativa? Como um transistor pode operar como um resistor de pull-up habilitável? PIC16F877 Explique o significado do valor zero e do valor um no bit EEIF e como esses valores são alterados. 69 70 Questão 0 201S2P1M Questão 1 201S2P1T PIC16F877 Explique o que acontece em uma escrita em INDF. PIC16F877 Explique o que acontece em uma escrita em PCL. 71 72

Questão 2 201S1P1M Questão 201S1P1M PIC16F877 Que evento impede a MCU de funcionar se T OSC for exageradamente grade? Todos os periféricos são registrados, isto é, a comunicação (dado, endereço, controle) é feita por meio de registradores da SRAM (SFR - file registers). Explique o motivo dessas registrações. 7 7 Questão 201S1P1M Questão 201S1P1M A instrução ANDLF seria bastante útil se existisse, mas a arquitetura do core não permite. Esta instrução faria a operação AND bit-a-bit entre uma literal, de 8 bits, e um registrador endereçado por 7 bits. Explique por que o core não permite a implementação desta instrução. PIC16F877 Cite os tipos de elemento encontrados na linguagem de montagem pura, isto é, sem as extensões ou diretivas empregadas pelo MPASM. 7 76 Questão 6 201S1P1M Questão 7 201S1P1T PIC16F877 Diga em que situação é interessante realizar um programa (assembly, na PIC ) de escrita na program memory. Cite uma vantagem da geração de sinal de clock (T OSC ) por meio de um circuito RC e uma vantagem da geração por cristal (XTAL). 77 78 1

Questão 8 201S1P1T Questão 9 201S1P1T PIC16F877 Cite as diversas aplicações para os argumentos numéricos em uma instrução, especificando a quantidade de bits usada em cada uma destas aplicações, bem como o seu significado. Foi comentado, nas aulas de laboratório, que, um endereço não usado na program memory é gravado com FFFh. Também foi comentado que este valor corresponde a uma instrução que realiza uma determinada ação. Que ação é esta? 79 80 Questão 0 201S1P1T Questão 1 201S1P2M Diga em que situação é interessante usar a instrução CALL ao invés de GOTO. PIC16F877 Explique por que, no módulo CCPx no modo PWM, se DC<9:0> é maior ou igual a (PR2+1), então o valor de DC é irrelevante, pois o dutty-cycle percentual é sempre de 100% qualquer que seja o valor de DC<9:0> que satisfaça a condição citada. 81 82 Questão 2 201S1P2T Questão 201S2P1T No laboratório, vimos que, para o teclado bottom switch, usamos uma rotina que realiza uma trava do tipo master-slave. Sabendo que a tecla solta é lida como 1 e, apertada, como 0, explique o que faz o programa na etapa master, o que faz o programa na etapa slave, e qual o objetivo do uso dessa rotina de travamento master-slave.. Explique para que serve o oscilator start-up timer. 8 8 1

Questão 201S2P1T Questão 201S2P2T Sobre as instruções RETURN e RETFIE: Quando se usa uma e quando se usa a outra? Qual a diferença entre elas? Explique como o sinal digital PWM se comporta como um sinal analógico sobre um atuador. 8 86 Questão 6 201S2P2T Questão 7 201S2P2T Qual a diferença de uma porta paralela normal e a PSP? Em uma comunicação serial síncrona, qual a principal diferença entre master e slave? 87 88 Questão 8 201S1P1T Questão 9 201S1P2T PIC16F877 Explique o que faz a instrução IORLW. Quantos são os argumentos da instrução e quais os seus significados? Quantos são os operandos e quem são eles? PIC16F877 Explique o motivo de CCPRxH ter seu acesso bloqueado na função PWM do módulo CCP. 89 90 1

16 Questão 0 201S1PAT Questão 1 201S1PAT Explique para que serve a diretiva #include <p16f877.inc> Os programas feitos para o MPASM utilizam quatro colunas. Diga o que é colocado em cada coluna. 91 92 Questão 2 201S1PAT Questão 201S1PAT Monte cada uma das instruções abaixo. Fazer x=0. BCF 0x0B, 0x7 MOVLW 0x RETURN GOTO 0x01 MOVF 0x11, 0x0 CLRW Explique o problema no uso da instrução abaixo: GOTO $ 9 9 Questão 201S2P1T Questão 201S2P1T Explique a diferença entre P e MCU. PIC16F877 Com exceção da flash program memory, todos os demais periféricos possuem uma característica em comum, característica esta que é suficiente para definir, tais módulos, como periférico. Explique tal característica. 9 96

Questão 6 201S2P1T Questão 7 201S2P1T Qual é a característica da flash memory que a torna ideal para uso como program memory? Qual é a característica da EEPROM que a torna ideal para uso como data memory? PIC16F877 Em que tipo de aplicação se usa o relógio por cristal HS? Em que tipo de aplicação se usa o relógio por cristal LP? 97 98 Questão 8 201S2P1T Questão 9 201S2P1T PIC16F877 O TMR0 possui dois modos de operação, o modo temporizador e o modo contador. Explique a diferença. PIC16F877 Explique a função da instrução SWAPF. 99 100 Questão 60 201S2PAT Questão 61 201S2PAT Explique para que serve a diretiva #include <p16f877.inc>. Explique por que, no MPASM, algumas linhas na coluna disassembly da janela Program Memory ficam em branco. 101 102 17

18 Questão 62 201S2PAT Escreva o código assembly puro para o código abaixo (disassembly), usando os critérios apresentados em sala de aula. Especifique os addresses para cada linha no assembly puro. #include <p16f877.inc> config _WDT_OFF org 0x00 constant ondecadê = 0x20 constant ondegoto = 0x011 BCF STATUS, RP1 BCF STATUS, RP0 CLRF ondecadê MOVF ondecadê,w MOVWF ondecadê+1 BSF ondecadê,0 MOVF ondecadê,w MOVWF ondecadê+2 GOTO ondegoto BSF ondecadê,1 MOVF ondecadê,w MOVWF ondecadê+ SLEEP end 10 Questão 6 2016S1P1M Explique a diferença entre o ambiente de desenvolvimento MPLAB SIM e o MPLAB ICD2. 10 Questão 6 2016S1P1M Questão 6 2016S1P1M Explique para que serve a pilha. Toda ULA possui duas entradas de dados. Qual a procedência destas duas entradas? 10 106 Questão 66 2016S1P1M Questão 67 2016S1P1M PIC16F877 Explique para que servem as palavras TRIS. PIC16F877 Explique a diferença entre as instruções do tipo LW e as instruções do tipo WF. 107 108

Questão 68 2016S1P1T Questão 69 2016S1P1T PIC16F877 Explique por que motivo alguns SFR s possuem endereço completo de, apenas, sete bits. Explique a função da histerese de uma porta lógica que compõe um oscilador RC. 109 110 Questão 70 2016S1P1T Questão 71 2016S1P2M PIC16F877 Explique por que motivo a gravação ou escrita da flash memory em tempo de execução (runtime) se assemelha à arquitetura Von-Neumann. PIC16F877 Explique por que motivo algumas portas paralelas possuem buffer de entrada TTL e outras possuem buffer de entrada ST. 111 112 Questão 72 2016S1P2M Questão 7 2016S1P2M PIC16F877 Explique o motivo por que a função PSP ignora a configuração TRISD. PIC16F877 Explique o que é a ligação daisy-chain SPI. 11 11 19

20 Questão 7 2016S1P2T Questão 7 2016S1P2T PIC16F877 Explique por que motivo a função PWM (<CCPxM:CCPxM2>=11) possui um holding register. PIC16F877 Explique o motivo por que a função SPI no slave possui a opção /SS pin control disabled (<SSPM:SSPM0>=0101). 11 116 Questão 76 2016S1PAT Questão 77 2016S1PAT Explique para que serve a diretiva config. No MPASM, alguns caracteres, em algumas instruções, aparecem na cor cinza. Qual o significado destes caracteres? 117 118 Questão 78 2016S1PAT Questão 79 2016S1PAT Determine os endereços (hex, 7 bits) e os conteúdos (hex, 8 bits) de todos os GPR s escritos no programa abaixo. MOVLW MOVWF MOVLW MOVWF ADDLW MOVWF MOVF MOVWF RRF end 0xa0 0x1 0x21 0x2 0x2 0x 0x1, 0x0 0x 0x, 0x1 Explique a função dos botões indicados na figura abaixo. A B C D 119 120

21 Questão 80 2016S1PAT Questão 81 201S1PAT Explique a função dos botões indicados na figura abaixo. Monte a instrução (hex):bcf STATUS, RP1 Desmonte o opcode 0x188C. Associe cada tipo de elemento do MPASM com sua respectiva cor. (A) Argumento numérico hex ( ) Preto (B) Argumento numérico dec ( ) Cinza (C) Mnemônico de instrução ( ) Azul sem negrito (D) Rótulo (Label) ( ) Azul com negrito (E) Comentário ( ) Ciano ou azul piscina (F) Operação do MPASM ( ) Magenta, vinho, lilás ou roxo 121 122 Questão 82 2016S2P1AM Assinale a alternativa falsa. A. ( ) A memória flash é a parte mais cara da pastilha interna de um chip microcontrolador. B. ( ) Quanto maior é a capacidade de processamento de uma MCU, maior é a sua funcionalidade. C. ( ) PIC16F877 O fetch das instruções do tipo 2T CY leva o dobro do tempo do de uma instrução normal. D. ( ) PIC16F877 A configuração TRIS determina se um pino de comunicação é entrada ou saída. E. ( ) PIC16F877 Uma diretiva de montagem não gera opcode. F. ( ) PIC16F877 Um pedido de interrupção não é atendido se o seu enable bit está desativado. 12 )gerar alta impedância. Questão 8 2016S2P1BM Assinale a alternativa verdadeira para cada linha. 1. O tamanho dos opcodes é de: ( )1 bits. ( )1 bits. 2. Uma rotina de interrupção é finalizada com a instrução: ( )RETFIE. ( )RETLW.. A EEPROM: ( )faz parte do core. ( )é um periférico.. O TMR1 no modo contador, emprega, como base de tempo: ( )sinal externo. ( )o instruction cycle.. As instruções BSF, BCF, BTFSC e BTFSS são operações sobre: ( )bit. ( )byte. 6. O registrador STATUS é um: ( )GPR. ( )SFR. 7. A fim de endereçar a segunda página da SRAM, o bit RP0 deve receber valor: ( )0. ( )1. 8. Uma vantagem da EEPROM em relação à flash memory é: ( )alta densidade. ( )rapidez na gravação. 9. A etapa de reset que emprega um contador de 10 bits é o: ( )oscilator startup timer. ( )power-up timer. 10.O buffer shimitt trigger tem a função de: ( )filtrar altas frequências na entrada. ( 12 )9. ( )11. Questão 8 2016S2P2M Assinale a alternativa verdadeira para cada linha. 1. A função compare 00 e 01 usa, como registrador de período: ( )CCPxR. ( )TMR1. 2. A memória analógica de um circuito de sample and hold é composta por um: ( )capacitor. ( )flip-flop.. Um pino de I/O é configurado como entrada ou saída por meio do registrador: ( )TRIS. ( )RBPU.. A quantidade de bits de PORTA é: ( ). ( )6.. Um sinal PWM é: ( )analógico. ( )digital. 6. Na função capture, o pino CCPx deve ser configurado como: ( )entrada. ( )saída. 7. No SPI slave, o pino SCK deve ser configurado como: ( )entrada. ( )saída. 8. No PSP, existe um bit de sinalização chamado: ( )IBOV. ( )OBOV. 9. No módulo AD, os bits CHS<2:0> selecionam: ( )o conversor a ser usado. ( )o pino a ser usado. 10. No PWM, quando se usa décimas, a quantidade de níveis disponíveis é: ( 12 Questão 8 2016S2P2M Explique por que motivo, programando oito bits do PWM, para qualquer valor de CCPRxL<7:0> superior a PR2<7:0>, o dutty-cycle sempre será de 100%. 126

22 Questão 86 2016S2P1BM Questão 87 2016S2P1AT PIC16F877 No programa abaixo, determine o argumento numérico da instrução GOTO ali, na forma hexadecimal. #include <P16F877.INC> GOTO início org 0x7fc início NOP MOVLW 0x08 MOVWF PCLATH GOTO ali NOP NOP ali NOP NOP 127 PIC16F877 A listagem abaixo é parte de um projeto. A rotina Espera é executada para gerar uma determinada temporização. Para um determinado f OSC, esta rotina gera um tempo t 1 =20s. A constante VALOR determina a quantidade exata de repetições da variável usada no loop, que conta decrescentemente de VALOR até 1. Mudando a definição da constante VALOR para 0xC, qual o valor do novo tempo, t 2? Espera constant TEMPOA = 0x20 constant TEMPOB = 0x21 constant TEMPOC = 0x22 constant VALOR = 0x0f MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN PORTD VALOR TEMPOC VALOR TEMPOB VALOR TEMPOA TEMPOA,F $-0x1 TEMPOB,F $-0x TEMPOC,F $-0x9 128 Questão 88 2016S2P1AT Questão 89 2016S2P2BT Contadores digitais são aplicados quando os valores instantâneos da contagem são usados. Temporizadores digitais são aplicados quando os valores instantâneos não são usados, mas o tempo de uma contagem é relevante. Contadores dão sinal de overflow e temporizadores dão sinal de time-out. Contadores podem usar prescaler. Temporiadores podem usar prescaler e postscaler. Explique por que contadores não usam postscaler. No PSP, os comandos /RD, /WR, e /CS devem ser configurados como entrada ou como saída? Justifique o uso destes três pinos no PSPMODE. 129 10 Questão 90 2016S2PAT Questão 91 2016S2PAT Explique o porquê do MPASM apresentar esta mensagem e no que ela diverge do comportamento do chip verdadeiro. CORE-W001: Halted due to PC incrementing over the Maximum PC address and wrapping back to Zero. No MPASM, alguns caracteres, em algumas instruções, aparecem na cor preta. Qual o significado desta cor? 11 12

2 Questão 92 2016S2PAT No MPASM, um arquivo (*.asm) pode ser aberto dentro (incluído) ou fora (não incluído) do mcp. Explique a diferença entre estas duas opções. Questão 9 2016S2PAT No programa 1, determine: 1. O argumento numérico (hex) da instrução CALL RotinaC1 2. O argumento numérico (hex) da instrução GOTO Fim. O valor (hex) do push efetuado pela instrução CALL RotinaC0. O valor (hex) do pop efetuado pela segunda ocorrência, na listagem, da instrução RETURN ; Programa 1 org 0x CALL RotinaC0 GOTO Fim RotinaC0 MOVLW 0x0 MOVWF 0x20 CLRF 0x21 CALL RotinaC1 RETURN RotinaC1 MOVLW 0x0 MOVWF 0x21 CLRF 0x20 RETURN Fim end 1 1 Questão 9 2016S2PAT Lembrando que as instruções que fazem ou podem fazer desvios gastam 2T CY s, determine quantos T CY s são usados no programa 1. RESPOSTAS DAS 1 16 Questão 1 2012S1P1M Questão 2 2012S1P2M PIC16F877 Na segunda coluna, coloque as letras associadas da primeira coluna (biunívoco). (A) EEPROM (A) Data memory (B) Flash (D) File register (C) ROM (E) LIFO (D) SRAM (B) Program Memory (E) Stack (C) ULA Na segunda coluna, coloque as letras associadas da primeira coluna (biunívoco). (A) P (C) Chip com especialidade matemática (B) MCU (E) Gravador de PIC (C) DSP (B) Incorporação de periféricos (D) ULA (D) Módulo executor de operações (E) ICD (A) Processamento genérico 17 18

2 Questão 2012S2P1M Ligue os pontos da coluna da direita com os pontos da coluna da esquerda. Biunívoco. DEC Um bit de saída selecionado por vez por meio dapalavra de entrada. ENC A palavra de saída é definida por meio do bit de entrada escolhido. MUX Uma das palavras de entrada é selecionada e colocada na palavra de saída. DEMUX Uma das palavras de saída é selecionada para receber a palavra de entrada. REG A palavra de entrada é copiada para a palavra de saída, onde é mantida. COUNT A palavra de saída é o seu valor anterior sofrido de algumaoperação. ROM Uma palavra de dados de saída, uma palavra de entrada de endereço. RAM Uma palavra de dados de entrada, uma palavra de dados de saída, uma palavra de entrada de endereço. STACK A palavra lida é a última a ter sido escrita. BUS Conexão de uma palavra de saída de um bloco para uma palavra de entrada de outro bloco. Questão 2012S2P1M Ligue os pontos da coluna da direita com os pontos da coluna da esquerda. Biunívoco. PIC16F877-20/P. 1 Quant. de bits usados na seleção do destiny em instruções lóg. e arit. do tipo WF. 2 Quant. de bits usados na seleção de páginas da program memory. Quant. de bits usados na seleção de um bit em operações sobre bits. Quant. de páginas da file registers. Tamanho da palavra PCH. 7 Quant. de bits usados no endereçamento do file em instruções lógicas e aritméticas. 8 Tamanho das palavras do file registers. 9 Quant. de bits de endereço de um registrador da SRAM. 10 Bits do conversor A/D da PIC mid-range architecture. 11 Quant. de bits usados no endereçamento do destino em instruções de desvio. 1 Quant. de bits usados no endereçamento de uma instrução na program memory. 1 Tamanho das palavras da program memory. 19 10 Questão 201S1P2T Preencha, entre parênteses, C caso o módulo pertença ao núcleo (core) ou P se for um periférico. (C) WDT watchdog timer (P) TMR0 timer 0 (P) TMR1 timer 1 (P) TMR2 timer 2 (P) A/D converter (P) CCPx capture-compare-pwm (C) ALU arithmetic logic unit (P) EEPROM memory (P) FLASH memory (P) USART serial (C) STACK pilha (C,P) SFR special function registers* (P) GPR general purpose registers (C) WREG work register (P) ICD in-circuit debugger (P) LVP low-voltage programming *Alguns SFR s controlam elementos do core, e, por isso, fazem parte do core; C e P estão corretos. 11 Questão 6 2012S1PM Usando um demultiplexador 12 de bits e um multiplexador 21 de bits, construa um circuito que realiza a operação LR Left Bit Rotation de bits. Se a entrada A for zero, não há rotação. Se a entrada A for um, ocorre a rotação. 12 Questão 7 2012S2P1M Explique o que é um PUSH e um POP. Cite uma instrução que realize cada uma dessas ações. PIC16F877 20/P. PUSH: Colocação do endereço da próxima instrução (PC+1) no TOS (topo da pilha) antes de efetuar o desvio. Usado em CALL. POP: Obtenção do endereço da próxima instrução a partir do TOS (topo da pilha). Usado em RETURN, por exemplo. 1 Questão 8 2012S2P2M O Program Counter possui 1 bits (bit0 a bit12) e é referenciado pelos registradores PCL (low) e PCH (high). O PCL é acessível, porém o PCH não. O registrador PCLATH possui bits (bit0 a bit) e é acessível; ele é copiado para o PCH nas instruções de desvio ou quando se acessa o PCL. No caso de desvio (CALL e GOTO), a instrução recebe, como argumento, uma constante de 11 bits (bit0 a bit10). Quais são os bits de PCLATH enviados ao PCH nas instruções CALL e GOTO? Bits e. 1

2 Questão 9 2012S2P2M Questão 10 2012S2P2M Explique o erro no programa abaixo: #include <p16f877.inc> org 0x #define ondecadê 0x20 BCF STATUS, RP1 BCF STATUS, RP0 MOVF 0xBE, W MOVWF ondecadê #undefine ondecadê end Algumas instruções enquadram se na categoria 2T CY. O que é 2T CY? É a categoria de instruções que requerem, na execução, dois ciclos de instrução (two instruction cycle period). Cada ciclo de instrução usa ciclos de clock. O termo genérico ciclo se refere, por padrão, ao relógio, pois é o período que serve de referência para os demais temporizadores. File somente pode ter 7 bits de endereço direto na instrução. 1 16 Questão 11 2012S2P2M Questão 12 2012S2P2M A instrução RETURN requer que uma outra instrução tenha sido executada em algum momento anterior. Que instrução é essa? Explique qual problema acontece se essa condição não for respeitada. Explique por que motivo o decaimento da frequência de relógio (clock) não faz com que o WDT demore mais para gerar um reset ou um wake up? Todo RETURN está associado a um CALL. O CALL faz o push no stack, o RETURN faz o pop. Para cada push, deve haver um pop. Se houver um RETURN sem CALL, haverá um pop sem push, o que provoca um stack underflow. Para segurança, o WDT possui relógio próprio, configurável. O oscilador do WDT é do tipo RC. O WDT prossegue a contagem mesmo durante o modo sleep. 17 18 Questão 1 2012S2P2M Explique a função dos pinos V REF+ e V REF. São as tensões de referência para o conversor AD. Todo conversor AD requer uma referência para tensões mínima (ADRES=000h) e máxima (ADRES=FFh). Por default, esses valores são V SS e V DD, que assumem níveis TTL (0V e V, respectivamente, comentados na última aula). Caso sejam necessários valores diferentes, tais níveis de tensão devem ser aplicados às entradas V REF e V REF+, respectivamente. É preciso respeitar a faixa de tensões tolerada pelo chip (ver datasheet). Se essas entradas forem usadas, duas entradas analógicas são perdidas. Todas entradas analógicas (8 no máximo) usam as mesmas 19 tensões de referência. Questão 1 201S1P1T Explique porque, para um determinado programa construído em linguagem de montagem (assembler) para um controlador/processador RISC, o tamanho do programa montado (em bits) não difere muito do tamanho do programa montado por meio de um assembler para um controlador/processador CISC com similar capacidade de processamento. Em arquitetura RISC, o opcode é pequeno, pois há poucas instruções a serem selecionadas, poucos bits são usados nesta seleção. Por outro lado, como há poucas instruções, são necessários muitos passos de instrução para a realização de tarefas simples. O programa é formado por muitas instruções que usam poucos bits. Em arquitetura CISC, o opcode é grande, pois há muitas instruções a serem selecionadas, muitos bits são usados nesta seleção. Por outro lado, como há muitas instruções, são necessários poucos passos de instrução para a realização de tarefas sofisticadas. O programa é formado por poucas instruções que usam muitos bits. O tamanho do programa montado é dado pela sua quantidade de bits. A quantidade de bits é dada pela quantidade de instruções multiplicada pelo tamanho do opcode das instruções. Comparando RISC com CISC, um fator é grande e o outro pequeno, de modo que 10 não há muita diferença no produto dos fatores.

26 Questão 1 201S1P1T Utilize um MUX para transformar várias ROM 2k 8bits em uma ROM 8k 8bits. Empregue a letra A para nomear todos os bits usados para o endereçamento, começando pelo índice 0 no bit menos significativo. 11 Questão 16 201S1P1M Explique o motivo que justifica o uso de uma memória flash e o motivo que justifica o uso de uma EEPROM como parte integranteda PIC16F877-20/P. A flash possui uma densidade maior do que a EEPROM, sendo indicada para o armazenamento do programa, cujos requisitos de capacidade de armazenamento podem ser grandes. A memória densa ocupa pouco espaço no chip, reduzindo seu custo de fabricação. Como não é comum a gravação da memória de programa durante a execução do programa, sua morosidade só é um problema durante a programação do chip. A EEPROM possui uma rapidez de acesso bem maior do que a flash, principalmente na gravação, indicada quando o programa precisa realizar constantes gravações em uma memória não volátil. Como a capacidade de armazenamento para esta finalidade não precisa ser grande, a baixa densidade 12 da EEPROM não é um problema. Questão 17 2012S1P2M Questão 18 201S1P2T Quantas linhas de opcode ou de disassembly possui o programa abaixo? CONFIG _WDT_ON & _XT_OSC & _LVP_OFF & _BODEN_OFF #include <p16f877.inc> org 0x0 ;Vetor de Reset #define marqualrélio 0x ;dado 1 #define operador 0xA0 ;dado 2 BCF STATUS, RP1 BSF STATUS, RP0 MOVLW marqualrélio MOVWF operador #undefine ondecadê #undefine operador end PIC16F877 Diga quais são as instruções do tipo 2T CY. BTFSC, BTFSS, DECFSZ, INCFSZ, CALL, GOTO, RETURN, RETLW, RETFIE linhas 1 1 Questão 19 201S1P2T PIC16F877 Diga qual instrução (incluindo argumento), usando a sintaxe do MPASM, equivale a dois NOP s seguidos. GOTO $+1 Questão 20 201S1P2T Escreva o código disassembly para o programa abaixo, sabendo que: RP1=STATUS<6>,RP0=STATUS<>, WR=EECON1<1>. Especifiquea linha da program memory. ; Programa da P2 #include <p16f877.inc> org 0x #define ondecadê 0x0 ;endereço da EEPROM #define marqualrélio 0xca ;dado para a EEPROM ;Verifica se está em processo de escrita BSF STATUS, RP1 BSF STATUS, RP0 BTFSC EECON1, WR GOTO $-1 MOVLW ondecadê ;W = ondecadê1 MOVWF EEADR ;SRAM(EEADR) = W MOVLW marqualrélio ;W = marqualrélio MOVWF EEDATA ;SRAM(EEDATA) = W #undefine ondecadê #undefine marqualrélio end 000 BSF 0x, 0x6 0006 BSF 0x, 0x 0007 BTFSC 0xc, 0x1 0008 GOTO 0x7 0009 MOVLW 0x 000A MOVWF 0xd 000B MOVLW 0xca 000C MOVWF 0xc 1 16

Questão 21 201S1P2M Questão 22 201S1P2M Qual a instrução (e argumentos) do opcode 800h? Qual o opcode da instrução BTFSC 0xc, 0x1? Usar as tabelas de montagem. IORLW 0x0 188C Um sistema de controle de uma máquina recebe uma informação analógica de um sensor, aplica uma função de controle por meio da MCU e gera um sinal controlado para a máquina. 10 bits são usados como palavra na função de controle. Qual é o bloco da PIC que recebe a informação vinda do sensor e qual o bloco que envia a informação para o atuador? Recebimento da informação do sensor: Conversor A/D. Envio da informação para o atuador: PWM. 17 18 Questão 2 201S1P2M Questão 2 201S1P2M O que é um WDT time-out? Para que ele serve? O que ocorre com a MCU após o WDT time-out? O que é um contador prescaler? Para que serve? Como ele pode ser construído? É a finalização da temporização WDT. Serve para evitar travamentos. Após o WDT time-out, ocorre um WDT reset. É o acréscimo de bits menos significativos a outro contador, tornando-o mais lento. Um contador que tem por função tornar mais lento o passo de contagem de outro contador. Pode ser construído com FF s, ligando o bit de saída mais significativo à entrada de relógio do outro contador. 19 160 Questão 2 201S1PM Questão 26 201S1PT Explique qual a função de um buffer em uma entrada digital. Explique qual função especial tem um buffer Schimitt Trigger em uma entrada digital. Desenhe o formato de onda típico de um oscilador RC. O buffer serve para ajustar os níveis de tensão e corrente aplicados à entrada para os níveis aceitos pelo circuito digital, bem como fazer o casamento de impedâncias. O buffer Schimitt Trigger apresenta uma histerese que filtra oscilações de alta frequência na entrada, protegendo o circuito contra superaquecimento, disparos indesejados e outros problemas. 161 162 27

28 Questão 27 201S1PT Faça um círculo sobre o(s) erro(s) no programa abaixo. Faça um traço sobre a(s) linha(s) que pode(m) ser removidas sem alterar o resultado do programa a não ser pelos T CY s da(s) linha(s) removida(s). ; Programa da P #_include <p16f887.inc> org 0x0 #define marqualrélio 0x #define operador 0xae #define ondecadê 0xA0 CLRF ondecadê MOVLW marqualrélio MOVWF ondecadê CLRF ondecadê+1 SUBLW operador MOVWF ondecadê+1 #undefine marqualrélio #undefine operador #undefine ondecade end. 16 Questão 28 201S1PM Explique qual a função de um resistor de pull-up. Como um transistor pode agir como uma resistência ativa? Como um transistor pode operar como um resistor de pull-up habilitável? O resistor de pull-up impede o surgimento de uma alta impedância em um nó do circuito, levando o estado de alta impedância para o nível alto. Um transistor pode agir como uma resistência ativa quando R DS ou R CE é usado como um resistor. A resistência ativa pode agir como um pull-up habilitável por meio de V GS ou V BE, que alteram o valor de R DS ou R CE. 16 Questão 29 201S1PM Questão 0 201S2P1M PIC16F877 Explique o significado do valor zero e do valor um no bit EEIF e como esses valores são alterados. PIC16F877 Explique o que acontece em uma escrita em INDF. Zero: Não houve uma escrita bem sucedida na EEPROM ou na FLASH. Um: Houve uma escrita bem sucedida na EEPROM ou na FLASH. De zero para um: Feito automaticamente pela PIC, não pode ser feito pelo usuário. De um para zero: Feito pelo usuário, para que se possa identificar uma nova escrita bem sucedida. 1. O conteúdo de FSR é copiado nos oito bits menos significativos do address bus da SRAM. 2. O bit IRP é usado como bit mais significativo do address busda SRAM.. A escrita é feita sobre o registrador identificado por meio destes nove bits. 16 166 Questão 1 201S2P1T Questão 2 201S1P1M PIC16F877 Explique o que acontece em uma escrita em PCL. 1.PCLATH<:0> é copiado em PC<12:8>. 2.PCL<7:0> corresponde a PC<7:0>.. A próxima instrução a ser executada é aquela cujo endereço é dado pelo novo valor do PC. PIC16F877 Que evento impede a MCU de funcionar se T OSC for exageradamente grande? Resposta 1: WDT reset. Resposta 2: /TO. 167 168

29 Questão 201S1P1M Todos os periféricos são registrados, isto é, a comunicação (dado, endereço, controle) é feita por meio de registradores da SRAM (SFR - file registers). Explique o motivo dessas registrações. Porque o data-bus é usado para múltiplas finalidades e não pode ficar paralisado, guardando a informação desejada. 169 A instrução ANDLF seria bastante útil se existisse, mas a arquitetura do core não permite. Esta instrução faria a operação AND bit-a-bit entre uma literal, de 8 bits, e um registrador endereçado por 7 bits. Explique por que o core não permite a implementação desta instrução. Resposta 1: Como pode ser visto na figura abaixo, o opcode possui, apenas, 1 bits, não cabem os 8 bits da literal e os 7 bits do endereço. Resposta 2: Em Q2, etapa de leitura de argumentos, somente um (L ou F) pode ser lido, não ambos. Resposta : Se todas as operações lógicas e aritméticas tivessem a opção LF, os 1 bits de opcode não seriam suficientes para mapear todas as opções, seriam necessários 1 bits. Questão 201S1P1M 170 Questão 201S1P1M PIC16F877 Cite os tipos de elemento encontrados na linguagem de montagem pura, isto é, sem as extensões ou diretivas empregadas pelo MPASM. Resposta 1: Mnemônicos (de instrução) e operandos (numéricos). Resposta 2: Mnemônicos (de instrução) e argumentos (numéricos). Resposta : Mnemônicos (de instrução) e parâmetros (numéricos). 171 Questão 6 201S1P1M PIC16F877 Diga em que situação é interessante realizar um programa (assembly, na PIC ) de escrita na program memory. Resposta 1: Quando a EEPROM não é grande o suficiente para gravar todos os dados não voláteis. Resposta 2: Quando a EEPROM já está cheia. Resposta : Quando a informação excede 26 palavras. Resposta : Quando se deseja gravar caracteres ASCII, de 7 bits, dois por endereço. 172 Questão 7 201S1P1T Questão 8 201S1P1T Cite uma vantagem da geração de sinal de clock (T OSC ) por meio de um circuito RC e uma vantagem da geração por cristal (XTAL). Vantagem do RC: Baixo custo, rapidez na iniciação. Vantagem do XTAL: Alta confiabilidade da frequência obtida. 17 PIC16F877 Cite as diversas aplicações para os argumentos numéricos em uma instrução, especificando a quantidade de bits usada em cada uma destas aplicações, bem como o seu significado. Destiny: 1-bit Endereço do bit: -bit Endereço do file: 7-bit Literal: 8-bit Endereço do opcode: 11-bit 17

0 Questão 9 201S1P1T Questão 0 201S1P1T PIC16F877 Foi comentado, nas aulas de laboratório, que, um endereço não usado na program memory é gravado com FFFh. Também foi comentado que este valor corresponde a uma instrução que realiza uma determinada ação. Que ação é esta? Diga em que situação é interessante usar a instrução CALL ao invés de GOTO. Quando há uma sub-rotina chamada em dois ou mais pontos do programa principal. W-1 17 176 Questão 1 201S1P2M PIC16F877 Explique por que, no módulo CCPx no modo PWM, se DC<9:0> é maior ou igual a (PR2+1), então o valor de DC é irrelevante, pois o dutty-cycle percentual é sempre de 100% qualquer que seja o valor de DC<9:0> que satisfaça a condição citada. Resposta 1: O PWM vale zero a partir de quando ocorre o match entre TMR2 e DC e vai pra um no reset de TMR2, mas o timer 2 de dez bits jamais atinge o valor de DC de dez bits, então o PWM jamais vai para zero. Resposta 2: O DC% não pode superar 100%, ou seja, qualquer DC<9:0> que geraria um DC% maior do que 100% acaba gerando, apenas, 100%, sendo o seu valor, então, irrelevante. 177 No laboratório, vimos que, para o teclado bottom switch, usamos uma rotina que realiza uma trava do tipo master-slave. Sabendo que a tecla solta é lida como 1 e, apertada, como 0, explique o que faz o programa na etapa master, o que faz o programa na etapa slave, e qual o objetivo do uso dessa rotina de travamento master-slave. Etapa master: Aguarda o usuário apertar a tecla. Gera um loop que só termina quando o valor lido é zero. Etapa slave: Aguarda o usuário soltar a tecla. Gera um loop que só termina quando o valor lido é um. Travamento: Evitar que oscilações de alta frequência sejam interpretadas como múltiplos acionamentos. Questão 2 201S1P2T 178 Questão 201S2P1T Explique para que serve o oscilator start-up timer. Serve para aguardar até que a frequência do oscilador a cristal se estabilize. 179 Questão 201S2P1T Sobre as instruções RETURN e RETFIE: Quando se usa uma e quando se usa a outra? Qual a diferença entre elas? RETURN: Retorna ao próximo ponto a partir de onde o desvio foi realizado. Desvio realizado por CALL. No CALL, é feito TOS=PC+1. No RETURN, é realizado PC=TOS. RETFIE: Semelhante a RETURN, porém também é realizado GIE=1. Usado após a execução da rotina de interrupção. Ao aceitar a interrupção, as interrupções são desativadas, e, ao concluir a execução da rotina de interrupção, as interrupções são reabilitadas. 180

Questão 201S2P2T Questão 6 201S2P2T Explique como o sinal digital PWM se comporta como um sinal analógico sobre um atuador. Qual a diferença de uma porta paralela normal e a PSP? O dutty-cycle da onda quadrada define a tensão média, que corresponde ao sinal analógico. A PSP possui bits de sinalização e de controle, a paralela normal não. 181 182 Questão 7 201S2P2T Questão 8 201S1P1T Em uma comunicação serial síncrona, qual a principal diferença entre master e slave? PIC16F877 Explique o que faz a instrução IORLW. Quantos são os argumentos da instrução e quais os seus significados? Quantos são os operandos e quem são eles? O master controla o relógio da comunicação. Realiza a operação ou-inclusivo. Usa um argumento, a Literal de 8-bits. Usa dois operandos, a Literal e o Work Register. 18 18 Questão 9 201S1P2T Questão 0 201S1PAT PIC16F877 Explique o motivo de CCPRxH ter seu acesso bloqueado na função PWM do módulo CCP. Explique para que serve a diretiva #include <p16f877.inc> Evitar que ocorra mais de um match de 10 bits entre DC e TMR2 em um mesmo período, o que levaria a umsinal PWM errado. É um registrador de retenção para manter a palavra DC constante durante todo o período PWM. Serve para que sejam usados rótulos no lugar de números nos endereços dos SFR s e dos bits dos SFR s. 18 186 1

Questão 1 201S1PAT Questão 2 201S1PAT Os programas feitos para o MPASM utilizam quatro colunas. Diga o que é colocado em cada coluna. Coluna 1: Rótulos para destino das instruções CALL e GOTO. Coluna 2: Mnemônicos de instrução e diretivas. Coluna : Argumentos das instruções. Coluna : Comentários. Monte cada uma das instruções abaixo. Fazer x=0. BCF 0x0B, 0x7 18B MOVLW 0x 0 RETURN 0008 GOTO 0x01 281 MOVF 0x11, 0x0 0811 CLRW 0100 187 188 Questão 201S1PAT Questão 201S2P1T Explique o problema no uso da instrução abaixo: GOTO $ Explique a diferença entre P e MCU. O argumento $ representa o endereço da instrução vigente, ou seja, esta instrução leva o PC para ela mesma, trata-se de um loop infinito. MCU possui periféricos embutidos no mesmo chip. P não possui periféricos embutidos no mesmo chip. 189 190 Questão 201S2P1T Questão 6 201S2P1T PIC16F877 Com exceção da flash program memory, todos os demais periféricos possuem uma característica em comum, característica esta que é suficiente para definir, tais módulos, como periférico. Explique tal característica. Exceto a PM, todos os periféricos estão ligados ao data bus. Qual é a característica da flash memory que a torna ideal para uso como program memory? Qual é a característica da EEPROM que a torna ideal para uso como data memory? Fash memory: Alta densidade. EEPROM: Alta rapidez na leitura e na gravação. 191 192 2

Questão 7 201S2P1T Questão 8 201S2P1T PIC16F877 Em que tipo de aplicação se usa o relógio por cristal HS? Em que tipo de aplicação se usa o relógio por cristal LP? PIC16F877 O TMR0 possui dois modos de operação, o modo temporizador e o modo contador. Explique a diferença. HS: Quando se deseja alta performance e é permitido grande consumo de energia elétrica. LP: Quando se deseja baixo consumo de energia elétrica e não é necessário grande performance. Temporizador: Usa, como base de tempo, o relógio interno do chip. Contador: Usa, como base de tempo, uma onda quadrada de origem externa. 19 19 Questão 9 201S2P1T Questão 60 201S2PAT PIC16F877 Explique a função da instrução SWAPF. Explique para que serve a diretiva #include <p16f877.inc>. Permutação dos dois nibbles fornecidos por um registrador. Serve para que sejam usados rótulos no lugar de números nos endereços dos SFR s e dos bits dos SFR s. 19 196 Questão 61 201S2PAT Explique por que, no MPASM, algumas linhas na coluna disassembly da janela Program Memory ficam em branco. Porque algum bit irrelevante recebeu valor 1. 197 Questão 62 201S2PAT Escreva o código assembly puro para o código abaixo (disassembly), usando os critérios apresentados em sala de aula. Especifique os addresses para cada linha no assembly puro. 000 BCF 0x0, 0x6 0006 BCF 0x0, 0x 0007 CLRF 0x20 0008 MOVF 0x20, 0x0 0009 MOVWF 0x21 000A BSF 0x20, 0x0 000B MOVF 0x20, 0x0 000C MOVWF 0x22 000D GOTO 0x011 000E BSF 0x20, 0x1 000F MOVF 0x20, 0x0 0010 MOVWF 0x2 0011 SLEEP #include <p16f877.inc> config _WDT_OFF org 0x00 constant ondecadê = 0x20 constant ondegoto = 0x011 BCF STATUS, RP1 BCF STATUS, RP0 CLRF ondecadê MOVF ondecadê,w MOVWF ondecadê+1 BSF ondecadê,0 MOVF ondecadê,w MOVWF ondecadê+2 GOTO ondegoto BSF ondecadê,1 MOVF ondecadê,w MOVWF ondecadê+ SLEEP end 198

Questão 6 2016S1P1M Questão 6 2016S1P1M Explique a diferença entre o ambiente de desenvolvimento MPLAB SIM e o MPLAB ICD2. Explique para que serve a pilha. MPLAB SIM : Simulador de PIC. MPLAB ICD2 : Executador de programas do chip real, controlado pelo computador. Serve para armazenar o return address na execução da instrução CALL ou no atendimento a uma interrupção. 199 200 Questão 6 2016S1P1M Questão 66 2016S1P1M Toda ULA possui duas entradas de dados. Qual a procedência destas duas entradas? Explique para que servem as palavras TRIS. Uma vem do work register. A outra vem do data bus ou do instruction register. Servem para configurar os pinos das portas de comunicação (entrada ou saída). 201 202 Questão 67 2016S1P1M Questão 68 2016S1P1T PIC16F877 Explique a diferença entre as instruções do tipo LW e as instruções do tipo WF. LW: Um argumento é uma literal, outro argumento é o work register, os dois são operados e a resposta é gravada no work register. WF: Um argumento é um file register, outro argumento é o work register, os dois são operados e a resposta é gravada no file register ou no work register dependendo da configuração do destiny. PIC16F877 Explique por que motivo alguns SFR s possuem endereço completo de, apenas, sete bits. Porque são SFR s muito usados e precisam ser acessados em qualquer banco. 20 20

Questão 69 2016S1P1T Questão 70 2016S1P1T Explique a função da histerese de uma porta lógica que compõe um oscilador RC. PIC16F877 Explique por que motivo a gravação ou escrita da flash memory em tempo de execução (runtime) se assemelha à arquitetura Von-Neumann. Permitir que a frequência de oscilação não seja infinita, o que queimaria a porta lógica CMOS. Porque dado, endereço e controle são enviados por meio do data bus. 20 206 Questão 71 2016S1P2M Questão 72 2016S1P2M PIC16F877 Explique por que motivo algumas portas paralelas possuem buffer de entrada TTL e outras possuem buffer de entrada ST. PIC16F877 Explique o motivo por que a função PSP ignora a configuração TRISD. Buffer TTL: Quando o sinal é proveniente de outro circuito digital. Buffer ST: Proteção contra oscilações de alta frequência, sinal proveniente de circuitos analógicos. Quem controla o fluxo de informação é o outro chip. 207 208 Questão 7 2016S1P2M Questão 7 2016S1P2T PIC16F877 Explique o que é a ligação daisy-chain SPI. Todos os slaves recebem o mesmo sinal slave select (opcional). Todos os slaves recebem o mesmo sinal serial clock. O serial out de um elemento é ligado ao serial in do outro (ligação série). PIC16F877 Explique por que motivo a função PWM (<CCPxM:CCPxM2>=11) possui um holding register. A palavra DC não pode sofrer alteração durante o período do PWM. 209 210

6 Questão 7 2016S1P2T Questão 76 2016S1PAT PIC16F877 Explique o motivo por que a função SPI no slave possui a opção /SS pin control disabled (<SSPM:SSPM0>=0101). Explique para que serve a diretiva config. Para liberar o pino para uso pela porta paralela. Faz alterações no configuration word (configuration bits). 211 212 Questão 77 2016S1PAT Questão 78 2016S1PAT No MPASM, alguns caracteres, em algumas instruções, aparecem na cor cinza. Qual o significado destes caracteres? São operações lógicas e aritméticas efetuadas pelo MPLAB antes da montagem. Determine os endereços (hex, 7 bits) e os conteúdos (hex, 8 bits) de todos os GPR s escritos no programa abaixo. MOVLW 0xa0 MOVWF 0x1 ;Address: 0x1 Datum: 0xa0 MOVLW 0x21 MOVWF 0x2 ;Address: 0x2 Datum: 0x21 ADDLW 0x2 MOVWF 0x ;Address: 0x Datum: 0x (21h + 2h = h) MOVF 0x1, 0x0 ;W=a0 MOVWF 0x ;SRAM(0x)=0xa0 RRF 0x, 0x1 ;SRAM(0x)=0xa0/2=0x0 end ;Address: 0x Datum: 0x0 21 21 Questão 79 2016S1PAT Questão 80 2016S1PAT Explique a função dos botões indicados na figura abaixo. A B C D A. Animate. Execução passo a passo automática. B. Step into. Execução passo a passo manual. C. Reset. Leva o PC para o address 0000h. D. Break point. Ponto de parada na execução. Explique a função dos botões indicados na figura abaixo. Monte a instrução (hex):bcf STATUS, RP1 Desmonte o opcode 0x188C. 10h. BTFSC 0x0c, 0x1. O file address, no assembly puro, deve conter dois nibbles. Foi comentado que o MPLAB comete o erro de não atentar para este detalhe. O MPLAB desmonta este opcode na forma BTFSC 0xc, 0x1. 21 216

7 Teste 81 201S1PAT Associe cada tipo de elemento do MPASM com sua respectiva cor. (A) Argumento numérico hex (B) Preto (B) Argumento numérico dec (F) Cinza (C) Mnemônico de instrução (A) Azul sem negrito (D) Rótulo (Label) (C) Azul com negrito (E) Comentário (E) Ciano ou azul piscina (F) Operação do MPASM (D) Magenta, vinho, lilás ou roxo 217 Assinale a alternativa falsa. A. ( ) A memória flash é a parte mais cara da pastilha interna de um chip microcontrolador. B. ( ) Quanto maior é a capacidade de processamento de uma MCU, maior é a sua funcionalidade. C. (X) PIC16F877 O fetch das instruções do tipo 2T CY leva o dobro do tempo do de uma instrução normal. D. ( ) PIC16F877 A configuração TRIS determina se um pino de comunicação é entrada ou saída. E. ( ) PIC16F877 Uma diretiva de montagem não gera opcode. F. ( ) PIC16F877 Um pedido de interrupção não é atendido se o seu enable bit está desativado. Teste 82 2016S2P1AM 218 Assinale a alternativa verdadeira para cada linha. 1. O tamanho dos opcodes é de: ( )1 bits. (X)1 bits. 2. Uma rotina de interrupção é finalizada com a instrução: (X)RETFIE. ( )RETLW.. A EEPROM: ( )faz parte do core. (X)é um periférico.. O TMR1 no modo contador, emprega, como base de tempo: (X)sinal externo. ( )o instruction cycle.. As instruções BSF, BCF, BTFSC e BTFSS são operações sobre: (X)bit. ( )byte. 6. O registrador STATUS é um: ( )GPR. (X)SFR. 7. A fim de endereçar a segunda página da SRAM, o bit RP0 deve receber valor: ( )0. (X)1. 8. Uma vantagem da EEPROM em relação à flash memory é: ( )alta densidade. (X)rapidez na gravação. 9. A etapa de reset que emprega um contador de 10 bits é o: (X)oscilator startup timer. ( )power-up timer. 10.O buffer shimitt trigger tem a função de: (X)filtrar altas frequências na entrada. ( )gerar alta impedância. Teste 8 2016S2P1BM 219 Assinale a alternativa verdadeira para cada linha. 1. A função compare 00 e 01 usa, como registrador de período: (X)CCPxR. ( )TMR1. 2. A memória analógica de um circuito de sample and hold é composta por um: (X)capacitor. ( )flip-flop.. Um pino de I/O é configurado como entrada ou saída por meio do registrador: (X)TRIS. ( )RBPU.. A quantidade de bits de PORTA é: ( ). (X)6.. Um sinal PWM é: ( )analógico. (X)digital. 6. Na função capture, o pino CCPx deve ser configurado como: (X)entrada. ( )saída. 7. No SPI slave, o pino SCK deve ser configurado como: (X)entrada. ( )saída. 8. No PSP, existe um bit de sinalização chamado: (X)IBOV. ( )OBOV. 9. No módulo AD, os bits CHS<2:0> selecionam: ( )o conversor a ser usado. (X)o pino a ser usado. 10. No PWM, quando se usa décimas, a quantidade de níveis disponíveis é: ( )9. (X)11. Teste 8 2016S2P2M 220 Teste 8 2016S2P2M Questão 86 2016S2P1BM Explique por que motivo, programando oito bits do PWM, para qualquer valor de CCPRxL<7:0> superior a PR2<7:0>, o dutty-cycle sempre será de 100%. Nunca ocorre o match entre CCPRxL e TMR2, porque o máximo valor de TMR2 é dado por PR2 e este valor é menor do que o CCPRxL, e é este match que provoca a comutação da saída para nível baixo, levando o dutty-cycle para baixo de 100%. PIC16F877 No programa abaixo, determine o argumento numérico da instrução GOTO ali, na forma hexadecimal. #include <P16F877.INC> GOTO início org 0x7fc início NOP 0x07fc MOVLW 0x08 0x07fd MOVWF PCLATH 0x07fe GOTO ali 0x07ff NOP 0x0800 NOP 0x0801 ali NOP 0x0802 NOP 0x080 221 222

8 Questão 87 2016S2P1AT PIC16F877 A listagem abaixo é parte de um projeto. A rotina Espera é executada para gerar uma determinada temporização. Para um determinado f OSC, esta rotina gera um tempo t 1 =20s. A constante VALOR determina a quantidade exata de repetições da variável usada no loop, que conta decrescentemente de VALOR até 1. Mudando a definição da constante VALOR para 0xC, qual o valor do novo tempo, t 2? Espera constant TEMPOA = 0x20 constant TEMPOB = 0x21 constant TEMPOC = 0x22 constant VALOR = 0x0f MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN VALOR1 = 0x0f = 1 1 passos VALOR2 = 0xC = 60 60 passos 60 / 1 = = 6 6 20s = 160s = 1,6ms PORTD VALOR TEMPOC VALOR TEMPOB VALOR TEMPOA TEMPOA,F $-0x1 TEMPOB,F $-0x TEMPOC,F $-0x9 22 Questão 88 2016S2P1AT Contadores digitais são aplicados quando os valores instantâneos da contagem são usados. Temporizadores digitais são aplicados quando os valores instantâneos não são usados, mas o tempo de uma contagem é relevante. Contadores dão sinal de overflow e temporizadores dão sinal de time-out. Contadores podem usar prescaler. Temporiadores podem usar prescaler e postscaler. Explique por que contadores não usam postscaler. Não faz sentido repetir a mesma contagem várias vezes. 22 Questão 89 2016S2P2BT Questão 90 2016S2PAT No PSP, os comandos /RD, /WR, e /CS devem ser configurados como entrada ou como saída? Justifique o uso destes três pinos no PSPMODE. Entrada. O outro chip aciona esses pinos para controlar a comunicação. Explique o porquê do MPASM apresentar esta mensagem e no que ela diverge do comportamento do chip verdadeiro. CORE-W001: Halted due to PC incrementing over the Maximum PC address and wrapping back to Zero. O contador de programa sofreu um overflow. No chip real, a execução retomaria a primeira instrução. Na simulação, a execução é interrompida. 22 226 Questão 91 2016S2PAT Questão 92 2016S2PAT No MPASM, alguns caracteres, em algumas instruções, aparecem na cor preta. Qual o significado desta cor? No MPASM, um arquivo (*.asm) pode ser aberto dentro (incluído) ou fora (não incluído) do mcp. Explique a diferença entre estas duas opções. O número não recebeu a definição sobre a sua base. Dentro: Pode ser editado, montado e executado. Fora: Não pode ser montado nem executado, mas pode ser editado. 227 228

9 Questão 9 2016S2PAT No programa 1, determine: 1. O argumento numérico (hex) da instrução CALL RotinaC1 2. O argumento numérico (hex) da instrução GOTO Fim. O valor (hex) do push efetuado pela instrução CALL RotinaC0. O valor (hex) do pop efetuado pela segunda ocorrência, na listagem, da instrução RETURN 1. 0x000C 2. 0x0010. 0x0006. 0x000B ; Programa 1 org 0x CALL RotinaC0 000 GOTO Fim 0006 RotinaC0 MOVLW 0x0 0007 MOVWF 0x20 0008 CLRF 0x21 0009 CALL RotinaC1 000A RETURN 000B RotinaC1 MOVLW 0x0 000C MOVWF 0x21 000D CLRF 0x20 000E RETURN 000F Fim 0010 end 229 Questão 9 2016S2PAT Lembrando que as instruções que fazem ou podem fazer desvios gastam 2T CY s, determine quantos T CY s são usados no programa 1. 2T CY + 2T CY + 1T CY + 1T CY + 1T CY + 2T CY + 2T CY + 1T CY + 1T CY + 1T CY + 2T CY = 16T CY s ; Programa 1 org 0x CALL RotinaC0 2TCY GOTO Fim 2TCY RotinaC0 MOVLW 0x0 1TCY MOVWF 0x20 1TCY CLRF 0x21 1TCY CALL RotinaC1 2TCY RETURN 2TCY RotinaC1 MOVLW 0x0 1TCY MOVWF 0x21 1TCY CLRF 0x20 1TCY RETURN 2TCY Fim end 20 Questão 1 2012S1P1M PIC16F877 Quais os valores do work register, dos bits C (carry), DC (digit carry) e Z (zero) após a operação Eh + 7Bh? 21 22 Questão 2 2012S1P1M Questão 2012S1P1M Um controlador utiliza Instruções de 18 bits e tem capacidade de armazenamento de 16k instruções. Determine o tamanho da memória de programa em bytes. Utilize o prefixo correto (k, M, G ou T). Um processador de 6 bits possui barramento de dados de 16 bits, multiplexados temporalmente. Os bits de seleção do MUX são controlados por um contador síncrono crescente. Quantos são os bits de seleção? 2 2

0 Questão 2012S1P1M Questão Um controlador utiliza Instruções de 20 bits. Nas instruções que fazem acesso aos registros, a instrução emprega bits na codificação da instrução, em opções gerais e o restante no endereçamento de memória. Sabendo que o tamanho da memória é de 8k palavras, em quantos bancos esta memória precisa ser dividida? Condicionador de ar inteligente. Um sensor de temperatura, operando na faixa de 10 a 9 graus, com resolução de 1 grau, envia sinal elétrico a um conversor A/D, que gera um sinal digital com bits paralelos, sendo o valor 0d correspondente a 09 graus. Estes bits são decodificados, e cada saída do decodificador aciona uma configuração de potência do climatizador, mantendo a temperatura interna sempre a 22 graus. O chip do decodificador possui encapsulamento DIP, arquitetura full custom e possui, também, entradas para V, 0V, CS e OE. Quantos pinos, no mínimo, este chip possui? 2 26 Questão 6 2012S1P2M Questão 7 2012S1P2M Deseja-se construir um controlador para quatro display s de 8 segmentos, figura acima, por meio de uma porta paralela de quatro bits de um microcontrolador. A multiplexação temporal é feita por meio da seleção dos segmentos, acionando-se apenas um por vez, para todos os quatro display s, segundo a palavra de quatro bits fornecida pela porta paralela. A multiplexação temporal é feita por meio de um contador síncrono crescente com FF JK de borda negativa com controles de preset e clear em lógica negativa. Quantos são os FF s necessários para a realização desta 27 multiplexação? PWM por PIC. O ajuste do duty-cycle é feito por 10 bits e a temporização por Timer 2, de 8 bits. Se este contador conta até FFh, e o duty-cycle máximo é 102, qual o valor da palavra de 10 bits (binária) para um duty-cycle de 0%? 28 Questão 8 2012S1P2M No controle PWM por PIC, o ajuste do período PWM é dado por PR2 (Timer 2 Period Register), de 8 bits. O valor máximo de PR2 (FFh) indica que o ajuste do dutycycle pode variar de 0 a 102, sinalizando que a máxima resolução PWM é de 10 bits. Para valores menores de PR2 (8 bits), o ajuste do dutycycle (10 bits) terá valor máximo inferior a 102, proporcionalmente a PR2. Esta diminuição do máximo valor do duty-cycle poderá acarretar em uma diminuição do número de bits usados, reduzindo a máxima resolução PWM. Determine a máxima resolução PWM, em bits, para um PR2 de Fh. 29 Questão 9 2012S1PM Um contador, em uma MCU, conta de 00h até h com um prescaler de 1:16, em 2ms. Em quanto tempo este contador conta até Dh com um prescaler de 1:? 20

Questão 10 Um teclado é multiplexado temporalmente em duas etapas. Na primeira, é feita a leitura das linhas y1 e y2 sendo 0 a tecla do bit menos significativo, na segunda, são lidas y e y sendo 8 a tecla do bit menos significativo. Somente uma tecla é lida por vez. A lógica é negativa. Os bits são lidos em uma porta de comunicação paralela configuradacomo entrada. Os valores digitados são gravados nos registradores SRAM a partir da posição 20h. A gravação ocorre somente se houver uma tecla apertada. O usuário digita os números da data dehoje (somente números, vide topo da folha), da esquerda para a direita. Preencha a figura abaixo com os valores corretos. Questão 11 2012S1PM Uma DSP recebe informações vindas de um sensor de viscosidade. O conversor fornece palavras de 12 bits obtidas a cada segundo e as grava em uma memória de 1kbyte. Quando a memória está cheia, ela é apagada automaticamente e o processo é retomado. Qual é o período de preenchimento desta memória, em minutos? 21 22 Questão 12 2012S2PM Questão 1 2012S2P1M A figura do trollface possui 2 colunas por 01 linhas e usa quatro tons de cinza, endereçados por dois bits. Ao término de cada linha, inclusive a última, existe uma palavra de 8 bits que sinaliza quebra de linha. No início do arquivo, são acrescentados 16 bits para o cabeçalho do arquivo. Qual o tamanho do arquivo, em bytes? Use o prefixo necessário. PIC16F877 20/P. Uma instrução BCF é feita sobre um file cujo valor é 6h. O parâmetro b é 101b. Qual o valor final para o file, na forma hexadecimal? 2 2 Questão 1 2012S2P1M Questão 1 2012S2P2M Um banco de memórias é formado por chips idênticos e com faixas de endereços contíguas, sem intervalos. O último endereço global (no barramento de endereços) é FFFFh. O primeiro chip possui a primeira palavra com endereço global 00000h e o último chip possui a última palavra com endereço global FFFFh. Qual é o endereço global (no barramento de endereços) da última palavra do segundo chip? O TRM2 pode ser usado como um gerador de onda dente de serra com frequência configurável por meio do registrador PR2. Supondo que a frequência mínima é de 19,kHz, qual deve ser o valor de PR2 para que esta frequência seja de khz? Usar arredondamento segundo norma ABNT. 2 26 1

2 Questão 16 201S1P1T Uma ULA de um processador hipotético trabalha com palavras de 16 bits, e usa operações lógicas bit a bit, sobre palavras, sobre bit em palavras e aritméticas, de uma e duas entradas. A ULA fornece quatro bits de sinalização, obtidos com o resultado da última operação realizada. Uma entrada de dados vem do acumulador, a outra entrada é multiplexada com a outra entrada de dados, vinda do data bus e a palavra de decodificação da instrução, selecionados por meio de um bit. Quantos são, ao todo, os bits usados pela ULA em um determinado instante? Questão 17 201S1P1T PIC16F877-20/P. No endereço 18Ch da program memory, é executado um comando CALL. As próximas instruções são todas do tipo 1T CY, após as quais é realizado um RETURN. Qual é o valor do PCL, na forma hexadecimal? 27 28 Questão 18 201S1P1T Um banco de memórias é formado por uma memória de 1,k palavras e outra memória de 2,7k palavras, selecionadas por meio de um bit. Determine as faixas de endereços proibidos, por meio do primeiro e último valor da faixa, na forma hexadecimal, usando todos os bits do barramento de endereço e todos os nibbles. 29 Questão 19 201S1P1M Um microcontrolador hipotético possui a memória de registradores (file registers) de 208 posições, dividida em oito bancos. O opcode é formado por dois bits (mais significativos) que indicam a família de instruções (conjunto de instruções agrupadas por similaridade). Em uma dessas famílias, o opcode é formado pelos bits identificadores da família, pelos bits identificadores do registrador escolhido usando endereçamento direto, e pelos bits identificadores da operação dentro desta família, que são 2. Não há nenhuma irrelevância (X) em nenhum opcode desta família de instruções. Todas as famílias possuem opcode de igual tamanho. Quantos são os bits de opcode para este microcontrolador? 20 Questão 20 201S1P1M Questão 21 201S1P1M Um pendrive possui uma capacidade de armazenamento de 1,MB comerciais. Seu barramento de endereço possui a quantidade mínima de bits suficiente para endereçar todas as palavras. Determine a faixa de endereços proibidos, por meio do primeiro e último valor, na forma hexadecimal. Uma ULA de bits de 2 funções de uma ou duas entradas é implementada em uma PROM GA AND- OR, na qual a matriz de entrada consiste do decodificador completo de todos os bits de entrada. Neste circuito, não é feita a transformação tudo NAND ou tudo NOR. Não há bits de saída de sinalização nem de entrada de controle. Diga quantas são as portas NOT, AND e OR, e quantas entradas as portas AND e OR possuem. 21 22

Questão 22 201S1P1M Uma memória de programa de um processador hipotético é dividida em oito páginas e usa opcode de 20 bits. Se cada página utiliza 8 bits de endereçamento, determine o tamanho da memória em bytes (se necessário, utilize o prefixo adequado). Questão 2 2012S1P1M Um processador de 8 bits possui 12 bits no barramento de endereço, para memórias externas. Uma memória de 60 bytes é instalada a partir do endereço inicial. Uma segunda memória de 26 bytes deve ser instalada. Para isso, um dos bits do barramento de endereço é usado na seleção do chip (entrada CS), sendo zero para o chip de 60 bytes e um para o chip de 26 bytes. Para este controle, foi escolhido, dentre os bits não usados do barramento, o menos significativo. Qual o endereço (bin e hex) da primeira posição do chip de 26 bytes no barramento? 2 2 Questão 2 201S1P2T Um conversor A/D de 10 bits foi configurado para que o valor mínimo da palavra binária de 10 bits esteja atribuído à tensão de V e o valor máximo a 2V. O bit ADFM (A/D Result Format Select Bit) (ADCON1<7>) foi configurado para right justified (ADFM=1). A fim de aumentar a rapidez do processamento, descarta-se ADRESH usando, apenas, ADRESL. Qual o máximo valor de tensão que este conversor A/D pode receber? Questão 2 201S1P2M PIC16F877 Módulo CCP1, função PWM. PR2 = 0h; DC = h. Qual a máxima resolução do PWM, em bits? Qual o valor do dutty-cycle, em porcentagem? 2 26 Questão 26 201S1PT Questão 27 201S1PT A frequência de operação da MCU é de 16MHz. O TMR1 prescaler está configurado para 1:8. TMR1 está configurado para ser um temporizador, T1CON<1>, TMR1CS=0. No presente momento, TMR1L=Bh, TMR1H=19h. As interrupções estão habilitadas. Em quanto tempo, após o presente momento, será acionada a interrupção de overflow de TMR1, TMR1IF? Sabendo que PR2=FFh, dutty-cycle = 1/ aproximadamente, determine os valores de CCPR1L e de CCP1CON<:> na forma hexadecimal. 27 28

Questão 28 201S1PM Questão 29 201S1PM A frequência de operação da MCU é de 16MHz. O TMR0 prescaler está configurado para 1:8. TMR0 está configurado para ser um temporizador, Option_Reg<>, T0CS=0. No presente momento, TMR0 acabou de ser reiniciado. As interrupções estão habilitadas. Em quanto tempo, após o presente momento, será acionada a interrupção de overflow de TMR0 TMR0IF? Sabendo que V REF+ =V, V REF- =0V, V AN =V, left justified, determine os valores de ADRESH e de ADRESL na forma hexadecimal. 29 260 PIC16F877 Identifique os endereços dos registradores de uso geral envolvidos no programa abaixo, na forma hexadecimal, bem como seus respectivos valores após a execução do programa, na forma hexadecimal. ; Programa da P #include <p16f877.inc> org 0x #define dado1 0x1 #define dado2 0x2 #define dado 0x #define ondecadê1 0x1 #define ondecadê2 0x2 #define ondecadê 0x BSF STATUS,RP1 BCF STATUS,RP0 MOVLW dado1 MOVWF ondecadê1 ADDLW dado2 MOVWF ondecadê2 IORLW dado MOVWF ondecadê #undefine dado1 #undefine dado2 #undefine dado #undefine ondecadê1 #undefine ondecadê2 #undefine ondecadê end Questão 0 201S1PM 261 Questão 1 201S2P1M PIC16F877 Sabendo que a SRAM possui 9 bits de endereço, que o banco 2 possui 16 SFR s localizados nas primeiras posições, qual é o endereço completo (9 bits)(hexadecimal) do primeiro GPR do banco 2? 262 Questão 2 201S2P1T Questão 201S2P1M PIC16F877 Sabendo que PCLATH é acessável nos quatro bancos, e que seu endereço de 7 bits é 0001010b, determine todos os seus endereços completos (9 bits)(hexadecimal). Um temporizador de 6 bits leva s para dar um passo de contagem. Se o prescaler ratio é de 1:2 e o postscaler ratio é de 1:, quanto tempo, após o início da contagem, ocorre um time-out? 26 26

Questão 201S2P1M Questão 201S1P1T Após uma conversão A/D em right justified, ADRESH = 02h e ADRESL = 9h. Quais os valores desses registradores em left justified (hexadecimal)? Um suposto modelo de PIC midrange usa, apenas, um bit de EEADRH. Qual é o tamanho da program memory, quanto à capacidade de armazenamento de instruções? 26 266 Questão 6 201S2P1T Questão 7 201S1P1M Em um circuito de comparações sucessivas, cada um dos bits é gerado em um ciclo separado. Sabendo que F OSC =16MHz e que as instruções de movimentação são 1T CY, calcule o tempo gasto em uma conversão A/D juntamente com a cópia dos SRF s do conversor A/D para GPR s. Usar AD CLOCK = F OSC /2 (reset default). Abaixo, o esquema de montagem de algumas instruções lógicas e aritméticas. O GPR acessado é 190h. A gravação é feita sobre este mesmo GPR. A instrução INCF possui, como nibble de seleção, 1010b. Determine o opcode completo para esta instrução na forma hexadecimal. 267 268 Questão 201S1P1T Questão 9 201S1P1T PIC. Um suposto modelo de PIC mid-range possui um EEADRH de, apenas, um bit. Supondo que este bit seja usado como parte do endereço para acesso da program memory, quantas instruções esta program memory pode armazenar? PIC16F877 Sabendo que f OSC =16MHz, quanto tempo uma instrução 2T CY leva para ser executada? 269 270

Questão 0 201S1P2M Questão 1 201S1P2M Determine os valor de CCPRxL e CCPRxH (hex) para que, no modo compare trigger special event, a frequência da solicitação de CCPxIF seja de 00Hz a um f OSC = 8MHz e um prescaler de 1:2. 271 Um teclado especial possui 2 teclas formando uma matriz de linhas e 8 colunas. Linhas e colunas são codificados a fim de economizar fios e bits de comunicação. O problema disso é que somente uma tecla pode ser lida por vez, requerendo uma multiplexação temporal. Quantos bits de porta paralela são necessários para realizar a determinação da tecla? 272 Questão 2 201S1P2M Questão 201S1P2M Conversor A/D no modo left justified, V REF+ = V, V REF- = 0V, aplicados V. Determine o valor de ADRESH (hex) após a conversão. Shift Register Slave = 9h, depois o Buffer Register Master recebe Bh. Determine o valor do Shift Register Master (hex) após 2 shifts. 27 27 Questão 201S1P2T Questão 201S1P2T Você precisa de um duttycycle percentual de, exatamente, 0% no módulo CCPx. Você deseja usar, apenas, oito bits e a mínima frequência. Determine o valor do PR2 (hex) e do DC<9:2> (hex). No conversor A/D, usando o método das comparações sucessivas, o bit mais significativo é o primeiro a ser obtido. Sabendo que AD CLOCK = T CY 8, f OSC = MHz, left justified, determine quanto tempo, após o início da conversão, ADRESL leva para ser escrito. 27 276 6

Questão 6 201S1P2T Questão 7 201S1P2T SPI : Prescaler = 1:16, f OSC =,096MHz. Determine a máxima frequência de escritas sobre SSPBUF master permitida. T CY = 1s; TMR1 prescaler = 1:1; Capture prescaler ratio = 1:1. A medição de tempo começa exatamente em um instante em que TMR1 = 0000h. O tempo medido foi de 700ms. Determine quantas contagens completas ocorreram em TMR1 dentro desta medição.. 277 278 Questão 8 201S2P1T O PC está na posição 02Fh. Você deseja saltar 00 posições sem usar CALL nem GOTO. Determine os valores do PCLATH e do PCL (hex). Questão 9 201S2P1T Certo modelo de microcontrolador possui uma SRAM (file registers) de 80 endereços (80 registradores). O opcode desta arquitetura possui 1 bits (1-bit instruction architecture). Dois bits do opcode são usados na determinação da família de instruções. Nas instruções de acesso à SRAM, quatro bits adicionais são usados na identificação da instrução propriamente dita. Um registrador especial possui os bits RPN (register paging), N{0,1,2,...}. Quantos bits são necessários para a seleção de bancos do file registers? 279 280 Questão 0 201S2P1T F OSC = 8MHz. Um programa, durante uma execução completa (do início ao fim), executa 72 instruções, das quais 7 são 2T CY. Determine o tempo usado nesta execução. Questão 1 2012S1PM Um teclado x é multiplexado temporalmente em duas etapas. Na primeira, é feita a leitura das linhas y1 e y2 sendo 0 a tecla do bit menos significativo, na segunda, são lidas y e y sendo 8 a tecla do bit menos significativo. Somente uma tecla é lida por vez. A lógica é negativa. Os bits são lidos em uma porta de comunicação paralela configurada como entrada. Os valores digitados são gravados nos registradores da SRAM a partir da posição 20h. A gravação ocorre somente se houver uma tecla apertada. O usuário digita os números da data de hoje (somente números, vide topo da folha), da esquerda para a direita. Preencha a figura abaixo com os valores corretos. 281 282 7

8 Questão 2 201S2P2M Questão 201S2P2T Um sistema microcontrolado em malha fechada usa, apenas, oito bits. O conversor A/D é operado no modo left justified. Sabendo que AD clock é F OSC /2, que o registrador que contém a resposta do conversor A/D é o ADRESH e que o registrador que contém a entrada do modulador PWM é o CCPR1L, determine a mínima quantidade de T CY consumidos entre uma leitura na entrada analógica e um envio pela saída PWM. Função capture. F OSC = 8MHz. TMR1 prescaler ratio: 1:2. Capture prescaler ratio: 1:1. CCPR(1) = 7A2h. CCPR(2) = 69Bh. GPR contador de CCPIF = 12h. O processo é repetido continuamente. Determine a frequência. 28 28 Questão 201S2P2T Função conversor A/D. Inicialmente, foi configurado V REF+(1) = V e V REF-(1) = 0V. Uma tensão V 1 foi aplicada na entrada AN selecionada, e foi lido ADRES(1)=12Fh. Porém se percebeu que a máxima tensão aplicada é de V e, por esse motivo, a fim de melhorar a resolução do conversor, foi configurado V REF+(2) = V e V REF-(2) = 0V. Aplicando a mesma tensão V 1 na configuração 2, determine ADRES(2). 28 Questão 201S2PAT Preencha as duas colunas da tabela com os endereços e o código assembly puro. Endereços com nibbles. ; Programa Prova 1 #include <p16f877.inc> ;definição da PIC org 0x ;posição inicial constant ondecadê = 0x2 ;endereço constant marqualrélio = 0xA ;dado MOVLW marqualrélio ;W = marqualrélio BCF STATUS,RP1 ;* BCF STATUS,RP0 ;* MOVWF ondecadê ;SRAM(ondecadê) = W MOVWF ondecadê+1 ;SRAM(ondecadê+1) = W end 286 Questão 6 201S2PAT Monte a seguinte sequência de instruções: Disassembly ADDWF 0x20, 0x1 MOVWF 0x6c BTFSC 0xf, 0x IORLW 0xc CLRWDT GOTO 0x7ff 287 Questão 7 201S2PAT No programa abaixo, determine o argumento numérico (hex) da instrução GOTO. Encontre o erro no programa e mostre a sua correção: #includ <p16f877.inc> ;definição da PIC org 0xa constant ondecadê = 0x20 ;endereço CLRF ondecadê ;SRAM(ondecadê) = 0x00 MOVF ondecadê,0 ;W = SRAM(ondecadê) MOVWF ondecadê+1 ;SRAM(ondecadê+1) = W BSF ondecadê,0 ;SRAM(ondecadê), bit 0 = 1 MOVF ondecadê,0 ;W = SRAM(ondecadê) MOVWF ondecadê+2 ;SRAM(ondecadê+2) = W GOTO $+ BSF ondecadê,2 ;SRAM(ondecadê), bit 2 = 1 MOVF ondecadê,0 ;W = SRAM(ondecadê) MOVWF ondecadê+ ;SRAM(ondecadê+) = W end 288

9 Questão 8 201S1P1T Questão 9 201S1P1T Uma MCU usa 1-bit opcode instructions. Sua program memory possui um 17-bit address bus. Um programa utiliza 0 mil instruções. Determine o percentual de ocupação da program memory. Uma MCU opera a 10MHz e emprega T OSC s em cada T CY. Ela possui um 16-bit internal counter, equipado com um 12-bit prescaler counter, configurado para um ratio de 1:12. Quanto tempo leva uma contagem completa?. 289 290 Questão 60 201S1P1T PIC16F877 f OSC = MHz. TMR1 prescaler ratio 1:8. Qual o tempo de um passo de contagem do TMR1H? Qual a frequência de uma contagem completa do TMR1H? 291 Questão 61 201S1P2T PIC16F877 Determine o valor da palavra X (hex). Determine o valor da palavra DC para um DC% de 0%, usando PWM de 8 bits. Determine o valor de PR2 (hex) mínimo. Se desejássemos um DC% de 2%, qual seria o valor da palavra DC de 10 bits? DC% 10-bit DC 0% 000h 20% 0C0h 0% 180h 60% X 80% 00h 100% C0h 292 Questão 62 201S1P2T Questão 6 201S2P2T Uma DSP hipotética possui um conversor A/D de 1 bits. V REF - = 0V. V REF + = 2,766V, V IN = 20V. Os intervalos quânticos são todos iguais. São usados dois registradores de 8 bits, ADRESH e ADRESL no modo left justified. Os bits não usados recebem valor zero. Determine o valor (hex) destes registradores. Suponha que você possua um 1-bit A-D converter. Este conversor possui V REF+ = 12V e V REF- = V. O A-D result register vale 0x2FFF. Determine a tensão aplicada. Utilize, no mínimo, sete casas decimais na resposta. 29 29

0 Questão 6 201S2P2T Suponha que você possua um 12-bit digital PWM. Este PWM possui, como base de tempo, um 12-bit timer com um 12-bit period register. Quando ocorre um match entre o timer e o period register, o timer reinicia a contagem no próximo passo. O PWM inicia o período em nível 1, e vai a zero no exato instante em que ocorre o match entre o timer e o 12-bit dutty-cycle register. O period register vale 0xBFF. O dutty-cycle register vale 0x900. Determine o dutty-cycle percentual. 29 Questão 6 201S2P2T Suponha que você possua um 7-bit Capture. Este Capture possui, como base de tempo, um 7- bit timer. Na presença do evento escolhido, o valor do timer é copiado para o 7-bit capture register. Um outro registrador fornece o valor N, que indica a quantidade de quebras de rampa ocorridas no intervalo entre os dois eventos. Cada passo de contagem (T STEP ) leva s. Na medição de um determinado intervalo, o valor do capture register inicial é de 0xD e o valor do capture register final é de 0x7A. N vale 2. Determine o tempo medido. Utilize o sufixo correto. 296 Questão 66 201S2P2T Suponha que você possua um 10-bit Serial Peripheral Interface. No início, o master buffer register vale 0x1B7 e o slave buffer register vale 0x0. A comunicação se dá a partir do most significant bit. Determine o valor do master shift register após três passos de deslocamento (hex). 297 Questão 67 201S2PAT Calcule quanto tempo o programa leva para ser executado quando a MCU opera a f OSC = MHz. #include <p16f877.inc> config _WDT_OFF org 0x00 constant ondecadê = 0x20 constant ondegoto = 0x011 BCF STATUS, RP1 BCF STATUS, RP0 CLRF ondecadê MOVF ondecadê,w MOVWF ondecadê+1 BSF ondecadê,0 MOVF ondecadê,w MOVWF ondecadê+2 GOTO ondegoto BSF ondecadê,1 MOVF ondecadê,w MOVWF ondecadê+ SLEEP end 298 Questão 68 2016S1P1T Questão 69 2016S1P1T Uma 16-bit MCU possui program memory de M instruções. O PC é dividido em PCL e PCH. O PCL abrange os 16 bits menos significativos. Quantos bits tem PCH? Um contador possui prescaler ratio (1) de 1: e postscaler ratio (1) de 1:. Após o início da contagem, o primeiro sinal de time-out (t1) é dado em t1 = 20ms. Determine o instante deste sinal de time-out (t2) quando se configura prescaler ratio (2) de 1:7 e postscaler ratio (2) de 1:. 299 00

Questão 70 2016S1P2T Questão 71 2016S1P2T PIC16F877 Função capture usando, apenas, oito bits. TMR1 prescaler ratio = 1:8. T OSC = 60ns. Compare prescaler ratio =1:1. O contador de TMR1IF tem valor. Inicialmente, CCPRH(1) = 29h. Finalmente, CCPRH(2) = 67h. Determine t. Uma comunicação serial full-duplex lida com palavras de 16 bits. A comunicação opera por meio de um prescaler de 1:. O software em execução gasta 6 ciclos de instrução para preparar a palavra para ser enviada e gasta 90 ciclos de instrução para processar a palavra recebida. Os processadores operam a uma frequência de instrução de khz. Determine a máxima frequência de comunicação. 01 02 Questão 72 2016S1P2T Questão 7 2016S1P2M Um teclado de 0 colunas e 2 linhas controla uma MCU por meio das portas paralelas. É feita uma multiplexação temporal por linhas decodificadas. A MCU é operada por um oscilador de 8MHz. Cada etapa de multiplexação consome 1T CY s. Quantos bits de portas paralelas são usados pelo teclado? Qual a frequência de varredura do teclado completo? PIC16F877 Função PWM. <CCPxM:CCPxM2>=11 São usados três bits decisivos. Todas as combinações destes bits são usadas. Os bits não usados valem zero. A primeira combinação oferece um DC% de 0%. A última combinação oferece um DC% de 100%. Com relação à quarta combinação: Qual é a palavra hexadecimal relativa a DC<9:0>? Qual é a palavra hexadecimal relativa a CCPRxL? 0 0 Questão 7 2016S1P2M Questão 7 2016S2P1AM Um conversor A/D de bits está configurado para V REF- (1) = 0V e V REF+ (1) = 10V. Após a aplicação de uma determinada tensão de entrada, é obtida a palavra ADRES(1)=07h. Foi verificado que esta entrada jamais assume valores abaixo de 2V e acima de V, e, por isso, o conversor foi configurado para V REF- (2) = 2V e V REF+ (2) = V. Determine o valor da palavra obtida ADRES(2). Um contador prescaller é construído com três flip-flop s do tipo D. As saídas são Q 2, Q 1 e Q 0. O contador principal é sensível à borda negativa (descida) do sinal de relógio, que é fornecido pelo prescaller. O contador prescaller conta de 000b a 101b. Determine o prescaller ratio. 0 06 1

Questão 76 2016S2P1AM PIC16F877 Uma rotina de interrupção possui uma ocorrência da instrução CALL. O pedido de interrupção é efetuado e atendido em um momento em que uma (e apenas uma) instrução CALL foi previamente executada, sem que seu respectivo RETURN tenha sido executado. Quantos são os endereços livres no stack? 07 Questão 77 2016S2P1AM PIC16F877 Em um processo de escrita na flash memory na condição de data memory, é preciso acessar os SFR s EECON1, EECON2, EEADR, EEADRH, EEDATA e EEDATH, usando a instrução MOVLW tendo, como argumento, a palavra de 8 bits necessária, e a instrução MOVWF, tendo, como argumento, o endereço de 7 bits do SFR, sendo que o SFR EECON2 sofre duas escritas, a saber, as palavras 0x e 0xAA. O EECON1 é escrito em duas etapas; na primeira, os bits EEPGD e WREN são ativados em uma única escrita por meio de MOVLW e MOVWF; na segunda, o bit WR é acionado por meio de BSF, iniciando a escrita da flash. Desconsiderando os demais detalhes do processo, quantas instruções este programa usa? 08 Questão 78 2016S2P1AM Questão 79 2016S2P1BM PIC16F877 Um programa, ao ser executado do início ao fim, incluindo todas as rotinas de repetição, roda 2600 instruções, das quais 12,% são do tipo 2TCY. Considerando que f OSC = 10MHz, determine o tempo de execução do programa. PIC16F877 Timer 2. PR2 = 7fh. Prescaler Ratio = 1:1. T CY = 1s. Determine a frequência das rampas de TMR2 (T RAMP ). 09 10 Questão 80 2016S2P2M Questão 81 2016S2P1AT PIC16F877 Sistema de controle realimentado, com malha fechada. A palavra ADRES<9:0> é enviada para o CCPRx<9:0>. O AD precisa ser configurado para o modo left justified. ADRES<9:0> = 2A2h Determine o valor de CCPRxL<7:0>. Contadores digitais são aplicados quando os valores instantâneos da contagem são usados. Uma MCU fictícia possui uma flash program memory interna, com1 bits de endereço e 18 bits de opcode. Um programa utiliza 72 opcodes. O criador do programa resolveu alocar a segunda metade desta memória para dados. Qual a capacidade desta flash data memory, em bytes? Usar k,m,g ou T, se necessário. Qual o percentual de ocupação de toda a flash memory por parte do programa? 11 12 2

Questão 82 2016S2P1AT Uma MCU fictícia possui, no seu instruction set, instruções endereçadas a registradores. Dois bits do opcode são usados na seleção da família da instrução. Cinco bits são usados na seleção da instrução. Um bit é usado na seleção do destino, entre acumulador e o próprio registrador. Um bit é usado na seleção entre GPR s e SFR s, que existem em igual quantidade e usam o mesmo address bus. Os bits restantes são usados na seleção do GPR ou do SFR. Há quatro bancos de GPR s e quatro bancos de SFR s. Não há bits irrelevantes no opcode. Sabendo que existem 102 SFR s e 102 GPR s, determine o tamanho do opcode. 1 Questão 8 2016S2P2BT PIC16F877 Compare,modo PWM invertido. CCPRxH = 8h CCPRxL = Dh Determine o dutty-cycle. 1 Questão 8 2016S2P2T PIC16F877 Conversor AD V REF+ = 0V V REF- = V AD result = 1Fh Determine V IN. RESPOSTAS DAS 1 16 Questão 1 2012S1P1M PIC16F877 Quais os valores do work register, dos bits C (carry), DC (digit carry) e Z (zero) após a operação Eh + 7Bh? W=B9h C=0 DC=1 Z=0 Como o resultado é menor do que o valor máximo FFh, então C=0. Como o resultado não é nulo, então não é zero, o bit indicativo de zero deve ser desabilitado, Z=0. Como Eh + Bh é maior do que Fh, então ocorre carry entre os nibbles; DC=1. Questão 2 2012S1P1M Um controlador utiliza Instruções de 18 bits e tem capacidade de armazenamento de 16k instruções. Determine o tamanho da memória de programa em bytes. Utilize o prefixo correto (k, M, G ou T). (16 102)instruções 18bits/instrução = 29912 bits 29912bits / 8 = 686 bytes 686bytes/102 = 6 kbytes 17 18

Questão 2012S1P1M Um processador de 6 bits possui barramento de dados de 16 bits, multiplexados temporalmente. Os bits de seleção do MUX são controlados por um contador síncrono crescente. Quantos são os bits de seleção? 6bits / 16bits = partes 2n = n = 2 bits 19 Questão 2012S1P1M Um controlador utiliza Instruções de 20 bits. Nas instruções que fazem acesso aos registros, a instrução emprega bits na codificação da instrução, em opções gerais e o restante no endereçamento de memória. Sabendo que o tamanho da memória é de 8k palavras, em quantos bancos esta memória precisa ser dividida? 20-(+) =12 bits de endereço por banco. 212 = 096 posições por banco. 096 / 102 = k posições por banco. Tamanho total = 8k posições. (8k)posições / (k)posições/banco = 2 bancos. 20 Questão Condicionador de ar inteligente. Um sensor de temperatura, operando na faixa de 10 a 9 graus, com resolução de 1 grau, envia sinal elétrico a um conversor A/D, que gera um sinal digital com bits paralelos, sendo o valor 0d correspondentea 09 graus. Estes bits são decodificados, e cada saída do decodificador aciona uma configuração de potência do climatizador, mantendo a temperatura interna sempre a 22 graus. O chip do decodificador possui encapsulamento DIP, arquitetura full custom e possui, também, entradas para V, 0V, CS e OE. Quantos pinos, no mínimo, este chip possui? Valor mínimo: 10 graus; valor máximo: 9 graus; diferença: 9 10 = 29 graus. Posições de temperatura: 29 + 1 = 0 0 posições: bits de endereçamento (nem todas combinações são usadas). Decoder: bits de entrada codificada, 0 bits de saída decodificada, bits auxiliares. Total: + 0 + = 9 pinos. DIP: Dual in line package Quantidade par de pinos. Pinos: 9 + 1 = 0 pinos. 21 Deseja-se construir um controlador para quatro display s de 8 segmentos, figura acima, por meio de uma porta paralela de quatro bits de um microcontrolador. A multiplexação temporal é feita por meio da seleção dos segmentos, acionando-se apenas um por vez, para todos os quatro display s, segundo a palavra de quatro bits fornecida pela porta paralela. A multiplexação temporal é feita por meio de um contador síncrono crescente com FF JK de borda negativa com controles de preset e clear em lógica negativa. Quantos são os FF s necessários para a realização desta multiplexação? Questão 6 2012S1P2M 8 segmentos por display. 1 estágio para cada segmento. Contador de 8 estágios. Três bits. Três FF s. 22 PWM por PIC. O ajuste do duty-cycle é feito por 10 bits e a temporização por Timer 2, de 8 bits. Se este contador conta até FFh, e o duty-cycle máximo é 102, qual o valor da palavra de 10 bits (binária) para um duty-cycle de 0%? 100% 102 1 0% x 1 100% 102 0% x 1 x 1 09,6 Questão 7 2012S1P2M Valor inteiro mais próximo: 10. Último valor da faixa: 09. Forma binária: 110011001b. A palavra é de 10 bits. Forma binária: 0110011001b. 2 No controle PWM por PIC, o ajuste do período PWM é dado por PR2 (Timer 2 Period Register), de 8 bits. O valor máximo de PR2 (FFh) indica que o ajuste do dutycycle pode variar de 0 a 102, sinalizandoquea máxima resolução PWM é de 10 bits. Para valores menores de PR2 (8 bits), o ajuste do dutycycle (10 bits) terá valor máximo inferior a 102, proporcionalmente a PR2. Esta diminuição do máximo valor do duty-cycle poderá acarretar em uma diminuição do número de bits usados, reduzindoa máxima resolução PWM. Determine a máxima resolução PWM, em bits, para um PR2 de Fh. Questão 8 2012S1P2M FFh 1 FF 1 Fh 1 x 1 2 1 102 1 6 1 x 1 26 102 6 x 1 x 1 26 x 2 8 bits 2

Questão 9 2012S1PM Um contador, em uma MCU, conta de 00h até h com um prescaler de 1:16, em 2ms. Em quanto tempo este contador conta até Dh com um prescaler de 1:? Com prescaler de 1:16, seus passos são 16 vezes mais lentos do que o dos ciclos de instrução. Com prescaler de 1:, seus passos são vezes mais lentos do que o dosciclos de instrução. Na alteração de 1:16 para 1:, o contador torna se vezes mais rápido. Com 1:16, ele atinge h em 2m. Com 1:, ele atinge h em 2m = 128ms. Para determinar o tempo que ele leva para atingir Dh, basta fazer a regra de três. h 128ms Dh t 69 128ms 211 t t 91ms 2 Questão 10 Um teclado é multiplexado temporalmente em duas etapas. Na primeira, é feita a leitura das linhas y1 e y2 sendo 0 a tecla do bit menos significativo, na segunda, são lidas y e y sendo 8 a tecla do bit menos significativo. Somente uma tecla é lida por vez. A lógica é negativa. Os bits são lidos em uma porta de comunicação paralela configurada como entrada. Os valores digitados são gravados nos registradores SRAM a partir da posição 20h. A gravação ocorre somente se houver uma tecla apertada. O usuário digita os números da data de hoje (somente números, vide topo da folha), da esquerda para a direita. Preencha a figura abaixo com os valores corretos. Data: 07/11/2012 Sequência: 0 7 1 1 2 0 1 2 0 11111110b 2d FEh 7 01111111b 127d 7Fh 1 11111101b 2d FDh 1 11111101b 2d FDh 2 11111011b 21d FBh 0 11111110b 2d FEh 1 11111101b 2d FDh 2 11111011b 21d FBh 0xFE 2 0x7F 127 0xFD 2 0xFD 2 0xFB 21 0xFE 2 0xFD 2 0xFB 21 26 Questão 11 2012S1PM Uma DSP recebe informações vindas de um sensor de viscosidade. O conversor fornece palavras de 12 bits obtidas a cada segundo e as grava em uma memória de1kbyte. Quando a memória está cheia, ela é apagada automaticamente e o processo é retomado. Qual é o período de preenchimentodesta memória, em minutos? 8 bits: 1 byte; 12 bits: 1 palavra;12 bits: 1 byte e meio; bytes: 2 palavras; 1 kbyte: 102 bytes; 1 kbyte/ = 102/ = 1,... bytes É preciso arredondar para baixo, pois, para cima, superará a capacidade de memória. 1 kbyte/ = 1 bytes São 1 conjuntos de bytes na memória de 1k byte. Cada conjunto de bytes armazena 2 palavras. São, então, 21 = 682 palavras. Uma palavra é gravada por segundo. São necessários 682 segundos para gravar as 682 palavras. Período = 682s/60 = 11,7 minutos. 27 Questão 12 2012S2PM A figura do trollface possui 2 colunas por 01 linhas e usa quatro tons de cinza, endereçados por dois bits. Ao término de cada linha, inclusive a última, existe uma palavra de 8 bits que sinaliza quebra de linha. No início do arquivo, são acrescentados 16 bits para o cabeçalho do arquivo. Qual o tamanho do arquivo, em bytes? Use o prefixo necessário. 2 01 = 10292 pontos. 2 bits por ponto. Tamanho = 2 10292 = 2088 bits. Tamanho = 2088 bits / 8 = 27, bytes. Quebra de linha: 01 1 byte = 01 bytes. Cabeçalho: 16 bits /8 = 2 bytes. Total: 27, bytes + 01 bytes + 2 bytes = 2608, bytes. É preciso arredondar para cima, pois, para baixo, faltarão bits no arquivo. Total = 2609 bytes. Total = 2609 bytes / 102 = 2,29 kbytes. 28 PIC16F877 20/P. Uma instrução BCF é feita sobre um file cujo valor é 6h. O parâmetro b é 101b. Qual o valor final para o file, na forma hexadecimal? Questão 1 2012S2P1M 6h = 0110 0100 b 101b = d O bit sofrerá um clear. 76 210 0100 0100 0100 0100 b = h 29 Um banco de memórias é formado por chips idênticos e com faixas de endereços contíguas, sem intervalos. O último endereço global (no barramento de endereços) é FFFFh. O primeiro chip possui a primeira palavra com endereço global 00000h e o último chip possui a última palavra com endereço global FFFFh. Qual é o endereço global (no barramento de endereços) da última palavra do segundo chip? FFFFh = 921d Tamanho = 921 + 1 = 9216 Tamanho do chip: 9216 / = 980 2 chips: 980 2 = 196608 Última posição: 196608-1 = 196607 196607d = 2FFFFh Questão 1 2012S2P1M 0

6 Questão 1 2012S2P2M O TRM2 pode ser usado como um gerador de onda dente de serra com frequência configurável por meio do registrador PR2. Supondo que a frequência mínima é de 19,kHz, qual deve ser o valor depr2 para queesta frequênciaseja dekhz? Usar arredondamentosegundonorma ABNT. Como não se falou em prescaler nem postscaler, esses valores não são alterados, são os mesmos para 19,kHz e para khz. Altera-se, apenas, o PR2. É mais conveniente lidar-se com períodos ao invés de frequências. f MIN = 19,kHz T MÁX = 1,28s. f 2 = khz T 2 = 28,7s. TMR2 conta de 00h até o valor de PR2. A quantidade de passos de contagem de TMR2 é PR2 + 1. Para PR2+1 = 1, TMR2 tem 1 passo TMÍN. Para PR2+1 = 26, TMR2 tem 26 passos TMÁX = 1,28s. Para PR2+1 = X, TMR2 tem X passos TMÁX = 28,7s. Regra de três: 26 1,28 X 28,7 X = 12,6; PR2+1 = 12,6; PR2 = 11,6; 1 Arredondando para o inteiro mais próximo: PR2 = 12d ou PR2 = 8Eh. Uma ULA de um processador hipotético trabalha com palavras de 16 bits, e usa operações lógicas bit a bit, sobre palavras, sobre bit em palavras e aritméticas, de uma e duas entradas. A ULA fornece quatro bits de sinalização, obtidos com o resultado da última operação realizada. Uma entrada de dados vem do acumulador, a outra entrada é multiplexada com a outra entrada de dados, vinda do data bus e a palavra de decodificação da instrução, selecionados por meio de um bit. Quantossão, ao todo, os bits usados pela ULA em um determinadoinstante? Os bits de dado de saída do MUX são ligados a uma das entradas da ULA, de modo quenão importa quantassão as entradas do MUX, nem os seus bits de seleção. Palavra de dado: 16 bits Palavras de dado: (duas entradas e uma saída) Bits de dado: 16 = 8 Bits de sinalização: Bis da ULA: 8 + = 2 Questão 16 201S1P1T 2 Questão 17 201S1P1T PIC16F877-20/P. No endereço 18Ch da program memory, é executado um comando CALL. As próximas instruções são todas do tipo 1T CY, após as quais é realizado um RETURN. Qual é o valor do PCL, na forma hexadecimal? Entre a instrução CALL e o RETURN, nenhuma instrução 2T CY foi executada, isto quer dizer que não foi executada nenhuma instrução que fizesse PUSH ou POP, o conteúdo da TOS não foi alterado até a execução do RETURN, que realizou um POP. O CALL fez um PUSH com valor PC+1, 18Ch + 1 = 18Ch. O RETURN fez um POP com valor da TOS, PC = 18Ch. PCL = Ch. Questão 18 201S1P1T Um banco de memórias é formado por uma memória de 1,k palavras e outra memória de 2,7k palavras, selecionadas por meio de um bit. Determine as faixas de endereços proibidos, por meio do primeiro e último valor da faixa, na forma hexadecimal, usando todos os bits do barramento de endereço e todos os nibbles. 1,k: Potência de 2 superior mais próxima: 2k; 11 bits <A10:A0>. 2,7k: Potência de 2 superior mais próxima: k: 12 bits <A11:A0>. O bit de seleção do chip é A12. Primeiro endereço proibido do chip 1,k: 1,102 = 16d = 600h = 11000000000b Último endereço proibido do chip 1,k: 2102-1 = 207d = 7FFh = 11111111111b Primeiro endereço proibido do chip 2,7k:2,7102 = 2816d = B00h = 101100000000b Último endereço proibido do chip 2,7k:102-1 = 207d = FFFh = 111111111111b É preciso considerar o bit A12, para seleção do chip. Primeiro endereço proibido do chip 1,k: 1,102 = 0011000000000b = 0600h Último endereço proibido do chip 1,k: 2102-1 = 0111111111111b = 0FFFh Primeiro endereço proibido do chip 2,7k:2,7102 = 1101100000000b = 1B00h Último endereço proibido do chip 2,7k:102-1 = 1111111111111b = 1FFFh Um microcontrolador hipotético possui a memória de registradores (file registers) de 208 posições, dividida em oito bancos. O opcode é formado por dois bits (mais significativos) que indicam a família de instruções (conjunto de instruções agrupadas por similaridade). Em uma dessas famílias, o opcode é formado pelos bits identificadores da família, pelos bits identificadores do registrador escolhido usando endereçamento direto, e pelos bits identificadores da operação dentro desta família, que são 2. Não há nenhumairrelevância (X) em nenhum opcode desta família de instruções. Todas as famílias possuem opcode de igual tamanho. Quantos são os bits de opcode para este microcontrolador? Questão 19 201S1P1M 208 posições: 11 bits 8 bancos: bits Bits por banco: 11 = 8 Outra forma: 208 / 8 = 26 posições 8 bits Família: 2 bits 2 operações em uma família: bits Opcode: 2 + + 8 = 1 bits Questão 20 201S1P1M Um pendrive possui uma capacidade de armazenamento de 1,MB comerciais. Seu barramento de endereço possui a quantidade mínima de bits suficiente para endereçar todas as palavras. Determine a faixa de endereços proibidos, por meio do primeiro e último valor, na forma hexadecimal. Primeiro endereço proibido = 1,1000 2 = 16E60h Último endereço proibido = 1FFFFFh 6