Você está na página 1de 5

DISCIPLINA: SISTEMAS MICROPROCESSADOS - SEMESTRE 2022 - II

Introdução ao Assembly
LUZ, G. Arthur1 ,MANSANI L. Gabriel1 , BEZERRA, F. G. Luis1 , Montero, J. E. Ciro2
1
Acadêmico, Curso de Engenharia Elétrica - DAEE, Fundação Universidade Federal de Rondônia, Sala 204 - 4C, Porto Velho, Rondônia, Brasil (e-mail:
arthgouveia36501@gmail.com; gabrielmansani10@gmail.com; luisfabiopvh@gmail.com)
2
Professor do Curso de Engenharia Elétrica - DAEE, Fundação Universidade Federal de Rondônia, Sala 314 - 4H, Porto Velho, Rondônia, Brasil (e-mail:
ciro.egoavil@unir.br)

RESUMO O presente relatório tem por objetivo apresentar os resultados das atividades executadas nos
softwares MPLAB X e PicSim, estas atividades consistem em criar um projeto no MPLAB X e executar
arquivo .hex do código fonte no simulador PicSim.

PALAVRAS CHAVE Configurações, MPLAB, Projeto, Simulações, Assembly.

I. INTRODUÇÃO IV. DESENVOLVIMENTO


Assembly é uma linguagem de baixo nível que é usada 1) Experimento 1
para escrever programas diretamente em código de máquina. O primeiro experimento consiste em alternar os estados
É uma linguagem que é muito próxima da linguagem de de dois leds com um botão. Um led estará ligado e o outro
máquina real, e por isso é muito eficiente e poderosa em desligado, quando o botão for pressionado, o led que estava
termos de desempenho [1]. ligado vai desligar e o que estava desligado irá ligar.
A principal característica da linguagem assembly é que Foram definidos os pinos RB1 e RB2 para o acionamento
ela é altamente específica para uma arquitetura de proces- dos leds, e o pino RB0 para ler o estado do botão, como
sador específica, ou seja, ela é escrita para um processador mostra a Figura 1.
específico e não pode ser executada em outro processador
sem modificação. Isso significa que cada processador tem
sua própria linguagem assembly [2].
O processo de criação de um código fonte se inicia na
plataforma MPLAB, que consiste em um ambiente integrado
de desenvolvimento de software (IDE) para programação de Figura 1: Definindo os pinos dos leds [3].
microcontroladores da família PIC (Programmable Interface
Controllers), fabricados pela Microchip Technology Inc. O Já no programa principal, é selecionado o bank1 que é
MPLAB inclui um conjunto de ferramentas de desenvolvi- onde o registrador TRIS está localizado. É enviado para
mento, como um editor de código-fonte, um compilador C, o registrador TRISB o valor em binário 0b00000001, que
um simulador de circuitos, um depurador e um gravador de seta o pino RB0 como entrada. Após, é enviado para o
programas [1]. registrador PORTB o valor em binário 0b00000000 que seta
Após o código fonte ser criado, é possível utilizar am- todas as portas em nível baixo.
bientes de simulação a fim de testar o comportamento do Na tag loop, o código aguarda pelo momento em que o
código. Um software de simulação para microcontroladores botão é pressionado, caso seja, é chamado a tag apaga_led
PIC é o PICSimLab, onde por meio da interpretação do que limpa o bit do registrador do LED1 e ativa o bit do
código fonte no formato .hex ele simula o comportamento registrador do LED2. Caso o botão não seja pressionado,
produzido pelo PIC [3]. o bit do registrador LED1 é mantido e o bit do LED2 é
apagado, o que resulta no LED1 aceso e o LED2 apagado.
II. OBJETIVOS O código produzido pode ser visualizado na Figura 2.
• Estudar o funcionamento de registradores; As imagens referentes à simulação podem ser visualiza-
• Criar e depurar um código em linguagem assembly; das nas Figuras 4, 5.
• Gerar um arquivo .hex do código fonte;
• Utilizar um simulador para estudar o comportamento 2) Experimento 2
do microprocessador com o código desenvolvido; No segundo experimento, foi necessário criar um código
que fosse capaz de gravar o estado do led e só mudá-lo caso
III. SOFTWARES A SEREM UTILIZADOS UTILIZADOS o botão seja pressionado.
• MPLab X IDE; Para isto, as alterações feitas no código foram as seguin-
• PicSim; tes: O BTFSC escuta por uma mudança no estado do botão,

