Fundamentos de Microprocessadores ENGENHARIA ELECTROTÉCNICA 2º Semestre 2015/2016 FUNDAMENTOS DE MICROPROCESSADORES (XX-06-2016 DIA/NOITE) 2ª FREQUÊNCIA - TIPO Grupo I Arquitectura PIC16F627A 1 [1V] Explique sucintamente os tipos de instruções que pode encontrar no PIC16F627A estudado nas aulas de Microcontroladores. 2 Considere a seguinte figura que representa uma parte dos componentes básicos de um microcontrolador: 2 1 a) [1,5V] Identifique os componentes 1 e 2. Explique, para cada um, qual a sua função indicando alguns exemplos do seu funcionamento, se achar conveniente. b) [1,5V] Para uma instrução tipo move valor imediato, indique o fluxo de dados na arquitectura da figura anterior. 1/4 You created this PDF from an application that is not licensed to print to novapdf printer (http://www.novapdf.com)
Fundamentos de Microprocessadores Grupo II MPLAB IDE 1 [1V] Explique sucintamente o objectivo dos Break-Points no Simulador do MPLAB IDE. Dê exemplos de utilização. 2 - [1,5V] Lendo do registo INDF(0x00), qual o byte/letra que espera obter? Justifique. 3 - [1,5V] Supondo que obtinha o ficheiro *.lst representado seguidamente, descreva cada um dos objectos assinalados no ficheiro. 1 Message[305]: Using default destination of 1 (file). 019E 0BB9 00718 decfsz high_count 019F 299E 00719 goto loop_short_comp 01A0 0008 00720 return 00721 00722 00723 00724 end 2 MPASM 5.48 BLUE_AND.ASM 5-28-2014 15:52:29 PAGE 16 SYMBOL TABLE LABEL VALUE ADDEN 00000003 ADEN 00000003 BEZ PORTA, 4 4 5 3 Grupo III Interpretação de Troços de Programa 1 [2,0V] Indique qual o resultado de W após a execução do seguinte troço de programa: movlw 23H movwf 04 movlw.33 movwf 0x00 movf 0x23, W 2/4 You created this PDF from an application that is not licensed to print to novapdf printer (http://www.novapdf.com)
Fundamentos de Microprocessadores 2 [2,0V] Interprete o seguinte troço de programa do PIC16F627A. Note que o mesmo poderá conter erros lógicos e de sintaxe, identifique-os e corrija-os nesse caso. A que parte da matéria diz este troço de programa respeito?... bcf STATUS, RP0 ; passar ao banco 1 movlw h'11111111' ; tudo ins (X=RA0) movwf TRISA movlw b'00000000' ; (tudo Out s) movf TRISB bcf STATUS, RP0 ; passar ao banco 0 est0 movlw 0x23 movwf PORTB ; descarregar no PortB as saídas btfss PORTB,0 ; ler o X goto est1 ; gogo est2 ;... Grupo IV Codificação de Fluxogramas/Rotinas 1 - [2,0V] Pretende-se preencher na RAM (a partir de 0x50) 10 números pares a começar em 10. Considere o seguinte troço de programa que contém erros de sintaxe e eventualmente erros lógicos corrija-os.... movlw 0x05 again movf valor, W incfsz contador movwf FSR movwf INDF goto again movlw.10 incf valor, F mowwf contador incf FSR, W movwf valor incf FSR, W 2 [1,0V] Indique que alterações faría ao programa da alínea anterior para que este preenchesse a RAM A partir de 30H com os primeiros 23 números pares a partir de 33. Grupo V Projecto 1) [5V] - Pretende-se desenvolver um programa de controle de uma máquina de fazer rolhas. Os componentes da máquina são os seguintes: S1 Sensor de Rolha (impulso a 1 saíu Rolha) B1 Botão START/STOP ( 1 - Ligar) LED Led indicador ( 1 - Aceso) M1 (impulso de 0 à 1 - Fabrica uma rolha ) C1 Câmara detecta rolha Boa/Má. ( 1 - Rolha Boa) S1 Sensor Rolha B1 START/STOP M1 Corte Cortiça Descrição do funcionamento: LED C1 - Câmara 1 O Botão START/STOP serve para ligar/desligar a máquina. Em qualquer altura a máquina pode ser desligada, i é, não devem existir esperas bloqueantes. 2 O Led é aceso quando a máquina começa a trabalhar. Quando começam a sair rolhas boas deve piscar com uma frequência lenta. 3/4 You created this PDF from an application that is not licensed to print to novapdf printer (http://www.novapdf.com)
Fundamentos de Microprocessadores 3 Fabricação das rolhas: O utilizador coloca uma placa de cortiça dentro da máquina e liga-a carregando em START/STOP. Sempre que se dá um impulso de 0 para 1 em M1 uma rolha é fabricada. Após esse impulso, pode-se consultar C1 que indica se a rolha fabricada em relação ao último impulso em M1 é Boa ou Má. Sempre que estão a sair rolhas boas o LED deve piscar Lento. Se estão a sair rolhas Más o Led pisca a frequência rápida. Devem existir dois contadores um para rolhas Boas e outro para as rolhas Más. Não se preocupe com a afixação destes contadores, apenas os actualize no programa. Notas: - Assuma que possui um Registo (RegXms) que é incrementado pela rotina de interrupção de X em X miliseg. Pode fazer clrf deste registo e consultá-lo em qualquer altura na execução do programa. - Em qualquer momento do funcionamento é possível desligar a máquina colocando START/STOP = 0. - Verifique que saiu uma rolha após dar o impulso de fabrico! - O tratamento de erros de funcionamento da máquina no programa será valorizado. Dica: para as diferentes frequências do funcionamento do LED pode consultar o bit adequado do RegXms. a) [1,5V] Desenhe um fluxograma que melhor descreva o problema. b) [1V] Desenhe o PIC16F627A com os sinais de controle devidamente ligados. Nota: utilize o PORTOA e PORTOB com todos os bits (ou seja 8). c) [2,5V] Desenvolva o programa em linguagem nativa do PIC. Não se esqueça das inicializações. Nota: pode usar programação livre ou codificação de Fluxogramas. 4/4 You created this PDF from an application that is not licensed to print to novapdf printer (http://www.novapdf.com)