Eletrônica Embarcada
Test Point 2
Prof. Guillermo Alvarez Bestard, Dr.
guillermo@[Link]
Test Point 2
1. Num microcontrolador PIC16F887, desenvolva um sistema que
multiplique dois números inteiros positivos de 8 bits (a e b), definidos nas
portas B e D. A multiplicação deve ser feita por somas sucessivas.
O resultado, de 16 bits (c), será exibido nas portas A e C, sendo PORTA o
byte menos significativo (LSB) e PORTC o byte mais significativo (MSB),
conforme a imagem.
Considere que os operandos (a e b) podem ser zero. Evite o uso de
resistores externos sempre que seja possível.
a
PORTB c 𝑏−1
b X PORTC PORTA 𝑐 = 𝑎
cH cL 𝑖=0
PORTD
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Test Point 2
2. No projeto anterior, implemente
um algoritmo de multiplicação por
deslocamento e soma, mantendo o
algoritmo de somas sucessivas. A
seleção do algoritmo que será
usado deve ser feita através do
pino RE0, mediante um interruptor
com pull-up, sendo “0” para o
método de somas sucessivas e “1”
para o método de deslocamento.
Durante a simulação, meça o
tempo que demora a multiplicação
em ambos métodos para as duplas
de valores 1x1 e 255x200. Compare
os resultados. [Link]
[Link]
e,linha%20em%20uma%20adi%C3%A7%C3%A3o%20bin%C3%A1ria.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Test Point 2
3. No sistema anterior, deseja-se guardar os operandos (a e b) e o
resultado (c) das últimas 80 operações, na memória do microcontrolador
utilizando um banco de memória para cada variável, conforme a tabela.
Considere cada volta no loop principal como uma operação.
Os dados da primeira operação se guardarão no endereço 20h de cada
banco. O segundo conjunto no 21h e assim por diante. Quando atingir o
endereço 6Fh, se reiniciará no endereço 20h, de forma que se apague
apenas a operação mais antiga, preservando o resto dos dados e
implementando uma lista circular ou FIFO (First In-First Out)
Banco
00 01 10 11
Endereço
20h a(0) b(0) cH(0) cL(0)
... ... ... ... ...
6Fh a(79) b(79) cH(79) cL(79)
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Para usar o oscilador interno do micro e os pinos RA6 e RA7, deve ser colocada a
seguinte linha no início do arquivo ASM:
CONFIG FOSC = INTRC_NOCLKOUT ;
a) Desenhe o esquemático com todas as conexões necessárias para ambas
atividades (pode ser manuscrito). Utilize interruptores para as entradas digitais e
LEDs para as saídas digitais. Entregue um arquivo PDF com o esquemático.
b) Simule e grave apenas um vídeo curto (5 minutos no máximo) explicando e
mostrando o código e a simulação das três atividades (1, 2 e 3 juntas). Para a
simulação, desenhe um conjunto de testes para mudar o valor das entradas no
inicio do “loop” utilizando o estímulo “Register Injection” cujo resultado atinga
valores de 8 e 16 bits.
Deve ser entregue um arquivo PDF com o esquemático, a pasta do projeto
compactada (um único projeto com as três atividades) e o link do vídeo da
simulação (pode ser postado em YouTube ou numa pasta no OneDriver).
Se o código estiver com erros e não compilar, se o vídeo não for entregue, ou for
detectado plágio, a nota será zerada automaticamente.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]