Microcontroladores
Trabalho Escolar: Microcontroladores. Pesquise 861.000+ trabalhos acadêmicosPor: baleroni • 21/5/2014 • 680 Palavras (3 Páginas) • 713 Visualizações
UFF
Introdução aos microcontroladores
Relatório 1 - Leds
Aluno: Gabriel Baptista Baleroni Matricula:108.31.005
Professor: John Reed
Curso: Ciência da Computação
Data: 01/10/2013
1) Introdução
O experimento se consiste no uso de tabelas com o objetivo de acender os LEDs da placa. Esta experiência teve o intuito de nos ensinar a manipular tabelas, isto foi feito utilizado um programa que acende os LEDs da placa através da manipulação da tabela. A montagem do experimento foi feita seguindo o seguinte esquema:
Para que a experiência obtivesse sucesso foi utilizado um programa que manipula a tabela e também consequentemente os LEDs. Este programa está mostrado na parte de anexos deste relatório.
2) O que aconteceu
Ao carregar o programa na placa pela primeira vez notamos que os LEDs estavam acendendo na sequencia estipulada pelo programa após apertar a tecla ESC o programa parava de rodar e a placa ficava com a última configuração de LEDs, mas não por necessidade e sim por apresentação, chegamos à conclusão que deveríamos devolver o programa, ou seja, ao emitir a ordem de parada do programa, desligar todos os LEDs, então assim fizemos no final da experiência para refiná-la.
3) O que aprendemos
Primeiro aprendemos alguns comandos básicos para a programação da placa, estes que não tínhamos conhecimento anteriormente. Também aprendemos como manipular tabelas. Com isso podemos utilizar o aprendizado de manipulação de tabela para desenvolvermos programas muito mais rebuscados, que necessitem de uma gama de informações muito maiores ao quais estamos acostumados, quem sabe, algo relacionado a banco de dados, ou sendo mais realístico manipular informações que dependem diretamente de 2 outras, sendo assim o valor da coluna seria uma informação e a linha outra, como por exemplo comandos de uma esteira, em que existem 2 colunas e a combinação do valor armazenado nestas 2 colunas irá definir a direção em que a esteira seguirá.
4) Anexos
;LEDS.ASM : liga os LEDs em sequência
#include <SFR51.inc> ;contem as definições de todos os SFRs
;cabeçalho: necessário para o PAULMON2 poder gerenciar
DB 0xA5, 0xE5, 0xE0, 0xA5 ;
DB 35, 255, 0, 0 ;id(35 = prog)
DB 0, 0, 0, 0 ;vetor com códigos prontos
DB 0, 0, 0, 0 ;reservado
DB 0, 0, 0, 0 ;reservado
DB 0, 0, 0, 0 ;reservado
DB 0, 0, 0, 0 ;definido pelo usuário
DB 255, 255, 255, 255 ;tamanho e checksum
DB “Blink LEDs”, 0 ;nome do programa
DB locat+64 ;código executável começa a partir daqui
;posições de memória
port_b EQU 0x4001 ;porta B
port_c EQU 0x4002 ;porta C
prot_abc_pgm EQU 0x4003 ;registro de programação
esc EQU 0x003E ;subrotina do paulmon2 verifica se a tecla ESC foi
;pressionada
ORG locat ;.org locat
startup:
mov dptr, #port_abc_pgm ;move o dptr para port_abc_pgm
mov a, #128 ;move o que está no endereço 128 para o acumulador
movx @dptr, a ;coloca o valor do acumulador no dptr
;
begin:
move dptr, #table ;move o dptr para a tabela
loop: ;repete até apertar a tecla ESC
clr a ;limpa o acumulador
movc a, @a+dptr ;move o acumulador para o dptr
acall update ;chama a subrotina update
inc dptr ;incrementa o dptr
...