programação relogio
2007/2008
Engenharia Física Tecnológica
PROGRAMAÇÃO DE UM MICROPROCESSADOR
EM C E A SSEMBLY PARA CONTROLO DE UM
LED
Laboratório I
Trabalho realizado por:
André Cunha, nº53757
João Pereira, nº 55315
Grupo 3; 5ªfeira 13:00-16:00h
Lisboa, 22 de Setembro de 2007
Introdução e Objectivos
O objectivo inicial deste trabalho laboratorial consiste em controlar um led de duas formas distintas. A primeira consiste em acender e apagar o led conforme a posição de um interruptor de pressão, a segunda forma é em tudo idêntica, mas quando premido o interruptor, o led deverá estar intermitente.
Deverão ainda, ser feitas algumas considerações acerca dos vários métodos alternativos de implementação. Implementação e Procedimento
A implementação deverá ser atingida, nos dois casos (led aceso e led intermitente), de duas formas distintas: primeiro programando o microprocessador usado directamente em código máquina (Assembly) e depois utilizando a linguagem de programação C.
1ª sessão de laboratório
Material utilizado:
MPLAB IDE
SDK PIC184550
Começando então pela primeira implementação do primeiro objectivo, controlar o led através de um botão de pressão utilizando código máquina para programar directamente o microprocessador, começou-se por esboçar num fluxograma o algoritmo inerente ao trabalho. Figura 1 – Fluxograma que traduz as rotinas executadas em código máquina para o 1º objectivo
Explicando brevemente, assim que entramos na rotina principal, começamos por verificar se o interruptor (switch) está premido e caso o esteja saltamos a instrução seguinte (que nos envia para o início) e vamos para a instrução que acende o led, caso contrário, ficamos presos na verificação do switch até que este seja pressionado e o led permanece apagado
(notar que se assume que por default, que o led se encontra apagado). De seguida entramos na primeira subrotina, verificamos agora se o switch não está premido e caso