16/4/2015
1.
2.
3.
4.
5.
6.
Parte 7
EXERCÍCIOS
16/4/2015
1
1
TESTES
RESPOSTAS DOS TESTES
QUESTÕES TEÓRICAS
RESPOSTAS DAS QUESTÕES TEÓRICAS
QUESTÕES NUMÉRICAS
RESPOSTAS DAS QUESTÕES NUMÉRICAS
16/4/2015
1
TESTES
2
TESTES
Teste 1
A sigla PIC®, da Microchip, significa:
( ) Program In-Chip
( ) Peripheral Interchange Component
( ) Programming Into Computer
( ) Programmable Interface Controller
( ) Programmer Internal Cappable
( ) Program Input Control
TESTES
16/4/2015
1
3
16/4/2015
1
TESTES
TESTES
Teste 2
A sigla IDE significa:
( ) Interface Development
( ) Interface Directive
( ) Integrated Development
( ) Integrated Directive
( ) Integrated Directive
( ) Interface Development
16/4/2015
4
Teste 3
A sigla LVP significa:
( ) Low Voltage Processing
( ) Low Voltage Programming
( ) Low Virtual Processing
( ) Light Virtual Processing
( ) Light Voltage Programming
( ) Light Virtual Programming
Environment
Export
Environment
Environment
Export
Export
5
16/4/2015
6
1
16/4/2015
1
1
TESTES
Teste 4
Teste 5
Qual a arquitetura da PIC16F877?
( ) Baseline
( ) Mid-Range
( ) Enhanced Mid
Mid-Range
Range
( ) PIC18
( ) PIC24H/E
( ) DsPIC
PIC16F877 – Nas instruções “GOTO k” e “CALL k”,
a palavra “k” tem tamanho, em bits:
( ) 07
( ) 08
( ) 09
( ) 11
( ) 13
( ) 14
16/4/2015
1
TESTES
7
16/4/2015
1
TESTES
8
TESTES
Teste 6
Teste 7
Qual instrução afeta o bit carry do Status Register?
( ) COMF
( ) INCF
( ) ADDWF
( ) ANDWF
( ) INCFSZ
( ) NOP
Qual instrução afeta o TOS?
( ) SWAPF
( ) CALL
( ) CLRW
( ) NOP
( ) BTFSC
( ) CLRWDT
16/4/2015
1
9
16/4/2015
1
TESTES
TESTES
Teste 8
Teste 9
Quanto às portas paralelas:
( ) São somente de entrada.
( ) São somente de saída.
( ) Cada palavra (A, B, C, D, E) pode ser configurada
como entrada ou saída.
( ) Cada bit pode ser configurado como entrada ou saída.
( ) Cada palavra (A, B, C, D, E) pode ser configurada.
como entrada, saída ou bidirecional.
( ) Cada bit pode ser configurado como entrada, saída ou
bidirecional.
16/4/2015
10
11
O comando Make do MPLAB™ serve para:
( ) Gerar o código de máquina.
( ) Gravar o programa no chip.
( ) Executar o progama no computador.
computador
( ) Executar o programa no chip.
( ) Ler o programa do chip.
( ) Reiniciar a execução do programa.
16/4/2015
12
2
16/4/2015
1
1
TESTES
Teste 10
Teste 11
Qual parâmetro não pertence ao princípio
de operação de uma entrada analógica?
( ) Bit rate
( ) Sampling rate
( ) Duty cycle
( ) VREF+
( ) VREF–
( ) Resolution
Qual instrução afeta o bit carry do Status Register?
( ) COMF
( ) INCF
( ) ADDWF
( ) ANDWF
( ) INCFSZ
( ) NOP
16/4/2015
2
TESTES
13
RESPOSTAS DOS TESTES
16/4/2015
2
14
RESPOSTAS DOS TESTES
Teste 1
A sigla PIC®, da Microchip, significa:
( ) Program In-Chip
( ) Peripheral Interchange Component
( ) Programming Into Computer
(X) Programmable Interface Controller
( ) Programmer Internal Cappable
( ) Program Input Control
RESPOSTAS
16/4/2015
2
15
RESPOSTAS DOS TESTES
16/4/2015
2
RESPOSTAS DOS TESTES
Teste 2
A sigla IDE significa:
( ) Interface Development
( ) Interface Directive
(X) Integrated Development
( ) Integrated Directive
( ) Integrated Directive
( ) Interface Development
16/4/2015
16
Teste 3
A sigla LVP significa:
( ) Low Voltage Processing
( ) Low Voltage Programming
( ) Low Virtual Processing
( ) Light Virtual Processing
(X) Light Voltage Programming
( ) Light Virtual Programming
Environment
Export
Environment
Environment
Export
Export
17
16/4/2015
18
3
16/4/2015
2
RESPOSTAS DOS TESTES
RESPOSTAS DOS TESTES
Teste 4
Teste 5
Qual a arquitetura da PIC16F877?
( ) Baseline
(X) Mid-Range
( ) Enhanced Mid
Mid-Range
Range
( ) PIC18
( ) PIC24H/E
( ) DsPIC
PIC16F877 – Nas instruções “GOTO k” e “CALL k”,
a palavra “k” tem tamanho, em bits:
( ) 07
( ) 08
( ) 09
(X) 11
( ) 13
( ) 14
16/4/2015
2
2
19
RESPOSTAS DOS TESTES
16/4/2015
2
20
RESPOSTAS DOS TESTES
Teste 6
Teste 7
Qual instrução afeta o bit carry do Status Register?
( ) COMF
( ) INCF
(X) ADDWF
( ) ANDWF
( ) INCFSZ
( ) NOP
Qual instrução afeta o TOS?
( ) SWAPF
(X) CALL
( ) CLRW
( ) NOP
( ) BTFSC
( ) CLRWDT
16/4/2015
2
21
RESPOSTAS DOS TESTES
16/4/2015
2
RESPOSTAS DOS TESTES
Teste 8
Teste 9
Quanto às portas paralelas:
( ) São somente de entrada.
( ) São somente de saída.
( ) Cada palavra (A, B, C, D, E) pode ser configurada
como entrada ou saída.
(X) Cada bit pode ser configurado como entrada ou saída.
( ) Cada palavra (A, B, C, D, E) pode ser configurada.
como entrada, saída ou bidirecional.
( ) Cada bit pode ser configurado como entrada, saída ou
bidirecional.
16/4/2015
22
23
O comando Make do MPLAB™ serve para:
(X) Gerar o código de máquina.
( ) Gravar o programa no chip.
( ) Executar o progama no computador
computador.
( ) Executar o programa no chip.
( ) Ler o programa do chip.
( ) Reiniciar a execução do programa.
16/4/2015
24
4
16/4/2015
2
RESPOSTAS DOS TESTES
RESPOSTAS DOS TESTES
Teste 10
Teste 11
Qual parâmetro não pertence ao princípio
de operação de uma entrada analógica?
( ) Bit rate
( ) Sampling rate
(X) Duty cycle
( ) VREF+
( ) VREF–
( ) Resolution
Qual instrução afeta o bit carry do Status Register?
( ) COMF
( ) INCF
(X) ADDWF
( ) ANDWF
( ) INCFSZ
( ) NOP
16/4/2015
3
2
25
16/4/2015
3
QUESTÕES TEÓRICAS
26
QUESTÕES TEÓRICAS
Questão 1
PIC16F877 – Na segunda coluna, coloque as
letras associadas da primeira coluna (biunívoco).
(A) EEPROM
( ) Data memory
(B) Flash
( ) File register
(C) ROM
( ) LIFO
(D) SRAM
( ) Program Memory
(E) Stack
( ) ULA
QUESTÕES
16/4/2015
3
27
16/4/2015
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 2
Questão 3
Ligue os pontos da coluna da direita com os pontos da coluna da
esquerda. Biunívoco.
ROM   Uma das palavras de entrada é selecionada e colocada na palavra de saída.
COUNT   A palavra de saída é definida por meio do bit de entrada escolhido.
DEMUX   A palavra lida é a última a ter sido escrita.
ENC
  Uma das palavras de saída é selecionada para receber a palavra de entrada.
REG
  Uma palavra de dados de saída, uma palavra de entrada de endereço.
RAM
  A palavra de saída é o seu valor anterior sofrido de alguma operação.
DEC
  Conexão de uma palavra de saída de um bloco para uma entrada de outro bloco.
BUS
  Um bit de saída selecionado por vez por meio da palavra de entrada.
STACK   Uma palavra de dados de entrada, uma de saída, uma de endereço.
MUX
  A palavra de entrada é copiada para a palavra de saída, onde é mantida.
