Você está na página 1de 67

27/09/2017

1. TESTES
2. RESPOSTAS DOS TESTES
3. QUESTÕES TEÓRICAS
Parte 11 4. RESPOSTAS DAS QUESTÕES TEÓRICAS
5. QUESTÕES NUMÉRICAS
PROVAS ANTERIORES 6. RESPOSTAS DAS QUESTÕES NUMÉRICAS

27/09/2017 1 27/09/2017 2

1 TESTES 1 TESTES
Teste 1 – 2012S1P1M

A sigla PIC®, da Microchip, significa:


( ) Program In-Chip
( ) Peripheral Interchange Component
TESTES ( ) Programming Into Computer
( ) Programmable Interface Controller
( ) Programmer Internal Cappable
( ) Program Input Control

27/09/2017 3 27/09/2017 4

1 TESTES 1 TESTES
Teste 2 – 2013S2P1M Teste 3 – 2013S2P1T

A sigla IDE significa: A sigla LVP significa:


( ) Interface Development Environment ( ) Low Voltage Processing
( ) Interface Directive Export ( ) Low Voltage Programming
( ) Integrated Development Environment ( ) Low Virtual Processing
( ) Integrated Directive Environment ( ) Light Virtual Processing
( ) Integrated Directive Export ( ) Light Voltage Programming
( ) Interface Development Export ( ) Light Virtual Programming

27/09/2017 5 27/09/2017 6

1
27/09/2017

1 TESTES 1 TESTES
Teste 4 – 2012S1P1M Teste 5 – 2012S1P1M

Qual a arquitetura da PIC16F877? PIC16F877 – Nas instruções “GOTO k” e “CALL k”,


( ) Baseline a palavra “k” tem tamanho, em bits:
( ) Mid-Range ( ) 07
( ) Enhanced Mid-Range ( ) 08
( ) PIC18 ( ) 09
( ) PIC24H/E ( ) 11
( ) DsPIC ( ) 13
( ) 14

27/09/2017 7 27/09/2017 8

1 TESTES 1 TESTES
Teste 6 – 2012S1P1M Teste 7 – 2012S1P2M

Qual instrução afeta o bit carry do Status Register? Qual instrução afeta o TOS?
( ) COMF ( ) SWAPF
( ) INCF ( ) CALL
( ) ADDWF ( ) CLRW
( ) ANDWF ( ) NOP
( ) INCFSZ ( ) BTFSC
( ) NOP ( ) CLRWDT

27/09/2017 9 27/09/2017 10

1 TESTES 1 TESTES
Teste 8 – 2012S1P2M Teste 9 – 2012S1P2M
Quanto às portas paralelas:
( ) São somente de entrada.
O comando Make do MPLAB™ serve para:
( ) São somente de saída.
( ) Gerar o código de máquina.
( ) Cada palavra (A, B, C, D, E) pode ser configurada
( ) Gravar o programa no chip.
como entrada ou saída.
( ) Executar o progama no computador.
( ) Cada bit pode ser configurado como entrada ou saída.
( ) Executar o programa no chip.
( ) Cada palavra (A, B, C, D, E) pode ser configurada.
( ) Ler o programa do chip.
como entrada, saída ou bidirecional.
( ) Reiniciar a execução do programa.
( ) Cada bit pode ser configurado como entrada, saída ou
bidirecional.

27/09/2017 11 27/09/2017 12

2
27/09/2017

1 TESTES 1 TESTES
Teste 10 – 2012S1P2M Teste 11 – 2013S2P2M

Qual parâmetro não pertence ao princípio PIC16F877 – Qual instrução não pode
de operação de uma entrada analógica? ser efetuada sobre um interrupt flag?
( ) Bit rate ( ) BCF
( ) Sampling rate ( ) BSF
( ) Duty cycle ( ) BTFSC
( ) VREF+ ( ) BTFSS
( ) VREF– ( ) CLRF
( ) Resolution ( ) MOVF (d=W)

27/09/2017 13 27/09/2017 14

1 TESTES 1 TESTES
Teste 12 – 2013S2P2M Teste 13 – 2013S2P2M

PIC16F877 – Qual módulo possui PIC16F877 – Qual módulo possui


registrador de controle, mas não de dados? registrador de controle, mas não um
( ) Timer (0, 1 ou 2) registrador exclusivo para dados?
( ) PORT (A, B, C, D ou E) ( ) Timer (0, 1 ou 2)
( ) PSP ( ) PORT (A, B, C, D ou E)
( ) CCP (1 ou 2) ( ) PSP
( ) MSSP ( ) CCP (1 ou 2)
( ) AD ( ) MSSP
( ) AD

27/09/2017 15 27/09/2017 16

1 TESTES 1 TESTES
Teste 14 – 2015S1P1T Teste 15 – 2015S1P1T
Assinale a alternativa falsa. Assinale a alternativa verdadeira.
( ) Uma histerese em uma entrada digital pode ser usada ( ) A arquitetura Harvard permite que data memory e
para bloquear altas frequências. program memory tenham endereçamentos independentes.
( ) Um oscilador analógico usa, como base de tempo, o ( ) Na arquitetura Von-Neumann, uma instrução pode
processo de carga e de descarga de um capacitor ou usar uma, duas ou três linhas da program memory.
indutor. ( ) Na família PIC, todas as instruções que fazem leitura
( ) Um contador digital onde todos os flip-flop´s operam à ou escrita o fazem sobre GPR´s, SFR´s ou W.
mesma frequência é melhor do que um contador assíncrono. ( ) O WDT é um contador de 8 bits e seu overflow
( ) O processo de hibernação (sleep) serve para provoca um WDT reset ou um WDT wake up.
economizar energia elétrica. ( ) A família PIC mid-range possui 35 instruções que
( ) A ULA possui uma saída para o work register podem usar zero, um ou dois argumentos numéricos.
(acumulador) e uma saída para o data bus. ( ) O Prefetch Queue permite que a instrução seguinte
( ) O compartilhamento de funções em um mesmo pino seja lida durante a execução da instrução anterior.
serve para reduzir custo e tamanho do chip.
27/09/2017 17 27/09/2017 18

3
27/09/2017

1 TESTES 1 TESTES
Teste 16 – 2016S2P1AT Teste 17 – 2016S2P1BT
Assinale a alternativa falsa. Assinale a alternativa falsa.
( ) Uma MCU é dividida em duas partes: Núcleo (core) e ( ) Todos os 33 pinos de comunicação da PIC16F877
periféricos. DIP40 acessam os periféricos da PIC.
( ) Uma MCU em estado de reset não executa nenhuma ( ) Todos os periféricos da PIC16F877 são registrados.
instrução. ( ) Se uma palavra é de 10 ou 16 bits, ela usa dois
( ) Uma interrupção associada a um periférico que entra em registradores.
power-down não pode provocar wake-up. ( ) O período do conversor AD, TAD, diz respeito à
( ) PIC16F877 – O Timer 0 no modo temporizador com o obtenção da palavra AD result.
oscilador da PIC no modo RC pode solicitar interrupção. ( ) Um toogle switch é uma chave elétrica com memória.
( ) PIC16F877 – A instrução CALL endereçada a uma página ( ) Lâmpada incandescente, forno elétrico e motor
diferente altera o valor do PCLATCH. elétrico possuem ação passa-baixas.
( ) A rotina de interrupção pode fazer uso da instrução CALL.

27/09/2017 19 27/09/2017 20

1 TESTES 2 RESPOSTAS DOS TESTES


Teste 18 – 2016S2P1BT

Você precisa conectar 3 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. RESPOSTAS DOS TESTES
( ) Todas elas em slave.
( ) Todas elas em master daisy chain.
( ) Todas elas em slave daisy chain.

27/09/2017 21 27/09/2017 22

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 1 – 2012S1P1M Teste 2 – 2013S2P1M

A sigla PIC®, da Microchip, significa: A sigla IDE significa:


( ) Program In-Chip ( ) Interface Development Environment
( ) Peripheral Interchange Component ( ) Interface Directive Export
( ) Programming Into Computer (X) Integrated Development Environment
(X) Programmable Interface Controller ( ) Integrated Directive Environment
( ) Programmer Internal Cappable ( ) Integrated Directive Export
( ) Program Input Control ( ) Interface Development Export

27/09/2017 23 27/09/2017 24

4
27/09/2017

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 3 – 2013S2P1T Teste 4 – 2012S1P1M

A sigla LVP significa: Qual a arquitetura da PIC16F877?


( ) Low Voltage Processing ( ) Baseline
(X ) Low Voltage Programming (X) Mid-Range
( ) Low Virtual Processing ( ) Enhanced Mid-Range
( ) Light Virtual Processing ( ) PIC18
( ) Light Voltage Programming ( ) PIC24H/E
( ) Light Virtual Programming ( ) DsPIC

27/09/2017 25 27/09/2017 26

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 5 – 2012S1P1M Teste 6 – 2012S1P2M

PIC16F877 – Nas instruções “GOTO k” e “CALL k”, Qual instrução afeta o bit carry do Status Register?
a palavra “k” tem tamanho, em bits: ( ) COMF
( ) 07 ( ) INCF
( ) 08 (X) ADDWF
( ) 09 ( ) ANDWF
(X) 11 ( ) INCFSZ
( ) 13 ( ) NOP
( ) 14

27/09/2017 27 27/09/2017 28

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 7 – 2012S1P2M Teste 8 – 2012S1P2M
Quanto às portas paralelas:
( ) São somente de entrada.
Qual instrução afeta o TOS?
( ) São somente de saída.
( ) SWAPF
( ) Cada palavra (A, B, C, D, E) pode ser configurada
(X) CALL
como entrada ou saída.
( ) CLRW
(X) Cada bit pode ser configurado como entrada ou saída.
( ) NOP
( ) Cada palavra (A, B, C, D, E) pode ser configurada.
( ) BTFSC
como entrada, saída ou bidirecional.
( ) CLRWDT
( ) Cada bit pode ser configurado como entrada, saída ou
bidirecional.

27/09/2017 29 27/09/2017 30

5
27/09/2017

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 9 – 2012S1P2M Teste 10 – 2012S1P2M

Qual parâmetro não pertence ao princípio


O comando Make do MPLAB™ serve para:
de operação de uma entrada analógica?
(X) Gerar o código de máquina.
( ) Bit rate
( ) Gravar o programa no chip.
( ) Sampling rate
( ) Executar o progama no computador.
(X) Duty cycle
( ) Executar o programa no chip.
( ) VREF+
( ) Ler o programa do chip.
( ) VREF–
( ) Reiniciar a execução do programa.
( ) Resolution

27/09/2017 31 27/09/2017 32

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 11 – 2013S2P2M Teste 12 – 2013S2P2M

PIC16F877 – Qual instrução não pode PIC16F877 – Qual módulo possui


ser efetuada sobre um interrupt flag? registrador de controle, mas não de dados?
( ) BCF ( ) Timer (0, 1 ou 2)
(X) BSF ( ) PORT (A, B, C, D ou E)
( ) BTFSC (X) PSP
( ) BTFSS ( ) CCP (1 ou 2)
( ) CLRF ( ) MSSP
( ) MOVF (d=W) ( ) AD