Roteiro Laboratorial 01 - Sistemas Microprocessados, 2023 1


: , Campus Porto Velho Março de 2023

V. CONCLUSÃO
De acordo com os experimentos executados, foi possível
concluir todos os passos propostos no roteiro. O código
fonte foi feito no ambiente MPLAB X, onde foi criado um
novo projeto utilizando simulator como tool e o compilador
para assembly.
O código fonte consistia inicialmente na declaração dos
bancos e registradores a serem utilizados, em seguida, foi
setado o vetor de reset, que é responsável por resetar o
microcontrolador para o início da rotina. O código prin-
cipal inicia com o a definição dos banks referentes aos
registradores que serão utilizados, os registradores serão
iniciados como entrada ou saída, e os pinos são setados
como nível baixo. É criado um listener para o pino referente
ao botão, que se acionado, executará uma tarefa que foi
definida de acordo com o experimento. Por fim, foram
gerados os arquivos .hex que por sua vez foram executados
no simulador PicSimLab.
Figura 2: Código responsável pela rotina de comutar os leds
com o click dos botões [3]. Referências
[1] HYDE, Randall. Art of Assembly Language. 2. ed. California: No Starch
Press, 2010.
[2] BRITTON, Robert. Mips Assembly Language Programming. California:
caso não haja mudança, é chamado novamente o loop, se Pearson, 2003. 168 p.
houver mudança no estado, é checado o status do LED [3] Autoria própria.
com o comando BTFSC, se o led estiver ligado, a rotina
de apagar o led é chamada, e se não estiver ligado, o led
é aceso com o comando BSF. O código fonte produzido
pode ser visualizado na Figura 3. As imagens da simulação
podem ser encontradas nas Figuras 6, 7 e 8.

Figura 3: Código responsável pela rotina de apagar o led [3].

2 Roteiro Laboratorial 01 - Sistemas Microprocessados, 2023


: , Campus Porto Velho Março de 2023

LUZ G. ARTHUR. Nascido em 1999 na cidade


de Porto Velho. Estudou o ensino fundamental
na escola Nações Unidas e o ensino médio no
Instituto Estadual de Ensino Carmela Dutra. Atu-
almente cursando Engenharia Elétrica na Univer-
sidade Federal de Rondônia.

GABRIEL L. MANSANI Nascido em 2000 em


Manaus - Amazonas. Técnico em Eletrotécnica
formado pelo Instituto Federal de Educação, Ci-
ência e Tecnologia de Rondônia. Atualmente é
acadêmico de Engenharia Elétrica da Universi-
dade Federal de Rondônia. Possui experiência na
área de Manutenção Predial.

LUIS FÁBIO G. BEZERRA Nascido em 2000


na cidade de Porto Velho. Estudou o ensino fun-
damental no Instituto Maria Auxiliadora e o en-
sino médio no Colégio Dom Bosco. Atualmente
cursando Engenharia Elétrica na Universidade
Federal de Rondônia.

Roteiro Laboratorial 01 - Sistemas Microprocessados, 2023 3


: , Campus Porto Velho Março de 2023

VI. APÊNDICE

Figura 4: Experimento 1. Botão não pressionado, simulação PicSimLab [3].

Figura 5: Experimento 1. Botão pressionado, simulação PicSimLab [3].

Figura 6: Experimento 2. Botão não pressionado, simulação PicSimLab [3].

4 Roteiro Laboratorial 01 - Sistemas Microprocessados, 2023


: , Campus Porto Velho Março de 2023

Figura 7: Experimento 2. Botão pressionado uma vez , simulação PicSimLab [3].

Figura 8: Experimento 2. Botão pressionado pela segunda vez, simulação PicSimLab [3].

Roteiro Laboratorial 01 - Sistemas Microprocessados, 2023 5

Você também pode gostar