Perguntas e Respostas Relacionadas a Microcontroladores
Questão 1
Qual é a diferença básica entre um microcontrolador e um microprocessador ?
R: A diferença é que o microprocessador não possui memória de programa e de dados integrados nele, por isso necessita de memórias externas para o armazenamento de dados e programa, ao passo que o microcontrolador possui internamente memórias de programa e de dados e outros periféricos.
Questão 2
Que barramento define a capacidade do microcontrolador: dados ou endereços?
R: O barramento que define a capacidade de um microcontrolador é o barramento de endereço, pois é ele que determina quantas posições da memória de programa podem ser acessadas( Determina a Capacidade da memória de programa) .
Questão 3
A frequência do oscilador “representa” a velocidade do microcontrolador? Porquê?
R: Porque a frequência do oscilador é que determina o tempo de ciclo de instrução ou seja o tempo de execução de uma instrução, sendo assim ele determina a velocidade de execução do programa que é um conjunto de instruções .
Questão 4
O que é que entende por RISC e CISC? Qual é a importância de RISC para os
microcontroladores?
R: RISC significa computador com conjunto de instruções Reduzidas, e CISC, computador com conjunto de instruções complexas, o RISC é muito usado em microcontrolador devido a capacidade reduzida de armazenamento e processamento que eles possuem.
Questão 5
Um Engenheiro Mecatrónico escreveu um programa em assembly usando o
microcontrolador PIC 16F84, com o objectivo de mostrar o número 10 e 5 no porto A e B,
respectivamente. Foste solicitado em auxiliar se o programa foi escrito corretamente, e o
mesmo é apresentado a seguir:
1. BSF 03,05
2. CLRF 05
3. CLRF 1F
4. BCF 03,06
5. MOVLW H’D’
6. MOVWF 06
7. MOVLW B’0110’
8. MOVF 05
9. NOP
10. END
a) Considerando o objectivo do programa identifique as linhas na qual contêm erros de
programação? Justifique.
b) Representa a informação no PORT A e PORT B em formato nibble
R:a) As linhas que têm erros são:
- - Linha 2 -- como se trata de configuração dos pinos de I/O devemos zerar a posição de Memória 85h que é o endereço do registo TRISA, registo destinado a configuração dos pinos do port A como entrada ou saída e não a posição 05. Assim o certo seria CLRF H'85'
- - Linha 3 -- como se trata de configuração dos pinos de I/O devemos zerar a posição de Memória 86h que é o endereço do registo TRISB, registo destinado a configuração dos pinos do port B como entrada ou saída e não a posição 1F. Assim o certo seria CLRF H'86'
- - Linha 4 -- como Pretendemos acessar o banco zero da memória RAM onde estão localizados os registos PORTA e PORTB, devemos zerar o bit 05 do registo STATUS cujo a posição de memória que ocupa é 03h, uma vez que o bit 06 já é zerado durante a inicialização do microcontrolador. Assim o certo seria BCF 03,05.
- - Linha 5 -- como o objectivo é escrever o valor 5 decimal no PORTB cujo o endereço é 06h, devemos Primeiramente mover o número Hexadecimal 05 no registo de trabalho W e não o número hexadecimal D. Assim o certo seria MOVLW H'05'.
- - Linha 7 -- como o objectivo é escrever o valor 10 decimal no PORTA cujo o endereço é 05h, devemos Primeiramente mover o número binário B'00001010' equivalente ao número 10 decimal no registo de trabalho W e não o número binário B'0110' pois este equivale ao número decimal 6. Assim o certo seria MOVLW B'00001010'.
- - Linha 8 -- Uma vez novido o valor 10 decimal no registo de trabalho W, resta-nos apenas mover o conteúdo de W para o registo PORTA cujo o endereço é 05h, para isso devemos usar o comando MOVWF e não o comando MOVF. Assim o certo seria MOVWF 05.
1. BSF 03,05 ; Muda para o banco 1 da memória Ram
2. CLRF H'85' ;Configura todos os pinos do PORTA como saída
3. CLRF H'86' ;Configura todos os pinos do PORTB como saída
4. BCF 03,05 ; Muda para o baco 0 da memória Ram
5. MOVLW H’05’
6. MOVWF 06 ; Move o valor decimal 5 para o PORTB
7. MOVLW B’00001010’
8. MOVF 05 ; Move o valor decimal 10 para o PORTA
9. NOP ; Aguarda 1 Ciclo de instrução
10. END ; Fim do Programa
R:b)A representação do Número decimal 5 em formato Nibble é: 0000 0101, assim movimentariamos para
o registo de trabalho W o número B' 00000101' e em seguida movimentariamos o contéudo de W para o registo PORTB.
A representação do Número decimal 10 em formato Nibble é: 0001 0000, assim movimentariamos para
o registo de trabalho W o número B' 00010000' e em seguida movimentariamos o contéudo de W para o registo PORTA.
Questão 6
Implemente um contador binário de 5 bits, com um delay (atraso de 500 ms) usando o
PICBOARD 16F84, como mostra a Fig. 1.
Nenhum comentário:
Postar um comentário