Na segunda coluna, coloque as letras associadas da
primeira coluna (biunívoco).
(A) P
( ) Chip com especialidade matemática
(B) MCU
( ) Gravador de PIC®
(C) DSP
( ) Incorporação de periféricos
(D) ULA
( ) Módulo executor de operações
(E) ICD
( ) Processamento genérico
16/4/2015
28
29
16/4/2015
30
5
16/4/2015
3
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 4
Questão 5
Ligue os pontos da coluna da direita com os pontos da coluna da
esquerda. Biunívoco. PIC16F877-20/P.
Preencha, entre parênteses, “C” caso o módulo
pertença ao núcleo (core) ou “P” se for um periférico.
1
2
3
4
5
5
7
8
9
10
11
13
14
Tamanho da palavra PCH.
Quant. de bits de endereço de um registrador da SRAM.
Quant. de páginas da file registers.
Quant. de bits usados na seleção de páginas da program memory.
Quant.
Quant de bits usados no endereçamento do destino em instruções de desvio.
desvio
Quant. de bits usados no endereç. do file em instruções lógicas e aritméticas.
Tamanho das palavras da program memory.
Bits do conversor A/D da PIC® mid-range architecture.
Quant. de bits usados na seleção do destiny em instr. lóg. e arit. do tipo WF.
Quant. de bits usados no endereç. de uma instrução na program memory.
Tamanho das palavras do file registers.
Quant. de bits usados na seleção de um bit em operações sobre bits.
16/4/2015
3
( ) WDT
watchdog timer
( ) TMR0
timer 0
( ) TMR1
timer 1
( ) TMR2
timer 2
( ) A/D converter
( ) CCPx
capture-compare-PWM
( ) ALU arithmetic logic unit
( ) EEPROM
memory
( ) FLASH
memory
( ) USART
serial
( ) STACK
pilha
( ) SFR special function registers
( ) GPRgeneral purpose registers
( ) WREG
work register
( ) ICD in-circuit debugger
16/4/2015
( ) LVP low-voltage programming
31
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 6
Questão 7
• Usando um demultiplexador 12 de 4 bits e um
multiplexador 21 de 4 bits, construa um circuito que
realiza a operação LR ‐ Left Bit Rotation de 4 bits.
bits
• Se a entrada “A” for zero, não há rotação.
• Se a entrada “A” for um, ocorre a rotação.
• Explique o que é um PUSH e um POP.
• Cite uma instrução que realize cada
uma dessas ações.
• PIC16F877‐20/P.
16/4/2015
3
33
16/4/2015
3
QUESTÕES TEÓRICAS
34
QUESTÕES TEÓRICAS
Questão 8
Questão 9
• O Program Counter possui 13 bits (bit0 a bit12) e é
referenciado pelos registradores PCL (low) e PCH (high).
• O PCL é acessível, porém o PCH não.
• O registrador PCLATH possui 5 bits (bit0 a bit4) e é
acessível; ele é copiado para o PCH nas instruções de
desvio ou quando se acessa o PCL.
• No caso de desvio (CALL e GOTO), a instrução recebe,
como argumento, uma constante de 11 bits (bit0 a bit10).
• Quais são os bits de PCLATH enviados ao PCH nas
instruções CALL e GOTO?
Explique o erro no programa abaixo:
#include <p16f877.inc>
org 0x5
#define
ondecadê 0x20
BCF STATUS, RP1
BCF STATUS, RP0
MOVF 0xBE, W
MOVWFondecadê
#undefine ondecadê
end
16/4/2015
35
32
16/4/2015
36
6
16/4/2015
3
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 10
Questão 11
• Algumas instruções enquadram‐se na categoria 2TCY.
• O que é 2TCY?
• A instrução RETURN requer que uma outra instrução
tenha sido executada em algum momento anterior.
• Que instrução é essa? Explique qual problema
acontece se essa condição não for respeitada.
16/4/2015
3
37
16/4/2015
3
QUESTÕES TEÓRICAS
38
QUESTÕES TEÓRICAS
Questão 12
Questão 13
• Explique por que motivo o decaimento da frequência
de relógio (clock) não faz com que o WDT demore
mais para gerar um reset ou um wake‐up?
• Explique a função dos pinos VREF+ e VREF‐.
16/4/2015
3
39
16/4/2015
3
QUESTÕES TEÓRICAS
40
QUESTÕES TEÓRICAS
Questão 14
Questão 15
• Explique porque, para um determinado programa
construído em linguagem de montagem (assembler)
para um controlador/processador RISC, o tamanho
do programa montado (em bits) não difere muito do
tamanho do programa montado por meio de um
assembler para um controlador/processador CISC
com similar capacidade de processamento.
• Utilize um MUX para transformar várias ROM
2k  8bits em uma ROM 8k  8bits.
• Empregue a letra “A”
A para nomear todos os bits
usados para o endereçamento, começando
pelo índice 0 no bit menos significativo.
16/4/2015
41
16/4/2015
42
7
16/4/2015
3
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 16
Questão 17
• Quantas linhas de opcode ou
disassembly possui o programa abaixo?
__CONFIG _WDT_ON & _XT_OSC & _LVP_OFF & _BODEN_OFF
#include
<p16f877.inc>
org
0x05
;Vetor de Reset
#define
marqualrélio
0x45
;dado 1
#d fi
#define
operador
d
0 A0
0xA0
;dado
d d 2
BCF
STATUS, RP1
BSF
STATUS, RP0
MOVLW
marqualrélio
MOVWF
operador
#undefine ondecadê
#undefine operador
end
• Explique o motivo que justifica o uso de uma
memória flash e o motivo que justifica o uso de uma
EEPROM como parte integrante da PIC16F877-20/P.
16/4/2015
3
de
43
16/4/2015
3
QUESTÕES TEÓRICAS
44
QUESTÕES TEÓRICAS
Questão 18
Questão 19
• PIC16F877 – Diga quais são as instruções do tipo 2TCY.
• PIC16F877 – Diga qual instrução (incluindo argumento),
usando a sintaxe do MPASM, equivale a dois NOP’s seguidos.
16/4/2015
3
45
16/4/2015
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 20
Questão 21
• 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.
• Usar as tabelas de montagem e de SFR’s.
16/4/2015
; Programa da P2
#include
org
#define
#define
;Verifica se está
BSF
BSF
BTFSC
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
#undefine
#undefine
end
<p16f877.inc>
0x5
ondecadê
0x05
;endereço da EEPROM
marqualrélio
0xca
;dado para a EEPROM
em processo de escrita
STATUS, RP1
STATUS, RP0
EECON1, WR
$-1
ondecadê
;W = ondecadê1
EEADR
;SRAM(EEADR) = W
marqualrélio
;W = marqualrélio
EEDATA
;SRAM(EEDATA) = W
ondecadê
marqualrélio
46
• Qual a instrução (e argumentos)
do opcode 3800h?
• Qual o opcode da instrução
BTFSC 0xc, 0x1?
• Usar as tabelas de montagem.
47
16/4/2015
48
8
16/4/2015
3
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 22
Questão 23
• Um sistema de controle de uma
máquina recebe uma informação
analógica de um sensor, aplica
uma função de controle por meio
da MCU e gera um sinal
controlado para a máquina.
• 10 bits são usados como palavra
na função de controle.
• Qual é o bloco da PIC® que
recebe a informação vinda do
sensor e qual o bloco que envia
a informação para o atuador?
16/4/2015
3
• O que é um WDT time-out?
• Para que ele serve?
• O que ocorre com a MCU após o WDT time-out?
49
3
QUESTÕES TEÓRICAS
50
QUESTÕES TEÓRICAS
Questão 24
Questão 25
• O que é um contador prescaler?
• Para que serve?
• Como ele pode ser construído?
• Explique qual a função de um buffer em
uma entrada digital.
• Explique qual função especial tem um buffer
Schimitt Trigger em uma entrada digital.
16/4/2015
3
16/4/2015
51
16/4/2015
3
QUESTÕES TEÓRICAS
52
QUESTÕES TEÓRICAS
Questão 26
Questão 27
•
•
•
• Desenhe o formato de onda típico de um oscilador RC.
RC
16/4/2015
53
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
#_include
org0x0
#define
#define
#define
CLRF
MOVLW
MOVWF
CLRF
SUBLW
MOVWF
#undefine
#undefine
#undefine
16/4/2015
end.
P3
<p16f887.inc>
marqualrélio
operador
ondecadê
ondecadê
marqualrélio
ondecadê
ondecadê+1
operador
ondecadê+1
marqualrélio
operador
ondecade
0x45
0xae
0xA0
54
9
16/4/2015
3
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 28
Questão 29
• Explique qual a função de um resistor de pull-up.
• Como um transistor pode agir como uma
resistência ativa?
• Como um transistor pode operar como um
resistor de pull-up habilitável?
• PIC16F877 – Explique o significado do
valor zero e do valor um no bit EEIF e
como esses valores são alterados.
16/4/2015
3
55
3
QUESTÕES TEÓRICAS
QUESTÕES TEÓRICAS
Questão 31
• PIC16F877 – Explique o que
acontece em uma escrita em INDF.
• PIC16F877 – Explique o que
acontece em uma escrita em PCL.
57
16/4/2015
3
QUESTÕES TEÓRICAS
16/4/2015
56
Questão 30
16/4/2015
3
16/4/2015
58
QUESTÕES TEÓRICAS
Questão 32
Questão 33
• PIC16F877 – Que evento
impede a MCU de funcionar se
TOSC for exageradamente grade?
• PIC16F877.
• Todos
os
periféricos
são
registrados, isto é, a comunicação
(dado, endereço, controle) é feita
por meio de registradores da
SRAM (SFR - file registers).
• Explique
o
motivo
dessas
registrações.
59
16/4/2015
60
10
16/4/2015
3
3
QUESTÕES TEÓRICAS
Questão 34
Questão 35
• PIC16F877.
• A instrução ANDLF seria bastante
útil se existisse, mas a arquitetura
do core não permite.
• Esta instrução faria a operação
AND bit-a-bit entre uma literal, de 8
bits, e um registrador endereçado
por 7 bits.
• Explique por que o core não permite
a implementação desta instrução.
• PIC16F877 – Cite os tipos de
elemento
encontrados
na
linguagem de montagem pura,
pura isto
é, sem as extensões ou diretivas
empregadas pelo MPASM™.
16/4/2015
3
61
62
QUESTÕES TEÓRICAS
Questão 36
Questão 37
• PIC16F877 – Diga em que
situação é interessante realizar
um programa (assembly, na PIC®)
de escrita na program memory.
• Cite uma vantagem da geração de
sinal de clock (TOSC) por meio de
um circuito RC e uma vantagem
da geração por cristal (XTAL).
16/4/2015
63
16/4/2015
3
QUESTÕES TEÓRICAS
16/4/2015
16/4/2015
3
QUESTÕES TEÓRICAS
3
QUESTÕES TEÓRICAS
64
QUESTÕES TEÓRICAS
Questão 38
Questão 39
• PIC16F877 – Cite as diversas
aplicações
para
os
argumentos
numéricos
em
uma
instrução,
especificando a quantidade de bits
usada em cada uma destas aplicações,
bem como o seu significado.
• PIC16F877.
• Foi comentado, nas aulas de
laboratório, que, um endereço
não usado na program memory
é gravado com 3FFFh.
• Também foi comentado que
este valor corresponde a uma
instrução que realiza uma
determinada ação.
• Que ação é esta?
65
16/4/2015
66
11
16/4/2015
3
3
QUESTÕES TEÓRICAS
Questão 40
Questão 41
• PIC16F877.
• Diga em que situação é
interessante usar a instrução
CALL ao invés de GOTO.
• PIC16F877 – Explique por que, no
módulo CCPx no modo PWM, se
DC<9:0> é maior ou igual a
(PR2+1)4, então o valor de DC é
irrelevante,
pois
o
dutty-cycle
percentual é sempre de 100%
qualquer que seja o valor de DC<9:0>
que satisfaça a condição citada.
16/4/2015
3
67
16/4/2015
3
QUESTÕES TEÓRICAS
68
QUESTÕES TEÓRICAS
Questão 42
Questão 43
• PIC16F877.
• No laboratório, vimos que, para o
teclado bottom switch, usamos uma
rotina que realiza uma trava do tipo
master-slave.
• Sabendo que a tecla solta é lida como
“1” e, apertada, como “0”, explique o
que faz o programa na etapa master,
o que faz o programa na etapa slave,
e qual o objetivo do uso dessa rotina
de travamento master-slave..
• PIC16F877.
• Explique para que serve o oscilator start-up timer.
16/4/2015
3
QUESTÕES TEÓRICAS
69
16/4/2015
70
4 RESP. DAS QUEST. TEÓRICAS
QUESTÕES TEÓRICAS
Questão 44
• PIC16F877.
• Sobre as instruções RETURN e RETFIE:
Quando se usa uma e quando se usa a
outra? Qual a diferença entre elas?
16/4/2015
RESPOSTAS DAS
QUESTÕES TEÓRICAS
71
16/4/2015
72
12
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 1
Questão 2
PIC16F877 – Na segunda coluna, coloque as
letras associadas da primeira coluna (biunívoco).
(A) EEPROM
(A) Data memory
(B) Flash
(D) File register
(C) ROM
(E) LIFO
(D) SRAM
(B) Program Memory
(E) Stack
(C) ULA
Na segunda coluna, coloque as letras associadas da
primeira coluna (biunívoco).
(A) P
(C) Chip com especialidade matemática
(B) MCU
(E) Gravador de PIC®
(C) DSP
(B) Incorporação de periféricos
(D) ULA
(D) Módulo executor de operações
(E) ICD
(A) Processamento genérico
16/4/2015
73
4 RESP. DAS QUEST. TEÓRICAS
16/4/2015
74
4 RESP. DAS QUEST. TEÓRICAS
Questão 3
Questão 4
Ligue os pontos da coluna da direita com os pontos da coluna da esquerda.
Biunívoco.
Ligue os pontos da coluna da direita com os pontos da coluna da esquerda.
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.
MUX
Uma das palavras de entrada é selecionada e colocada na palavra de saída.
DEMUX Uma das palavras de saída é selecionada para receber a palavra de
entrada.
REG
A palavra de entrada é copiada para a palavra de saída, onde é mantida.
COUNT A palavra de saída é o seu valor anterior sofrido de alguma operação.
ROM
Uma palavra de dados de saída, uma palavra de entrada de endereço.
RAM
Uma palavra de dados de entrada, uma palavra de dados de saída, uma
palavra de entrada de endereço.
STACK A palavra lida é a última a ter sido escrita.
BUS
Conexão de uma palavra de saída de um bloco para uma palavra de
entrada de outro bloco.
16/4/2015
75
4 RESP. DAS QUEST. TEÓRICAS
1
2
3
4
5
7
8
9
10
11
13
14
Quant. de bits usados na seleção do destiny em instruções lóg. e arit. do tipo WF.
Quant. de bits usados na seleção de páginas da program memory.
Quant. de bits usados na seleção de um bit em operações sobre bits.
Quant. de páginas da file registers.
Tamanho da palavra PCH.
Quant. de bits usados no endereçamento do file em instruções lógicas e aritméticas.
Tamanho das palavras do file registers.
Quant. de bits de endereço de um registrador da SRAM.
Bits do conversor A/D da PIC® mid-range architecture.
Quant. de bits usados no endereçamento do destino em instruções de desvio.
Quant. de bits usados no endereçamento de uma instrução na program memory.
Tamanho das palavras da program memory.
16/4/2015
76
4 RESP. DAS QUEST. TEÓRICAS
Questão 5
Questão 6
Preencha, entre parênteses, “C” caso o módulo
pertença ao núcleo (core) ou “P” se for um periférico.
• Usando um demultiplexador 12 de 4 bits e um
multiplexador 21 de 4 bits, construa um circuito que
realiza a operação LR ‐ Left Bit Rotation de 4 bits.
• Se a entrada “A” for zero, não há rotação.
• Se a entrada “A” for um, ocorre a rotação.
(C) WDT
(P) TMR0
(P) TMR1
(P) TMR2
(P) A/D
(P) CCPx
(C) ALU
(P) EEPROM
(P) FLASH
(P) USART
(C) STACK
(C,P) SFR
(P) GPR
(C) WREG
(P) ICD
(P) LVP
16/4/2015
watchdog timer
timer 0
timer 1
timer 2
converter
capture-compare-PWM
arithmetic logic unit
memory
memory
serial
pilha
special function registers*
general purpose registers
work register
in-circuit debugger
low-voltage programming
*Alguns SFR’s controlam
elementos do core, e, por
isso, fazem parte do core;
C e P estão corretos.
77
16/4/2015
78
13
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 7
Questão 8
• Explique o que é um PUSH e um POP.
• Cite uma instrução que realize cada
uma dessas ações.
• PIC16F877‐20/P.
• O Program Counter possui 13 bits (bit0 a bit12) e é
referenciado pelos registradores PCL (low) e PCH (high).
• O PCL é acessível, porém o PCH não.
• O registrador PCLATH possui 5 bits (bit0 a bit4) e é
acessível; ele é copiado para o PCH nas instruções de
d
desvio
i ou quando
d se acessa o PCL.
PCL
• No caso de desvio (CALL e GOTO), a instrução recebe,
como argumento, uma constante de 11 bits (bit0 a bit10).
• Quais são os bits de PCLATH enviados ao PCH nas
instruções CALL e GOTO?
• PUSH: Colocação do endereço da
próxima instrução (PC+1) no TOS
(topo da pilha) antes de efetuar o
desvio. Usado em CALL.
• POP: Obtenção do endereço da
próxima instrução a partir do TOS
(topo da pilha). Usado em
RETURN, por exemplo.
16/4/2015
Bits 3 e 4.
79
16/4/2015
80
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 9
Questão 10
Explique o erro no programa abaixo:
#include <p16f877.inc>
org 0x5
#define
ondecadê 0x20
BCF
STATUS, RP1
BCF
STATUS, RP0
MOVF
0xBE, W
MOVWF
ondecadê
#undefine ondecadê
end
• Algumas instruções enquadram‐se na categoria 2TCY.
• O que é 2TCY?
• É a categoria de instruções que requerem, na execução,
dois ciclos de instrução (two instruction‐cycle period).
• Cada ciclo de instrução usa 4 ciclos de clock.
• O termo genérico “ciclo” se refere, por padrão, ao
relógio, pois é o período que serve de referência para os
demais temporizadores.
File somente pode ter 7 bits de endereço direto na instrução.
16/4/2015
81
16/4/2015
82
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 11
Questão 12
• A instrução RETURN requer que uma outra instrução
tenha sido executada em algum momento anterior.
• Que instrução é essa? Explique qual problema
acontece se essa condição não for respeitada.
• Explique por que motivo o decaimento da frequência
de relógio (clock) não faz com que o WDT demore
mais para gerar um reset ou um wake‐up?
•
•
•
•
Todo RETURN está associado a um CALL.
O CALL faz o push no stack, o RETURN faz o pop.
Para cada push, deve haver um pop.
Se houver um RETURN sem CALL, haverá um pop
sem push, o que provoca um stack underflow.
16/4/2015
• Para segurança, o WDT possui
relógio próprio, configurável.
• O oscilador do WDT é do tipo RC.
• O WDT prossegue a contagem
mesmo durante o modo sleep.
83
16/4/2015
84
14
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 13
•
•
•
•
•
•
•
Questão 14
• Explique a função dos pinos VREF+ e VREF‐.
São as tensões de referência para o conversor AD.
Todo conversor AD requer uma referência para tensões
mínima (ADRES=000h) e máxima (ADRES=3FFh).
Por default, esses valores são VSS e VDD, que assumem níveis
TTL ((0V e 5V,, respectivamente,
p
, comentados na última aula).
)
Caso sejam necessários valores diferentes, tais níveis de
tensão devem ser aplicados às entradas VREF‐ e VREF+,
respectivamente.
É preciso respeitar a faixa de tensões tolerada pelo chip (ver
datasheet).
Se essas entradas forem usadas, duas entradas analógicas
são perdidas.
Todas
entradas analógicas (8 no máximo) usam as mesmas
16/4/2015
85
tensões de referência.
4 RESP. DAS QUEST. TEÓRICAS
•
Explique porque, para um determinado programa construído em linguagem de montagem
(assembler) para um controlador/processador RISC, o tamanho do programa montado
(em bits) não difere muito do tamanho do programa montado por meio de um assembler
para um controlador/processador CISC com similar capacidade de processamento.
•
Em arquitetura RISC, o opcode é pequeno, pois há poucas
instruções a serem selecionadas, poucos bits são usados nesta
seleção. Por outro lado, como há poucas instruções, são necessários
muitos passos de instrução para a realização de tarefas simples.
simples O
programa é formado por muitas instruções que usam poucos bits.
• Em arquitetura CISC, o opcode é grande, pois há muitas instruções a
serem selecionadas, muitos bits são usados nesta seleção. Por outro
lado, como há muitas instruções, são necessários poucos passos de
instrução para a realização de tarefas sofisticadas. O programa é
formado por poucas instruções que usam muitos bits.
• O tamanho do programa montado é dado pela sua quantidade de
bits. A quantidade de bits é dada pela quantidade de instruções
multiplicada pelo tamanho do opcode das instruções. Comparando
RISC
com CISC, um fator é grande e o outro pequeno, de modo que86
16/4/2015
não há muita diferença no produto dos fatores.
4 RESP. DAS QUEST. TEÓRICAS
Questão 15
Questão 16
•
• Utilize um MUX para transformar várias ROM
2k  8bits em uma ROM 8k  8bits.
• Empregue a letra “A” para nomear todos os bits
usados para o endereçamento, começando
pelo índice 0 no bit menos significativo.
16/4/2015
87
Explique o motivo que justifica o uso de uma memória flash e o motivo que
justifica o uso de uma EEPROM como parte integrante da PIC16F877-20/P.
• A flash possui uma densidade maior do que a EEPROM, sendo
indicada para o armazenamento do programa, cujos requisitos
de capacidade de armazenamento podem ser grandes. A
memória densa ocupa pouco espaço no chip, reduzindo seu
custo de fabricação. Como não é comum a gravação da
memória de programa durante a execução do programa, sua
morosidade só é um problema durante a programação do chip.
• A EEPROM possui uma rapidez de acesso bem maior do que a
flash, principalmente na gravação, indicada quando o
programa precisa realizar constantes gravações em uma
memória não volátil. Como a capacidade de armazenamento
para esta finalidade não precisa ser grande, a baixa densidade
16/4/2015
88
da EEPROM não é um problema.
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 17
Questão 18
• Quantas linhas de opcode ou
disassembly possui o programa abaixo?
de
__CONFIG _WDT_ON & _XT_OSC & _LVP_OFF & _BODEN_OFF
#include
<p16f877.inc>
org
0x05
;Vetor de Reset
#define
marqualrélio
0x45
;dado 1
#d fi
#define
operador
d
0 A0
0xA0
;dado
d d 2
BCF
STATUS, RP1
BSF
STATUS, RP0
MOVLW
marqualrélio
MOVWF
operador
#undefine ondecadê
#undefine operador
end
• PIC16F877 – Diga quais são as instruções do tipo 2TCY.
BTFSC, BTFSS, DECFSZ, INCFSZ,
CALL, GOTO, RETURN, RETLW, RETFIE
4 linhas
16/4/2015
89
16/4/2015
90
15
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 19
Questão 20
•
• PIC16F877 – Diga qual instrução (incluindo argumento),
usando a sintaxe do MPASM, equivale a dois NOP’s seguidos.
•
Especifique a linha da program memory.
; Programa da P2
#include
<p16f877.inc>
org
0x5
#define
ondecadê
0x05 ;endereço da EEPROM
#define
marqualrélio 0xca ;dado para a EEPROM
;Verifica se está em processo de escrita
BSF
STATUS, RP1
BSF
STATUS, RP0
BTFSC
EECON1, WR
GOTO
$-1
MOVLW
ondecadê
;W = ondecadê1
MOVWF
EEADR
;SRAM(EEADR) = W
MOVLW
marqualrélio
;W = marqualrélio
MOVWF
EEDATA
;SRAM(EEDATA) = W
#undefine ondecadê
#undefine marqualrélio
end
GOTO $+1
16/4/2015
•
•
Escreva o código disassembly para o
programa abaixo, sabendo que:
RP1=STATUS<6>,RP0=STATUS<5>,
WR=EECON1<1>.
91
0005
0006
0007
0008
0009
000A
000B
000C
BSF
BSF
BTFSC
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
0x3, 0x6
0x3, 0x5
0xc, 0x1
0x7
0x5
0xd
0xca
0xc
16/4/2015
92
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 21
Questão 22
• Um sistema de controle de uma máquina
recebe uma informação analógica de um
sensor, aplica uma função de controle por
meio da MCU e gera um sinal controlado
para a máquina.
• 10 bits são usados como palavra na
função de controle.
• Qual é o bloco da PIC® que recebe a
informação vinda do sensor e qual o bloco
que envia a informação para o atuador?
• Qual a instrução (e argumentos)
do opcode 3800h?
• Qual o opcode da instrução
BTFSC 0xc, 0x1?
• Usar as tabelas de montagem.
IORLW 0x0
188C
• Recebimento da informação do sensor: Conversor A/D.
• Envio da informação para o atuador: PWM.
16/4/2015
93
16/4/2015
94
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 23
Questão 24
• O que é um WDT time-out?
• Para que ele serve?
• O que ocorre com a MCU após o WDT time-out?
• O que é um contador prescaler?
• Para que serve?
• Como ele pode ser construído?
• É o acréscimo de bits menos significativos a outro
contador, tornando-o mais lento.
• Um contador que tem por função tornar mais lento o
passo de contagem de outro contador.
• Pode ser construído com FF’s, ligando o bit de saída
mais significativo à entrada de relógio do outro contador.
• É a finalização da temporização WDT.
• Serve para evitar travamentos.
• Após o WDT time-out, ocorre um WDT reset.
16/4/2015
95
16/4/2015
96
16
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 25
Questão 26
• Explique qual a função de um buffer em
uma entrada digital.
• Explique qual função especial tem um buffer
Schimitt Trigger em uma entrada digital.
• Desenhe o formato de onda típico de um oscilador RC.
• O buffer serve para ajustar os níveis de tensão e corrente
aplicados à entrada para os níveis aceitos pelo circuito
digital, bem como fazer o casamento de impedâncias.
• O buffer Schimitt Trigger apresenta uma histerese que
filtra oscilações de alta frequência na entrada,
protegendo o circuito contra superaquecimento, disparos
indesejados e outros problemas.
16/4/2015
97
4 RESP. DAS QUEST. TEÓRICAS
16/4/2015
98
4 RESP. DAS QUEST. TEÓRICAS
Questão 27
Questão 28
• 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).
• Explique qual a função de um resistor de pull-up.
• Como um transistor pode agir como uma
resistência ativa?
• Como um transistor pode operar como um
resistor de pull-up habilitável?
; Programa da
#_include
org
#define
#define
#define
CLRF
MOVLW
MOVWF
CLRF
SUBLW
MOVWF
#undefine
#undefine
#undefine
16/4/2015
end.
P3
<p16f887.inc>
0x0
marqualrélio
operador
ondecadê
ondecadê
marqualrélio
ondecadê
ondecadê+1
operador
ondecadê+1
marqualrélio
operador
ondecade
• O resistor de pull-up impede o surgimento de uma alta
impedância em um nó do circuito, levando o estado de alta
impedância para o nível alto.
• Um transistor pode agir como uma resistência ativa quando
RDS ou RCE é usado como um resistor.
• A resistência ativa pode agir como um pull-up habilitável
por meio de VGS ou VBE, que alteram o valor de RDS ou RCE.
0x45
0xae
0xA0
99
16/4/2015
100
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 29
Questão 30
• PIC16F877 – Explique o significado do
valor zero e do valor um no bit EEIF e
como esses valores são alterados.
• PIC16F877 – Explique o que
acontece em uma escrita em INDF.
• Zero: Não houve uma escrita bem sucedida na
EEPROM ou na FLASH.
• Um: Houve uma escrita bem sucedida na
EEPROM ou na FLASH.
• De zero para um: Feito automaticamente pela
PIC®, não pode ser feito pelo usuário.
• De um para zero: Feito pelo usuário, para que se
possa identificar uma nova escrita bem sucedida.
16/4/2015
1. O conteúdo de FSR é copiado nos oito bits
menos significativos do address bus da SRAM.
2. O bit IRP é usado como bit mais significativo
do address bus da SRAM.
3. A escrita é feita sobre o registrador identificado
por meio destes nove bits.
101
16/4/2015
102
17
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 31
Questão 32
• 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
cujo endereço é dado pelo novo valor do PC.
16/4/2015
• Resposta 1: WDT reset.
• Resposta 2: /TO.
103
4 RESP. DAS QUEST. TEÓRICAS
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
Questão 33
Questão 34
•
•
• PIC16F877.
• Todos
os
periféricos
são
registrados, isto é, a comunicação
(dado, endereço, controle) é feita
por meio de registradores da
SRAM (SFR - file registers).
registers)
• Explique
o
motivo
dessas
registrações.
•
•
• Porque o data-bus é usado para múltiplas
finalidades e não pode ficar paralisado,
guardando a informação desejada.
16/4/2015
105
4 RESP. DAS QUEST. TEÓRICAS
PIC16F877.
A instrução ANDLF seria bastante útil se existisse, mas a arquitetura
do core não permite.
Esta instrução faria a operação AND bit-a-bit entre uma literal, de 8
bits, e um registrador endereçado por 7 bits.
Explique por que o core não permite a implementação desta instrução.
• Resposta 1: Como pode ser visto na figura abaixo, o
opcode possui, apenas, 14 bits, não cabem os 8 bits
da literal e os 7 bits do endereço.
• Resposta 2: Em Q2, etapa de leitura de argumentos,
somente um (L ou F) pode ser lido, não ambos.
• Resposta 3: Se todas as operações lógicas e
aritméticas tivessem a opção LF, os 14 bits de
opcode não seriam suficientes para mapear todas as
16/4/2015
106
opções, seriam necessários 15 bits.
4 RESP. DAS QUEST. TEÓRICAS
Questão 35
Questão 36
• PIC16F877 – Cite os tipos de
elemento
encontrados
na
linguagem de montagem pura, isto
é, sem as extensões ou diretivas
empregadas pelo MPASM™.
• PIC16F877 – Diga em que
situação é interessante realizar
um programa (assembly, na PIC®)
de escrita na program memory.
• Resposta 1: Quando a EEPROM não é
grande o suficiente para gravar todos os
dados não voláteis.
• Resposta 2: Quando a EEPROM já está
cheia.
• Resposta 3: Quando a informação excede 256
palavras.
• Resposta 4: Quando se deseja gravar
caracteres ASCII, de 7 bits, dois por endereço.
• Resposta 1: Mnemônicos (de instrução)
e operandos (numéricos).
• Resposta 2: Mnemônicos (de instrução)
e argumentos (numéricos).
• Resposta 3: Mnemônicos (de instrução)
e parâmetros (numéricos).
16/4/2015
104
107
16/4/2015
108
18
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 37
Questão 38
• Cite uma vantagem da geração de
sinal de clock (TOSC) por meio de
um circuito RC e uma vantagem
da geração por cristal (XTAL).
• PIC16F877 – Cite as diversas
aplicações
para
os
argumentos
numéricos
em
uma
instrução,
especificando a quantidade de bits
usada em cada uma destas aplicações,
bem como o seu significado.
• Vantagem do RC: Baixo custo,
rapidez na iniciação.
• Vantagem do XTAL: Alta
confiabilidade da frequência obtida.
16/4/2015
•
•
•
•
•
109
Destiny:
Endereço do bit:
Endereço do file:
Literal:
Endereço do opcode:
1-bit
3-bit
7-bit
8-bit
11-bit
16/4/2015
110
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 39
Questão 40
• PIC16F877
• Foi comentado, nas aulas de
laboratório, que, um endereço
não usado na program memory
é gravado com 3FFFh.
• Também foi comentado que
este valor corresponde a uma
instrução que realiza uma
determinada ação.
• Que ação é esta?
• PIC16F877.
• Diga em que situação é
interessante usar a instrução
CALL ao invés de GOTO.
• Quando há uma sub-rotina chamada em
dois ou mais pontos do programa principal.
W-1
16/4/2015
111
4 RESP. DAS QUEST. TEÓRICAS
16/4/2015
112
4 RESP. DAS QUEST. TEÓRICAS
Questão 41
Questão 42
• PIC16F877 – Explique por que, no módulo
CCPx no modo PWM, se DC<9:0> é maior
ou igual a (PR2+1)4, então o valor de DC é
irrelevante, pois o dutty-cycle percentual é
sempre de 100% qualquer que seja o valor
de DC<9:0> que satisfaça a condição citada.
citada
• PIC16F877.
• No laboratório, vimos que, para o teclado bottom switch,
usamos uma rotina que realiza uma trava do tipo master-slave.
• Sabendo que a tecla solta é lida como “1” e, apertada, como
“0”, explique o que faz o programa na etapa master, o que faz
o programa na etapa slave,
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
timer 2 de dez bits jamais atinge o valor de DC de dez bits,
então o PWM jamais vai para zero.
• Resposta 2: O DC% não pode superar 100%, ou seja, qualquer
DC<9:0> que geraria um DC% maior do que 100% acaba
gerando,
apenas, 100%, sendo o seu valor, então, irrelevante.
16/4/2015
113
• Etapa master: Aguarda o usuário apertar a tecla. Gera
um loop que só termina quando o valor lido é zero.
• Etapa slave: Aguarda o usuário soltar a tecla. Gera
um loop que só termina quando o valor lido é um.
• Travamento: Evitar que oscilações de alta frequência
sejam interpretadas como múltiplos acionamentos. 114
16/4/2015
19
16/4/2015
4 RESP. DAS QUEST. TEÓRICAS
4 RESP. DAS QUEST. TEÓRICAS
Questão 43
Questão 44
• PIC16F877.
• Explique para que serve o oscilator start-up timer.
• PIC16F877.
• Sobre as instruções RETURN e RETFIE:
Quando se usa uma e quando se usa a
outra? Qual a diferença entre elas?
RETURN: Retorna ao próximo ponto a partir de onde o
desvio foi realizado. Desvio realizado por CALL. No CALL,
é feito TOS=PC+1. No RETURN, é realizado PC=TOS.
RETFIE: Semelhante a RETURN, porém também é
realizado GIE=1. Usado após a execução da rotina de
interrupção. Ao aceitar a interrupção, as interrupções são
desativadas, e, ao concluir a execução da rotina de
interrupção, as interrupções são reabilitadas.
Serve para aguardar até que a frequência
do oscilador a cristal se estabilize.
16/4/2015
115
4 RESP. DAS QUEST. TEÓRICAS
16/4/2015
5
116
QUESTÕES NUMÉRICAS
Questão 1
PIC16F877 – Quais os valores do work
register , dos bits C (carry),
(carry) DC (digit carry)
e Z (zero) após a operação 3Eh + 7Bh?
QUESTÕES NUMÉRICAS
16/4/2015
5
117
5
QUESTÕES NUMÉRICAS
16/4/2015
16/4/2015
118
QUESTÕES NUMÉRICAS
Questão 2
Questão 3
• Um controlador utiliza Instruções
de 18 bits e tem capacidade de
armazenamento de 16k instruções.
• Determine o tamanho da memória
de programa em bytes. Utilize o
prefixo correto (k, M, G ou T).
• Um processador de 64 bits possui
barramento de dados de 16 bits,
multiplexados temporalmente.
• Os bits de seleção do MUX são
controlados por um contador
síncrono crescente.
• Quantos são os bits de seleção?
119
16/4/2015
120
20
16/4/2015
5
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 4
Questão 5
• 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.
• Estes
E t bits
bit são
ã decodificados,
d
difi d
e cada
d saída
íd do
d decodificador
d
difi d
aciona uma configuração de potência do climatizador,
mantendo a temperatura interna sempre a 22 graus.
• O chip do decodificador possui encapsulamento DIP,
arquitetura full‐custom e possui, também, entradas para 5V,
0V, CS e OE.
• Quantos pinos, no mínimo, este chip possui?
• Um controlador utiliza Instruções de 20 bits.
• Nas instruções que fazem acesso aos
registros, a instrução emprega 5 bits na
codificação da instrução, 3 em opções gerais
e o restante no endereçamento de memória.
• Sabendo que o tamanho da memória é de
8k palavras, em quantos bancos esta
memória precisa ser dividida?
16/4/2015
5
121
16/4/2015
5
QUESTÕES NUMÉRICAS
122
QUESTÕES NUMÉRICAS
Questão 6
Questão 7
• Deseja-se construir um controlador para quatro display’s
de 8 segmentos, figura acima, por meio de uma
• porta paralela de quatro bits de um microcontrolador.
• A multiplexação temporal é feita por meio da seleção dos
segmentos, acionando-se apenas um por vez, para todos
os quatro display’s, segundo a palavra de quatro bits
fornecida pela porta paralela.
• A multiplexação temporal é feita por meio de um contador
síncrono crescente com FF JK de borda negativa com
controles de preset e clear em lógica negativa.
• Quantos são os FF’s necessários para a realização desta
16/4/2015
123
multiplexação?
• PWM por PIC®.
• O ajuste do duty-cycle é feito por 10 bits e a
temporização por Timer 2, de 8 bits.
• Se este contador conta até FFh, e o duty-cycle máximo é
1023, qual o valor da palavra de 10 bits (binária) para um
• duty-cycle de 40%?
5
16/4/2015
5
QUESTÕES NUMÉRICAS
124
QUESTÕES NUMÉRICAS
Questão 8
Questão 9
PIC®,
• No controle PWM por
o ajuste do período PWM é
dado por PR2 (Timer 2 Period Register), de 8 bits.
• O valor máximo de PR2 (FFh) indica que o ajuste do dutycycle pode variar de 0 a 1023, sinalizando que a máxima
• resolução PWM é de 10 bits.
• Para
P
valores
l
menores de
d PR2 (8 bits),
bit ) o ajuste
j t do
d dutyd t
cycle (10 bits) terá valor máximo inferior a 1023,
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.
16/4/2015
125
• Um contador, em uma MCU, conta de 00h
até 45h com um prescaler de 1:16, em 32ms.
• Em quanto tempo este contador conta até D3h
com um prescaler de 1:4?
16/4/2015
126
21
16/4/2015
5
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 10
•
•
•
•
•
•
•
•
Questão 11
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
significativo, na segunda, são lidas y3 e y4 sendo “8” a tecla do bit menos
significativo.
Somente uma tecla é lida por vez. A lógica é negativa.
Os bits são lidos em uma porta de comunicação paralela configurada como entrada.
Os valores digitados são gravados nos registradores SRAM a partir da posição 20h.
A gravação ocorre somente se houver uma tecla apertada.
O usuário digita os números da data de hoje (somente números, vide topo da folha),
da esquerda para a direita.
Preencha a figura abaixo com os valores corretos.
16/4/2015
5
• Uma DSP recebe informações
vindas de um sensor de viscosidade.
• O conversor fornece palavras de 12
bits obtidas a cada segundo e as
grava em uma memória de 1kbyte.
• Quando a memória está cheia, ela é
apagada automaticamente e o
processo é retomado.
• Qual é o período de preenchimento
desta memória, em minutos?
127
16/4/2015
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 12
Questão 13
• 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
uma palavra de 8 bits que sinaliza quebra de linha.
• No início do arquivo, são acrescentados 16 bits para
o cabeçalho do arquivo.
• Qual o tamanho do arquivo, em bytes?
• Use o prefixo necessário.
16/4/2015
5
128
•
•
•
•
129
PIC16F877‐20/P.
Uma instrução BCF é feita sobre um file cujo valor é 64h.
O parâmetro “b” é 101b.
Qual o valor final para o file, na forma hexadecimal?
16/4/2015
5
QUESTÕES NUMÉRICAS
130
QUESTÕES NUMÉRICAS
Questão 14
Questão 15
Um banco de memórias é formado por 4 chips idênticos
e com faixas de endereços contíguas, sem intervalos.
O último endereço global (no barramento de
endereços) é 5FFFFh.
O primeiro chip possui a primeira palavra com endereço
global 00000h e o último chip possui a última palavra
com endereço global 5FFFFh.
Qual é o endereço global (no barramento de
endereços) da última palavra do segundo chip?
• O TRM2 pode ser usado como um gerador de
onda
dente‐de‐serra
com
frequência
configurável por meio do registrador PR2.
• Supondo que a frequência mínima é de
19,5kHz , qual deve ser o valor de PR2 para
que esta frequência seja de 35kHz?
• Usar arredondamento segundo norma ABNT.
16/4/2015
131
16/4/2015
132
22
16/4/2015
5
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 16
Questão 17
• Uma ULA de um processador hipotético trabalha com palavras
de 16 bits, e usa operações lógicas bit‐a‐bit, sobre palavras,
sobre bit em palavras e aritméticas, de uma e duas entradas.
• A ULA fornece quatro bits de sinalização, obtidos com o
resultado da última operação realizada.
• Uma entrada de dados vem do acumulador,
acumulador a outra entrada é
multiplexada com a outra entrada de dados, vinda do data bus
e a palavra de decodificação da instrução, selecionados por
meio de um bit.
• Quantos são, ao todo, os bits usados pela ULA em um
determinado instante?
• PIC16F877-20/P.
• No endereço 18C3h da program memory, é
executado um comando CALL.
• As próximas 5 instruções são todas do tipo
1TCY, após as quais é realizado um RETURN.
• Qual é o valor do PCL, na forma hexadecimal?
16/4/2015
5
133
16/4/2015
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 18
Questão 19
• Um banco de memórias é formado por uma
memória de 1,5k palavras e outra memória de
2,75k palavras, selecionadas por meio de um bit.
• Determine as faixas de endereços proibidos,
proibidos por
meio do primeiro e último valor da faixa, na
forma hexadecimal, usando todos os bits do
barramento de endereço e todos os nibbles.
16/4/2015
5
134
135
• 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).
• Em uma dessas famílias,
famílias o opcode é formado pelos bits
identificadores da família, pelos bits identificadores do
registrador escolhido usando endereçamento direto, e pelos
bits identificadores da operação dentro desta família, que
são 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.
• 16/4/2015
Quantos são os bits de opcode para este microcontrolador?
136
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 20
Questão 21
• Um pendrive possui uma capacidade de
armazenamento de 1,5MB comerciais.
• Seu barramento de endereço possui a quantidade
mínima de bits suficiente para endereçar todas as
palavras.
• Determine a faixa de endereços proibidos, por meio
do primeiro e último valor, na forma hexadecimal.
• Uma ULA de 4 bits de 32 funções de uma ou duas
entradas é implementada em uma PROM GA ANDOR, na qual a matriz de entrada consiste do
decodificador completo de todos os bits de entrada.
• Neste circuito, não é feita a transformação tudo
NAND ou tudo NOR.
• Não há bits de saída de sinalização nem de
entrada de controle.
• Diga quantas são as portas NOT, AND e OR, e
quantas entradas as portas AND e OR possuem.
16/4/2015
137
16/4/2015
138
23
16/4/2015
5
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 22
Questão 23
• 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
endereço inicial.
• Uma segunda memória de 256 bytes deve ser instalada.
Para isso,
isso um dos bits do barramento de endereço é
usado na seleção do chip (entrada CS), 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, o menos significativo.
• Qual o endereço (bin e hex) da primeira posição do chip
de 256 bytes no barramento?
• Uma memória de programa de um processador
hipotético é dividida em oito páginas e usa
opcode de 20 bits.
• Se cada página utiliza 8 bits de endereçamento,
determine o tamanho da memória em bytes (se
necessário, utilize o prefixo adequado).
16/4/2015
5
139
16/4/2015
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 24
Questão 25
• 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.
• O bit ADFM ((A/D Result Format Select
Bit) (ADCON1<7>) foi configurado para
right justified (ADFM=1).
• A fim de aumentar a rapidez do
processamento, descarta-se ADRESH
usando, apenas, ADRESL.
• Qual o máximo valor de tensão que este
conversor A/D pode receber?
16/4/2015
5
•
•
•
•
141
PIC16F877 – Módulo CCP1, função PWM.
PR2 = 30h; DC = 34h.
Qual a máxima resolução do PWM, em bits?
Qual o valor do dutty-cycle, em porcentagem?
16/4/2015
5
QUESTÕES NUMÉRICAS
142
QUESTÕES NUMÉRICAS
Questão 26
Questão 27
• PIC16F877.
• A frequência de operação da MCU é de
16MHz.
• O TMR1 prescaler está configurado para 1:8.
• TMR1 está configurado para ser um
temporizador, T1CON<1>, TMR1CS=0.
• No
presente
momento,
TMR1L=3Bh,
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?
16/4/2015
140
• PIC16F877.
• Sabendo que PR2=FFh, dutty-cycle = 1/5
aproximadamente, determine os valores de CCPR1L
e de CCP1CON<5:4> na forma hexadecimal.
143
16/4/2015
144
24
16/4/2015
5
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 28
Questão 29
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,
Option Reg<5> T0CS=0.
Option_Reg<5>,
T0CS=0
• No presente momento, TMR0 acabou de ser reiniciado.
• As interrupções estão habilitadas.
• Em quanto tempo, após o presente momento, será
acionada a interrupção de overflow de TMR0 TMR0IF?
• PIC16F877.
• Sabendo que VREF
REF+=5V, VREF
REF-=0V, VAN=3V,
left justified, determine os valores de ADRESH
e de ADRESL na forma hexadecimal.
•
•
•
•
16/4/2015
5
145
16/4/2015
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 30
Questão 31
• PIC16F877 – Identifique os endereços dos registradores
de uso geral envolvidos no programa abaixo, na forma
hexadecimal, bem como seus respectivos valores após
a execução do programa, na forma hexadecimal.
; Programa da P3
#include
org
#define
#define
#define
#define
#define
#define
BSF
BCF
MOVLW
MOVWF
ADDLW
MOVWF
IORLW
MOVWF
#undefine
#undefine
#undefine
#undefine
#undefine
16/4/2015 #undefine
end
5
<p16f877.inc>
0x5
dado1
0x1
dado2
0x2
dado3
0x4
ondecadê1
0x31
ondecadê2
0x32
ondecadê3
0x33
STATUS,RP1
STATUS,RP0
dado1
ondecadê1
dado2
ondecadê2
dado3
ondecadê3
dado1
dado2
dado3
ondecadê1
ondecadê2
ondecadê3
• PIC16F877 – Sabendo que a
SRAM possui 9 bits de endereço,
que o banco 2 possui 16 SFR’s
localizados
nas
primeiras
posições, qual é o endereço
completo (9 bits)(hexadecimal)
do primeiro GPR do banco 2?
147
16/4/2015
5
QUESTÕES NUMÉRICAS
16/4/2015
146
148
QUESTÕES NUMÉRICAS
Questão 32
Questão 33
• PIC16F877 – Sabendo que
PCLATH é acessável nos quatro
bancos, e que seu endereço de 7
bits é 0001010b, determine
todos
os
seus
endereços
completos (9 bits)(hexadecimal).
• Um temporizador de 6 bits leva 5s
para dar um passo de contagem.
• Se o prescaler ratio é de 1:2 e o
postscaler ratio é de 1:4, quanto
tempo, após o início da contagem,
ocorre um time-out?
149
16/4/2015
150
25
16/4/2015
5
5
QUESTÕES NUMÉRICAS
Questão 34
Questão 35
• PIC16F877.
• Após uma conversão A/D em right justified,
ADRESH = 02h e ADRESL = 59h.
59h
• Quais os valores desses registradores em
left justified (hexadecimal)?
• Um suposto modelo de PIC® midrange usa, apenas, um bit de EEADRH.
• Qual é o tamanho da program
memory, quanto à capacidade de
armazenamento de instruções?
16/4/2015
5
151
152
QUESTÕES NUMÉRICAS
Questão 36
Questão 37
• PIC16F877.
• Em um circuito de comparações
sucessivas, cada um dos bits é
gerado em um ciclo separado.
• Sabendo que FOSC=16MHz e que as
instruções de movimentação são
1TCY, calcule o tempo gasto em uma
conversão A/D juntamente com a
cópia dos SRF’s do conversor A/D
para GPR’s.
• Usar ADCLOCK = FOSC/2 (reset default).
• PIC16F877.
• Abaixo, o esquema de montagem de
algumas
instruções
lógicas
e
aritméticas.
• O GPR acessado é 190h.
• A gravação é feita sobre este mesmo
GPR.
• A instrução INCF possui, como
nibble de seleção, 1010b.
• Determine o opcode completo para
esta instrução na forma hexadecimal.
16/4/2015
153
16/4/2015
5
QUESTÕES NUMÉRICAS
16/4/2015
16/4/2015
5
QUESTÕES NUMÉRICAS
5
QUESTÕES NUMÉRICAS
154
QUESTÕES NUMÉRICAS
Questão 38
Questão 39
• PIC®.
• Um suposto modelo de PIC® mid-range
possui um EEADRH de, apenas, um bit.
• Supondo que este bit seja usado como
parte do endereço para acesso da
program memory, quantas instruções
esta
program
memory
pode
armazenar?
• PIC16F877
–
Sabendo
que
fOSC=16MHz,
=16MHz
quanto
tempo
uma
instrução 2TCY leva para ser executada?
155
16/4/2015
156
26
16/4/2015
5
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 40
Questão 41
• PIC16F877.
• Determine os valor de CCPRxL e
CCPRxH (hex) para que, no modo
compare trigger special event,
event a
frequência da solicitação de
CCPxIF seja de 500Hz a um fOSC
= 8MHz e um prescaler de 1:2.
16/4/2015
5
157
5
QUESTÕES NUMÉRICAS
Questão 43
• PIC16F877.
• Conversor A/D no modo left
justified, VREF+ = 5V, VREF- =
0V, aplicados 3V.
• Determine o valor de ADRESH
(hex) após a conversão.
• PIC16F877.
• Shift Register Slave = 94h,
depois o Buffer Register
Master recebe 3Bh.
3Bh
• Determine o valor do Shift
Register Master (hex) após
2 shifts.
159
16/4/2015
16/4/2015
5
QUESTÕES NUMÉRICAS
160
QUESTÕES NUMÉRICAS
Questão 44
Questão 45
• PIC16F877.
• Você precisa de um duttycycle
percentual
de,
exatamente,
40%
no
módulo CCPx.
• Você deseja usar, apenas,
oito bits e a mínima
frequência.
• Determine o valor do PR2
(hex) e do DC<9:2> (hex).
• PIC16F877.
• No conversor A/D, usando o método
das comparações sucessivas, o bit mais
significativo é o primeiro a ser obtido.
• Sabendo que ADCLOCK = TCY8, fOSC =
5MHz, left justified, determine quanto
tempo, após o início da conversão,
ADRESL leva para ser escrito.
161
158
QUESTÕES NUMÉRICAS
Questão 42
16/4/2015
5
16/4/2015
• Um teclado especial possui 32
teclas formando uma matriz de
4 linhas e 8 colunas.
• Linhas
e
colunas
são
codificados a fim de economizar
fios e bits de comunicação.
• O problema disso é que
somente uma tecla pode ser
lida por vez, requerendo uma
multiplexação temporal.
• Quantos bits de porta paralela
são necessários para realizar a
determinação da tecla?
16/4/2015
162
27
16/4/2015
5
5
QUESTÕES NUMÉRICAS
Questão 46
Questão 47
• PIC16F877.
• SPI™: Prescaler = 1:16, fOSC = 4,096MHz.
• Determine a máxima frequência de
escritas sobre SSPBUF master permitida.
• PIC16F877.
• TCY = 1s; TMR1 prescaler = 1:1; Capture
prescaler ratio = 1:1.
• A medição de tempo começa exatamente
em um instante em que TMR1 = 0000h.
0000h
• O tempo medido foi de 700ms.
• Determine quantas contagens completas
ocorreram em TMR1 dentro desta
medição..
16/4/2015
5
QUESTÕES NUMÉRICAS
163
16/4/2015
5
QUESTÕES NUMÉRICAS
QUESTÕES NUMÉRICAS
Questão 48
Questão 49
• Certo modelo de microcontrolador possui uma SRAM (file
registers) de 840 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 de instruções.
instruções
• Nas instruções de acesso à SRAM, quatro bits adicionais
são usados na identificação da instrução propriamente dita.
• Um registrador especial possui os bits RPN (register
paging), N{0,1,2,...}.
• Quantos bits são necessários para a seleção de bancos do
file registers?
• PIC16F877.
• O PC está na posição 032Fh.
• Você deseja saltar 500 posições
sem usar CALL nem GOTO.
• Determine
os
valores
do
PCLATH e do PCL (hex).
16/4/2015
164
165
4 RESP. DAS QUEST. TEÓRICAS
16/4/2015
6
166
RESP. QUEST. NUMÉRICAS
Questão 1
PIC16F877 – Quais os valores do work
register , dos bits C (carry), DC (digit carry)
e Z (zero) após a operação 3Eh + 7Bh?
RESPOSTAS DAS
QUESTÕES NUMÉRICAS
16/4/2015
W=B9h C=0 DC=1 Z=0
C
Como
o resultado
lt d é menor do
d que o valor
l
máximo FFh, então C=0.
Como o resultado não é nulo, então não é zero, o
bit indicativo de zero deve ser desabilitado, Z=0.
Como Eh + Bh é maior do que Fh, então ocorre
carry entre os nibbles; DC=1.
167
16/4/2015
168
28
16/4/2015
6
RESP. QUEST. NUMÉRICAS
6
RESP. QUEST. NUMÉRICAS
Questão 2
Questão 3
• Um controlador utiliza Instruções
de 18 bits e tem capacidade de
armazenamento de 16k instruções.
• Determine o tamanho da memória
de programa em bytes. Utilize o
prefixo correto (k,
(k M,
M G ou T).
T)
(16×1024)instruções × 18bits/instrução = 294912
294912bits / 8
= 36864
36864bytes/1024
= 36
• Um processador de 64 bits possui
barramento de dados de 16 bits,
multiplexados temporalmente.
• Os bits de seleção do MUX são
controlados por um contador
síncrono crescente.
• Quantos são os bits de seleção?
bits
bytes
kbytes
16/4/2015
6
64bits / 16bits = 4 partes
2n = 4
n = 2 bits
169
RESP. QUEST. NUMÉRICAS
16/4/2015
6
RESP. QUEST. NUMÉRICAS
Questão 4
Questão 5
•
•
• Um controlador utiliza Instruções de 20 bits.
• Nas instruções que fazem acesso aos
registros, a instrução emprega 5 bits na
codificação da instrução, 3 em opções gerais
e o restante no endereçamento de memória.
• Sabendo que o tamanho da memória é de
8k palavras, em quantos bancos esta
memória precisa ser dividida?
20-(5+3)
=12 bits de endereço por banco.
212
= 4096 posições por banco.
4096 / 1024 = 4k posições por banco.
Tamanho total = 8k posições.
16/4/2015 (8k)posições / (4k)posições/banco = 2 bancos.
6
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.
Estes bits são decodificados, e cada saída do decodificador aciona uma
configuração de potência do climatizador, mantendo a temperatura interna
sempre a 22 graus.
O chip do decodificador possui encapsulamento DIP,
DIP arquitetura full‐custom e
possui, também, entradas para 5V, 0V, CS e OE.
Quantos pinos, no mínimo, este chip possui?
•
•
•
171
RESP. QUEST. NUMÉRICAS
Valor mínimo: 10 graus; valor máximo: 39 graus; diferença: 39‐10 = 29 graus.
Posições de temperatura: 29 + 1 = 30
30 posições: 5 bits de endereçamento (nem todas combinações são usadas).
Decoder: 5 bits de entrada codificada, 30 bits de saída decodificada, 4 bits auxiliares.
Total: 5 + 30 + 4 = 39 pinos.
DIP: Dual in‐line package – Quantidade par de pinos.
Pinos:
39 + 1 = 40 pinos.
16/4/2015
172
6
RESP. QUEST. NUMÉRICAS
Questão 6
•
•
•
•
•
Questão 7
Deseja-se construir um controlador para quatro display’s de 8 segmentos, figura
acima, por meio de uma
porta paralela de quatro bits de um microcontrolador.
A multiplexação temporal é feita por meio da seleção dos segmentos,
acionando-se
acionando
se apenas um por vez, para todos os quatro display
display’s,
s, segundo a
palavra de quatro bits fornecida pela porta paralela.
A multiplexação temporal é feita por meio de um contador síncrono crescente
com FF JK de borda negativa com controles de preset e clear em lógica
negativa.
Quantos são os FF’s necessários para a realização desta multiplexação?
16/4/2015
8 segmentos por display.
1 estágio para cada segmento.
Contador de 8 estágios.
Três bits.
Três FF’s.
170
173
• PWM por PIC®.
• O ajuste do duty-cycle é feito por 10 bits e a
temporização por Timer 2, de 8 bits.
• Se este contador conta até FFh, e o duty-cycle máximo é
1023, qual o valor da palavra de 10 bits (binária) para um
• duty-cycle de 40%?
100%  1023  1


 40%  x  1 
100%  1024 
 40%  x  1 


x  1  409,6
16/4/2015
Valor inteiro mais próximo: 410.
Último valor da faixa: 409.
Forma binária: 110011001b.
A palavra é de 10 bits.
Forma binária: 0110011001b.
174
29
16/4/2015
6
RESP. QUEST. NUMÉRICAS
6
RESP. QUEST. NUMÉRICAS
Questão 8
•
•
•
•
•
•
•
Questão 9
No controle PWM por PIC®, o ajuste do período PWM é
dado por PR2 (Timer 2 Period Register), de 8 bits.
O valor máximo de PR2 (FFh) indica que o ajuste do dutycycle pode variar de 0 a 1023, sinalizando que a máxima
resolução PWM é de 10 bits.
) o ajuste
j
do dutyy
Para valores menores de PR2 ((8 bits),
cycle (10 bits) terá valor máximo inferior a 1023,
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.
 FFh  1  3FF  1


 3Fh  1  x  1 
 255  1  1023  1


 63  1  x  1 
 256  1024 


 64  x  1 
x  1  256
x  255
8 bits
16/4/2015
6
• Um contador, em uma MCU, conta de 00h
até 45h com um prescaler de 1:16, em 32ms.
• Em quanto tempo este contador conta até D3h
com um prescaler de 1:4?
•
Com prescaler de 1:16, seus passos são 16
vezes mais lentos do que o dos ciclos de
instrução.
Com prescaler de 1:4, seus passos são 4 vezes
mais lentos do que o dos ciclos de instrução.
Na alteração de 1:16 para 1:4, o contador
torna‐se 4 vezes mais rápido.
Com 1:16, ele atinge 45h em 32m.
Com 1:4, ele atinge 45h em 432m = 128ms.
Para determinar o tempo que ele leva para
atingir D3h, basta fazer a regra de três.
16/4/2015
•
•
•
•
•
175
RESP. QUEST. NUMÉRICAS
6
•
•
•
•
•
•
16/4/2015
6
FEh
7Fh
FDh
FDh
FBh
FEh
FDh
FBh
0xFE
0x7F
0xFD
0xFD
0xFB
0xFE
0xFD
0xFB
•
•
•
•
8 bits: 1 byte;
y ;
12 bits: 1 p
palavra;12
; bits: 1 byte
y e meio;;
3 bytes: 2 palavras;
1 kbyte: 1024 bytes;
1 kbyte/3 = 1024/3 = 341,3... bytes
É preciso arredondar para baixo, pois, para cima, superará a
capacidade de memória.
1 kbyte/3 = 341 bytes
São 341 conjuntos de 3 bytes na memória de 1k byte.
Cada conjunto de 3 bytes armazena 2 palavras.
São, então, 2341 = 682 palavras.
Uma palavra é gravada por segundo.
São necessários 682 segundos para gravar as 682 palavras.
Período = 682s/60 = 11,37 minutos.
16/4/2015
254
127
253
253
251
254
253
251
177
RESP. QUEST. NUMÉRICAS
Uma DSP recebe informações vindas de um sensor de viscosidade.
O conversor fornece palavras de 12 bits obtidas a cada segundo e
as grava em uma memória de 1kbyte.
Quando a memória está cheia, ela é apagada automaticamente e o
processo é retomado.
Qual é o período de preenchimento desta memória, em minutos?
6
•
•
•
•
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 uma palavra de 8 bits que
sinaliza quebra de linha.
No início do arquivo, são acrescentados 16 bits para o cabeçalho do arquivo.
Qual o tamanho do arquivo, em bytes?
Use o prefixo necessário.
342  301 = 102942 pontos.
2 bits por ponto.
Tamanho = 2  102942 = 205884 bits.
Tamanho = 205884 bits / 8 = 25735,5 bytes.
Quebra de linha: 301  1 byte = 301 bytes.
Cabeçalho: 16 bits /8 = 2 bytes.
Total: 25735,5 bytes + 301 bytes + 2 bytes = 26038,5 bytes.
É preciso arredondar para cima, pois, para baixo, faltarão bits no arquivo.
Total = 26039 bytes.
Total = 26039 bytes / 1024 = 25,429 kbytes.
16/4/2015
179
178
RESP. QUEST. NUMÉRICAS
Questão 13
Questão 12
•
176
Questão 11
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
significativo, na segunda, são lidas y3 e y4 sendo “8” a tecla do bit menos significativo.
Somente uma tecla é lida por vez. A lógica é negativa.
Os bits são lidos em uma porta de comunicação paralela configurada como entrada.
Os valores digitados são gravados nos registradores SRAM a partir da posição 20h.
A gravação ocorre somente se houver uma tecla apertada.
O usuário digita os números da data de hoje (somente números, vide topo da folha),
da esquerda para a direita.
direita
Preencha a figura abaixo com os valores corretos.
Data: 07/11/2012
Sequência: 0–7–1–1–2–0–1–2
0
11111110b
254d
7
01111111b
127d
1
11111101b
253d
1
11111101b
253d
2
11111011b
251d
0
11111110b
254d
1
11111101b
253d
2
11111011b
251d
t  391ms
RESP. QUEST. NUMÉRICAS
Questão 10
•
•
 45h  128ms 
 D3h  t 


 69  128ms 


 211  t 
•
•
•
•
PIC16F877‐20/P.
Uma instrução BCF é feita sobre um file cujo valor é 64h.
O parâmetro “b” é 101b.
Qual o valor final para o file, na forma hexadecimal?
64h = 0110 0100 b
101b = 5d
O bit 5 sofrerá um clear.
7654 3210
0100 0100
0100 0100 b = 44h
16/4/2015
180
30
16/4/2015
6
RESP. QUEST. NUMÉRICAS
6
RESP. QUEST. NUMÉRICAS
Questão 14
Questão 15
Um banco de memórias é formado por 4 chips idênticos
e com faixas de endereços contíguas, sem intervalos.
O último endereço global (no barramento de
endereços) é 5FFFFh.
O primeiro chip possui a primeira palavra com endereço
global 00000h e o último chip possui a última palavra
com endereço global 5FFFFh.
Qual é o endereço global (no barramento de
endereços) da última palavra do segundo chip?
5FFFFh
= 393215d
Tamanho = 393215 + 1
= 393216
Tamanho do chip: 393216 / 4 = 98304
2 chips: 98304  2
= 196608
Última posição: 196608-1
= 196607
16/4/2015
181
196607d
= 2FFFFh
6
RESP. QUEST. NUMÉRICAS
•
O TRM2 pode ser usado como um gerador de onda dente‐de‐serra
com frequência configurável por meio do registrador PR2.
• Supondo que a frequência mínima é de 19,5kHz , qual deve ser o
valor de PR2 para que esta frequência seja de 35kHz?
• Usar arredondamento segundo norma ABNT.
Como não se falou em prescaler nem postscaler, esses valores não são
alterados, são os mesmos para 19,5kHz e para 35kHz. Altera-se, apenas, o PR2.
É mais conveniente lidar
lidar-se
se com períodos ao invés de frequências.
fMIN = 19,5kHz

TMÁX = 51,28s.

T2 = 28,57s.
f2 = 35kHz
TMR2 conta de 00h até o valor de PR2.
A quantidade de passos de contagem de TMR2 é PR2 + 1.
Para PR2+1 = 1, TMR2 tem 1 passo
 TMÍN.
Para PR2+1 = 256, TMR2 tem 256 passos  TMÁX = 51,28s.
Para PR2+1 = X, TMR2 tem X passos  TMÁX = 28,57s.
Regra de três:
256

51,28
X

28,57
X = 142,6;
PR2+1 = 142,6; PR2 = 141,6;
16/4/2015
182
Arredondando para o inteiro mais próximo: PR2 = 142d ou PR2 = 8Eh.
6
RESP. QUEST. NUMÉRICAS
Questão 16
•
•
•
•
Questão 17
Uma ULA de um processador hipotético trabalha com palavras de 16 bits, e
usa operações lógicas bit‐a‐bit, sobre palavras, sobre bit em palavras e
aritméticas, de uma e duas entradas.
A ULA fornece quatro bits de sinalização, obtidos com o resultado da última
operação realizada.
Uma entrada de dados vem do acumulador, a outra entrada é multiplexada
com a outra entrada de dados, vinda do data bus e a palavra de
decodificação da instrução,
instrução selecionados por meio de um bit.
bit
Quantos são, ao todo, os bits usados pela ULA em um determinado instante?
Os bits de dado de saída do MUX são ligados a uma das entradas da ULA, de modo
que não importa quantas são as entradas do MUX, nem os seus bits de seleção.
Palavra de dado: 16 bits
Palavras de dado: 3 (duas entradas e uma saída)
Bits de dado: 3  16 = 48
Bits de sinalização: 4
Bis da ULA: 48 + 4 = 52
16/4/2015
6
• PIC16F877-20/P.
• No endereço 18C3h da program memory, é
executado um comando CALL.
• As próximas 5 instruções são todas do tipo
1TCY, após as quais é realizado um RETURN.
• Q
Qual é o valor do PCL,, na forma hexadecimal?
• Entre a instrução CALL e o RETURN, nenhuma instrução 2TCY
foi executada, isto quer dizer que não foi executada nenhuma
instrução que fizesse PUSH ou POP, o conteúdo da TOS não
foi alterado até a execução do RETURN, que realizou um POP.
• O CALL fez um PUSH com valor PC+1, 18C3h + 1 = 18C4h.
• O RETURN fez um POP com valor da TOS, PC = 18C4h.
• PCL = C4h.
183
RESP. QUEST. NUMÉRICAS
16/4/2015
6
Questão 18
RESP. QUEST. NUMÉRICAS
Questão 19
• Um banco de memórias é formado por uma memória de 1,5k
palavras e outra memória de 2,75k palavras, selecionadas por
meio de um bit.
• Determine as faixas de endereços proibidos, por meio do
primeiro e último valor da faixa, na forma hexadecimal, usando
ç e todos os nibbles.
todos os bits do barramento de endereço
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>.
O bit de seleção do chip é A12.
Primeiro endereço proibido do chip 1,5k: 1,51024 = 1536d = 600h =
Último
endereço proibido do chip 1,5k: 21024-1 = 2047d = 7FFh =
Primeiro endereço proibido do chip 2,75k:2,751024 = 2816d = B00h =
Último
endereço proibido do chip 2,75k:41024-1 = 2047d = FFFh =
É preciso considerar o bit A12, para seleção do chip.
Primeiro endereço proibido do chip 1,5k: 1,51024 = 0011000000000b
Último
endereço proibido do chip 1,5k: 21024-1 = 0111111111111b
Primeiro
endereço proibido do chip 2,75k:2,751024 = 1101100000000b
16/4/2015
Último
endereço proibido do chip 2,75k:41024-1 = 1111111111111b
184
11000000000b
11111111111b
101100000000b
111111111111b
=
=
=
=
0600h
0FFFh
1B00h
1FFFh
185
•
•
•
•
•
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).
Em uma dessas famílias, o opcode é formado pelos bits identificadores da família,
pelos bits identificadores do registrador escolhido usando endereçamento direto,
e pelos bits identificadores da operação dentro desta família, que são 32.
Não há nenhuma irrelevância (X) em nenhum opcode desta família de instruções.
instruções
Todas as famílias possuem opcode de igual tamanho.
Quantos são os bits de opcode para este microcontrolador?
2048 posições: 11 bits
8 bancos: 3 bits
Bits por banco: 11 – 3 = 8
Outra forma: 2048 / 8 = 256 posições  8 bits
Família: 2 bits
32 operações em uma família: 5 bits
16/4/2015
Opcode: 2 + 5 + 8 = 15 bits
186
31
16/4/2015
6
RESP. QUEST. NUMÉRICAS
6
RESP. QUEST. NUMÉRICAS
Questão 20
Questão 21
•
• Um pendrive possui uma capacidade de
armazenamento de 1,5MB comerciais.
• Seu barramento de endereço possui a quantidade
mínima de bits suficiente para endereçar todas as
palavras.
• Determine a faixa de endereços proibidos, por meio
do primeiro e último valor, na forma hexadecimal.
•
•
•
Uma ULA de 4 bits de 32 funções de uma ou duas entradas é
implementada em uma PROM GA AND-OR, na qual a matriz de
entrada consiste do decodificador completo de todos os bits de
entrada.
Neste circuito, não é feita a transformação tudo NAND ou tudo NOR.
Não há bits de saída de sinalização nem de entrada de controle.
Diga quantas são as portas NOT,
NOT AND e OR,
OR e quantas entradas as
portas AND e OR possuem.
Primeiro endereço proibido = 1,510002 = 16E360h
Último endereço proibido
= 1FFFFFh
16/4/2015
6
187
RESP. QUEST. NUMÉRICAS
16/4/2015
6
Questão 23
•
• Uma memória de programa de um processador
hipotético é dividida em oito páginas e usa
opcode de 20 bits.
• Se cada página utiliza 8 bits de endereçamento,
determine o tamanho da memória em bytes (se
(
necessário, utilize o prefixo adequado).
•
•
•
•
8 + 3 = 11 bits de endereço.
(211)20 bits
= 40960 bits
40960 bits / 8
= 5120 bytes
5120 bytes / 1024 = 5k bytes
6
189
RESP. QUEST. NUMÉRICAS
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 endereço inicial.
Uma segunda memória de 256 bytes deve ser instalada. Para isso, um dos
bits do barramento de endereço é usado na seleção do chip (entrada CS),
sendo “zero” para o chip de 360 bytes e “um” para o chip de 256 bytes.
Para este controle,
controle foi escolhido,
escolhido dentre os bits não usados do barramento,
barramento
o menos significativo.
Qual o endereço (bin e hex) da primeira posição do chip de 256 bytes no
barramento?
360 bytes: 9 bits (maior).
256 bytes: 8 bits (menor).
9 bits usados nas entradas de endereço dos chips: Bits <A8:A0>.
Bit A9 usado na seleção do chip.
Posição
inicial do barramento:
0000 0000 0000b ;000h
16/4/2015
190
Posição inicial do chip de 256 bytes:0010 0000 0000b ;200h
6
RESP. QUEST. NUMÉRICAS
Questão 24
•
Questão 25
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. O bit ADFM (A/D Result Format Select Bit) (ADCON1<7>) foi configurado para
right justified (ADFM=1). A fim de aumentar a rapidez do processamento, descarta-se
ADRESH usando, apenas, ADRESL. Qual o máximo valor de tensão que este
conversor A/D pode receber?
Forma
o a 1:
Faixa configurada: 23V – 3V = 20V
Nível quântico: 20V/1023 = 19,55mV
ADRESL: 8 bits
Palavra máxima de 8 bits:/
11111111b = FFh = 255d
Fazendo VREF= 0V:
V = 25519,55mV = 4,9853V
= 3V:
Fazendo VREFV = 4,9853V+3V = 7,9853V
16/4/2015
188
RESP. QUEST. NUMÉRICAS
Questão 22
16/4/2015
Bits de entrada: 4 + 4 + 5 = 13
NOT: 13 portas
213 = 8192
AND: 8192 portas de 13 entradas.
Bits de saída: 4
OR: 4 portas de 8192 entradas.
•
•
•
•
F
Forma
2
2:
Faixa configurada: 23V – 3V = 20V
Fazendo VREF- = 0V:
VREF+ = 20V
1023/20V
255V
V = 4,9853V
Fazendo VREF- = 3V:
V = 4,9853V+3V = 7,9853V
191
16/4/2015
PIC16F877 – Módulo CCP1, função PWM.
PR2 = 30h; DC = 34h.
Qual a máxima resolução do PWM, em bits?
Qual o valor do dutty-cycle, em porcentagem?
TMR2 conta de 00h a PR2.
TMR2 conta de 00h a 30h (48d) (110000b).
(110000b)
TMR2 usa apenas 6 bits (de 8).
DC usa 6 + 2 = 8 bits (de 10).
passos

 passos
totais 8bits  totais 10bits

 passos
passos


 usados 8bits  usados 10bits 
 256d  1024d 
 x8bit  1  x10bit  1


 256  1024 


 48  1  x10bit  1
x10bit  195d
 passos

DC  100%
 totais

 passos DC  dutty  cycle 
 em 1

 195  1  100% 


 52  dutty  cycle 
dutty  cycle  26,53%
192
Este é o último valor do DC de 10 bits.
32
16/4/2015
6
RESP. QUEST. NUMÉRICAS
6
RESP. QUEST. NUMÉRICAS
Questão 26
•
•
•
•
•
•
TMR1 = 193Bh
TMR1máximo = FFFFh
TMR1overflow = FFFFh + 1 = (1)0000h
Passos até TMR1overflow = 10000h – 193Bh = E6C5h
TOSC por TCY: 4
TCY por passo: 8
TOSC por passo: 84 = 32
TOSC = 1/16MHz = 62,5ns
Tempo por passo: 62,5ns32 = 2µs
16/4/2015
193
Tempo: 2µs59077 = 118,154ms
6
Questão 27
A frequência de operação da MCU é de 16MHz.
O TMR1 prescaler está configurado para 1:8.
TMR1 está configurado para ser um temporizador, T1CON<1>, TMR1CS=0.
No presente momento, TMR1L=3Bh, TMR1H=19h.
As interrupções estão habilitadas.
Em quanto tempo, após o presente momento, será acionada TMR1IF?
RESP. QUEST. NUMÉRICAS
• PIC16F877.
• Sabendo que PR2=FFh, dutty-cycle = 1/5
aproximadamente, determine os valores de CCPR1L
e de CCP1CON<5:4> na forma hexadecimal.
PR2 de 10 bits vai de 0d a 1023d.
Passos totais: 1024.
1024/5 = 204,8  205 passos.
A saída PWM vale “1” quando PR2 de 10 bits está entre 0d e
204d (205 passos).
Quando PR2 de 10 bits atinge 205d, a saída PWM vai a zero.
205d = 0011001101b (10 bits).
CCPR1L = 00110011b = 33h (os 8 bits mais significativos).
16/4/2015
6
194
RESP. QUEST. NUMÉRICAS
Questão 28
•
•
•
•
•
•
•
Questão 29
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, Option_Reg<5>, T0CS=0.
No presente momento, TMR0 acabou de ser reiniciado.
As interrupções estão habilitadas.
Em quanto tempo, após o presente momento, será acionada a interrupção de
overflow
o
e o de TMR0
0 TMR0IF?
0
• PIC16F877.
• Sabendo que VREF+=5V, VREF-=0V, VAN=3V,
left justified, determine os valores de ADRESH
e de ADRESL na forma hexadecimal.
3FFh  VREF+
x
V
1023  5V
x
 3V
x=613,8
TMR0 = 00h
TMR0máximo = FFh
TMR0overflow = FFh + 1 = (1)00h
Passos até TMR0overflow = 100h (de 000h até 100h)
TCY por passo: 8
TOSC por passo: 84 = 32
TOSC = 1/16MHz = 62,5ns
Tempo por passo: 62,5ns32 = 2µs
16/4/2015
195
Tempo: 2µs*100h = 512µs
6
RESP. QUEST. NUMÉRICAS
x  614d = 266h
x = 10011001_10b
ADRESH=10011001b = 99h
ADRESH=10000000b = 80h
16/4/2015
6
Questão 31
PIC16F877 – Identifique os endereços dos registradores de uso geral envolvidos no programa abaixo, na forma
hexadecimal, bem como seus respectivos valores após a execução do programa, na forma hexadecimal.
; Programa da P3
#include
org
#define
#define
#define
#define
#define
#define
BSF
BCF
MOVLW
MOVWF
ADDLW
MOVWF
IORLW
MOVWF
#undefine
#undefine
#undefine
#undefine
#undefine
#undefine
end
<p16f877.inc>
0x5
dado1
0x1
dado2
0x2
dado3
0x4
ondecadê1
0x31
ondecadê2
0x32
ondecadê3
0x33
STATUS,RP1
STATUS,RP0
dado1
ondecadê1
dado2
ondecadê2
dado3
ondecadê3
dado1
dado2
dado3
ondecadê1
ondecadê2
ondecadê3
Endereços Valores
131h
1h
132h
3h (1h + 2h)
16/4/2015
197
133h
7h (3h OR 4h = 11b OR 100b = 111b = 7h)
196
RESP. QUEST. NUMÉRICAS
Questão 30
•
Outra forma:
VMÍN = 5V/1023 = 4,8876
x = 3V/4,8876V = 613,8
•
•
•
•
•
•
•
•
•
•
•
16/4/2015
•
PIC16F877 – Sabendo que a SRAM possui 9 bits de
endereço, que o banco 2 possui 16 SFR’s localizados
nas primeiras posições, qual é o endereço completo
(9 bits)(hexadecimal) do primeiro GPR do banco 2?
A SRAM possui 29 = 512 posições.
São quatro bancos.
São 512/4 = 128 posições por banco.
O banco 0 vai de 000d a 127d – 000h a 07Fh.
O banco 1 vai de 128d a 255d – 080h a 0FFh.
O banco 2 vai de 256d a 381d – 100h a 17Fh.
O banco 3 vai de 382d a 511d – 180h a 1FFh.
Os 16 SRF’s do banco 2 vão de:
256 a 256 + 15  256 a 271
O primeiro GPR está no endereço:
271+1=272d – 110h
198
33
16/4/2015
6
6
RESP. QUEST. NUMÉRICAS
RESP. QUEST. NUMÉRICAS
Questão 32
Questão 33
• Um temporizador de 6 bits leva 5s
para dar um passo de contagem.
• Se o prescaler ratio é de 1:2 e o
postscaler ratio é de 1:4, quanto
tempo, após o início da contagem,
ocorre um time
time-out?
out?
• PIC16F877 – Sabendo que
PCLATH é acessável nos quatro
bancos, e que seu endereço de 7
bits é 0001010b, determine
todos
os
seus
endereços
completos (9 bits)(hexadecimal).
•
•
•
•
Endereço no banco 0: 000001010b
Endereço no banco 1: 010001010b
Endereço no banco 2: 100001010b
Endereço no banco 3: 110001010b
–
–
–
–
16/4/2015
6
6 bits: 26 = 64 passos
5s: Passo sem prescaler.
5s  2 = 10s Passo com prescaler.
10s  64 = 640s por contagem completa.
4 contagens completas até o time-out.
640s  4 = 2,56ms.
00Ah
08Ah
10Ah
18Ah
199
16/4/2015
6
RESP. QUEST. NUMÉRICAS
RESP. QUEST. NUMÉRICAS
Questão 34
Questão 35
• PIC16F877
• Após uma conversão A/D em right justified,
ADRESH = 02h e ADRESL = 59h.
• Quais os valores desses registradores em
left justified (hexadecimal)?
ADRESH
S
ADRESL
= 02h = 00000010b
= 59h = 01011001b
( i ht)
(right).
(right).
ADRES
ADRES
= 10_01011001b
= 10010110_01b
(right).
(left).
ADRESH
ADRESL
= 10010110b = 96h
= 01000000b = 40h
(left).
(left).
16/4/2015
6
• Um suposto modelo de PIC® midrange usa, apenas, um bit de EEADRH.
• Qual é o tamanho da program
memory, quanto à capacidade de
armazenamento de instruções?
?
EEADR: 8 bits
EEADRH: 1 bit
8 bits +1 bit = 9 bits
29 = 512 instruções
201
16/4/2015
6
RESP. QUEST. NUMÉRICAS
•
•
PIC16F877 – Em um circuito
de comparações sucessivas,
cada um dos bits é gerado
em um ciclo separado.
Sabendo que FOSC=16MHz e
que
as
instruções
de
movimentação são 1TCY,
calcule o tempo gasto em
uma
conversão
A/D
juntamente com a cópia dos
SRF’s do conversor A/D para
GPR’s.
Usar ADCLOCK = FOSC/2 (reset
default).
16/4/2015
FAD = FOSC/2 = 16MHz/2 = 8MHz.
1 ciclo = 1/8MHz = 125ns.
Conversor A/D de 10 bits.
10 ciclos por conversão.
Tconversão = 10  125ns = 1,25s.
Os 10 bits não cabem em um registrador de 8
bit são
bits,
ã necessários
á i dois
d i SFR’s.
SFR’
Os dois SFR’s são copiados em dois GPR’s.
A cópia entre registradores não pode ser feita
diretamente, é preciso copiar, primeiro, para o W.
Do SFR para o W: Uma movimentação.
Do W para o GPR: Outra movimentação.
Tem-se, então, quatro movimentações.
Cada movimentação é 1TCY.
1TOSC = 1/16MHz = 62,5ns.
1TCY = 1TOSC4 = 250ns.
4TCY = 4250ns = 1s.
203
1,25s + 1s =2,25s.
202
RESP. QUEST. NUMÉRICAS
Questão 36
•
200
Questão 37
•
•
•
•
•
•
PIC16F877.
Abaixo, o esquema de montagem de algumas instruções lógicas e
aritméticas.
O GPR acessado é 190h.
A gravação é feita sobre este mesmo GPR.
A instrução INCF possui, como nibble de seleção, 1010b.
Determine o opcode completo para esta instrução na forma hexadecimal.
hexadecimal
16/4/2015
• File = 10h (7 bits menos significativos
de 190h, vide figura acima).
• Destiny = 1 (para o file register).
• Opcode<7:0>
= 90h.
• Opcode<11:8> = Ah.
• Opcode<13:12> = 0h.
• Opcode = 0A90h.
204
34
16/4/2015
6
RESP. QUEST. NUMÉRICAS
6
RESP. QUEST. NUMÉRICAS
Questão 38
Questão 39
•
• Um suposto modelo de PIC® mid-range
possui um EEADRH de, apenas, um bit.
• Supondo que este bit seja usado como
parte do endereço para acesso da
program memory,
memory quantas instruções
esta
program
memory
pode
armazenar?
• PIC16F877
–
Sabendo
que
fOSC=16MHz,
quanto
tempo
uma
instrução 2TCY leva para ser executada?
PIC®.
16/4/2015
6
•
•
•
•
•
Mid-range: 8 bits.
EEADR possui 8 bits.
Mais um bit de EEADRH, são 9 bits.
9 bits acessam 512 endereços.
Resposta: 512 instruções.
Forma 1:
TOSC = 1/fOSC
= 1/16MHz = 62,5ns
62 5ns
TCY = 4TOSC
= 462,5ns = 250ns
2TCY = 2250ns = 500ns
Forma 2:
fCY = fOSC/4
= 16MHz/4 = 4MHz
f2TCY = fCY/2
= 4MHz/2 = 2MHz
2TCY = 1/2MHz = 500ns
205
RESP. QUEST. NUMÉRICAS
16/4/2015
6
RESP. QUEST. NUMÉRICAS
Questão 40
Questão 41
•
• PIC16F877.
• Determine os valor de CCPRxL e
CCPRxH (hex) para que, no modo
compare trigger special event, a
frequência da solicitação de
CCPxIF seja de 500Hz a um fOSC
= 8MHz e um prescaler de 1:2.
16/4/2015
6
fCY
= 8MHz/4
fTMR1 = 2MHz/2
Passos = 1MHz/500Hz
CCPRx = 2000d – 1
CCPRxH = 07h
CCPRxL = CFh
206
•
•
•
Um teclado especial possui 32 teclas formando uma
matriz de 4 linhas e 8 colunas.
Linhas e colunas são codificados a fim de economizar
fios e bits de comunicação.
O problema disso é que somente uma tecla pode ser
lida por vez, requerendo uma multiplexação temporal.
Quantos bits de p
porta p
paralela são necessários p
para
realizar a determinação da tecla?
Modo 1:
Linhas:
22 = 4  2 bits
Colunas:
23 = 8  3 bits
Total: 2 bits + 3 bits = 5 bits
= 2MHz
= 1MHz
= 2000d
= 1999d = 07CFh
207
RESP. QUEST. NUMÉRICAS
16/4/2015
6
208
RESP. QUEST. NUMÉRICAS
Questão 42
• PIC16F877.
• Conversor A/D no modo left
justified, VREF+ = 5V, VREF- =
0V, aplicados 3V.
• Determine o valor de ADRESH
(hex) após a conversão.
conversão
Modo 1:
X = 10011001_10b
1023  5V
ADRESH = 10011001b
X
 3V
ADRESH = 99h
X = 613,8
Arredondando: X = 614
Modo 2:
614/4 = 153,5
Arredondando para baixo: 153
16/4/2015
209
ADRESH = 153d = 99h
Modo 2:
2X = 32
X = 5 bits
Questão 43
• PIC16F877.
• Shift Register Slave = 94h,
depois o Buffer Register
Master recebe 3Bh.
• Determine o valor do Shift
Register Master (hex) após
2 shifts.
16/4/2015
SR slave
SR master
SR inicial
SR após 1 shift
SR após 2 shifts
SR master
=
=
=
=
=
=
10010100b
00111011b
10010100_00111011b
00101000_01110111b
01010000_11101110b
11101110b = EEh
210
35
16/4/2015
6
6
RESP. QUEST. NUMÉRICAS
RESP. QUEST. NUMÉRICAS
Questão 44
•
•
•
•
Questão 45
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.
Determine o valor do PR2 (hex) e do DC<9:2> (hex).
16/4/2015
6
Modo 1:
25640% = 102,4
,  não inteiro.
25540% = 102  Inteiro.
PR2 = Passos–1 = 255–1= 254d = FEh.
DC<9:2> = 102d = 66h.
Modo 2:
256 100%
x
40%
x=102,4  DC<9:2> = 102d = 66h.
102/40% = 255 passos
PR2 = Passos–1 = 255–1= 254d = FEh.
211
• PIC16F877.
• No conversor A/D, usando o método
das comparações sucessivas, o bit mais
significativo é o primeiro a ser obtido.
• Sabendo que ADCLOCK = TCY8, fOSC =
5MHz left justified,
5MHz,
justified determine quanto
tempo, após o início da conversão,
ADRESL leva para ser escrito.
No modo left justified, ADRESL
apresenta os dois bits menos
significativos, os dois últimos bits a
serem
calculados. São usados,
16/4/2015
então, dez passos de comparação.
6
RESP. QUEST. NUMÉRICAS
Questão 47
• PIC16F877.
• TCY = 1s; TMR1 prescaler = 1:1; Capture
prescaler ratio = 1:1.
• A medição de tempo começa exatamente
em um instante em que TMR1 = 0000h.
• O tempo medido foi de 700ms.
700ms
• Determine quantas contagens completas
ocorreram em TMR1 dentro desta
medição.
• PIC16F877.
• SPI™: Prescaler = 1:16, fOSC = 4,096MHz.
• Determine a máxima frequência de
escritas sobre SSPBUF master permitida.
fCY
= 4,096MHz/4 = 1,024MHz.
fSPI
= 1,024MHz/16 = 64kHz.
fBUFFER = 64kHz/8
= 8kHz.
6
213
16/4/2015
6
RESP. QUEST. NUMÉRICAS
1 passo:
1 rampa:
Contagens:
Completas:
1s1
216 passos
700ms / 216s
Int(10,61)
= 1s.
= 216s.
= 10,61.
= 10.
214
RESP. QUEST. NUMÉRICAS
Questão 48
Questão 49
•
• PIC16F877.
• O PC está na posição 032Fh.
• Você deseja saltar 500 posições
sem usar CALL nem GOTO.
• Determine
os
valores
do
PCLATH e do PCL (hex).
(hex)
•
Certo modelo de microcontrolador possui uma SRAM (file registers) de 840
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
de instruções. Nas instruções de acesso à SRAM, quatro bits adicionais são usados
na identificação da instrução propriamente dita. Um registrador especial possui os
bits RPN (register paging), N{0,1,2,...}.
Quantos bits são necessários para a seleção de bancos do file registers?
840 endereços.
Menor potência de dois maior ou igual a 840: 1024
10 bits de endereço.
Opcode: 15 bits.
2 bits para a família.
4 bits para a identificação.
Sobraram 9 bits, isto é, usamos 9 bits de endereço por banco.
Faltou 1 bit.
É necessário 1 bit, para realizar a seleção entre os dois bancos.
032Fh + 500 = 523h.
PCLATH = 05h
PCL
= 23h
16/4/2015
= 1/5MHz = 200ns.
= 4200ns = 800ns.
= 8800ns = 6,4
s.
212
= 106,4s = 64s.
RESP. QUEST. NUMÉRICAS
Questão 46
16/4/2015
TOSC
TCY
TAD
t
215
16/4/2015
216
36
16/4/2015
6
RESP. QUEST. NUMÉRICAS
Questão 50
• FOSC = 8MHz.
• Um programa, durante uma execução completa (do início
ao fim), executa 723 instruções, das quais 74 são 2TCY.
• Determine o tempo usado nesta execução.
TOSC = 1/FOSC = 1/8MHz = 125ns
TCY = 4TOSC = 4125s = 500ns
74 são 2TCY
723 – 74 = 649 1TCY
n = 649 + 74 + 74 = 797 TCY
t = nTCY = 797500s = 398,5s
16/4/2015
217
37
Download

Parte 7 EXERCÍCIOS