27/09/2017 33 27/09/2017 34

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 13 – 2013S2P2M Teste 14 – 2015S1P1T
Assinale a alternativa falsa.
( ) Uma histerese em uma entrada digital pode ser usada
PIC16F877 – Qual módulo possui
para bloquear altas frequências.
registrador de controle, mas não um
( ) Um oscilador analógico usa, como base de tempo, o
registrador exclusivo para dados?
processo de carga e de descarga de um capacitor ou
( ) Timer (0, 1 ou 2)
indutor.
( ) PORT (A, B, C, D ou E)
( ) Um contador digital onde todos os flip-flop´s operam à
(X) PSP
mesma frequência é melhor do que um contador assíncrono.
( ) CCP (1 ou 2)
( ) O processo de hibernação (sleep) serve para
( ) MSSP
economizar energia elétrica.
( ) AD
(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
27/09/2017 35 serve para reduzir custo e tamanho do chip.
27/09/2017 36

6
27/09/2017

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 15 – 2015S1P1T Teste 16 – 2016S2P1AT
Assinale a alternativa verdadeira.
Assinale a alternativa falsa.
( ) A arquitetura Harvard permite que data memory e
( ) Uma MCU é dividida em duas partes: Núcleo (core) e
program memory tenham endereçamentos independentes.
periféricos.
( ) Na arquitetura Von-Neumann, uma instrução pode usar
( ) Uma MCU em estado de reset não executa nenhuma
uma, duas ou três linhas da program memory.
instrução.
( ) Na família PIC, todas as instruções que fazem leitura
( ) Uma interrupção associada a um periférico que entra em
ou escrita o fazem sobre GPR´s, SFR´s ou W.
power-down não pode provocar wake-up.
(X) O WDT é um contador de 8 bits e seu overflow provoca
( ) PIC16F877 – O Timer 0 no modo temporizador com o
um WDT reset ou um WDT wake up.
oscilador da PIC no modo RC pode solicitar interrupção.
( ) A família PIC mid-range possui 35 instruções que (X) PIC16F877 – A instrução CALL endereçada a uma página
podem usar zero, um ou dois argumentos numéricos. diferente altera o valor do PCLATCH.
( ) O Prefetch Queue permite que a instrução seguinte
( ) A rotina de interrupção pode fazer uso da instrução CALL.
seja lida durante a execução da instrução anterior.
27/09/2017 37 27/09/2017 38

2 RESPOSTAS DOS TESTES 2 RESPOSTAS DOS TESTES


Teste 17 – 2016S2P1BT Teste 18 – 2016S2P1BT
Assinale a alternativa falsa.
( ) Todos os 33 pinos de comunicação da PIC16F877 Você precisa conectar 3 MCU´s PIC16F877
DIP40 acessam os periféricos da PIC. por meio do SPI™. Marque a opção correta.
( ) Todos os periféricos da PIC16F877 são registrados. ( ) Todas elas em master.
( ) Se uma palavra é de 10 ou 16 bits, ela usa dois (X) Uma em master e duas em slave.
registradores. ( ) Duas em master e uma em slave.
(X) O período do conversor AD, TAD, diz respeito à ( ) Todas elas em slave.
obtenção da palavra AD result. ( ) Todas elas em master daisy chain.
( ) Um toogle switch é uma chave elétrica com memória. ( ) Todas elas em slave daisy chain.
( ) Lâmpada incandescente, forno elétrico e motor
elétrico possuem ação passa-baixas.

27/09/2017 39 27/09/2017 40

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 1 – 2012S1P1M

PIC16F877 – Na segunda coluna, coloque as


letras associadas da primeira coluna (biunívoco).
(A) EEPROM ( ) Data memory
QUESTÕES TEÓRICAS (B) Flash
(C) ROM
( ) File register
( ) LIFO
(D) SRAM ( ) Program Memory
(E) Stack ( ) ULA

27/09/2017 41 27/09/2017 42

7
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 2 – 2012S1P2M Questão 3 – 2012S2P1M
Ligue os pontos da coluna da direita com os pontos da coluna da
esquerda. Biunívoco.
Na segunda coluna, coloque as letras associadas da ROM • • Uma das palavras de entrada é selecionada e colocada na palavra de saída.
primeira coluna (biunívoco). COUNT • • A palavra de saída é definida por meio do bit de entrada escolhido.
(A) P ( ) Chip com especialidade matemática DEMUX • • A palavra lida é a última a ter sido escrita.
(B) MCU ( ) Gravador de PIC® ENC • • Uma das palavras de saída é selecionada para receber a palavra de entrada.
(C) DSP ( ) Incorporação de periféricos REG • • Uma palavra de dados de saída, uma palavra de entrada de endereço.
(D) ULA ( ) Módulo executor de operações RAM • • A palavra de saída é o seu valor anterior sofrido de alguma operação.
(E) ICD ( ) Processamento genérico 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.

27/09/2017 43 27/09/2017 44

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 4 – 2012S2P1M Questão 5 – 2013S1P2T
Ligue os pontos da coluna da direita com os pontos da coluna da Preencha, entre parênteses, “C” caso o módulo
esquerda. Biunívoco. PIC16F877-20/P. pertença ao núcleo (core) ou “P” se for um periférico.
1• •Tamanho da palavra PCH. ( ) WDT watchdog timer
2• •Quant. de bits de endereço de um registrador da SRAM. ( ) TMR0 timer 0
3• •Quant. de páginas da file registers. ( ) TMR1 timer 1
4• •Quant. de bits usados na seleção de páginas da program memory. ( ) TMR2 timer 2
5• •Quant. de bits usados no endereçamento do destino em instruções de desvio. ( ) A/D converter
7• •Quant. de bits usados no endereç. do file em instruções lógicas e aritméticas. ( ) CCPx capture-compare-PWM
8• •Tamanho das palavras da program memory. ( ) ALU arithmetic logic unit
9• •Bits do conversor A/D da PIC® mid-range architecture. ( ) EEPROM memory
10• •Quant. de bits usados na seleção do destiny em instr. lóg. e arit. do tipo WF. ( ) FLASH memory
11• •Quant. de bits usados no endereç. de uma instrução na program memory. ( ) USART serial
13• •Tamanho das palavras do file registers. ( ) STACK pilha
14• •Quant. de bits usados na seleção de um bit em operações sobre bits. ( ) SFR special function registers
( ) GPR general purpose registers
( ) WREG work register
( ) ICD in-circuit debugger
27/09/2017 45 27/09/2017
( ) LVP low-voltage programming 46

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 6 – 2012S1P3M Questão 7 – 2012S2P1M

• Usando um demultiplexador 12 de 4 bits e um


• Explique o que é um PUSH e um POP.
multiplexador 21 de 4 bits, construa um circuito que
• Cite uma instrução que realize cada
realiza a operação LR ‐ Left Bit Rotation de 4 bits.
uma dessas ações.
• Se a entrada “A” for zero, não há rotação.
• PIC16F877‐20/P.
• Se a entrada “A” for um, ocorre a rotação.

27/09/2017 47 27/09/2017 48

8
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 8 – 2012S2P2M Questão 9 – 2012S2P2M
• O Program Counter possui 13 bits (bit0 a bit12) e é Explique o erro no programa abaixo:
referenciado pelos registradores PCL (low) e PCH (high). #include <p16f877.inc>
• O PCL é acessível, porém o PCH não. org 0x5
• O registrador PCLATH possui 5 bits (bit0 a bit4) e é #define ondecadê 0x20
acessível; ele é copiado para o PCH nas instruções de BCF STATUS, RP1
desvio ou quando se acessa o PCL. BCF STATUS, RP0
• No caso de desvio (CALL e GOTO), a instrução recebe, MOVF 0xBE, W
como argumento, uma constante de 11 bits (bit0 a bit10). MOVWFondecadê
• Quais são os bits de PCLATH enviados ao PCH nas #undefine ondecadê
instruções CALL e GOTO? end

27/09/2017 49 27/09/2017 50

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 10 – 2012S2P2M Questão 11 – 2012S2P2M

• A instrução RETURN requer que uma outra instrução


• Algumas instruções enquadram‐se na categoria 2TCY. tenha sido executada em algum momento anterior.
• O que é 2TCY? • Que instrução é essa? Explique qual problema
acontece se essa condição não for respeitada.

27/09/2017 51 27/09/2017 52

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 12 – 2012S2P2M Questão 13 – 2012S2P2M

• Explique por que motivo o decaimento da frequência


de relógio (clock) não faz com que o WDT demore • Explique a função dos pinos VREF+ e VREF‐.
mais para gerar um reset ou um wake‐up?

27/09/2017 53 27/09/2017 54

9
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 14 – 2013S1P1T Questão 15 – 2013S1P1T

• Explique porque, para um determinado programa


construído em linguagem de montagem (assembler) • Utilize um MUX para transformar várias ROM
para um controlador/processador RISC, o tamanho 2k  8bits em uma ROM 8k  8bits.
do programa montado (em bits) não difere muito do • Empregue a letra “A” para nomear todos os bits
tamanho do programa montado por meio de um usados para o endereçamento, começando
assembler para um controlador/processador CISC pelo índice 0 no bit menos significativo.
com similar capacidade de processamento.

27/09/2017 55 27/09/2017 56

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 16 – 2013S1P1M Questão 17 – 2012S1P2M
• Quantas linhas de opcode ou de
disassembly possui o programa abaixo?
__CONFIG _WDT_ON & _XT_OSC & _LVP_OFF & _BODEN_OFF
#include <p16f877.inc>
org 0x05 ;Vetor de Reset
• Explique o motivo que justifica o uso de uma #define marqualrélio 0x45 ;dado 1
memória flash e o motivo que justifica o uso de uma #define operador 0xA0 ;dado 2
BCF STATUS, RP1
EEPROM como parte integrante da PIC16F877-20/P. BSF STATUS, RP0
MOVLW marqualrélio
MOVWF operador
#undefine ondecadê
#undefine operador
end

27/09/2017 57 27/09/2017 58

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 18 – 2013S1P2T Questão 19 – 2013S1P2T

• PIC16F877 – Diga qual instrução (incluindo argumento),


• PIC16F877 – Diga quais são as instruções do tipo 2TCY.
usando a sintaxe do MPASM, equivale a dois NOP’s seguidos.

27/09/2017 59 27/09/2017 60

10
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 20 – 2013S1P2T Questão 21 – 2013S1P2M
• Escreva o código disassembly para o
programa abaixo, sabendo que:
• RP1=STATUS<6>,RP0=STATUS<5>,
• WR=EECON1<1>.
• Especifique a linha da program memory. • Qual a instrução (e argumentos)
do opcode 3800h?
• Usar as tabelas de montagem e de SFR’s.
; Programa da P2 • Qual o opcode da instrução
#include <p16f877.inc>
org 0x5 BTFSC 0xc, 0x1?
#define ondecadê 0x05 ;endereço da EEPROM
#define marqualrélio 0xca ;dado para a EEPROM • Usar as tabelas de montagem.
;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ê
27/09/2017 #undefine marqualrélio 61 27/09/2017 62
end

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 22 – 2013S1P2M Questão 23 – 2013S1P2M
• 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 • O que é um WDT time-out?
da MCU e gera um sinal • Para que ele serve?
controlado para a máquina. • O que ocorre com a MCU após o WDT time-out?
• 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?
27/09/2017 63 27/09/2017 64

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 24 – 2013S1P2M Questão 25 – 2013S1P3M

• Explique qual a função de um buffer em


• O que é um contador prescaler?
uma entrada digital.
• Para que serve?
• Explique qual função especial tem um buffer
• Como ele pode ser construído?
Schimitt Trigger em uma entrada digital.

27/09/2017 65 27/09/2017 66

11
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 26 – 2013S1P3T Questão 27 – 2013S1P3T
• PIC16F877.
• 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 TCY’s da(s) linha(s)
removida(s).
; Programa da P3
#_include <p16f887.inc>
• Desenhe o formato de onda típico de um oscilador RC. org0x0
#define marqualrélio 0x45
#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
27/09/2017 67 #undefine
27/09/2017 ondecade 68
end.

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 28 – 2013S1P3M Questão 29 – 2013S1P3M

• Explique qual a função de um resistor de pull-up.


• Como um transistor pode agir como uma • PIC16F877 – Explique o significado do
resistência ativa? valor zero e do valor um no bit EEIF e
• Como um transistor pode operar como um como esses valores são alterados.
resistor de pull-up habilitável?

27/09/2017 69 27/09/2017 70

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 30 – 2013S2P1M Questão 31 – 2013S2P1T

• PIC16F877 – Explique o que • PIC16F877 – Explique o que


acontece em uma escrita em INDF. acontece em uma escrita em PCL.

27/09/2017 71 27/09/2017 72

12
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 32 – 2014S1P1M Questão 33 – 2014S1P1M

• PIC16F877.
• Todos os periféricos são
registrados, isto é, a comunicação
• PIC16F877 – Que evento
(dado, endereço, controle) é feita
impede a MCU de funcionar se
por meio de registradores da
TOSC for exageradamente grade?
SRAM (SFR - file registers).
• Explique o motivo dessas
registrações.

27/09/2017 73 27/09/2017 74

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 34 – 2014S1P1M Questão 35 – 2014S1P1M
• PIC16F877.
• A instrução ANDLF seria bastante
útil se existisse, mas a arquitetura
• PIC16F877 – Cite os tipos de
do core não permite.
elemento encontrados na
• Esta instrução faria a operação
linguagem de montagem pura, isto
AND bit-a-bit entre uma literal, de 8
é, sem as extensões ou diretivas
bits, e um registrador endereçado
empregadas pelo MPASM™.
por 7 bits.
• Explique por que o core não permite
a implementação desta instrução.

27/09/2017 75 27/09/2017 76

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 36 – 2014S1P1M Questão 37 – 2014S1P1T

• PIC16F877 – Diga em que • Cite uma vantagem da geração de


situação é interessante realizar sinal de clock (TOSC) por meio de
um programa (assembly, na PIC®) um circuito RC e uma vantagem
de escrita na program memory. da geração por cristal (XTAL).

27/09/2017 77 27/09/2017 78

13
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 38 – 2014S1P1T Questão 39 – 2014S1P1T
• PIC16F877.
• Foi comentado, nas aulas de
• PIC16F877 – Cite as diversas laboratório, que, um endereço
aplicações para os argumentos não usado na program memory
numéricos em uma instrução, é gravado com 3FFFh.
especificando a quantidade de bits • Também foi comentado que
usada em cada uma destas aplicações, este valor corresponde a uma
bem como o seu significado. instrução que realiza uma
determinada ação.
• Que ação é esta?

27/09/2017 79 27/09/2017 80

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 40 – 2014S1P1T Questão 41 – 2014S1P2M

• PIC16F877 – Explique por que, no


módulo CCPx no modo PWM, se
• PIC16F877. DC<9:0> é maior ou igual a
• Diga em que situação é (PR2+1)4, então o valor de DC é
interessante usar a instrução irrelevante, pois o dutty-cycle
CALL ao invés de GOTO. percentual é sempre de 100%
qualquer que seja o valor de DC<9:0>
que satisfaça a condição citada.

27/09/2017 81 27/09/2017 82

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 42 – 2014S1P2T Questão 43 – 2014S2P1T
• PIC16F877.
• No laboratório, vimos que, para o
teclado bottom switch, usamos uma
rotina que realiza uma trava do tipo
master-slave.
• PIC16F877.
• Sabendo que a tecla solta é lida como
• Explique para que serve o oscilator start-up timer.
“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..

27/09/2017 83 27/09/2017 84

14
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 44 – 2014S2P1T Questão 45 – 2014S2P2T

• PIC16F877. • Explique como o sinal digital


• Sobre as instruções RETURN e RETFIE: PWM se comporta como um sinal
Quando se usa uma e quando se usa a analógico sobre um atuador.
outra? Qual a diferença entre elas?

27/09/2017 85 27/09/2017 86

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 46 – 2014S2P2T Questão 47 – 2014S2P2T

• Em uma comunicação serial


• Qual a diferença de uma porta
síncrona, qual a principal
paralela normal e a PSP?
diferença entre master e slave?

27/09/2017 87 27/09/2017 88

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 48 – 2015S1P1T Questão 49 – 2015S1P2T

• PIC16F877
• Explique o que faz a instrução IORLW. • PIC16F877
• Quantos são os argumentos da instrução e • Explique o motivo de CCPRxH ter seu acesso
quais os seus significados? bloqueado na função PWM do módulo CCP.
• Quantos são os operandos e quem são eles?

27/09/2017 89 27/09/2017 90

15
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 50 – 2015S1PAT Questão 51 – 2015S1PAT

• Os programas feitos para o MPASM™ utilizam quatro colunas.


Explique para que serve a diretiva #include <p16f877.inc>
• Diga o que é colocado em cada coluna.

27/09/2017 91 27/09/2017 92

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 52 – 2015S1PAT Questão 53 – 2015S1PAT

• Monte cada uma das instruções abaixo. Fazer x=0.


BCF 0x0B, 0x7
MOVLW 0x55
RETURN • Explique o problema no uso da instrução abaixo:
GOTO $
GOTO 0x051
MOVF 0x11, 0x0
CLRW

27/09/2017 93 27/09/2017 94

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 54 – 2015S2P1T Questão 55 – 2015S2P1T

• PIC16F877
• Com exceção da flash program memory, todos os
demais periféricos possuem uma característica
• Explique a diferença entre P e MCU.
em comum, característica esta que é suficiente
para definir, tais módulos, como periférico.
• Explique tal característica.

27/09/2017 95 27/09/2017 96

16
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 56 – 2015S2P1T Questão 57 – 2015S2P1T

• Qual é a característica da flash memory que a


• PIC16F877
torna ideal para uso como program memory?
• Em que tipo de aplicação se usa o relógio por cristal HS?
• Qual é a característica da EEPROM que a
• Em que tipo de aplicação se usa o relógio por cristal LP?
torna ideal para uso como data memory?

27/09/2017 97 27/09/2017 98

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 58 – 2015S2P1T Questão 59 – 2015S2P1T

• PIC16F877
• O TMR0 possui dois modos de operação, o • PIC16F877
modo “temporizador” e o modo “contador”. • Explique a função da instrução SWAPF.
• Explique a diferença.

27/09/2017 99 27/09/2017 100

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 60 – 2015S2PAT Questão 61 – 2015S2PAT

• Explique por que, no MPASM™, algumas


• Explique para que serve a diretiva
linhas na coluna disassembly da janela
#include <p16f877.inc>.
Program Memory ficam em branco.

27/09/2017 101 27/09/2017 102

17
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 62 – 2015S2PAT Questão 63 – 2016S1P1M
#include <p16f877.inc>
__config _WDT_OFF
org 0x005
constant ondecadê = 0x20
constant ondegoto = 0x011
• Escreva o código assembly puro BCF STATUS, RP1
para o código abaixo BCF STATUS, RP0 • Explique a diferença entre o
(disassembly), usando os critérios CLRF ondecadê ambiente de desenvolvimento
MOVF ondecadê,W MPLAB SIM® e o MPLAB ICD2®.
apresentados em sala de aula. MOVWF ondecadê+1
• Especifique os addresses para BSF ondecadê,0
cada linha no assembly puro. MOVF ondecadê,W
MOVWF ondecadê+2
GOTO ondegoto
BSF ondecadê,1
MOVF ondecadê,W
MOVWF ondecadê+3
SLEEP
27/09/2017 end 103 27/09/2017 104

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 64 – 2016S1P1M Questão 65 – 2016S1P1M

• Toda ULA possui duas entradas de dados.


• Explique para que serve a pilha.
• Qual a procedência destas duas entradas?

27/09/2017 105 27/09/2017 106

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 66 – 2016S1P1M Questão 67 – 2016S1P1M

• PIC16F877 – Explique a diferença entre as


• PIC16F877 – Explique para que servem as palavras TRIS.
instruções do tipo LW e as instruções do tipo WF.

27/09/2017 107 27/09/2017 108

18
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 68 – 2016S1P1T Questão 69 – 2016S1P1T

• PIC16F877 – Explique por que motivo alguns SFR´s • Explique a função da histerese de uma
possuem endereço completo de, apenas, sete bits. porta lógica que compõe um oscilador RC.

27/09/2017 109 27/09/2017 110

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 70 – 2016S1P1T Questão 71 – 2016S1P2M

• PIC16F877 – Explique por que motivo


• PIC16F877 – Explique por que motivo algumas
a gravação ou escrita da flash memory
portas paralelas possuem buffer de entrada
em tempo de execução (runtime) se
TTL e outras possuem buffer de entrada ST.
assemelha à arquitetura Von-Neumann.

27/09/2017 111 27/09/2017 112

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 72 – 2016S1P2M Questão 73 – 2016S1P2M

• PIC16F877 – Explique o motivo por que a • PIC16F877 – Explique o que


função PSP ignora a configuração TRISD. é a ligação daisy-chain SPI™.

27/09/2017 113 27/09/2017 114

19
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 74 – 2016S1P2T Questão 75 – 2016S1P2T

• PIC16F877 – Explique por • PIC16F877 – Explique o motivo


que motivo a função PWM por que a função SPI™ no slave
(<CCPxM3:CCPxM2>=11) possui a opção “/SS pin control
possui um holding register. disabled”(<SSPM3:SSPM0>=0101).

27/09/2017 115 27/09/2017 116

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 76 – 2016S1PAT Questão 77 – 2016S1PAT

• No MPASM™, alguns caracteres, em


• Explique para que serve a diretiva __config. algumas instruções, aparecem na cor cinza.
• Qual o significado destes caracteres?

27/09/2017 117 27/09/2017 118

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


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 0xa0
• Explique a função dos botões
MOVWF 0x41 indicados na figura abaixo.
MOVLW 0x21
MOVWF 0x42
ADDLW 0x32
MOVWF 0x43
MOVF 0x41, 0x0
MOVWF 0x44 A B C D
RRF 0x44, 0x1
end

27/09/2017 119 27/09/2017 120

20
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 80 – 2016S1PAT Questão 81 – 2015S1PAT

• Associe cada tipo de elemento do MPASM™ com sua


respectiva cor.
(A) Argumento numérico hex ( ) Preto
• Explique a função dos botões indicados na figura abaixo.
(B) Argumento numérico dec ( ) Cinza
• Monte a instrução (hex):BCF STATUS, RP1
(C) Mnemônico de instrução ( ) Azul sem negrito
• Desmonte o opcode 0x188C.
(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

27/09/2017 121 27/09/2017 122

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 82 – 2016S2P1AM Questão 83 – 2016S2P1BM
• Assinale a alternativa falsa.
A. ( ) A memória flash é a parte mais cara da pastilha • Assinale a alternativa verdadeira para cada linha.
1. O tamanho dos opcodes é de: ( )13 bits. ( )14 bits.
interna de um chip microcontrolador. 2. Uma rotina de interrupção é finalizada com a instrução: ( )RETFIE. ( )RETLW.
B. ( ) Quanto maior é a capacidade de processamento 3. A EEPROM: ( )faz parte do core. ( )é um periférico.
de uma MCU, maior é a sua funcionalidade. 4. O TMR1 no modo contador, emprega, como base de tempo: ( )sinal externo. (
C. ( ) PIC16F877 – O fetch das instruções do tipo 2TCY )o instruction cycle.
5. As instruções BSF, BCF, BTFSC e BTFSS são operações sobre: ( )bit. ( )byte.
leva o dobro do tempo do de uma instrução normal. 6. O registrador STATUS é um: ( )GPR. ( )SFR.
D. ( ) PIC16F877 – A configuração TRIS determina se 7. A fim de endereçar a segunda página da SRAM, o bit RP0 deve receber valor: (
um pino de comunicação é entrada ou saída. )0. ( )1.
8. Uma vantagem da EEPROM em relação à flash memory é: ( )alta densidade. (
E. ( ) PIC16F877 – Uma diretiva de montagem não
)rapidez na gravação.
gera opcode. 9. A etapa de reset que emprega um contador de 10 bits é o: ( )oscilator startup
F. ( ) PIC16F877 – Um pedido de interrupção não é timer. ( )power-up timer.
atendido se o seu enable bit está desativado. 10.O buffer shimitt trigger tem a função de: ( )filtrar altas frequências na entrada. (
)gerar alta impedância.
27/09/2017 123 27/09/2017 124

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 84 – 2016S2P2M Questão 85 – 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.
3. Um pino de I/O é configurado como entrada ou saída por meio do • Explique por que motivo, programando oito bits do
registrador: ( )TRIS. ( )RBPU. PWM, para qualquer valor de CCPRxL<7:0> superior
4. A quantidade de bits de PORTA é: ( )5. ( )6.
5. Um sinal PWM é: ( )analógico. ( )digital.
a PR2<7:0>, o dutty-cycle sempre será de 100%.
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 é: (
)9. ( )11.
27/09/2017 125 27/09/2017 126

21
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 86 – 2016S2P1BM Questão 87 – 2016S2P1AT
• PIC16F877
• PIC16F877 – No programa abaixo, • A listagem abaixo é parte de um
determine o argumento numérico da projeto. constant TEMPOA = 0x20
instrução GOTO ali, na forma hexadecimal. constant TEMPOB = 0x21
• A rotina “Espera” é executada para constant TEMPOC = 0x22
#include <P16F877.INC> constant VALOR = 0x0f
GOTO início gerar uma determinada temporização. Espera
MOVWF PORTD
org 0x7fc • Para um determinado f OSC, esta rotina MOVLW VALOR
início MOVWF TEMPOC
NOP gera um tempo t1=240s. MOVLW
MOVWF
VALOR
TEMPOB
MOVLW 0x08 • A constante “VALOR” determina a MOVLW VALOR
MOVWF PCLATH MOVWF TEMPOA
GOTO ali quantidade exata de repetições da DECFSZ
GOTO
TEMPOA,F
$-0x1
NOP variável usada no loop, que conta DECFSZ TEMPOB,F
NOP GOTO $-0x5
ali decrescentemente de “VALOR” até 1. DECFSZ TEMPOC,F
GOTO $-0x9
NOP • Mudando a definição da constante RETURN
NOP
“VALOR” para 0x3C, qual o valor do
27/09/2017 127 novo tempo, t2?
27/09/2017 128

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


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
• No PSP, os comandos /RD, /WR, e /CS devem
tempo de uma contagem é relevante.
ser configurados como entrada ou como saída?
• Contadores dão sinal de overflow e
• Justifique o uso destes três pinos no PSPMODE.
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.

27/09/2017 129 27/09/2017 130

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 90 – 2016S2PAT Questão 91 – 2016S2PAT

• Explique o porquê do MPASM™ apresentar esta mensagem


• No MPASM™, alguns caracteres, em
e no que ela diverge do comportamento do chip verdadeiro.
algumas instruções, aparecem na cor preta.
• CORE-W0014: Halted due to PC incrementing over the
• Qual o significado desta cor?
Maximum PC address and wrapping back to Zero.

27/09/2017 131 27/09/2017 132

22
27/09/2017

3 QUESTÕES TEÓRICAS 3 QUESTÕES TEÓRICAS


Questão 92 – 2016S2PAT Questão 93 – 2016S2PAT
; Programa 41
org 0x5
• No programa 41, determine: CALL RotinaC0
1. O argumento numérico (hex) da GOTO Fim
instrução CALL RotinaC1 RotinaC0
MOVLW 0x03
• No MPASM™, um arquivo (*.asm) pode ser aberto 2. O argumento numérico (hex) da MOVWF 0x20
dentro (incluído) ou fora (não incluído) do “mcp”. instrução GOTO Fim CLRF 0x21
• Explique a diferença entre estas duas opções. 3. O valor (hex) do push efetuado pela CALL RotinaC1
RETURN
instrução CALL RotinaC0 RotinaC1
4. O valor (hex) do pop efetuado pela MOVLW 0x04
segunda ocorrência, na listagem, da MOVWF 0x21
CLRF 0x20
instrução RETURN RETURN
Fim
end

27/09/2017 133 27/09/2017 134

3 QUESTÕES TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 94 – 2016S2PAT

• Lembrando que as instruções que


fazem ou podem fazer desvios RESPOSTAS DAS
gastam 2TCY´s, determine quantos
TCY´s são usados no programa 41. QUESTÕES TEÓRICAS

27/09/2017 135 27/09/2017 136

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 1 – 2012S1P1M Questão 2 – 2012S1P2M

PIC16F877 – Na segunda coluna, coloque as Na segunda coluna, coloque as letras associadas da


letras associadas da primeira coluna (biunívoco). primeira coluna (biunívoco).
(A) EEPROM (A) Data memory (A) P (C) Chip com especialidade matemática
(B) Flash (D) File register (B) MCU (E) Gravador de PIC®
(C) ROM (E) LIFO (C) DSP (B) Incorporação de periféricos
(D) SRAM (B) Program Memory (D) ULA (D) Módulo executor de operações
(E) Stack (C) ULA (E) ICD (A) Processamento genérico

27/09/2017 137 27/09/2017 138

23
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 3 – 2012S2P1M Questão 4 – 2012S2P1M
Ligue os pontos da coluna da direita com os pontos da coluna da esquerda. Ligue os pontos da coluna da direita com os pontos da coluna da esquerda.
Biunívoco. Biunívoco. PIC16F877-20/P.
DEC Um bit de saída selecionado por vez por meio da palavra de entrada.
ENC A palavra de saída é definida por meio do bit de entrada escolhido. 1 Quant. de bits usados na seleção do destiny em instruções lóg. e arit. do tipo WF.
MUX Uma das palavras de entrada é selecionada e colocada na palavra de saída. 2 Quant. de bits usados na seleção de páginas da program memory.
DEMUX Uma das palavras de saída é selecionada para receber a palavra de 3 Quant. de bits usados na seleção de um bit em operações sobre bits.
entrada. 4 Quant. de páginas da file registers.
REG A palavra de entrada é copiada para a palavra de saída, onde é mantida. 5 Tamanho da palavra PCH.
COUNT A palavra de saída é o seu valor anterior sofrido de alguma operação. 7 Quant. de bits usados no endereçamento do file em instruções lógicas e aritméticas.
ROM Uma palavra de dados de saída, uma palavra de entrada de endereço. 8 Tamanho das palavras do file registers.
RAM Uma palavra de dados de entrada, uma palavra de dados de saída, uma 9 Quant. de bits de endereço de um registrador da SRAM.
palavra de entrada de endereço. 10 Bits do conversor A/D da PIC® mid-range architecture.
STACK A palavra lida é a última a ter sido escrita. 11 Quant. de bits usados no endereçamento do destino em instruções de desvio.
BUS Conexão de uma palavra de saída de um bloco para uma palavra de 13 Quant. de bits usados no endereçamento de uma instrução na program memory.
entrada de outro bloco. 14 Tamanho das palavras da program memory.

27/09/2017 139 27/09/2017 140

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 5 – 2013S1P2T Questão 6 – 2012S1P3M
Preencha, entre parênteses, “C” caso o módulo • Usando um demultiplexador 12 de 4 bits e um
pertença ao núcleo (core) ou “P” se for um periférico. multiplexador 21 de 4 bits, construa um circuito que
(C) WDT watchdog timer
(P) TMR0 timer 0
realiza a operação LR ‐ Left Bit Rotation de 4 bits.
(P) TMR1 timer 1 • Se a entrada “A” for zero, não há rotação.
(P) TMR2 timer 2 • Se a entrada “A” for um, ocorre a rotação.
(P) A/D converter
(P) CCPx capture-compare-PWM *Alguns SFR’s controlam
(C) ALU arithmetic logic unit elementos do core, e, por
(P) EEPROM memory isso, fazem parte do core;
(P) FLASH memory C e P estão corretos.
(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
27/09/2017
low-voltage programming 141 27/09/2017 142

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 7 – 2012S2P1M Questão 8 – 2012S2P2M
• Explique o que é um PUSH e um POP.
• O Program Counter possui 13 bits (bit0 a bit12) e é
• Cite uma instrução que realize cada
referenciado pelos registradores PCL (low) e PCH (high).
uma dessas ações.
• O PCL é acessível, porém o PCH não.
• PIC16F877‐20/P.
• O registrador PCLATH possui 5 bits (bit0 a bit4) e é
• PUSH: Colocação do endereço da acessível; ele é copiado para o PCH nas instruções de
próxima instrução (PC+1) no TOS desvio ou quando se acessa o PCL.
(topo da pilha) antes de efetuar o • No caso de desvio (CALL e GOTO), a instrução recebe,
desvio. Usado em CALL. como argumento, uma constante de 11 bits (bit0 a bit10).
• POP: Obtenção do endereço da • Quais são os bits de PCLATH enviados ao PCH nas
próxima instrução a partir do TOS instruções CALL e GOTO?
(topo da pilha). Usado em
RETURN, por exemplo.
Bits 3 e 4.
27/09/2017 143 27/09/2017 144

24
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 9 – 2012S2P2M Questão 10 – 2012S2P2M
Explique o erro no programa abaixo: • Algumas instruções enquadram‐se na categoria 2TCY.
#include <p16f877.inc> • O que é 2TCY?
org 0x5
#define ondecadê 0x20 • É a categoria de instruções que requerem, na execução,
BCF STATUS, RP1 dois ciclos de instrução (two instruction‐cycle period).
BCF STATUS, RP0 • Cada ciclo de instrução usa 4 ciclos de clock.
MOVF 0xBE, W • O termo genérico “ciclo” se refere, por padrão, ao
MOVWF ondecadê relógio, pois é o período que serve de referência para os
#undefine ondecadê demais temporizadores.
end

File somente pode ter 7 bits de endereço direto na instrução.

27/09/2017 145 27/09/2017 146

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 11 – 2012S2P2M Questão 12 – 2012S2P2M

• A instrução RETURN requer que uma outra instrução • Explique por que motivo o decaimento da frequência
tenha sido executada em algum momento anterior. de relógio (clock) não faz com que o WDT demore
• Que instrução é essa? Explique qual problema mais para gerar um reset ou um wake‐up?
acontece se essa condição não for respeitada.

• Todo RETURN está associado a um CALL. • Para segurança, o WDT possui


• O CALL faz o push no stack, o RETURN faz o pop. relógio próprio, configurável.
• Para cada push, deve haver um pop. • O oscilador do WDT é do tipo RC.
• Se houver um RETURN sem CALL, haverá um pop • O WDT prossegue a contagem
sem push, o que provoca um stack underflow. mesmo durante o modo sleep.

27/09/2017 147 27/09/2017 148

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 13 – 2012S2P2M Questão 14 – 2013S1P1T
• Explique a função dos pinos VREF+ e VREF‐. • Explique porque, para um determinado programa construído em linguagem de montagem
(assembler) para um controlador/processador RISC, o tamanho do programa montado
• São as tensões de referência para o conversor AD. (em bits) não difere muito do tamanho do programa montado por meio de um assembler
• Todo conversor AD requer uma referência para tensões para um controlador/processador CISC com similar capacidade de processamento.

mínima (ADRES=000h) e máxima (ADRES=3FFh). • Em arquitetura RISC, o opcode é pequeno, pois há poucas
• Por default, esses valores são VSS e VDD, que assumem níveis 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
TTL (0V e 5V, respectivamente, comentados na última aula). muitos passos de instrução para a realização de tarefas simples. O
• Caso sejam necessários valores diferentes, tais níveis de programa é formado por muitas instruções que usam poucos bits.
tensão devem ser aplicados às entradas VREF‐ e VREF+, • Em arquitetura CISC, o opcode é grande, pois há muitas instruções a
serem selecionadas, muitos bits são usados nesta seleção. Por outro
respectivamente.
lado, como há muitas instruções, são necessários poucos passos de
• É preciso respeitar a faixa de tensões tolerada pelo chip (ver instrução para a realização de tarefas sofisticadas. O programa é
datasheet). formado por poucas instruções que usam muitos bits.
• Se essas entradas forem usadas, duas entradas analógicas • O tamanho do programa montado é dado pela sua quantidade de
bits. A quantidade de bits é dada pela quantidade de instruções
são perdidas. multiplicada pelo tamanho do opcode das instruções. Comparando
• Todas entradas analógicas (8 no máximo) usam as mesmas RISC com CISC, um fator é grande e o outro pequeno, de modo que
27/09/2017 149 27/09/2017 150
tensões de referência. não há muita diferença no produto dos fatores.

25
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 15 – 2013S1P1T Questão 16 – 2013S1P1M
• Explique o motivo que justifica o uso de uma memória flash e o motivo que
• Utilize um MUX para transformar várias ROM justifica o uso de uma EEPROM como parte integrante da PIC16F877-20/P.
2k  8bits em uma ROM 8k  8bits.
• A flash possui uma densidade maior do que a EEPROM, sendo
• Empregue a letra “A” para nomear todos os bits
indicada para o armazenamento do programa, cujos requisitos
usados para o endereçamento, começando
pelo índice 0 no bit menos significativo. 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
27/09/2017 151 27/09/2017 152
da EEPROM não é um problema.

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 17 – 2012S1P2M Questão 18 – 2013S1P2T
• Quantas linhas de opcode ou de
disassembly possui o programa abaixo?
__CONFIG _WDT_ON & _XT_OSC & _LVP_OFF & _BODEN_OFF
#include
org
<p16f877.inc>
0x05 ;Vetor de Reset
• PIC16F877 – Diga quais são as instruções do tipo 2TCY.
#define marqualrélio 0x45 ;dado 1
#define operador 0xA0 ;dado 2
BCF STATUS, RP1
BSF STATUS, RP0
MOVLW marqualrélio BTFSC, BTFSS, DECFSZ, INCFSZ,
MOVWF operador CALL, GOTO, RETURN, RETLW, RETFIE
#undefine ondecadê
#undefine operador
end

4 linhas

27/09/2017 153 27/09/2017 154

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 19 – 2013S1P2T Questão 20 – 2013S1P2T
• Escreva o código disassembly para o
programa abaixo, sabendo que:
• RP1=STATUS<6>,RP0=STATUS<5>,
• PIC16F877 – Diga qual instrução (incluindo argumento), • WR=EECON1<1>.
0005 BSF 0x3, 0x6
usando a sintaxe do MPASM, equivale a dois NOP’s seguidos. 0006 BSF 0x3, 0x5
• Especifique a linha da program memory.
; Programa da P2
#include <p16f877.inc>
0007 BTFSC 0xc, 0x1
org
#define
0x5
ondecadê 0x05 ;endereço da EEPROM
0008 GOTO 0x7
#define marqualrélio 0xca ;dado para a EEPROM
;Verifica se está em processo de escrita
0009 MOVLW 0x5
BSF STATUS, RP1 000A MOVWF 0xd
GOTO $+1 BSF STATUS, RP0
BTFSC
GOTO
EECON1, WR
$-1
000B MOVLW 0xca
MOVLW
MOVWF
ondecadê
EEADR
;W = ondecadê1
;SRAM(EEADR) = W
000C MOVWF 0xc
MOVLW marqualrélio ;W = marqualrélio
MOVWF EEDATA ;SRAM(EEDATA) = W
#undefine ondecadê
#undefine marqualrélio
end

27/09/2017 155 27/09/2017 156

26
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 21 – 2013S1P2M Questão 22 – 2013S1P2M
• Um sistema de controle de uma máquina
• Qual a instrução (e argumentos) recebe uma informação analógica de um
do opcode 3800h? sensor, aplica uma função de controle por
• Qual o opcode da instrução meio da MCU e gera um sinal controlado
BTFSC 0xc, 0x1? para a máquina.
• Usar as tabelas de montagem. • 10 bits são usados como palavra na
função de controle.
IORLW 0x0 • Qual é o bloco da PIC® que recebe a
188C 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.
27/09/2017 157 27/09/2017 158

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 23 – 2013S1P2M Questão 24 – 2013S1P2M
• O que é um WDT time-out? • O que é um contador prescaler?
• Para que ele serve? • Para que serve?
• O que ocorre com a MCU após o WDT time-out? • Como ele pode ser construído?

• É o acréscimo de bits menos significativos a outro


• É a finalização da temporização WDT. contador, tornando-o mais lento.
• Serve para evitar travamentos. • Um contador que tem por função tornar mais lento o
• Após o WDT time-out, ocorre um WDT reset. 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.

27/09/2017 159 27/09/2017 160

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 25 – 2013S1P3M Questão 26 – 2013S1P3T
• Explique qual a função de um buffer em
uma entrada digital. • Desenhe o formato de onda típico de um oscilador RC.
• Explique qual função especial tem um buffer
Schimitt Trigger em uma entrada digital.

• 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.
27/09/2017 161 27/09/2017 162

27
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 27 – 2013S1P3T Questão 28 – 2013S1P3M
• Faça um círculo sobre o(s) erro(s) no programa abaixo. • Explique qual a função de um resistor de pull-up.
• Faça um traço sobre a(s) linha(s) que pode(m) ser • Como um transistor pode agir como uma
removidas sem alterar o resultado do programa a não resistência ativa?
ser pelos TCY’s da(s) linha(s) removida(s). • Como um transistor pode operar como um
; Programa da P3
#_include <p16f887.inc>
resistor de pull-up habilitável?
org 0x0
#define marqualrélio 0x45 • O resistor de pull-up impede o surgimento de uma alta
#define operador 0xae
#define ondecadê 0xA0 impedância em um nó do circuito, levando o estado de alta
CLRF ondecadê impedância para o nível alto.
MOVLW marqualrélio
MOVWF ondecadê • Um transistor pode agir como uma resistência ativa quando
CLRF ondecadê+1 RDS ou RCE é usado como um resistor.
SUBLW operador
MOVWF ondecadê+1 • A resistência ativa pode agir como um pull-up habilitável
#undefine marqualrélio por meio de VGS ou VBE, que alteram o valor de RDS ou RCE.
#undefine operador
#undefine ondecade
27/09/2017 163 27/09/2017 164
end.

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 29 – 2013S1P3M Questão 30 – 2013S2P1M
• PIC16F877 – Explique o significado do
valor zero e do valor um no bit EEIF e
• PIC16F877 – Explique o que
como esses valores são alterados.
acontece em uma escrita em INDF.

• Zero: Não houve uma escrita bem sucedida na


EEPROM ou na FLASH. 1. O conteúdo de FSR é copiado nos oito bits
• Um: Houve uma escrita bem sucedida na menos significativos do address bus da SRAM.
EEPROM ou na FLASH. 2. O bit IRP é usado como bit mais significativo
• De zero para um: Feito automaticamente pela do address bus da SRAM.
PIC®, não pode ser feito pelo usuário. 3. A escrita é feita sobre o registrador identificado
• De um para zero: Feito pelo usuário, para que se por meio destes nove bits.
possa identificar uma nova escrita bem sucedida.
27/09/2017 165 27/09/2017 166

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 31 – 2013S2P1T Questão 32 – 2014S1P1M

• PIC16F877 – Explique o que


acontece em uma escrita em PCL. • PIC16F877 – Que evento impede
a MCU de funcionar se TOSC for
exageradamente grande?
1.PCLATH<4:0> é copiado em PC<12:8>.
2.PCL<7:0> corresponde a PC<7:0>.
3. A próxima instrução a ser executada é aquela • Resposta 1: WDT reset.
cujo endereço é dado pelo novo valor do PC. • Resposta 2: /TO.

27/09/2017 167 27/09/2017 168

28
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 33 – 2014S1P1M Questão 34 – 2014S1P1M
• PIC16F877. • PIC16F877.
• A instrução ANDLF seria bastante útil se existisse, mas a arquitetura
• Todos os periféricos são do core não permite.
registrados, isto é, a comunicação • Esta instrução faria a operação AND bit-a-bit entre uma literal, de 8
(dado, endereço, controle) é feita bits, e um registrador endereçado por 7 bits.
por meio de registradores da • Explique por que o core não permite a implementação desta instrução.
SRAM (SFR - file registers).
• Resposta 1: Como pode ser visto na figura abaixo, o
• Explique o motivo dessas
opcode possui, apenas, 14 bits, não cabem os 8 bits
registrações.
da literal e os 7 bits do endereço.
• Resposta 2: Em Q2, etapa de leitura de argumentos,
• Porque o data-bus é usado para múltiplas somente um (L ou F) pode ser lido, não ambos.
finalidades e não pode ficar paralisado, • Resposta 3: Se todas as operações lógicas e
guardando a informação desejada. aritméticas tivessem a opção LF, os 14 bits de
opcode não seriam suficientes para mapear todas as
27/09/2017 169 27/09/2017 170
opções, seriam necessários 15 bits.

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 35 – 2014S1P1M Questão 36 – 2014S1P1M
• PIC16F877 – Cite os tipos de • PIC16F877 – Diga em que
elemento encontrados na situação é interessante realizar
linguagem de montagem pura, isto um programa (assembly, na PIC®)
é, sem as extensões ou diretivas de escrita na program memory.
empregadas pelo MPASM™.
• Resposta 1: Quando a EEPROM não é
grande o suficiente para gravar todos os
• Resposta 1: Mnemônicos (de instrução) dados não voláteis.
e operandos (numéricos). • Resposta 2: Quando a EEPROM já está
• Resposta 2: Mnemônicos (de instrução) cheia.
e argumentos (numéricos). • Resposta 3: Quando a informação excede 256
• Resposta 3: Mnemônicos (de instrução) palavras.
e parâmetros (numéricos). • Resposta 4: Quando se deseja gravar
caracteres ASCII, de 7 bits, dois por endereço.
27/09/2017 171 27/09/2017 172

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 37 – 2014S1P1T Questão 38 – 2014S1P1T
• Cite uma vantagem da geração de • PIC16F877 – Cite as diversas
sinal de clock (TOSC) por meio de aplicações para os argumentos
um circuito RC e uma vantagem numéricos em uma instrução,
da geração por cristal (XTAL). especificando a quantidade de bits
usada em cada uma destas aplicações,
bem como o seu significado.
• Vantagem do RC: Baixo custo,
rapidez na iniciação.
• Vantagem do XTAL: Alta • Destiny: 1-bit
confiabilidade da frequência obtida. • Endereço do bit: 3-bit
• Endereço do file: 7-bit
• Literal: 8-bit
• Endereço do opcode: 11-bit
27/09/2017 173 27/09/2017 174

29
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 39 – 2014S1P1T Questão 40 – 2014S1P1T
• PIC16F877
• Foi comentado, nas aulas de • PIC16F877.
laboratório, que, um endereço • Diga em que situação é
não usado na program memory interessante usar a instrução
é gravado com 3FFFh. CALL ao invés de GOTO.
• Também foi comentado que
este valor corresponde a uma
instrução que realiza uma
determinada ação. • Quando há uma sub-rotina chamada em
• Que ação é esta? dois ou mais pontos do programa principal.

W-1
27/09/2017 175 27/09/2017 176

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 41 – 2014S1P2M Questão 42 – 2014S1P2T
• PIC16F877 – Explique por que, no módulo • PIC16F877.
CCPx no modo PWM, se DC<9:0> é maior • No laboratório, vimos que, para o teclado bottom switch,
ou igual a (PR2+1)4, então o valor de DC é usamos uma rotina que realiza uma trava do tipo master-slave.
irrelevante, pois o dutty-cycle percentual é • Sabendo que a tecla solta é lida como “1” e, apertada, como
sempre de 100% qualquer que seja o valor “0”, explique o que faz o programa na etapa master, o que faz
de DC<9:0> que satisfaça a condição citada. o programa na etapa slave, e qual o objetivo do uso dessa
rotina de travamento master-slave.
• 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 • Etapa master: Aguarda o usuário apertar a tecla. Gera
timer 2 de dez bits jamais atinge o valor de DC de dez bits, um loop que só termina quando o valor lido é zero.
então o PWM jamais vai para zero. • Etapa slave: Aguarda o usuário soltar a tecla. Gera
• Resposta 2: O DC% não pode superar 100%, ou seja, qualquer um loop que só termina quando o valor lido é um.
DC<9:0> que geraria um DC% maior do que 100% acaba • Travamento: Evitar que oscilações de alta frequência
gerando,
27/09/2017 apenas, 100%, sendo o seu valor, então, irrelevante.
177 sejam interpretadas como múltiplos acionamentos. 178
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 43 – 2014S2P1T Questão 44 – 2014S2P1T
• PIC16F877.
• PIC16F877. • Sobre as instruções RETURN e RETFIE:
• Explique para que serve o oscilator start-up timer. 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
• Serve para aguardar até que a frequência
desvio foi realizado. Desvio realizado por CALL. No CALL,
do oscilador a cristal se estabilize.
é 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.
27/09/2017 179 27/09/2017 180

30
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 45 – 2014S2P2T Questão 46 – 2014S2P2T

• Qual a diferença de uma porta


• Explique como o sinal digital paralela normal e a PSP?
PWM se comporta como um sinal
analógico sobre um atuador.

• A PSP possui bits de sinalização e


de controle, a paralela normal não.
• O dutty-cycle da onda quadrada define a tensão
média, que corresponde ao sinal analógico.

27/09/2017 181 27/09/2017 182

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 47 – 2014S2P2T Questão 48 – 2015S1P1T

• PIC16F877
• Em uma comunicação serial • Explique o que faz a instrução IORLW.
síncrona, qual a principal • Quantos são os argumentos da instrução e
diferença entre master e slave? quais os seus significados?
• Quantos são os operandos e quem são eles?

• O master controla o • Realiza a operação ou-inclusivo.


relógio da comunicação. • Usa um argumento, a Literal de 8-bits.
• Usa dois operandos, a Literal e o Work Register.

27/09/2017 183 27/09/2017 184

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 49 – 2015S1P2T Questão 50 – 2015S1PAT

• PIC16F877
• Explique o motivo de CCPRxH ter seu acesso
Explique para que serve a diretiva #include <p16f877.inc>
bloqueado na função PWM do módulo CCP.

• Evitar que ocorra mais de um match de 10 bits


entre DC e TMR2 em um mesmo período, o que • Serve para que sejam usados rótulos no lugar de
levaria a um sinal PWM errado. números nos endereços dos SFR´s e dos bits dos SFR´s.
• É um registrador de retenção para manter a palavra
DC constante durante todo o período PWM.

27/09/2017 185 27/09/2017 186

31
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 51 – 2015S1PAT Questão 52 – 2015S1PAT

• Os programas feitos para o MPASM™ utilizam quatro colunas. • Monte cada uma das instruções abaixo. Fazer x=0.
• Diga o que é colocado em cada coluna. BCF 0x0B, 0x7 138B
MOVLW 0x55 3055
RETURN 0008
• Coluna 1: Rótulos para destino das instruções CALL e GOTO. GOTO 0x051 2851
• Coluna 2: Mnemônicos de instrução e diretivas. MOVF 0x11, 0x0 0811
• Coluna 3: Argumentos das instruções. CLRW 0100
• Coluna 4: Comentários.

27/09/2017 187 27/09/2017 188

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 53 – 2015S1PAT Questão 54 – 2015S2P1T

• Explique o problema no uso da instrução abaixo: • Explique a diferença entre P e MCU.


GOTO $

• MCU possui periféricos embutidos no mesmo chip.


• O argumento $ representa o endereço da • P não possui periféricos embutidos no mesmo chip.
instrução vigente, ou seja, esta instrução leva o
PC para ela mesma, trata-se de um loop infinito.

27/09/2017 189 27/09/2017 190

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 55 – 2015S2P1T Questão 56 – 2015S2P1T

• PIC16F877 • Qual é a característica da flash memory que a


• Com exceção da flash program memory, todos os torna ideal para uso como program memory?
demais periféricos possuem uma característica • Qual é a característica da EEPROM que a
em comum, característica esta que é suficiente torna ideal para uso como data memory?
para definir, tais módulos, como periférico.
• Explique tal característica.
• Fash memory: Alta densidade.
• EEPROM: Alta rapidez na leitura e na gravação.
• Exceto a PM, todos os periféricos estão ligados ao data bus.

27/09/2017 191 27/09/2017 192

32
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 57 – 2015S2P1T Questão 58 – 2015S2P1T

• PIC16F877 • PIC16F877
• Em que tipo de aplicação se usa o relógio por cristal HS? • O TMR0 possui dois modos de operação, o
• Em que tipo de aplicação se usa o relógio por cristal LP? modo “temporizador” e o modo “contador”.
• Explique a diferença.

• HS: Quando se deseja alta performance e é • Temporizador: Usa, como base de


permitido grande consumo de energia elétrica. tempo, o relógio interno do chip.
• LP: Quando se deseja baixo consumo de energia • Contador: Usa, como base de tempo,
elétrica e não é necessário grande performance. uma onda quadrada de origem externa.

27/09/2017 193 27/09/2017 194

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 59 – 2015S2P1T Questão 60 – 2015S2PAT

• PIC16F877 • Explique para que serve a diretiva


• Explique a função da instrução SWAPF. #include <p16f877.inc>.

• Serve para que sejam usados rótulos


• Permutação dos dois nibbles fornecidos por um registrador.
no lugar de números nos endereços
dos SFR´s e dos bits dos SFR´s.

27/09/2017 195 27/09/2017 196

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 61 – 2015S2PAT Questão 62 – 2015S2PAT
• Escreva o código assembly puro para o
código abaixo (disassembly), usando os #include <p16f877.inc>
critérios apresentados em sala de aula. __config _WDT_OFF
• Especifique os addresses para cada linha org 0x005
no assembly puro. constant ondecadê = 0x20
• Explique por que, no MPASM™, algumas constant ondegoto = 0x011
linhas na coluna disassembly da janela 0005 BCF 0x03, 0x6 BCF STATUS, RP1
0006 BCF 0x03, 0x5 BCF STATUS, RP0
Program Memory ficam em branco. CLRF ondecadê
0007 CLRF 0x20
0008 MOVF 0x20, 0x0 MOVF ondecadê,W
0009 MOVWF 0x21 MOVWF ondecadê+1
000A BSF 0x20, 0x0 BSF ondecadê,0
000B MOVF 0x20, 0x0 MOVF ondecadê,W
• Porque algum bit irrelevante recebeu valor “1”. 000C MOVWF 0x22 MOVWF ondecadê+2
000D GOTO 0x011 GOTO ondegoto
000E BSF 0x20, 0x1 BSF ondecadê,1
000F MOVF 0x20, 0x0 MOVF ondecadê,W
0010 MOVWF 0x23 MOVWF ondecadê+3
27/09/2017 197 27/09/20170011 SLEEP SLEEP 198
end

33
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 63 – 2016S1P1M Questão 64 – 2016S1P1M

• Explique a diferença entre o • Explique para que serve a pilha.


ambiente de desenvolvimento
MPLAB SIM® e o MPLAB ICD2®.

• Serve para armazenar o return address


• MPLAB SIM®: Simulador de PIC. na execução da instrução CALL ou no
• MPLAB ICD2®: Executador de programas atendimento a uma interrupção.
do chip real, controlado pelo computador.

27/09/2017 199 27/09/2017 200

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 65 – 2016S1P1M Questão 66 – 2016S1P1M

• Toda ULA possui duas entradas de dados. • Explique para que servem as palavras TRIS.
• Qual a procedência destas duas entradas?

• Uma vem do work register. • Servem para configurar os pinos das


• A outra vem do data bus ou do instruction register. portas de comunicação (entrada ou saída).

27/09/2017 201 27/09/2017 202

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


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. • PIC16F877 – Explique por que motivo alguns SFR´s
possuem endereço completo de, apenas, sete bits.
• 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
• Porque são SFR´s muito usados e precisam
argumento é o work register, os dois são
ser acessados em qualquer banco.
operados e a resposta é gravada no file register
ou no work register dependendo da configuração
do destiny.

27/09/2017 203 27/09/2017 204

34
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 69 – 2016S1P1T Questão 70 – 2016S1P1T

• Explique a função da histerese de uma • PIC16F877 – Explique por que motivo


porta lógica que compõe um oscilador RC. 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 • Porque dado, endereço e controle
infinita, o que queimaria a porta lógica CMOS. são enviados por meio do data bus.

27/09/2017 205 27/09/2017 206

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


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.
• Quem controla o fluxo de
• Buffer ST: Proteção contra
informação é o outro chip.
oscilações de alta frequência, sinal
proveniente de circuitos analógicos.

27/09/2017 207 27/09/2017 208

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 73 – 2016S1P2M Questão 74 – 2016S1P2T

• PIC16F877 – Explique o que • PIC16F877 – Explique por


é a ligação daisy-chain SPI™. que motivo a função PWM
(<CCPxM3:CCPxM2>=11)
possui um holding register.
• Todos os slaves recebem o mesmo
sinal slave select (opcional).
• Todos os slaves recebem o mesmo • A palavra DC não pode sofrer
sinal serial clock. alteração durante o período do PWM.
• O serial out de um elemento é ligado
ao serial in do outro (ligação série).

27/09/2017 209 27/09/2017 210

35
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 75 – 2016S1P2T Questão 76 – 2016S1PAT

• PIC16F877 – Explique o motivo


por que a função SPI™ no slave
possui a opção “/SS pin control • Explique para que serve a diretiva __config.
disabled”(<SSPM3:SSPM0>=0101).

• Para liberar o pino para • Faz alterações no configuration word (configuration bits).
uso pela porta paralela.

27/09/2017 211 27/09/2017 212

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 77 – 2016S1PAT Questão 78 – 2016S1PAT
• Determine os endereços (hex, 7 bits) e
os conteúdos (hex, 8 bits) de todos os
• No MPASM™, alguns caracteres, em GPR´s escritos no programa abaixo.
algumas instruções, aparecem na cor cinza.
• Qual o significado destes caracteres? MOVLW
MOVWF
0xa0
0x41
;Address: 0x41 Datum: 0xa0
MOVLW 0x21
MOVWF 0x42
;Address: 0x42 Datum: 0x21
• São operações lógicas e aritméticas ADDLW 0x32
MOVWF 0x43
efetuadas pelo MPLAB™ antes da montagem. ;Address: 0x43 Datum: 0x53 (21h + 32h = 53h)
MOVF 0x41, 0x0 ;W=a0
MOVWF 0x44 ;SRAM(0x44)=0xa0
RRF 0x44, 0x1 ;SRAM(0x44)=0xa0/2=0x50
end
;Address: 0x44 Datum: 0x50

27/09/2017 213 27/09/2017 214

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 79 – 2016S1PAT Questão 80 – 2016S1PAT
• Explique a função dos botões • Explique a função dos botões indicados na figura abaixo.
indicados na figura abaixo. • Monte a instrução (hex):BCF STATUS, RP1
• Desmonte o opcode 0x188C.

• 1303h.
A B C D
• BTFSC 0x0c, 0x1.

• O file address, no assembly puro, deve conter dois nibbles.


A. Animate. Execução passo a passo automática. • Foi comentado que o MPLAB™ comete o erro de não
B. Step into. Execução passo a passo manual. atentar para este detalhe.
C. Reset. Leva o PC para o address 0000h. • O MPLAB™ desmonta este opcode na forma BTFSC 0xc,
D. Break point. Ponto de parada na execução. 0x1.
27/09/2017 215 27/09/2017 216

36
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Teste 81 – 2015S1PAT Teste 82 – 2016S2P1AM
• Assinale a alternativa falsa.
A. ( ) A memória flash é a parte mais cara da pastilha
• Associe cada tipo de elemento do MPASM™ com sua
interna de um chip microcontrolador.
respectiva cor.
B. ( ) Quanto maior é a capacidade de processamento
(A) Argumento numérico hex (B) Preto
de uma MCU, maior é a sua funcionalidade.
(B) Argumento numérico dec (F) Cinza
C. (X) PIC16F877 – O fetch das instruções do tipo 2TCY
(C) Mnemônico de instrução (A) Azul sem negrito
leva o dobro do tempo do de uma instrução normal.
(D) Rótulo (Label) (C) Azul com negrito
D. ( ) PIC16F877 – A configuração TRIS determina se
(E) Comentário (E) Ciano ou azul piscina
um pino de comunicação é entrada ou saída.
(F) Operação do MPASM™ (D) Magenta, vinho, lilás ou roxo
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.
27/09/2017 217 27/09/2017 218

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Teste 83 – 2016S2P1BM Teste 84 – 2016S2P2M
• Assinale a alternativa verdadeira para cada linha.
• Assinale a alternativa verdadeira para cada linha. 1. A função compare 00 e 01 usa, como registrador de período: (X)CCPxR. (
1. O tamanho dos opcodes é de: ( )13 bits. (X)14 bits. )TMR1.
2. Uma rotina de interrupção é finalizada com a instrução: (X)RETFIE. ( )RETLW. 2. A memória analógica de um circuito de sample and hold é composta por um:
3. A EEPROM: ( )faz parte do core. (X)é um periférico. (X)capacitor. ( )flip-flop.
4. O TMR1 no modo contador, emprega, como base de tempo: (X)sinal externo. ( 3. Um pino de I/O é configurado como entrada ou saída por meio do
)o instruction cycle. registrador: (X)TRIS. ( )RBPU.
5. As instruções BSF, BCF, BTFSC e BTFSS são operações sobre: (X)bit. ( )byte. 4. A quantidade de bits de PORTA é: ( )5. (X)6.
6. O registrador STATUS é um: ( )GPR. (X)SFR. 5. Um sinal PWM é: ( )analógico. (X)digital.
7. A fim de endereçar a segunda página da SRAM, o bit RP0 deve receber valor: ( 6. Na função capture, o pino CCPx deve ser configurado como: (X)entrada. (
)0. (X)1. )saída.
8. Uma vantagem da EEPROM em relação à flash memory é: ( )alta densidade. 7. No SPI slave, o pino SCK deve ser configurado como: (X)entrada. ( )saída.
(X)rapidez na gravação. 8. No PSP, existe um bit de sinalização chamado: (X)IBOV. ( )OBOV.
9. A etapa de reset que emprega um contador de 10 bits é o: (X)oscilator startup 9. No módulo AD, os bits CHS<2:0> selecionam: ( )o conversor a ser usado.
timer. ( )power-up timer. (X)o pino a ser usado.
10.O buffer shimitt trigger tem a função de: (X)filtrar altas frequências na entrada. ( 10. No PWM, quando se usa décimas, a quantidade de níveis disponíveis é: (
)gerar alta impedância. )9. (X)11.
27/09/2017 219 27/09/2017 220

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Teste 85 – 2016S2P2M Questão 86 – 2016S2P1BM
• PIC16F877 – No programa abaixo,
• Explique por que motivo, programando oito bits do determine o argumento numérico da
PWM, para qualquer valor de CCPRxL<7:0> superior instrução GOTO ali, na forma hexadecimal.
#include <P16F877.INC>
a PR2<7:0>, o dutty-cycle sempre será de 100%. GOTO início
org 0x7fc
início
NOP 0x07fc
MOVLW 0x08 0x07fd
• Nunca ocorre o match entre CCPRxL e TMR2, porque MOVWF PCLATH 0x07fe
o máximo valor de TMR2 é dado por PR2 e este valor GOTO ali 0x07ff
NOP 0x0800
é menor do que o CCPRxL, e é este match que NOP 0x0801
provoca a comutação da saída para nível baixo, ali
NOP 0x0802
levando o dutty-cycle para baixo de 100%. NOP 0x0803

27/09/2017 221 27/09/2017 222

37
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 87 – 2016S2P1AT Questão 88 – 2016S2P1AT
• PIC16F877 constant TEMPOA = 0x20

• A listagem abaixo é parte de um projeto.


constant
constant
TEMPOB =
TEMPOC =
0x21
0x22 • Contadores digitais são aplicados quando os
constant VALOR = 0x0f
• A rotina “Espera” é executada para gerar uma Espera valores instantâneos da contagem são usados.
MOVWF PORTD
determinada temporização. MOVLW VALOR • Temporizadores digitais são aplicados quando os
• Para um determinado fOSC, esta rotina gera um MOVWF TEMPOC

tempo t1=240s.
MOVLW
MOVWF
VALOR
TEMPOB
valores instantâneos não são usados, mas o
• A constante “VALOR” determina a quantidade exata MOVLW
MOVWF
VALOR
TEMPOA tempo de uma contagem é relevante.
de repetições da variável usada no loop, que conta
decrescentemente de “VALOR” até 1.
DECFSZ
GOTO
TEMPOA,F
$-0x1 • Contadores dão sinal de overflow e
DECFSZ TEMPOB,F
• Mudando a definição da constante “VALOR” para GOTO
DECFSZ
$-0x5
TEMPOC,F
temporizadores dão sinal de time-out.
0x3C, qual o valor do novo tempo, t2? GOTO
RETURN
$-0x9 • Contadores podem usar prescaler. Temporiadores
podem usar prescaler e postscaler.
VALOR1 = 0x0f = 15  15 passos • Explique por que contadores não usam postscaler.
VALOR2 = 0x3C = 60  60 passos
60 / 15 = 4 • Não faz sentido repetir a mesma contagem várias vezes.
43 = 64
27/09/2017 64 × 240s = 15360s = 15,36ms 223 27/09/2017 224

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 89 – 2016S2P2BT Questão 90 – 2016S2PAT

• Explique o porquê do MPASM™ apresentar esta mensagem


e no que ela diverge do comportamento do chip verdadeiro.
• CORE-W0014: Halted due to PC incrementing over the
• No PSP, os comandos /RD, /WR, e /CS devem
Maximum PC address and wrapping back to Zero.
ser configurados como entrada ou como saída?
• Justifique o uso destes três pinos no PSPMODE.
• O contador de programa sofreu um overflow.
• No chip real, a execução retomaria a primeira instrução.
• Entrada. • Na simulação, a execução é interrompida.
• O outro chip aciona esses pinos para controlar a comunicação.

27/09/2017 225 27/09/2017 226

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 91 – 2016S2PAT Questão 92 – 2016S2PAT

• No MPASM™, alguns caracteres, em • No MPASM™, um arquivo (*.asm) pode ser aberto


algumas instruções, aparecem na cor preta. dentro (incluído) ou fora (não incluído) do “mcp”.
• Qual o significado desta cor? • 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.

27/09/2017 227 27/09/2017 228

38
27/09/2017

4 RESP. DAS QUEST. TEÓRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 93 – 2016S2PAT Questão 94 – 2016S2PAT
• No programa 41, determine: ; Programa 41 ; Programa 41
1. O argumento numérico (hex) da instrução org 0x5 org 0x5
CALL RotinaC1 CALL RotinaC0 0005 CALL RotinaC0 2TCY
GOTO Fim 0006 GOTO Fim 2TCY
2. O argumento numérico (hex) da instrução
RotinaC0 • Lembrando que as instruções que RotinaC0
GOTO Fim MOVLW 0x03 0007 fazem ou podem fazer desvios MOVLW 0x03 1TCY
3. O valor (hex) do push efetuado pela MOVWF 0x20 0008 MOVWF 0x20 1TCY
instrução CALL RotinaC0 gastam 2TCY´s, determine quantos
CLRF 0x21 0009 CLRF 0x21 1TCY
4. O valor (hex) do pop efetuado pela segunda CALL RotinaC1 000A
TCY´s são usados no programa 41. CALL RotinaC1 2TCY
ocorrência, na listagem, da instrução RETURN 000B RETURN 2TCY
RETURN RotinaC1 RotinaC1
MOVLW 0x04 000C MOVLW 0x04 1TCY
MOVWF 0x21 000D 2TCY + 2TCY + 1TCY + 1TCY + MOVWF 0x21 1TCY
1. 0x000C
CLRF 0x20 000E 1TCY + 2TCY + 2TCY + 1TCY + CLRF 0x20 1TCY
RETURN 000F 1TCY + 1TCY + 2TCY = 16TCY´s RETURN 2TCY
2. 0x0010
Fim 0010 Fim
3. 0x0006
end end
4. 0x000B
27/09/2017 229 27/09/2017 230

4 RESP. DAS QUEST. TEÓRICAS 5 QUESTÕES NUMÉRICAS


Questão 1 – 2012S1P1M

PIC16F877 – Quais os valores do work


QUESTÕES NUMÉRICAS register , dos bits C (carry), DC (digit carry)
e Z (zero) após a operação 3Eh + 7Bh?

27/09/2017 231 27/09/2017 232

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 2 – 2012S1P1M Questão 3 – 2012S1P1M

• Um controlador utiliza Instruções • Um processador de 64 bits possui


de 18 bits e tem capacidade de barramento de dados de 16 bits,
armazenamento de 16k instruções. multiplexados temporalmente.
• Determine o tamanho da memória • Os bits de seleção do MUX são
de programa em bytes. Utilize o controlados por um contador
prefixo correto (k, M, G ou T). síncrono crescente.
• Quantos são os bits de seleção?

27/09/2017 233 27/09/2017 234

39
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 4 – 2012S1P1M Questão 5
• Condicionador de ar inteligente.
• Um controlador utiliza Instruções de 20 bits. • Um sensor de temperatura, operando na faixa de 10 a 39
• Nas instruções que fazem acesso aos graus, com resolução de 1 grau, envia sinal elétrico a um
registros, a instrução emprega 5 bits na conversor A/D, que gera um sinal digital com bits paralelos,
codificação da instrução, 3 em opções gerais sendo o valor 0d correspondente a 09 graus.
e o restante no endereçamento de memória. • Estes bits são decodificados, e cada saída do decodificador
• Sabendo que o tamanho da memória é de aciona uma configuração de potência do climatizador,
8k palavras, em quantos bancos esta mantendo a temperatura interna sempre a 22 graus.
memória precisa ser dividida? • O chip do decodificador possui encapsulamento DIP,
arquitetura full‐custom e possui, também, entradas para 5V,
0V, CS e OE.
• Quantos pinos, no mínimo, este chip possui?

27/09/2017 235 27/09/2017 236

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 6 – 2012S1P2M Questão 7 – 2012S1P2M

• Deseja-se construir um controlador para quatro display’s • PWM por PIC®.


de 8 segmentos, figura acima, por meio de uma • O ajuste do duty-cycle é feito por 10 bits e a
• porta paralela de quatro bits de um microcontrolador. temporização por Timer 2, de 8 bits.
• A multiplexação temporal é feita por meio da seleção dos • Se este contador conta até FFh, e o duty-cycle máximo é
segmentos, acionando-se apenas um por vez, para todos 1023, qual o valor da palavra de 10 bits (binária) para um
os quatro display’s, segundo a palavra de quatro bits • duty-cycle de 40%?
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/09/2017 237 27/09/2017 238
multiplexação?

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 8 – 2012S1P2M Questão 9 – 2012S1P3M
• 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 duty-
cycle pode variar de 0 a 1023, sinalizando que a máxima • Um contador, em uma MCU, conta de 00h
• resolução PWM é de 10 bits. até 45h com um prescaler de 1:16, em 32ms.
• Para valores menores de PR2 (8 bits), o ajuste do duty- • Em quanto tempo este contador conta até D3h
cycle (10 bits) terá valor máximo inferior a 1023, com um prescaler de 1:4?
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 3Fh.
27/09/2017 239 27/09/2017 240

40
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 10 Questão 11 – 2012S1P3M
• Um teclado 44 é multiplexado temporalmente em duas etapas.
• Na primeira, é feita a leitura das linhas y1 e y2 sendo “0” a tecla do bit menos • Uma DSP recebe informações
significativo, na segunda, são lidas y3 e y4 sendo “8” a tecla do bit menos
significativo. vindas de um sensor de viscosidade.
• Somente uma tecla é lida por vez. A lógica é negativa. • O conversor fornece palavras de 12
• Os bits são lidos em uma porta de comunicação paralela configurada como entrada. bits obtidas a cada segundo e as
• 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. grava em uma memória de 1kbyte.
• O usuário digita os números da data de hoje (somente números, vide topo da folha), • Quando a memória está cheia, ela é
da esquerda para a direita. apagada automaticamente e o
• Preencha a figura abaixo com os valores corretos.
processo é retomado.
• Qual é o período de preenchimento
desta memória, em minutos?

27/09/2017 241 27/09/2017 242

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 12 – 2012S2P3M Questão 13 – 2012S2P1M

• A figura do trollface possui 342 colunas por 301 linhas


e usa quatro tons de cinza, endereçados por dois bits.
• Ao término de cada linha, inclusive a última, existe • PIC16F877‐20/P.
uma palavra de 8 bits que sinaliza quebra de linha. • Uma instrução BCF é feita sobre um file cujo valor é 64h.
• No início do arquivo, são acrescentados 16 bits para • O parâmetro “b” é 101b.
o cabeçalho do arquivo. • Qual o valor final para o file, na forma hexadecimal?
• Qual o tamanho do arquivo, em bytes?
• Use o prefixo necessário.

27/09/2017 243 27/09/2017 244

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 14 – 2012S2P1M Questão 15 – 2012S2P2M

Um banco de memórias é formado por 4 chips idênticos


e com faixas de endereços contíguas, sem intervalos. • O TRM2 pode ser usado como um gerador de
O último endereço global (no barramento de onda dente‐de‐serra com frequência
endereços) é 5FFFFh. configurável por meio do registrador PR2.
O primeiro chip possui a primeira palavra com endereço • Supondo que a frequência mínima é de
global 00000h e o último chip possui a última palavra 19,5kHz , qual deve ser o valor de PR2 para
com endereço global 5FFFFh. que esta frequência seja de 35kHz?
Qual é o endereço global (no barramento de • Usar arredondamento segundo norma ABNT.
endereços) da última palavra do segundo chip?

27/09/2017 245 27/09/2017 246

41
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 16 – 2013S1P1T Questão 17 – 2013S1P1T
• 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.
• PIC16F877-20/P.
• A ULA fornece quatro bits de sinalização, obtidos com o
• No endereço 18C3h da program memory, é
resultado da última operação realizada.
executado um comando CALL.
• Uma entrada de dados vem do acumulador, a outra entrada é
• As próximas 5 instruções são todas do tipo
multiplexada com a outra entrada de dados, vinda do data bus
1TCY, após as quais é realizado um RETURN.
e a palavra de decodificação da instrução, selecionados por
• Qual é o valor do PCL, na forma hexadecimal?
meio de um bit.
• Quantos são, ao todo, os bits usados pela ULA em um
determinado instante?

27/09/2017 247 27/09/2017 248

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 18 – 2013S1P1T Questão 19 – 2013S1P1M
• Um microcontrolador hipotético possui a memória de
registradores (file registers) de 2048 posições, dividida em
• Um banco de memórias é formado por uma oito bancos. O opcode é formado por dois bits (mais
memória de 1,5k palavras e outra memória de significativos) que indicam a família de instruções (conjunto
2,75k palavras, selecionadas por meio de um bit. de instruções agrupadas por similaridade).
• Determine as faixas de endereços proibidos, por • Em uma dessas famílias, o opcode é formado pelos bits
meio do primeiro e último valor da faixa, na identificadores da família, pelos bits identificadores do
forma hexadecimal, usando todos os bits do registrador escolhido usando endereçamento direto, e pelos
barramento de endereço e todos os nibbles. bits identificadores da operação dentro desta família, que
são 32.
• 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.
27/09/2017 249 • 27/09/2017
Quantos são os bits de opcode para este microcontrolador? 250

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 20 – 2013S1P1M Questão 21 – 2013S1P1M
• Uma ULA de 4 bits de 32 funções de uma ou duas
entradas é implementada em uma PROM GA AND-
• Um pendrive possui uma capacidade de
OR, na qual a matriz de entrada consiste do
armazenamento de 1,5MB comerciais.
decodificador completo de todos os bits de entrada.
• Seu barramento de endereço possui a quantidade
• Neste circuito, não é feita a transformação tudo
mínima de bits suficiente para endereçar todas as
NAND ou tudo NOR.
palavras.
• Não há bits de saída de sinalização nem de
• Determine a faixa de endereços proibidos, por meio
entrada de controle.
do primeiro e último valor, na forma hexadecimal.
• Diga quantas são as portas NOT, AND e OR, e
quantas entradas as portas AND e OR possuem.

27/09/2017 251 27/09/2017 252

42
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 22 – 2013S1P1M Questão 23 – 2012S1P1M
• Um processador de 8 bits possui 12 bits no barramento
de endereço, para memórias externas.
• Uma memória de 360 bytes é instalada a partir do
• Uma memória de programa de um processador
endereço inicial.
hipotético é dividida em oito páginas e usa
• Uma segunda memória de 256 bytes deve ser instalada.
opcode de 20 bits.
Para isso, um dos bits do barramento de endereço é
• Se cada página utiliza 8 bits de endereçamento,
usado na seleção do chip (entrada CS), sendo “zero”
determine o tamanho da memória em bytes (se
para o chip de 360 bytes e “um” para o chip de 256 bytes.
necessário, utilize o prefixo adequado).
• 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 256 bytes no barramento?

27/09/2017 253 27/09/2017 254

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 24 – 2013S1P2T Questão 25 – 2013S1P2M
• PIC16F877.
• 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 3V e o valor máximo a 23V. • PIC16F877 – Módulo CCP1, função PWM.
• O bit ADFM (A/D Result Format Select • PR2 = 30h; DC = 34h.
Bit) (ADCON1<7>) foi configurado para • Qual a máxima resolução do PWM, em bits?
right justified (ADFM=1). • Qual o valor do dutty-cycle, em porcentagem?
• 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?
27/09/2017 255 27/09/2017 256

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 26 – 2013S1P3T Questão 27 – 2013S1P3T
• PIC16F877.
• A frequência de operação da MCU é de
16MHz.
• O TMR1 prescaler está configurado para 1:8. • PIC16F877.
• TMR1 está configurado para ser um • Sabendo que PR2=FFh, dutty-cycle = 1/5
temporizador, T1CON<1>, TMR1CS=0. aproximadamente, determine os valores de CCPR1L
• No presente momento, TMR1L=3Bh, e de CCP1CON<5:4> na forma hexadecimal.
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?
27/09/2017 257 27/09/2017 258

43
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 28 – 2013S1P3M Questão 29 – 2013S1P3M

• PIC16F877.
• 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, • PIC16F877.
Option_Reg<5>, T0CS=0. • Sabendo que VREF+=5V, VREF-=0V, VAN=3V,
left justified, determine os valores de ADRESH
• No presente momento, TMR0 acabou de ser reiniciado.
e de ADRESL na forma hexadecimal.
• As interrupções estão habilitadas.
• Em quanto tempo, após o presente momento, será
acionada a interrupção de overflow de TMR0 TMR0IF?

27/09/2017 259 27/09/2017 260

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 30 – 2013S1P3M Questão 31 – 2013S2P1M
• PIC16F877 – Identifique os endereços dos registradores
de uso geral envolvidos no programa abaixo, na forma
hexadecimal, bem como seus respectivos valores após • PIC16F877 – Sabendo que a
a execução do programa, na forma hexadecimal. SRAM possui 9 bits de endereço,
; Programa da P3
#include
org
<p16f877.inc>
0x5 que o banco 2 possui 16 SFR’s
#define dado1 0x1
#define dado2 0x2 localizados nas primeiras
#define dado3 0x4
#define
#define
ondecadê1
ondecadê2
0x31
0x32
posições, qual é o endereço
#define
BSF
ondecadê3
STATUS,RP1
0x33
completo (9 bits)(hexadecimal)
BCF STATUS,RP0
MOVLW dado1 do primeiro GPR do banco 2?
MOVWF ondecadê1
ADDLW dado2
MOVWF ondecadê2
IORLW dado3
MOVWF ondecadê3
#undefine dado1
#undefine dado2
#undefine dado3
#undefine ondecadê1
#undefine ondecadê2
27/09/2017#undefine ondecadê3
261 27/09/2017 262
end

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 32 – 2013S2P1T Questão 33 – 2013S2P1M

• PIC16F877 – Sabendo que • Um temporizador de 6 bits leva 5s


PCLATH é acessável nos quatro para dar um passo de contagem.
bancos, e que seu endereço de 7 • Se o prescaler ratio é de 1:2 e o
bits é 0001010b, determine postscaler ratio é de 1:4, quanto
todos os seus endereços tempo, após o início da contagem,
completos (9 bits)(hexadecimal). ocorre um time-out?

27/09/2017 263 27/09/2017 264

44
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 34 – 2013S2P1M Questão 35 – 2014S1P1T

• PIC16F877. • Um suposto modelo de PIC® mid-


• Após uma conversão A/D em right justified, range usa, apenas, um bit de EEADRH.
ADRESH = 02h e ADRESL = 59h. • Qual é o tamanho da program
• Quais os valores desses registradores em memory, quanto à capacidade de
left justified (hexadecimal)? armazenamento de instruções?

27/09/2017 265 27/09/2017 266

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 36 – 2013S2P1T Questão 37 – 2014S1P1M
• PIC16F877. • PIC16F877.
• Em um circuito de comparações • Abaixo, o esquema de montagem de
sucessivas, cada um dos bits é algumas instruções lógicas e
gerado em um ciclo separado. aritméticas.
• Sabendo que FOSC=16MHz e que as • O GPR acessado é 190h.
instruções de movimentação são • A gravação é feita sobre este mesmo
1TCY, calcule o tempo gasto em uma GPR.
conversão A/D juntamente com a • A instrução INCF possui, como
cópia dos SRF’s do conversor A/D nibble de seleção, 1010b.
para GPR’s. • Determine o opcode completo para
• Usar ADCLOCK = FOSC/2 (reset default). esta instrução na forma hexadecimal.

27/09/2017 267 27/09/2017 268

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 35 – 2014S1P1T Questão 39 – 2014S1P1T

• PIC®.
• Um suposto modelo de PIC® mid-range
possui um EEADRH de, apenas, um bit.
• PIC16F877 – Sabendo que
• Supondo que este bit seja usado como
f OSC=16MHz, quanto tempo uma
parte do endereço para acesso da
instrução 2TCY leva para ser executada?
program memory, quantas instruções
esta program memory pode
armazenar?

27/09/2017 269 27/09/2017 270

45
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 40 – 2014S1P2M Questão 41 – 2014S1P2M
• Um teclado especial possui 32
• PIC16F877. teclas formando uma matriz de
• Determine os valor de CCPRxL e 4 linhas e 8 colunas.
CCPRxH (hex) para que, no modo • Linhas e colunas são
compare trigger special event, a codificados a fim de economizar
frequência da solicitação de fios e bits de comunicação.
CCPxIF seja de 500Hz a um f OSC • O problema disso é que
= 8MHz e um prescaler de 1:2. 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
27/09/2017 271 27/09/2017
determinação da tecla? 272

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 42 – 2014S1P2M Questão 43 – 2014S1P2M

• PIC16F877.
• PIC16F877.
• Shift Register Slave = 94h,
• Conversor A/D no modo left
depois o Buffer Register
justified, VREF+ = 5V, VREF- =
Master recebe 3Bh.
0V, aplicados 3V.
• Determine o valor do Shift
• Determine o valor de ADRESH
Register Master (hex) após
(hex) após a conversão.
2 shifts.

27/09/2017 273 27/09/2017 274

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 44 – 2014S1P2T Questão 45 – 2014S1P2T
• PIC16F877.
• Você precisa de um dutty- • PIC16F877.
cycle percentual de, • No conversor A/D, usando o método
exatamente, 40% no das comparações sucessivas, o bit mais
módulo CCPx. significativo é o primeiro a ser obtido.
• Você deseja usar, apenas, • Sabendo que ADCLOCK = TCY8, f OSC =
oito bits e a mínima 5MHz, left justified, determine quanto
frequência. tempo, após o início da conversão,
• Determine o valor do PR2 ADRESL leva para ser escrito.
(hex) e do DC<9:2> (hex).

27/09/2017 275 27/09/2017 276

46
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 46 – 2014S1P2T Questão 47 – 2014S1P2T

• PIC16F877.
• TCY = 1s; TMR1 prescaler = 1:1; Capture
prescaler ratio = 1:1.
• PIC16F877.
• A medição de tempo começa exatamente
• SPI™: Prescaler = 1:16, f OSC = 4,096MHz. em um instante em que TMR1 = 0000h.
• Determine a máxima frequência de
• O tempo medido foi de 700ms.
escritas sobre SSPBUF master permitida.
• Determine quantas contagens completas
ocorreram em TMR1 dentro desta
medição..

27/09/2017 277 27/09/2017 278

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 48 – 2014S2P1T Questão 49 – 2014S2P1T
• Certo modelo de microcontrolador possui uma SRAM (file
registers) de 840 endereços (840 registradores).
• PIC16F877. • O opcode desta arquitetura possui 15 bits (15-bit
• O PC está na posição 032Fh. instruction architecture).
• Você deseja saltar 500 posições • Dois bits do opcode são usados na determinação da
sem usar CALL nem GOTO. família de instruções.
• Determine os valores do • Nas instruções de acesso à SRAM, quatro bits adicionais
PCLATH e do PCL (hex). 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?

27/09/2017 279 27/09/2017 280

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 50 – 2014S2P1T Questão 51 – 2012S1P3M
• Um teclado 4x4 é 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 y3 e y4 sendo “8” a tecla do bit
menos significativo.
• Somente uma tecla é lida por vez.
• FOSC = 8MHz. • A lógica é negativa.
• Um programa, durante uma execução completa (do início • Os bits são lidos em uma porta de comunicação paralela configurada como
ao fim), executa 723 instruções, das quais 74 são 2TCY. entrada.
• Determine o tempo usado nesta execução. • 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.

27/09/2017 281 27/09/2017 282

47
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 52 – 2013S2P2M Questão 53 – 2014S2P2T

• Um sistema microcontrolado em malha fechada usa, • Função capture.


apenas, oito bits. • FOSC = 8MHz.
• O conversor A/D é operado no modo left justified. • TMR1 prescaler ratio: 1:2.
• Sabendo que ADclock é FOSC/32, que o registrador • Capture prescaler ratio: 1:1.
que contém a resposta do conversor A/D é o ADRESH • CCPR(1) = 37A2h.
e que o registrador que contém a entrada do • CCPR(2) = 69B3h.
modulador PWM é o CCPR1L, determine a mínima • GPR contador de CCPIF = 12h.
quantidade de TCY consumidos entre uma leitura na • O processo é repetido continuamente.
entrada analógica e um envio pela saída PWM. • Determine a frequência.

27/09/2017 283 27/09/2017 284

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 54 – 2014S2P2T Questão 55 – 2014S2PAT
• Preencha as duas colunas da tabela com
os endereços e o código assembly puro.
• Função conversor A/D. • Endereços com 4 nibbles.
• Inicialmente, foi configurado VREF+(1)= 5V e VREF-(1)= 0V.
• Uma tensão V1 foi aplicada na entrada AN selecionada, ; Programa Prova 1
e foi lido ADRES(1)=12F4h. #include <p16f877.inc> ;definição da PIC
• Porém se percebeu que a máxima tensão aplicada é de org 0x5 ;posição inicial
4V e, por esse motivo, a fim de melhorar a resolução do constant ondecadê = 0x32 ;endereço
conversor, foi configurado VREF+(2)= 4V e VREF-(2)= 0V. constant marqualrélio = 0xA3 ;dado
MOVLW marqualrélio ;W = marqualrélio
• Aplicando a mesma tensão V1 na configuração 2, BCF STATUS,RP1 ;*
determine ADRES(2). BCF STATUS,RP0 ;*
MOVWF ondecadê ;SRAM(ondecadê) = W
MOVWF ondecadê+1 ;SRAM(ondecadê+1) = W
end
27/09/2017 285 27/09/2017 286

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 56 – 2014S2PAT Questão 57 – 2014S2PAT
• No programa abaixo, determine o argumento
numérico (hex) da instrução GOTO.
• Monte a seguinte sequência de instruções:
• Encontre o erro no programa e mostre a sua correção:
#includ <p16f877.inc> ;definição da PIC
org 0xa
Disassembly constant ondecadê = 0x20 ;endereço
ADDWF 0x20, 0x1 CLRF ondecadê ;SRAM(ondecadê) = 0x00
MOVWF 0x6c MOVF ondecadê,0 ;W = SRAM(ondecadê)
BTFSC 0x5f, 0x5 MOVWF ondecadê+1 ;SRAM(ondecadê+1) = W
IORLW 0xc4 BSF ondecadê,0 ;SRAM(ondecadê), bit 0 = 1
CLRWDT MOVF ondecadê,0 ;W = SRAM(ondecadê)
GOTO 0x7ff MOVWF ondecadê+2 ;SRAM(ondecadê+2) = W
GOTO $+4
BSF ondecadê,2 ;SRAM(ondecadê), bit 2 = 1
MOVF ondecadê,0 ;W = SRAM(ondecadê)
27/09/2017 287
MOVWF
27/09/2017
ondecadê+4 ;SRAM(ondecadê+4) = W 288
end

48
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 58 – 2015S1P1T Questão 59 – 2015S1P1T

• Uma MCU usa 15-bit opcode instructions. • Uma MCU opera a 150MHz e emprega 3TOSC´s em cada TCY.
• Sua program memory possui um 17-bit address bus. • Ela possui um 16-bit internal counter, equipado com um 12-bit
• Um programa utiliza 50 mil instruções. prescaler counter, configurado para um ratio de 1:512.
• Determine o percentual de ocupação da program memory. • Quanto tempo leva uma contagem completa?.

27/09/2017 289 27/09/2017 290

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 60 – 2015S1P1T Questão 61 – 2015S1P2T
• PIC16F877
• Determine o valor da palavra “X” (hex).
• Determine o valor da palavra DC para um
• PIC16F877 DC% de 40%, usando PWM de 8 bits.
• f OSC = 5MHz. • Determine o valor de PR2 (hex) mínimo.
• TMR1 prescaler ratio – 1:8. • Se desejássemos um DC% de 32%, qual
• Qual o tempo de um passo de contagem do TMR1H? seria o valor da palavra DC de 10 bits? DC% 10-bit DC
• Qual a frequência de uma contagem completa do TMR1H? 0% 000h
20% 0C0h
40% 180h
60% X
80% 300h
27/09/2017 291 27/09/2017 100% 3C0h
292

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 62 – 2015S1P2T Questão 63 – 2015S2P2T

• Uma DSP hipotética possui um conversor A/D de 14 bits.


• VREF- = 0V. VREF+ = 32,766V, VIN = 20V. • Suponha que você possua um 14-bit A-D converter.
• Os intervalos quânticos são todos iguais. • Este conversor possui VREF+ = 12V e VREF- = 4V.
• São usados dois registradores de 8 bits, ADRESH e • O A-D result register vale 0x2FFF.
ADRESL no modo left justified. • Determine a tensão aplicada.
• Os bits não usados recebem valor zero. • Utilize, no mínimo, sete casas decimais na resposta.
• Determine o valor (hex) destes registradores.

27/09/2017 293 27/09/2017 294

49
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 64 – 2015S2P2T Questão 65 – 2015S2P2T
• Suponha que você possua um 7-bit Capture.
• Suponha que você possua um 12-bit digital PWM. • Este Capture possui, como base de tempo, um 7-
• Este PWM possui, como base de tempo, um 12-bit bit timer.
timer com um 12-bit period register. • Na presença do evento escolhido, o valor do timer
• Quando ocorre um match entre o timer e o period é copiado para o 7-bit capture register.
register, o timer reinicia a contagem no próximo passo. • Um outro registrador fornece o valor “N”, que indica
• O PWM inicia o período em nível 1, e vai a zero no a quantidade de quebras de rampa ocorridas no
exato instante em que ocorre o match entre o timer e o intervalo entre os dois eventos.
12-bit dutty-cycle register. • Cada passo de contagem (TSTEP) leva 5s.
• O period register vale 0xBFF. • Na medição de um determinado intervalo, o valor
• O dutty-cycle register vale 0x900. do capture register inicial é de 0x5D e o valor do
• Determine o dutty-cycle percentual. capture register final é de 0x7A.
• N vale 2.
27/09/2017 295 • Determine o tempo medido. Utilize o sufixo correto. 296
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 66 – 2015S2P2T Questão 67 – 2015S2PAT
#include <p16f877.inc>
__config _WDT_OFF
• Suponha que você possua um 10-bit Serial org 0x005
constant ondecadê = 0x20
Peripheral Interface. constant ondegoto = 0x011
• No início, o master buffer register vale BCF STATUS, RP1
0x1B7 e o slave buffer register vale 0x305. BCF STATUS, RP0
• A comunicação se dá a partir do most • Calcule quanto tempo o programa CLRF ondecadê
MOVF ondecadê,W
significant bit. leva para ser executado quando a MOVWF ondecadê+1
• Determine o valor do master shift register MCU opera a f OSC = 4MHz. BSF ondecadê,0
MOVF ondecadê,W
após três passos de deslocamento (hex). MOVWF ondecadê+2
GOTO ondegoto
BSF ondecadê,1
MOVF ondecadê,W
MOVWF ondecadê+3
SLEEP
27/09/2017 297 27/09/2017 end 298

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 68 – 2016S1P1T Questão 69 – 2016S1P1T

• Um contador possui prescaler ratio (1) de 1:4 e postscaler ratio


• Uma 16-bit MCU possui program memory de 4M instruções. (1) de 1:3.
• O PC é dividido em PCL e PCH. • Após o início da contagem, o primeiro sinal de time-out (t1) é
• O PCL abrange os 16 bits menos significativos. dado em t1 = 20ms.
• Quantos bits tem PCH? • Determine o instante deste sinal de time-out (t2) quando se
configura prescaler ratio (2) de 1:7 e postscaler ratio (2) de 1:5.

27/09/2017 299 27/09/2017 300

50
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 70 – 2016S1P2T Questão 71 – 2016S1P2T

• Uma comunicação serial full-duplex lida com palavras


• PIC16F877 – Função capture usando, apenas, oito bits.
de 16 bits.
• TMR1 prescaler ratio = 1:8.
• A comunicação opera por meio de um prescaler de 1:4.
• TOSC = 60ns.
• O software em execução gasta 6 ciclos de instrução
• Compare prescaler ratio =1:1.
para preparar a palavra para ser enviada e gasta 90
• O contador de TMR1IF tem valor 5.
ciclos de instrução para processar a palavra recebida.
• Inicialmente, CCPRH(1) = 29h.
• Os processadores operam a uma frequência de
• Finalmente, CCPRH(2) = 67h.
instrução de 5kHz.
• Determine t.
• Determine a máxima frequência de comunicação.

27/09/2017 301 27/09/2017 302

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 72 – 2016S1P2T Questão 73 – 2016S1P2M
• PIC16F877 – Função PWM.
• Um teclado de 40 colunas e 25 linhas controla uma • <CCPxM3:CCPxM2>=11
MCU por meio das portas paralelas.
• São usados três bits decisivos.
• É feita uma multiplexação temporal por linhas
• Todas as combinações destes bits são usadas.
decodificadas.
• Os bits não usados valem zero.
• A MCU é operada por um oscilador de 8MHz.
• A primeira combinação oferece um DC% de 0%.
• Cada etapa de multiplexação consome 15TCY´s.
• A última combinação oferece um DC% de 100%.
• Quantos bits de portas paralelas são usados pelo
• Com relação à quarta combinação:
teclado?
• Qual é a palavra hexadecimal relativa a DC<9:0>?
• Qual a frequência de varredura do teclado completo?
• Qual é a palavra hexadecimal relativa a CCPRxL?

27/09/2017 303 27/09/2017 304

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 74 – 2016S1P2M Questão 75 – 2016S2P1AM

• Um conversor A/D de 5 bits está configurado para • Um contador prescaller é construído


VREF-(1) = 0V e VREF+(1) = 10V. com três flip-flop´s do tipo D.
• Após a aplicação de uma determinada tensão de • As saídas são Q2, Q1 e Q0.
entrada, é obtida a palavra ADRES(1)=07h. • O contador principal é sensível à borda
• Foi verificado que esta entrada jamais assume valores negativa (descida) do sinal de relógio,
abaixo de 2V e acima de 5V, e, por isso, o conversor que é fornecido pelo prescaller.
foi configurado para VREF-(2) = 2V e VREF+(2) = 5V. • O contador prescaller conta de 000b a
• Determine o valor da palavra obtida ADRES(2). 101b.
• Determine o prescaller ratio.

27/09/2017 305 27/09/2017 306

51
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 76 – 2016S2P1AM Questão 77 – 2016S2P1AM
• PIC16F877 – Em um processo de escrita na flash memory na
• PIC16F877 – Uma rotina de interrupção condição de data memory, é preciso acessar os SFR´s
possui uma ocorrência da instrução CALL. EECON1, EECON2, EEADR, EEADRH, EEDATA e EEDATH, usando
• O pedido de interrupção é efetuado e a instrução MOVLW tendo, como argumento, a palavra de 8 bits
atendido em um momento em que uma (e necessária, e a instrução MOVWF, tendo, como argumento, o
apenas uma) instrução CALL foi endereço de 7 bits do SFR, sendo que o SFR EECON2 sofre
previamente executada, sem que seu duas escritas, a saber, as palavras 0x55 e 0xAA.
respectivo RETURN tenha sido executado. • O EECON1 é escrito em duas etapas; na primeira, os bits
• Quantos são os endereços livres no stack? 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?
27/09/2017 307 27/09/2017 308

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 78 – 2016S2P1AM Questão 79 – 2016S2P1BM

• PIC16F877
• PIC16F877 – Um programa, ao ser executado do início
• Timer 2.
ao fim, incluindo todas as rotinas de repetição, roda • PR2 = 7fh.
25600 instruções, das quais 12,5% são do tipo 2TCY.
• Prescaler Ratio = 1:1.
• Considerando que f OSC = 10MHz, determine o tempo
• TCY = 1s.
de execução do programa.
• Determine a frequência das rampas de TMR2 (TRAMP).

27/09/2017 309 27/09/2017 310

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 80 – 2016S2P2M Questão 81 – 2016S2P1AT
• Contadores digitais são aplicados quando os
valores instantâneos da contagem são usados.
• PIC16F877 • Uma MCU fictícia possui uma flash program
• Sistema de controle realimentado, com malha fechada. memory interna, com15 bits de endereço e 18 bits
• A palavra ADRES<9:0> é enviada para o CCPRx<9:0>. de opcode. Um programa utiliza 7432 opcodes.
• O AD precisa ser configurado para o modo left justified. • O criador do programa resolveu alocar a segunda
• ADRES<9:0> = 2A2h metade desta memória para dados.
• Determine o valor de CCPRxL<7:0>. • 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?

27/09/2017 311 27/09/2017 312

52
27/09/2017

5 QUESTÕES NUMÉRICAS 5 QUESTÕES NUMÉRICAS


Questão 82 – 2016S2P1AT Questão 83 – 2016S2P2BT
• 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. • PIC16F877
• Cinco bits são usados na seleção da instrução. • Compare ,modo PWM invertido.
• Um bit é usado na seleção do destino, entre acumulador e o • CCPRxH = 84h
próprio registrador. • CCPRxL = 3Dh
• Um bit é usado na seleção entre GPR´s e SFR´s, que • Determine o dutty-cycle.
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 1024 SFR´s e 1024 GPR´s, determine
o tamanho do opcode.
27/09/2017 313 27/09/2017 314

5 QUESTÕES NUMÉRICAS 4 RESP. DAS QUEST. TEÓRICAS


Questão 84 – 2016S2P2T

• PIC16F877
• Conversor AD
• VREF+ = 0V RESPOSTAS DAS
• VREF- = 5V
• AD result = 1F3h QUESTÕES NUMÉRICAS
• Determine VIN.

27/09/2017 315 27/09/2017 316

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 1 – 2012S1P1M Questão 2 – 2012S1P1M
PIC16F877 – Quais os valores do work • Um controlador utiliza Instruções
register , dos bits C (carry), DC (digit carry) de 18 bits e tem capacidade de
e Z (zero) após a operação 3Eh + 7Bh? armazenamento de 16k instruções.
• Determine o tamanho da memória
W=B9h C=0 DC=1 Z=0 de programa em bytes. Utilize o
Como o resultado é menor do que o valor prefixo correto (k, M, G ou T).
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. (16×1024)instruções × 18bits/instrução = 294912 bits
Como Eh + Bh é maior do que Fh, então ocorre 294912bits / 8 = 36864 bytes
carry entre os nibbles; DC=1. 36864bytes/1024 = 36 kbytes

27/09/2017 317 27/09/2017 318

53
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 3 – 2012S1P1M Questão 4 – 2012S1P1M
• Um controlador utiliza Instruções de 20 bits.
• Um processador de 64 bits possui • Nas instruções que fazem acesso aos
barramento de dados de 16 bits, registros, a instrução emprega 5 bits na
multiplexados temporalmente. codificação da instrução, 3 em opções gerais
• Os bits de seleção do MUX são e o restante no endereçamento de memória.
controlados por um contador • Sabendo que o tamanho da memória é de
síncrono crescente. 8k palavras, em quantos bancos esta
• Quantos são os bits de seleção? memória precisa ser dividida?
64bits / 16bits = 4 partes
2n = 4 20-(5+3) =12 bits de endereço por banco.
n = 2 bits 212 = 4096 posições por banco.
4096 / 1024 = 4k posições por banco.
Tamanho total = 8k posições.
27/09/2017 319 27/09/2017(8k)posições / (4k)posições/banco = 2 bancos. 320

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 5 Questão 6 – 2012S1P2M
• Condicionador de ar inteligente.
• Um sensor de temperatura, operando na faixa de 10 a 39 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. • Deseja-se construir um controlador para quatro display’s de 8 segmentos, figura
• Estes bits são decodificados, e cada saída do decodificador aciona uma acima, por meio de uma
configuração de potência do climatizador, mantendo a temperatura interna • porta paralela de quatro bits de um microcontrolador.
sempre a 22 graus. • A multiplexação temporal é feita por meio da seleção dos segmentos,
• O chip do decodificador possui encapsulamento DIP, arquitetura full‐custom e acionando-se apenas um por vez, para todos os quatro display’s, segundo a
possui, também, entradas para 5V, 0V, CS e OE. palavra de quatro bits fornecida pela porta paralela.
• Quantos pinos, no mínimo, este chip possui? • 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.
Valor mínimo: 10 graus; valor máximo: 39 graus; diferença: 39‐10 = 29 graus. • Quantos são os FF’s necessários para a realização desta multiplexação?
Posições de temperatura: 29 + 1 = 30
30 posições: 5 bits de endereçamento (nem todas combinações são usadas). 8 segmentos por display.
Decoder: 5 bits de entrada codificada, 30 bits de saída decodificada, 4 bits auxiliares. 1 estágio para cada segmento.
Total: 5 + 30 + 4 = 39 pinos.
DIP: Dual in‐line package – Quantidade par de pinos.
Contador de 8 estágios.
Pinos: 39 + 1 = 40 pinos.
27/09/2017 321 27/09/2017
Três bits. 322
Três FF’s.

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 7 – 2012S1P2M Questão 8 – 2012S1P2M
• PWM por PIC®.
• O ajuste do duty-cycle é feito por 10 bits e a • No controle PWM por PIC®, o ajuste do período PWM é  FFh  1  3FF  1
dado por PR2 (Timer 2 Period Register), de 8 bits.  3Fh  1  x  1 
temporização por Timer 2, de 8 bits. • O valor máximo de PR2 (FFh) indica que o ajuste do duty-  
• Se este contador conta até FFh, e o duty-cycle máximo é cycle pode variar de 0 a 1023, sinalizando que a máxima  255  1  1023  1
1023, qual o valor da palavra de 10 bits (binária) para um • resolução PWM é de 10 bits.
 63  1  x  1 
• duty-cycle de 40%? • Para valores menores de PR2 (8 bits), o ajuste do duty-  
cycle (10 bits) terá valor máximo inferior a 1023,
proporcionalmente a PR2.  256  1024 
100%  1023  1 •
 
 64  x  1 
Esta diminuição do máximo valor do duty-cycle poderá
 40%  x  1  Valor inteiro mais próximo: 410. • acarretar em uma diminuição do número de bits usados,
  reduzindo a máxima resolução PWM. x  1  256
Último valor da faixa: 409.
100%  1024  Forma binária: 110011001b.
• Determine a máxima resolução PWM, em bits, para um
x  255
 40%  x  1 
PR2 de 3Fh.
  A palavra é de 10 bits. 8 bits
x  1  409,6 Forma binária: 0110011001b.
27/09/2017 323 27/09/2017 324

54
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 9 – 2012S1P3M Questão 10
• Um contador, em uma MCU, conta de 00h • Um teclado 44 é multiplexado temporalmente em duas etapas.
• Na primeira, é feita a leitura das linhas y1 e y2 sendo “0” a tecla do bit menos
até 45h com um prescaler de 1:16, em 32ms. significativo, na segunda, são lidas y3 e y4 sendo “8” a tecla do bit menos significativo.
• Em quanto tempo este contador conta até D3h •

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.
com um prescaler de 1:4? • 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),
• Com prescaler de 1:16, seus passos são 16 da esquerda para a direita.
vezes mais lentos do que o dos ciclos de • Preencha a figura abaixo com os valores corretos.
instrução.  45h  128ms 
• Com prescaler de 1:4, seus passos são 4 vezes   Data: 07/11/2012
mais lentos do que o dos ciclos de instrução.  D3h  t  Sequência: 0–7–1–1–2–0–1–2
0 11111110b 254d FEh
• Na alteração de 1:16 para 1:4, o contador  69  128ms  7 01111111b 127d 7Fh
torna‐se 4 vezes mais rápido.  211  t  1 11111101b 253d FDh 0xFE 254

 
0x7F 127
• Com 1:16, ele atinge 45h em 32m. 1 11111101b 253d FDh 0xFD
0xFD
253
253

• Com 1:4, ele atinge 45h em 432m = 128ms. t  391ms 2 11111011b 251d FBh 0xFB
0xFE
251
254

• Para determinar o tempo que ele leva para 0 11111110b 254d FEh 0xFD
0xFB
253
251

atingir D3h, basta fazer a regra de três. 1 11111101b 253d FDh


27/09/2017 325 27/09/2017 326
2 11111011b 251d FBh

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 11 – 2012S1P3M Questão 12 – 2012S2P3M
• Uma DSP recebe informações vindas de um sensor de viscosidade. • A figura do trollface possui 342 colunas por 301 linhas e usa quatro tons de cinza,
• O conversor fornece palavras de 12 bits obtidas a cada segundo e endereçados por dois bits.
as grava em uma memória de 1kbyte. • Ao término de cada linha, inclusive a última, existe uma palavra de 8 bits que
• Quando a memória está cheia, ela é apagada automaticamente e o sinaliza quebra de linha.
processo é retomado. • No início do arquivo, são acrescentados 16 bits para o cabeçalho do arquivo.
• Qual é o período de preenchimento desta memória, em minutos? • Qual o tamanho do arquivo, em bytes?
• Use o prefixo necessário.
8 bits: 1 byte; 12 bits: 1 palavra; 12 bits: 1 byte e meio;
3 bytes: 2 palavras; 1 kbyte: 1024 bytes;
1 kbyte/3 = 1024/3 = 341,3... bytes 342  301 = 102942 pontos.
É preciso arredondar para baixo, pois, para cima, superará a 2 bits por ponto.
capacidade de memória. Tamanho = 2  102942 = 205884 bits.
1 kbyte/3 = 341 bytes Tamanho = 205884 bits / 8 = 25735,5 bytes.
São 341 conjuntos de 3 bytes na memória de 1k byte. Quebra de linha: 301  1 byte = 301 bytes.
Cada conjunto de 3 bytes armazena 2 palavras. Cabeçalho: 16 bits /8 = 2 bytes.
São, então, 2341 = 682 palavras. Total: 25735,5 bytes + 301 bytes + 2 bytes = 26038,5 bytes.
Uma palavra é gravada por segundo. É preciso arredondar para cima, pois, para baixo, faltarão bits no arquivo.
São necessários 682 segundos para gravar as 682 palavras. Total = 26039 bytes.
Período = 682s/60 = 11,37 minutos.
27/09/2017 327 Total = 26039 bytes / 1024 = 25,429 kbytes.
27/09/2017 328

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 13 – 2012S2P1M Questão 14 – 2012S2P1M
Um banco de memórias é formado por 4 chips idênticos
• PIC16F877‐20/P. e com faixas de endereços contíguas, sem intervalos.
• Uma instrução BCF é feita sobre um file cujo valor é 64h. O último endereço global (no barramento de
• O parâmetro “b” é 101b. endereços) é 5FFFFh.
• Qual o valor final para o file, na forma hexadecimal? O primeiro chip possui a primeira palavra com endereço
global 00000h e o último chip possui a última palavra
64h = 0110 0100 b com endereço global 5FFFFh.
101b = 5d Qual é o endereço global (no barramento de
O bit 5 sofrerá um clear. endereços) da última palavra do segundo chip?
7654 3210 5FFFFh = 393215d
0100 0100 Tamanho = 393215 + 1 = 393216
0100 0100 b = 44h Tamanho do chip: 393216 / 4 = 98304
2 chips: 98304  2 = 196608
27/09/2017 329 27/09/2017
Última posição: 196608-1 = 196607 330
196607d = 2FFFFh

55
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 15 – 2012S2P2M Questão 16 – 2013S1P1T
• O TRM2 pode ser usado como um gerador de onda dente‐de‐serra
• Uma ULA de um processador hipotético trabalha com palavras de 16 bits, e
com frequência configurável por meio do registrador PR2.
usa operações lógicas bit‐a‐bit, sobre palavras, sobre bit em palavras e
• Supondo que a frequência mínima é de 19,5kHz , qual deve ser o
aritméticas, de uma e duas entradas.
valor de PR2 para que esta frequência seja de 35kHz?
• A ULA fornece quatro bits de sinalização, obtidos com o resultado da última
• Usar arredondamento segundo norma ABNT.
operação realizada.
Como não se falou em prescaler nem postscaler, esses valores não são • Uma entrada de dados vem do acumulador, a outra entrada é multiplexada
alterados, são os mesmos para 19,5kHz e para 35kHz. Altera-se, apenas, o PR2.
com a outra entrada de dados, vinda do data bus e a palavra de
É mais conveniente lidar-se com períodos ao invés de frequências. decodificação da instrução, selecionados por meio de um bit.
fMIN = 19,5kHz  TMÁX = 51,28s. • Quantos são, ao todo, os bits usados pela ULA em um determinado instante?
f2 = 35kHz  T2 = 28,57s.
TMR2 conta de 00h até o valor de PR2.
A quantidade de passos de contagem de TMR2 é PR2 + 1. Os bits de dado de saída do MUX são ligados a uma das entradas da ULA, de modo
Para PR2+1 = 1, TMR2 tem 1 passo  TMÍN. que não importa quantas são as entradas do MUX, nem os seus bits de seleção.
Para PR2+1 = 256, TMR2 tem 256 passos  TMÁX = 51,28s. Palavra de dado: 16 bits
Para PR2+1 = X, TMR2 tem X passos  TMÁX = 28,57s. Palavras de dado: 3 (duas entradas e uma saída)
Regra de três: Bits de dado: 3  16 = 48
256  51,28 Bits de sinalização: 4
X  28,57 Bis da ULA: 48 + 4 = 52
X = 142,6;
27/09/2017 PR2+1 = 142,6; PR2 = 141,6; 331 27/09/2017 332
Arredondando para o inteiro mais próximo: PR2 = 142d ou PR2 = 8Eh.

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 17 – 2013S1P1T Questão 18 – 2013S1P1T
• PIC16F877-20/P. • Um banco de memórias é formado por uma memória de 1,5k
• No endereço 18C3h da program memory, é palavras e outra memória de 2,75k palavras, selecionadas por
executado um comando CALL. meio de um bit.
• As próximas 5 instruções são todas do tipo • Determine as faixas de endereços proibidos, por meio do
1TCY, após as quais é realizado um RETURN. primeiro e último valor da faixa, na forma hexadecimal, usando
• Qual é o valor do PCL, na forma hexadecimal? todos os bits do barramento de endereço e todos os nibbles.
• Entre a instrução CALL e o RETURN, nenhuma instrução 2TCY 1,5k: Potência de 2 superior mais próxima: 2k; 11 bits <A10:A0>.
2,75k: Potência de 2 superior mais próxima: 4k: 12 bits <A11:A0>.
foi executada, isto quer dizer que não foi executada nenhuma O bit de seleção do chip é A12.
instrução que fizesse PUSH ou POP, o conteúdo da TOS não Primeiro endereço proibido do chip 1,5k: 1,51024 = 1536d = 600h = 11000000000b
Último endereço proibido do chip 1,5k: 21024-1 = 2047d = 7FFh = 11111111111b
foi alterado até a execução do RETURN, que realizou um POP. Primeiro endereço proibido do chip 2,75k:2,751024 = 2816d = B00h = 101100000000b
• O CALL fez um PUSH com valor PC+1, 18C3h + 1 = 18C4h. Último endereço proibido do chip 2,75k:41024-1 = 2047d = FFFh = 111111111111b
• O RETURN fez um POP com valor da TOS, PC = 18C4h. É preciso considerar o bit A12, para seleção do chip.
Primeiro endereço proibido do chip 1,5k: 1,51024 = 0011000000000b = 0600h
• PCL = C4h. Último endereço proibido do chip 1,5k: 21024-1 = 0111111111111b = 0FFFh
27/09/2017 333
Primeiro endereço proibido do chip 2,75k:2,751024 = 1101100000000b
27/09/2017
= 1B00h 334
Último endereço proibido do chip 2,75k:41024-1 = 1111111111111b = 1FFFh

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 19 – 2013S1P1M Questão 20 – 2013S1P1M
• Um microcontrolador hipotético possui a memória de registradores (file registers)
de 2048 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). • Um pendrive possui uma capacidade de
• Em uma dessas famílias, o opcode é formado pelos bits identificadores da família, armazenamento de 1,5MB comerciais.
pelos bits identificadores do registrador escolhido usando endereçamento direto,
e pelos bits identificadores da operação dentro desta família, que são 32. • Seu barramento de endereço possui a quantidade
• Não há nenhuma irrelevância (X) em nenhum opcode desta família de instruções. mínima de bits suficiente para endereçar todas as
• Todas as famílias possuem opcode de igual tamanho. palavras.
• Quantos são os bits de opcode para este microcontrolador?
• Determine a faixa de endereços proibidos, por meio
2048 posições: 11 bits do primeiro e último valor, na forma hexadecimal.
8 bancos: 3 bits
Bits por banco: 11 – 3 = 8
Outra forma: 2048 / 8 = 256 posições  8 bits Primeiro endereço proibido = 1,510002 = 16E360h
Família: 2 bits Último endereço proibido = 1FFFFFh
27/09/2017
32 operações em uma família: 5 bits 335 27/09/2017 336
Opcode: 2 + 5 + 8 = 15 bits

56
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 21 – 2013S1P1M Questão 22 – 2013S1P1M
• Uma ULA de 4 bits de 32 funções de uma ou duas entradas é
implementada em uma PROM GA AND-OR, na qual a matriz de • Uma memória de programa de um processador
entrada consiste do decodificador completo de todos os bits de
entrada. hipotético é dividida em oito páginas e usa
• Neste circuito, não é feita a transformação tudo NAND ou tudo NOR. opcode de 20 bits.
• Não há bits de saída de sinalização nem de entrada de controle. • Se cada página utiliza 8 bits de endereçamento,
• Diga quantas são as portas NOT, AND e OR, e quantas entradas as
portas AND e OR possuem. determine o tamanho da memória em bytes (se
necessário, utilize o prefixo adequado).

Bits de entrada: 4 + 4 + 5 = 13
NOT: 13 portas 8 + 3 = 11 bits de endereço.
213 = 8192 (211)20 bits = 40960 bits
AND: 8192 portas de 13 entradas. 40960 bits / 8 = 5120 bytes
Bits de saída: 4 5120 bytes / 1024 = 5k bytes
27/09/2017 OR: 4 portas de 8192 entradas. 337 27/09/2017 338

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 23 – 2012S1P1M Questão 24 – 2013S1P2T
• Um processador de 8 bits possui 12 bits no barramento de endereço, para • PIC16F877 – 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 3V e o valor máximo a
memórias externas.
23V. O bit ADFM (A/D Result Format Select Bit) (ADCON1<7>) foi configurado para
• Uma memória de 360 bytes é instalada a partir do endereço inicial. right justified (ADFM=1). A fim de aumentar a rapidez do processamento, descarta-se
• Uma segunda memória de 256 bytes deve ser instalada. Para isso, um dos ADRESH usando, apenas, ADRESL. Qual o máximo valor de tensão que este
bits do barramento de endereço é usado na seleção do chip (entrada CS), conversor A/D pode receber?
sendo “zero” para o chip de 360 bytes e “um” para o chip de 256 bytes.
• Para este controle, foi escolhido, dentre os bits não usados do barramento, Forma 1:
Forma 2:
o menos significativo. Faixa configurada: 23V – 3V = 20V
Faixa configurada: 23V – 3V = 20V
• Qual o endereço (bin e hex) da primeira posição do chip de 256 bytes no Nível quântico: 20V/1023 = 19,55mV
Fazendo VREF- = 0V:
ADRESL: 8 bits
barramento? VREF+ = 20V
Palavra máxima de 8 bits:/
11111111b = FFh = 255d 1023/20V
360 bytes: 9 bits (maior). 255V
Fazendo VREF- = 0V:
256 bytes: 8 bits (menor). V = 25519,55mV = 4,9853V
V = 4,9853V
Fazendo VREF- = 3V:
9 bits usados nas entradas de endereço dos chips: Bits <A8:A0>. Fazendo VREF- = 3V:
V = 4,9853V+3V = 7,9853V
Bit A9 usado na seleção do chip. V = 4,9853V+3V = 7,9853V
Posição inicial do barramento:
27/09/2017
0000 0000 0000b ;000h 339 27/09/2017 340
Posição inicial do chip de 256 bytes:0010 0000 0000b ;200h

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 25 – 2013S1P2M Questão 26 – 2013S1P3T
• PIC16F877 – Módulo CCP1, função PWM. • A frequência de operação da MCU é de 16MHz.
• O TMR1 prescaler está configurado para 1:8.
• PR2 = 30h; DC = 34h. • TMR1 está configurado para ser um temporizador, T1CON<1>, TMR1CS=0.
• Qual a máxima resolução do PWM, em bits? • No presente momento, TMR1L=3Bh, TMR1H=19h.
• Qual o valor do dutty-cycle, em porcentagem? • As interrupções estão habilitadas.
• Em quanto tempo, após o presente momento, será acionada TMR1IF?
TMR2 conta de 00h a PR2.
TMR2 conta de 00h a 30h (48d) (110000b). TMR1 = 193Bh
TMR2 usa apenas 6 bits (de 8). TMR1máximo = FFFFh
DC usa 6 + 2 = 8 bits (de 10). TMR1overflow = FFFFh + 1 = (1)0000h
 passos  Passos até TMR1overflow = 10000h – 193Bh = E6C5h
totais 8bits  totais 10bits
passos
 passos 
  TOSC por TCY: 4
 usados8bits  usados 10bits 
passos
 passos DC  100% 
 totais 
 256d  1024d   passosDC  dutty  cycle  TCY por passo: 8
 em 1 
 x8bit  1  x10bit  1
   195  1  100%  TOSC por passo: 84 = 32
 
 256  1024   52  dutty  cycle  TOSC = 1/16MHz = 62,5ns
 48  1  x10bit  1
  dutty  cycle  26,53% Tempo por passo: 62,5ns32 = 2µs
27/09/2017 x10bit  195d 341 27/09/2017 342
Tempo: 2µs59077 = 118,154ms
Este é o último valor do DC de 10 bits.

57
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 27 – 2013S1P3T Questão 28 – 2013S1P3M
• PIC16F877.
• PIC16F877. • A frequência de operação da MCU é de 16MHz.
• Sabendo que PR2=FFh, dutty-cycle = 1/5 • O TMR0 prescaler está configurado para 1:8.
aproximadamente, determine os valores de CCPR1L • TMR0 está configurado para ser um temporizador, Option_Reg<5>, T0CS=0.
• No presente momento, TMR0 acabou de ser reiniciado.
e de CCP1CON<5:4> na forma hexadecimal. • As interrupções estão habilitadas.
• Em quanto tempo, após o presente momento, será acionada a interrupção de
PR2 de 10 bits vai de 0d a 1023d. overflow de TMR0 TMR0IF?
Passos totais: 1024. TMR0 = 00h
1024/5 = 204,8  205 passos. TMR0máximo = FFh
A saída PWM vale “1” quando PR2 de 10 bits está entre 0d e TMR0overflow = FFh + 1 = (1)00h
204d (205 passos). Passos até TMR0overflow = 100h (de 000h até 100h)
Quando PR2 de 10 bits atinge 205d, a saída PWM vai a zero. TCY por passo: 8
205d = 0011001101b (10 bits). TOSC por passo: 84 = 32
CCPR1L = 00110011b = 33h (os 8 bits mais significativos). TOSC = 1/16MHz = 62,5ns
27/09/2017 343
Tempo por passo: 62,5ns32 = 2µs
27/09/2017 344
Tempo: 2µs*100h = 512µs

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 29 – 2013S1P3M Questão 30 – 2013S1P3M
• PIC16F877 – Identifique os endereços dos registradores de uso geral envolvidos no programa abaixo, na forma
• PIC16F877. hexadecimal, bem como seus respectivos valores após a execução do programa, na forma hexadecimal.
; Programa da P3
• Sabendo que VREF+=5V, VREF-=0V, VAN=3V, #include
org
<p16f877.inc>
0x5

left justified, determine os valores de ADRESH #define


#define
dado1
dado2
0x1
0x2
#define dado3 0x4
e de ADRESL na forma hexadecimal. #define
#define
ondecadê1
ondecadê2
0x31
0x32
#define ondecadê3 0x33

3FFh  VREF+
BSF STATUS,RP1
BCF STATUS,RP0
MOVLW dado1

x V Outra forma: MOVWF ondecadê1

VMÍN = 5V/1023 = 4,8876


ADDLW dado2

1023  5V
MOVWF ondecadê2
IORLW dado3
MOVWF ondecadê3

x  3V x = 3V/4,8876V = 613,8 #undefine dado1


#undefine dado2
#undefine dado3
x=613,8 #undefine
#undefine
ondecadê1
ondecadê2
#undefine ondecadê3
end

x  614d = 266h
x = 10011001_10b Endereços Valores
131h 1h
ADRESH=10011001b = 99h
132h 3h (1h + 2h)
27/09/2017 ADRESH=10000000b = 80h 345 27/09/2017 346
133h 7h (3h OR 4h = 11b OR 100b = 111b = 7h)

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 31 – 2013S2P1M Questão 32 – 2013S2P1T
• PIC16F877 – Sabendo que a SRAM possui 9 bits de
endereço, que o banco 2 possui 16 SFR’s localizados • PIC16F877 – Sabendo que
nas primeiras posições, qual é o endereço completo PCLATH é acessável nos quatro
(9 bits)(hexadecimal) do primeiro GPR do banco 2?
bancos, e que seu endereço de 7
• A SRAM possui 29 = 512 posições. bits é 0001010b, determine
• São quatro bancos. todos os seus endereços
• São 512/4 = 128 posições por banco. completos (9 bits)(hexadecimal).
• O banco 0 vai de 000d a 127d – 000h a 07Fh.
• O banco 1 vai de 128d a 255d – 080h a 0FFh.
• Endereço no banco 0: 000001010b – 00Ah
• O banco 2 vai de 256d a 381d – 100h a 17Fh.
• Endereço no banco 1: 010001010b – 08Ah
• O banco 3 vai de 382d a 511d – 180h a 1FFh.
• Endereço no banco 2: 100001010b – 10Ah
• Os 16 SRF’s do banco 2 vão de:
• Endereço no banco 3: 110001010b – 18Ah
• 256 a 256 + 15  256 a 271
• O primeiro GPR está no endereço:
• 271+1=272d – 110h
27/09/2017 347 27/09/2017 348

58
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 33 – 2013S2P1M Questão 34 – 2013S2P1M
• Um temporizador de 6 bits leva 5s • PIC16F877
para dar um passo de contagem. • Após uma conversão A/D em right justified,
• Se o prescaler ratio é de 1:2 e o ADRESH = 02h e ADRESL = 59h.
postscaler ratio é de 1:4, quanto • Quais os valores desses registradores em
tempo, após o início da contagem, left justified (hexadecimal)?
ocorre um time-out?
ADRESH = 02h = 00000010b (right).
ADRESL = 59h = 01011001b (right).
6 bits: 26 = 64 passos
5s: Passo sem prescaler. ADRES = 10_01011001b (right).
5s  2 = 10s Passo com prescaler. ADRES = 10010110_01b (left).
10s  64 = 640s por contagem completa.
4 contagens completas até o time-out. ADRESH = 10010110b = 96h (left).
640s  4 = 2,56ms.
ADRESL = 01000000b = 40h (left).
27/09/2017 349 27/09/2017 350

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 35 – 2013S2P1T Questão 36 – 2013S2P1T
• PIC16F877 – Em um circuito FAD = FOSC/2 = 16MHz/2 = 8MHz.
de comparações sucessivas, 1 ciclo = 1/8MHz = 125ns.
• Um suposto modelo de PIC® mid- cada um dos bits é gerado Conversor A/D de 10 bits.
range usa, apenas, um bit de EEADRH. em um ciclo separado.
10 ciclos por conversão.
Tconversão = 10  125ns = 1,25s.
• Qual é o tamanho da program • Sabendo que FOSC=16MHz e
memory, quanto à capacidade de que as instruções de Os 10 bits não cabem em um registrador de 8
armazenamento de instruções? movimentação são 1TCY, bits, são necessários dois SFR’s.
calcule o tempo gasto em Os dois SFR’s são copiados em dois GPR’s.
uma conversão A/D A cópia entre registradores não pode ser feita
juntamente com a cópia dos diretamente, é preciso copiar, primeiro, para o W.
SRF’s do conversor A/D para Do SFR para o W: Uma movimentação.
EEADR: 8 bits GPR’s. Do W para o GPR: Outra movimentação.
EEADRH: 1 bit • Usar ADCLOCK = FOSC/2 (reset
Tem-se, então, quatro movimentações.
Cada movimentação é 1TCY.
8 bits +1 bit = 9 bits default). 1TOSC = 1/16MHz = 62,5ns.
29 = 512 instruções 1TCY = 1TOSC4 = 250ns.
4TCY = 4250ns = 1s.
27/09/2017 351 27/09/2017 352
1,25s + 1s =2,25s.

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 37 – 2014S1P1M Questão 35 – 2013S2P1T
• PIC16F877. • PIC®.
• Abaixo, o esquema de montagem de algumas instruções lógicas e
aritméticas. • Um suposto modelo de PIC® mid-range
• O GPR acessado é 190h. possui um EEADRH de, apenas, um bit.
• A gravação é feita sobre este mesmo GPR. • Supondo que este bit seja usado como
• A instrução INCF possui, como nibble de seleção, 1010b. parte do endereço para acesso da
• Determine o opcode completo para esta instrução na forma hexadecimal. program memory, quantas instruções
esta program memory pode
• File = 10h (7 bits menos significativos armazenar?
de 190h, vide figura acima).
• Destiny = 1 (para o file register). • Mid-range: 8 bits.
• Opcode<7:0> = 90h. • EEADR possui 8 bits.
• Opcode<11:8> = Ah. • Mais um bit de EEADRH, são 9 bits.
• Opcode<13:12> = 0h. • 9 bits acessam 512 endereços.
27/09/2017 • Opcode = 0A90h. 353 27/09/2017 • Resposta: 512 instruções. 354

59
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 39 – 2014S1P1T Questão 40 – 2014S1P2M
• PIC16F877 – Sabendo que • PIC16F877.
f OSC=16MHz, quanto tempo uma • Determine os valor de CCPRxL e
instrução 2TCY leva para ser executada? CCPRxH (hex) para que, no modo
compare trigger special event, a
Forma 1: frequência da solicitação de
TOSC = 1/f OSC = 1/16MHz = 62,5ns CCPxIF seja de 500Hz a um f OSC
TCY = 4TOSC = 462,5ns = 250ns = 8MHz e um prescaler de 1:2.
2TCY = 2250ns = 500ns
f CY = 8MHz/4 = 2MHz
Forma 2: fTMR1 = 2MHz/2 = 1MHz
f CY = f OSC/4 = 16MHz/4 = 4MHz Passos = 1MHz/500Hz = 2000d
f2TCY = f CY/2 = 4MHz/2 = 2MHz CCPRx = 2000d – 1 = 1999d = 07CFh
2TCY = 1/2MHz = 500ns CCPRxH = 07h
27/09/2017 355 27/09/2017 CCPRxL = CFh 356

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 41 – 2014S1P2M Questão 42 – 2014S1P2M
• Um teclado especial possui 32 teclas formando uma • PIC16F877.
matriz de 4 linhas e 8 colunas.
• Linhas e colunas são codificados a fim de economizar • Conversor A/D no modo left
fios e bits de comunicação. justified, VREF+ = 5V, VREF- =
• O problema disso é que somente uma tecla pode ser 0V, aplicados 3V.
lida por vez, requerendo uma multiplexação temporal. • Determine o valor de ADRESH
• Quantos bits de porta paralela são necessários para (hex) após a conversão.
realizar a determinação da tecla? Modo 1:
Modo 1: 1023  5V X = 10011001_10b
Linhas: 22 = 4  2 bits X  3V ADRESH = 10011001b
Colunas: 23 = 8  3 bits X = 613,8 ADRESH = 99h
Total: 2 bits + 3 bits = 5 bits Arredondando: X = 614
Modo 2:
Modo 2: 614/4 = 153,5
27/09/2017
2X = 32 357 27/09/2017
Arredondando para baixo: 153
358
X = 5 bits ADRESH = 153d = 99h

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 43 – 2014S1P2M Questão 44 – 2014S1P2T
• PIC16F877.
• PIC16F877. • Você precisa de um dutty-cycle percentual de, exatamente, 40% no módulo CCPx.
• Você deseja usar, apenas, oito bits e a mínima frequência.
• Shift Register Slave = 94h, • Determine o valor do PR2 (hex) e do DC<9:2> (hex).
depois o Buffer Register
Master recebe 3Bh. Modo 1:
• Determine o valor do Shift 25640% = 102,4  não inteiro.
Register Master (hex) após 25540% = 102  Inteiro.
2 shifts. PR2 = Passos–1 = 255–1= 254d = FEh.
DC<9:2> = 102d = 66h.
SR slave = 10010100b Modo 2:
SR master = 00111011b 256 100%
SR inicial = 10010100_00111011b x 40%
SR após 1 shift = 00101000_01110111b x=102,4  DC<9:2> = 102d = 66h.
SR após 2 shifts = 01010000_11101110b 102/40% = 255 passos
27/09/2017
SR master = 11101110b = EEh 359 27/09/2017
PR2 = Passos–1 = 255–1= 254d = FEh.
360

60
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 45 – 2014S1P2T Questão 46 – 2014S1P2T
• PIC16F877.
• No conversor A/D, usando o método
das comparações sucessivas, o bit mais • PIC16F877.
significativo é o primeiro a ser obtido. • SPI™: Prescaler = 1:16, f OSC = 4,096MHz.
• Sabendo que ADCLOCK = TCY8, f OSC = • Determine a máxima frequência de
escritas sobre SSPBUF master permitida.
5MHz, left justified, determine quanto
tempo, após o início da conversão,
ADRESL leva para ser escrito.

f CY = 4,096MHz/4 = 1,024MHz.
No modo left justified, ADRESL f SPI = 1,024MHz/16 = 64kHz.
apresenta os dois bits menos TOSC = 1/5MHz = 200ns. f BUFFER = 64kHz/8 = 8kHz.
significativos, os dois últimos bits a TCY = 4200ns = 800ns.
serem calculados. São usados,
27/09/2017
TAD = 8800ns = 6,4s.
361 27/09/2017 362
então, dez passos de comparação. t = 106,4s = 64s.

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 47 – 2014S1P2T Questão 48
• PIC16F877. • PIC16F877.
• TCY = 1s; TMR1 prescaler = 1:1; Capture • O PC está na posição 032Fh.
prescaler ratio = 1:1. • Você deseja saltar 500 posições
• A medição de tempo começa exatamente sem usar CALL nem GOTO.
em um instante em que TMR1 = 0000h. • Determine os valores do
• O tempo medido foi de 700ms. PCLATH e do PCL (hex).
• Determine quantas contagens completas
ocorreram em TMR1 dentro desta
medição. 032Fh + 500 = 523h.
PCLATH = 05h
1 passo: 1s1 = 1s. PCL = 23h
1 rampa: 216 passos = 216s.
Contagens: 700ms / 216s = 10,61.
27/09/2017 Completas: Int(10,61) = 10. 363 27/09/2017 364

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 49 – 2014S2P1T Questão 50 – 2014S2P1T
• Certo modelo de microcontrolador possui uma SRAM (file registers) de 840 • FOSC = 8MHz.
endereços (840 registradores). O opcode desta arquitetura possui 15 bits (15-bit
instruction architecture). Dois bits do opcode são usados na determinação da família • Um programa, durante uma execução completa (do início
de instruções. Nas instruções de acesso à SRAM, quatro bits adicionais são usados ao fim), executa 723 instruções, das quais 74 são 2TCY.
na identificação da instrução propriamente dita. Um registrador especial possui os • Determine o tempo usado nesta execução.
bits RPN (register paging), N{0,1,2,...}.
• Quantos bits são necessários para a seleção de bancos do file registers?

840 endereços. TOSC = 1/FOSC = 1/8MHz = 125ns


Menor potência de dois maior ou igual a 840: 1024
10 bits de endereço. TCY = 4TOSC = 4125s = 500ns
Opcode: 15 bits. 74 são 2TCY
2 bits para a família. 723 – 74 = 649 1TCY
4 bits para a identificação.
Sobraram 9 bits, isto é, usamos 9 bits de endereço por banco. n = 649 + 74 + 74 = 797 TCY
Faltou 1 bit. t = nTCY = 797500s = 398,5s
É necessário 1 bit, para realizar a seleção entre os dois bancos.
27/09/2017 365 27/09/2017 366

61
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 51 – 2012S1P3M Questão 52 – 2013S2P2M
• Um teclado 4x4 é multiplexado temporalmente em duas etapas. • Um sistema microcontrolado em malha fechada usa, apenas, oito bits.
• Na primeira, é feita a leitura das linhas y1 e y2 sendo “0” a tecla do bit menos significativo, na
segunda, são lidas y3 e y4 sendo “8” a tecla do bit menos significativo. • O conversor A/D é operado no modo left justified.
• Somente uma tecla é lida por vez. • Sabendo que ADclock é FOSC/32, que o registrador que contém a
• A lógica é negativa. resposta do conversor A/D é o ADRESH e que o registrador que
• 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.
contém a entrada do modulador PWM é o CCPR1L, determine a
• A gravação ocorre somente se houver uma tecla apertada. mínima quantidade de TCY consumidos entre uma leitura na entrada
• O usuário digita os números da data de hoje (somente números, vide topo da folha), da analógica e um envio pela saída PWM.
esquerda para a direita.
• Preencha a figura abaixo com os valores corretos.
Conversor A/D de 10 bits.
Data: 07/11/2012
Sequência: 0 – 7 – 1–1–2–0–1–2
10 passos para a conversão.
0 11111110b 254d FEh 32 TOSC’s por passo.
7 01111111b 127d 7Fh
1 11111101b 253d FDh
8 TCY’s por passo.
1 11111101b 253d FDh 80 TCY’s por conversão.
2 11111011b 251d FBh
0 11111110b 254d FEh
A cópia de ADRESH para W consome 1 TCY.
1 11111101b
27/09/2017
253d FDh
367 27/09/2017
A cópia de W para CCPR1L consome 1 TCY. 368
2 11111011b 251d FBh
São consumidos, no mínimo, 82 TCY’s.

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 53 – 2014S2P2T Questão 54 – 2014S2P2T
• Função capture. • Função conversor A/D.
• FOSC = 8MHz. • Inicialmente, foi configurado VREF+(1)= 5V e VREF-(1)= 0V.
• TMR1 prescaler ratio: 1:2.
• Uma tensão V1 foi aplicada na entrada AN selecionada, e foi lido
• Capture prescaler ratio: 1:1.
• CCPR(1) = 37A2h. ADRES(1)=12F4h.
• CCPR(2) = 69B3h. • Porém se percebeu que a máxima tensão aplicada é de 4V e, por esse
• GPR contador de CCPIF = 12h. motivo, a fim de melhorar a resolução do conversor, foi configurado
• O processo é repetido continuamente. VREF+(2)= 4V e VREF-(2)= 0V.
• Determine a frequência. CCPR = CCPR(2) - CCPR(1) + N216 • Aplicando a mesma tensão V1 na configuração 2, determine ADRES(2).
• PIC16F877
CCPR = 69B3h-37A2h + 12216 Modo 1:
CCPR = C3211h = 799249d 5V3FFFh
t = CCPR  TOSC  4  TMR1PS V112F4h
t = 799249  (1/8MHz)  4  2 Modo 2:
V1 = 1,48V
4V12F4h
t = 799ms
5VADRES(2)
f = 1/t 4V3FFFh
ADRES(2)=17B1h
27/09/2017
f = 1/799ms 369 27/09/2017
1,48VADRES(2) 370
f = 1,25Hz ADRES(2)=17B1h

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 55 – 2014S2PAT Questão 56 – 2014S2PAT
• Preencha as duas colunas da tabela com
os endereços e o código assembly puro. • Monte a seguinte sequência de instruções:
• Endereços com 4 nibbles.
; Programa Prova 1
#include <p16f877.inc> ;definição da PIC
org 0x5 ;posição inicial Disassembly Opcode
constant ondecadê = 0x32 ;endereço
constant marqualrélio = 0xA3 ;dado ADDWF 0x20, 0x1 07A0
MOVLW
BCF
marqualrélio
STATUS,RP1
;W = marqualrélio
;*
MOVWF 0x6c 00EC
BCF STATUS,RP0 ;* BTFSC 0x5f, 0x5 1ADF
MOVWF ondecadê ;SRAM(ondecadê) = W
MOVWF ondecadê+1 ;SRAM(ondecadê+1) = W IORLW 0xc4 38C4
end
CLRWDT 0064
Address Disassembly GOTO 0x7ff 2FFF
0005 MOVLW 0xa3
0006 BCF 0x03, 0x6
0007 BCF 0x03, 0x5
27/09/2017
0008 MOVWF 0x32 371 27/09/2017 372
0009 MOVWF 0x33

62
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 57 – 2014S2PAT Questão 58 – 2015S1P1T
• No programa abaixo, determine o argumento
numérico (hex) da instrução GOTO. • Uma MCU usa 15-bit opcode instructions.
• Encontre o erro no programa e mostre a sua correção: • Sua program memory possui um 17-bit address bus.
• Um programa utiliza 50 mil instruções.
#includ <p16f877.inc> ;definição da PIC 000A 01A0 CLRF 0x20
org 0xa 000B 0820 MOVF 0x20, 0 • Determine o percentual de ocupação da program memory.
constant ondecadê = 0x20 ;endereço
CLRF ondecadê ;SRAM(ondecadê) = 0x00 000C 00A1 MOVWF 0x21
MOVF ondecadê,0 ;W = SRAM(ondecadê) 000D 1420 BSF 0x20, 0
MOVWF ondecadê+1 ;SRAM(ondecadê+1) = W
BSF ondecadê,0 ;SRAM(ondecadê), bit 0 = 1 000E 0820 MOVF 0x20, 0
MOVF
MOVWF
ondecadê,0
ondecadê+2
;W = SRAM(ondecadê)
;SRAM(ondecadê+2) = W
000F 00A2 MOVWF 0x22 217  100%
0010 2814 GOTO 0x14
GOTO
BSF
$+4
ondecadê,2 ;SRAM(ondecadê), bit 2 = 1 0011 1520 BSF 0x20, 0x2
50000  P
MOVF
MOVWF
ondecadê,0
ondecadê+4
;W = SRAM(ondecadê)
;SRAM(ondecadê+4) = W 0012 0820 MOVF 0x20, 0 P = 38,1%
end 0013 00A4 MOVWF 0x24

Argumento: 0x14
Erro: #include – Vide programa da
27/09/2017 373 27/09/2017 374
questão 1, onde está grafado corretamente.

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 59 – 2015S1P1T Questão 60 – 2015S1P1T
• PIC16F877
• Uma MCU opera a 150MHz e emprega 3TOSC´s em cada TCY. • f OSC = 5MHz.
• Ela possui um 16-bit internal counter, equipado com um 12-bit • TMR1 prescaler ratio – 1:8.
prescaler counter, configurado para um ratio de 1:512. • Qual o tempo de um passo de contagem do TMR1H?
• Quanto tempo leva uma contagem completa?. • Qual a frequência de uma contagem completa do TMR1H?

• Cada passo de contagem de


f CY = 150MHz/3 = 50MHz • TMR1H possui 28 passos de
TMR1H dura 28 passos de
TCY = 1/50MHz = 20ns contagem de TMR1L. contagem.
Passo = 20ns  512 = 10,24s • t = 28  1,6384ms = 419ms.
• Cada passo de contagem de
Tempo = 216  10,24s = 671ms TMR1L dura 8 TCY. • t = 216  8  4  200ns = 419ms.
• f = 1 / 419ms = 2,38Hz
• Cada TCY dura 4 TOSC.
• Cada TOSC dura 200ns.
27/09/2017 375
= 28  8  4  200ns = 1,6384ms.
• t 27/09/2017 376

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 61 – 2015S1P2T DC% 10-bit DC Questão 62 – 2015S1P2T
• PIC16F877 0% 000h • Uma DSP hipotética possui um conversor A/D de 14 bits.
• Determine o valor da palavra “X” (hex). • VREF- = 0V. VREF+ = 32,766V, VIN = 20V.
20% 0C0h
• Determine o valor da palavra DC para um • Os intervalos quânticos são todos iguais.
DC% de 40%, usando PWM de 8 bits. 40% 180h • São usados dois registradores de 8 bits, ADRESH e ADRESL no modo left justified.
• Determine o valor de PR2 (hex) mínimo. 60% X • Os bits não usados recebem valor zero.
• Se desejássemos um DC% de 32%, qual 80% 300h • Determine o valor (hex) destes registradores.
seria o valor da palavra DC de 10 bits? 100% 3C0h
214 = 16384
X = 180h + 0C0h = 240h Intervalos quânticos: 16384 – 1 = 16383
X = (300h + 180h)/2 = 240h Mínimo V = 32,766V / 16383 = 2mV
DC = 180h /4 = 60h 20V / 2mV = 10000 = 10011100010000b
180h = 110000000b; 110000000b = 1100000 = 60h left justified: 1001_1100_0100_00xxb
DC  9 : 0 
x=0 1001_1100_0100_00xxb
PR2 = ( 3C0h / 4 ) - 1 = EFh DC %  1001_1100_0100_0000b
PR 2  1  4
40180h DC  9 : 0  9C70h
32% 
32DC
27/09/2017 ;DC = 133h EFh  1  4 377 27/09/2017
ADRESH = 9Ch 378
DC  9 : 0  133h ADRESL = 70h

63
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 63 – 2015S2P2T Questão 64 – 2015S2P2T
• Suponha que você possua um 14-bit A-D converter. • Suponha que você possua um 12-bit digital PWM.
• Este conversor possui VREF+ = 12V e VREF- = 4V. • Este PWM possui, como base de tempo, um 12-bit
• O A-D result register vale 0x2FFF. timer com um 12-bit period register.
• Determine a tensão aplicada. • Quando ocorre um match entre o timer e o period
• Utilize, no mínimo, sete casas decimais na resposta. 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
Níveis totais: 214 12-bit dutty-cycle register.
Intervalos: 214-1 = 0x3FFF (16383) • O period register vale 0xBFF.
Faixa de tensão: VREF+ – VREF- = 12V – 4V = 8V • O dutty-cycle register vale 0x900.
Intervalo quântico: 8V/0x3FFF
Tensão deslocada: 0x2FFF × 8V/0x3FFF = 5,9998779V(regra de três) • Determine o dutty-cycle percentual.
Tensão verdadeira: 5,9998779V + 4V = 9,9998779V Passos totais = period register + 1 = 0xC00 (3072)
Passos em 1 = dutty-cycle register = 0x900 (2304)
27/09/2017 379 27/09/2017 380
dutty-cycle = 0x900/0xC00 × 100% = 75% (regra de três)

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 65 – 2015S2P2T Questão 66 – 2015S2P2T
• Suponha que você possua um 7-bit Capture. • Suponha que você possua um 10-bit Serial
• Este Capture possui, como base de tempo, um 7-bit timer. Peripheral Interface.
• Na presença do evento escolhido, o valor do timer é copiado para o
• No início, o master buffer register vale 0x1B7 e o
7-bit capture register.
slave buffer register vale 0x305.
• Um outro registrador fornece o valor “N”, que indica a quantidade de
quebras de rampa ocorridas no intervalo entre os dois eventos. • A comunicação se dá a partir do most significant bit.
• Cada passo de contagem (T STEP) leva 5s. • Determine o valor do master shift register após três
• Na medição de um determinado intervalo, o valor do capture register passos de deslocamento (hex).
inicial é de 0x5D e o valor do capture register final é de 0x7A.
• N vale 2.
SLAVE MASTER
• Determine o tempo medido. Utilize o sufixo correto. 0x305 0x1B7
1100000101 0110110111
Passos por rampa: 0x80 1 1000001010 1101101111
N × 0x80 = 0x100 2 0000010101 1011011111
Passos = 0x7A-0x5D+0x100 = 0x11D (122-93+256=285) 3 0000101011 0110111110
27/09/2017 381 27/09/2017 382
Tempo = 0x11D × 5s = 1,425ms MASTER = 0x1BE

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 67 – 2015S2PAT Questão 68 – 2016S1P1T
• Calcule quanto tempo o programa leva para ser
executado quando a MCU opera a f OSC = 4MHz. • Uma 16-bit MCU possui program memory de 4M instruções.
0005 BCF 1TCY • O PC é dividido em PCL e PCH.
0006 BCF 1TCY
0007 CLRF 1TCY
• O PCL abrange os 16 bits menos significativos.
0008 MOVF 1TCY • Quantos bits tem PCH?
0009 MOVWF 1TCY
000A BSF 1TCY
000B MOVF 1TCY
000C MOVWF 1TCY
000D GOTO 2TCY 2x = 4M  x=22
000E BSF -
000F MOVF -
22bits – 16bits = 6 bits
0010 MOVWF -
0011 SLEEP 1TCY
Total: 11TCY.
fOSC = 4MHz
TOSC = 1/fOSC = 1/4MHz = 250ns
TCY = 4TOSC = 4250ns = 1s
27/09/2017 383 27/09/2017 384
t = 11TCY = 111s = 11s

64
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 69 – 2016S1P1T Questão 70 – 2016S1P2T – Opção 1
• PIC16F877 – Função capture usando, apenas, oito bits.
• Um contador possui prescaler ratio (1) de 1:4 e postscaler ratio • TMR1 prescaler ratio = 1:8.
(1) de 1:3. • TOSC=60ns.
• Compare prescaler ratio =1:1.
• Após o início da contagem, o primeiro sinal de time-out (t1) é • O contador de TMR1IF tem valor 5.
dado em t1 = 20ms. • Inicialmente, CCPRH(1) = 29h.
• Finalmente, CCPRH(2) = 67h.
• Determine o instante deste sinal de time-out (t2) quando se
• Determine t.
configura prescaler ratio (2) de 1:7 e postscaler ratio (2) de 1:5.
TOSC = 60ns
Tempo1: Passos × TCY × 4 × 3 = 20ms TCY = 4×60ns = 240ns
Tempo2: Passos × TCY × 7 × 5 = t2 TSTEP16bit = 8×240ns = 1,92 (passo de TMR1L)
t2 × Passos × TCY × 12 = Passos × TCY × 35 × 20ms TSTEP8bit = 28×1,92s = 491,52s (passo de TMR1H)
t2 × 12 = 35 × 20ms 1 rampa = 28 passos = 256 passos de TMR1H
t2 = 58,3ms 5 rampas = 5×256 passos = 1280 passos de TMR1H
CCPRH = 1280 + 67h - 29h = 1342 passos de TMR1H
27/09/2017 385
t27/09/2017 = 1342×491,52s = 659,6ms 386

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 70 – 2016S1P2T – Opção 2 Questão 71 – 2016S1P2T
• PIC16F877 – Função capture usando, apenas, oito bits.
• TMR1 prescaler ratio = 1:8. • Uma comunicação serial full-duplex lida com palavras
• TOSC=60ns. de 16 bits.
• Compare prescaler ratio =1:1.
• O contador de TMR1IF tem valor 5. • A comunicação opera por meio de um prescaler de 1:4.
• Inicialmente, CCPRH(1) = 29h. • O software em execução gasta 6 ciclos de instrução
• Finalmente, CCPRH(2) = 67h. para preparar a palavra para ser enviada e gasta 90
• Determine t.
ciclos de instrução para processar a palavra recebida.
CCPRH = (N28) + CCPRH(2) – CCPRH(1) • Os processadores operam a uma frequência de
CCPRH = (528) + 67h - 29h instrução de 5kHz.
CCPRH = 1280 + 103 - 41 • Determine a máxima frequência de comunicação.
CCPRH = 1342
TCY’s por passo: 8  28 = 2048 16 bits: 16×4TCY´s = 64TCY´s
TOSC’s por passo: 2048  4 = 8192 Ciclos: 64+6+90 = 160 TCY´s
TOSC’s = 8192  1342 = 10993664 f = 5kHz/160 = 31,25Hz
t = TOSC  TOSC’s = 60ns  10993664 = 659,6ms
27/09/2017 387 27/09/2017 388

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 72 – 2016S1P2T Questão 73 – 2016S1P2M
• PIC16F877 – Função PWM.
• Um teclado de 40 colunas e 25 linhas controla uma • <CCPxM3:CCPxM2>=11
MCU por meio das portas paralelas. • São usados três bits decisivos.
• Todas as combinações destes bits são usadas.
• É feita uma multiplexação temporal por linhas • Os bits não usados valem zero.
decodificadas. • A primeira combinação oferece um DC% de 0%.
• A MCU é operada por um oscilador de 8MHz. • A última combinação oferece um DC% de 100%.
• Com relação à quarta combinação:
• Cada etapa de multiplexação consome 15TCY´s. • Qual é a palavra hexadecimal relativa a DC<9:0>?
• Quantos bits de portas paralelas são usados pelo • Qual é a palavra hexadecimal relativa a CCPRxL?
teclado?
1º: 0000000000 0/7
• Qual a frequência de varredura do teclado completo? 2º: 0010000000 1/7
3º: 0100000000 2/7
40+25 = 65 bits de porta paralela 4º: 0110000000 3/7 42,86%
5º: 1000000000 4/7
25×15TCY´s = 375 TCY´s 6º: 1010000000 5/7
27/09/2017
4×375 TCY´s = 1500 TOSC´s 389
7º: 1100000000
27/09/2017
6/7 01_1000_0000 = 390
180h
f = 8MHz /1500 = 5,333kHz 8º: 1110000000 7/7 01100000 = 60h

65
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 74 – 2016S1P2M Questão 75 – 2016S2P1AM
• Um conversor A/D de 5 bits está configurado para VREF-(1) = 0V e VREF+(1) = 10V.
• Após a aplicação de uma determinada tensão de entrada, é obtida a palavra • Um contador prescaller é construído
ADRES(1)=07h.
com três flip-flop´s do tipo D.
• Foi verificado que esta entrada jamais assume valores abaixo de 2V e acima de
5V, e, por isso, o conversor foi configurado para VREF-(2) = 2V e VREF+(2) = 5V. • As saídas são Q2, Q1 e Q0.
• Determine o valor da palavra obtida ADRES(2). • O contador principal é sensível à borda
Combinações: 25=32 negativa (descida) do sinal de relógio,
Configuração 1: que é fornecido pelo prescaller.
VMIN(1) =10V/(32-1) = 0,32258 (não arredondar) • O contador prescaller conta de 000b a
VIN =07h×0,32258 = 2,25806 (não arredondar)
Configuração 2: 101b.
Cálculo de VIN* para VREF-(2)* = 0V: • Determine o prescaller ratio.
VREF+(2)* = 5V-2V  VREF+(2)* = 3V
VIN* = 2,25806 – 2V  VIN* = 0,25806V
3V 1Fh A contagem de 000b a 101b é de
0,25806V x
x=2,66667 0 a 5, seis passos de contagem.
27/09/2017 Arredondando para cima: 391 27/09/2017 O prescaller ratio é de 1:6. 392
ADRES(2)=03h

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 76 – 2016S2P1AM Questão 77 – 2016S2P1AM
• PIC16F877 – Em um processo de escrita na flash memory na condição de data
• PIC16F877 – Uma rotina de interrupção memory, é preciso acessar os SFR´s EECON1, EECON2, EEADR, EEADRH, EEDATA e
possui uma ocorrência da instrução CALL. 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
• O pedido de interrupção é efetuado e SFR, sendo que o SFR EECON2 sofre duas escritas, a saber, as palavras 0x55 e
atendido em um momento em que uma (e 0xAA.
apenas uma) instrução CALL foi • 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 é
previamente executada, sem que seu acionado por meio de BSF, iniciando a escrita da flash.
respectivo RETURN tenha sido executado. • Desconsiderando os demais detalhes do processo, quantas instruções este
• Quantos são os endereços livres no stack? programa usa?

EECON2: Dois acessos de duas instruções. 4 instruções.


O CALL na rotina de interrupção provoca um push.
EECON1: Um acesso de duas instruções e um acesso de uma
O CALL antes da interrupção provoca um push.
instrução. 3 instruções.
O atendimento da interrupção provoca um push. EEADR, EEADRH, EEDATA e EEDATH: Um acesso de duas
São três pushes e oito endereços no stack. instruções. 8 instruções.
8 – 3 = 5 endereços livres.
27/09/2017 393 27/09/2017
4+3+8=15 instruções.
394

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


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 • PIC16F877
25600 instruções, das quais 12,5% são do tipo 2TCY. • Timer 2.
• Considerando que f OSC = 10MHz, determine o tempo • PR2 = 7fh.
de execução do programa. • Prescaler Ratio = 1:1.
• TCY = 1s.
• Determine a frequência das rampas de TMR2 (TRAMP).
25600×0,125 = 3200 instruções 2TCY.
25600-3200 = 22400 instruções 1TCY.
3200 instruções 2TCY = 6400 TCY´s. Passos = PR2+1 = 128.
22400 + 6400 = 28800 TCY´s. TSTEP = TCY = 1s.
28800 × 4 = 115200 TOSC´s. TRAMP = passosTSTEP = 128s.
TOSC = 1/10MHz = 100ns. f RAMP = 1/TRAMP = 7,8125kHz.
27/09/2017115200 × 100ns = 11,52ms. 395 27/09/2017 396

66
27/09/2017

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 80 – 2016S2P2M Questão 81 – 2016S2P1AT
• Contadores digitais são aplicados quando os valores instantâneos da contagem
são usados.
• PIC16F877 • Uma MCU fictícia possui uma flash program memory interna, com15 bits de
endereço e 18 bits de opcode. Um programa utiliza 7432 opcodes.
• Sistema de controle realimentado, com malha fechada. • O criador do programa resolveu alocar a segunda metade desta memória para
• A palavra ADRES<9:0> é enviada para o CCPRx<9:0>. dados.
• O AD precisa ser configurado para o modo left justified. • Qual a capacidade desta flash data memory, em bytes? Usar k,M,G ou T, se
• ADRES<9:0> = 2A2h necessário.
• Qual o percentual de ocupação de toda a flash memory por parte do programa?
• Determine o valor de CCPRxL<7:0>.
215 = 32768 words
32768×18 = 589824 bits
2A2h = 10_1010_0010 = 1010_1000_10 589824/8 = 73728 bytes
CCPRxL<7:0> = 1010_1000 = A8h 73728/1024 = 72 kbytes
72/2 = 36 kbytes

27/09/2017 397 27/09/2017 7432/32768 = 0,226806640625 = 22,68% 398

6 RESP. QUEST. NUMÉRICAS 6 RESP. QUEST. NUMÉRICAS


Questão 82 – 2016S2P1AT Questão 83 – 2016S2P2T
• 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. • PIC16F877
• Um bit é usado na seleção do destino, entre acumulador e o próprio registrador. • Compare ,modo PWM invertido.
• Um bit é usado na seleção entre GPR´s e SFR´s, que existem em igual quantidade e
usam o mesmo address bus. • CCPRxH = 84h
• Os bits restantes são usados na seleção do GPR ou do SFR. • CCPRxL = 3Dh
• Há quatro bancos de GPR´s e quatro bancos de SFR´s.
• Não há bits irrelevantes no opcode. • Determine o dutty-cycle.
• Sabendo que existem 1024 SFR´s e 1024 GPR´s, determine o tamanho do opcode.

2 bits  família
5 bits  seleção da instrução
1 bit  destino 10000h  100%
1 bit  seleção entre GPR ou SFR 843Dh  x
4 bancos  eliminação de 2 bits de endereço x = 51,66%
1024 endereços  10 bits de endereço dutty-cycle = 100% - 51,66%
27/09/2017
10 – 2 = 8 bits de endereço 399 27/09/2017
dutty-cycle = 48,34% 400
2 + 5 + 1 + 1 + 8 = 17 bits

6 RESP. QUEST. NUMÉRICAS


Questão 84 – 2016S2P2T
• PIC16F877
• Conversor AD
• VREF+ = 0V
• VREF- = 5V
• AD result = 1F3h
• Determine VIN.

3FFh  5V
1F3h  VIN
VIN = 2,439V

27/09/2017 401

67

Você também pode gostar