Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Manual técnico do laboratório da densidade, Manuais, Projetos, Pesquisas de Matemática Financeira

manual tecnico do relatório do laboratório

Tipologia: Manuais, Projetos, Pesquisas

2025

Compartilhado em 04/04/2025

jose-rafael-carvalho-1
jose-rafael-carvalho-1 🇧🇷

1 documento

1 / 1

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal de Itajubá
IESTI – Instituto de Engenharia de Sistemas e Tecnologias da Informação
ECOP14 – Laboratório de Programação para Sistemas Embarcados
Laboratório 01
1) Criar um novo projeto adicionando os arquivos config.h e pic18f4520.h. No
arquivo main.c colocar o seguinte código:
a) Compile, grave e observe os leds.
b) Mude o tipo das variáveis "i" e "j" para "int". Repita o procedimento.
c) Mude novamente o tipo das variáveis para "float". O que acontece?
2) Crie dois arquivos: delay.c e delay.h. Dentro do arquivo delay.c crie a função
"tempo", que recebe um unsigned char e não retorna nada. Esta função deverá
gerar um delay de X milissegundos, onde X é o parâmetro recebido pela
função. Lembre-se de fazer o arquivo de header corretamente utilizando as
diretivas #ifndef e #endif. Utilize a função “tempo” no arquivo main.c para gerar
um atraso de 5 segundos.
3) Crie um semáforo utilizando a função anterior. O sinal verde deve ficar ligado
por 4 segundos, o amarelo meio segundo e o vermelho 5 segundos.
PORTD = 0xFE; //acende vermelho (5 segundos)
PORTD = 0xFD; //acende amarelo (0,5 segundos)
PORTD = 0xFB; //acende verde (4 segundos)
Experiência baseada no roteiro elaborado pelo Prof. Rodrigo Maximiano.
Prof. Décio Rennó de Mendonça Faria
#include "config.h"
#include "pic18f4520.h"
//inicio do programa
void main(void){
unsigned char i, j;
TRISD = 0x00;
while(1){
PORTD = 0x00;
for(i = 0; i < 100; i++) for(j = 0; j < 100; j++);
PORTD = 0xFF;
for(i = 0; i < 100; i++) for(j = 0; j < 100; j++);
}
}
//este código gera um delay de aprox 1ms
volatile unsigned char j, k;
for(j = 0; j < 41; j++) {
for(k = 0; k < 3; k++);
}

Pré-visualização parcial do texto

Baixe Manual técnico do laboratório da densidade e outras Manuais, Projetos, Pesquisas em PDF para Matemática Financeira, somente na Docsity!

Universidade Federal de Itajubá

IESTI – Instituto de Engenharia de Sistemas e Tecnologias da Informação

ECOP14 – Laboratório de Programação para Sistemas Embarcados

Laboratório 01

1) Criar um novo projeto adicionando os arquivos config. h e pic18f4520 .h. No

arquivo main.c colocar o seguinte código:

a) Compile, grave e observe os leds.

b) Mude o tipo das variáveis "i" e "j" para "int". Repita o procedimento.

c) Mude novamente o tipo das variáveis para "float". O que acontece?

2) Crie dois arquivos: delay.c e delay.h. Dentro do arquivo delay.c crie a função

"tempo", que recebe um unsigned char e não retorna nada. Esta função deverá

gerar um delay de X milissegundos , onde X é o parâmetro recebido pela

função. Lembre-se de fazer o arquivo de header corretamente utilizando as

diretivas #ifndef e #endif. Utilize a função “tempo” no arquivo main.c para gerar

um atraso de 5 segundos.

3) Crie um semáforo utilizando a função anterior. O sinal verde deve ficar ligado

por 4 segundos, o amarelo meio segundo e o vermelho 5 segundos.

PORTD = 0xFE ; //acende vermelho (5 segundos)

PORTD = 0xFD ; //acende amarelo (0,5 segundos)

PORTD = 0xFB ; //acende verde (4 segundos)

Experiência baseada no roteiro elaborado pelo Prof. Rodrigo Maximiano.

Prof. Décio Rennó de Mendonça Faria

#include "config.h" #include "pic18f4520.h" //inicio do programa void main(void){ unsigned char i, j; TRISD = 0x00; while(1){ PORTD = 0x00; for(i = 0 ; i < 100 ; i++) for(j = 0 ; j < 100 ; j++); PORTD = 0xFF; for(i = 0 ; i < 100 ; i++) for(j = 0 ; j < 100 ; j++); } } //este código gera um delay de aprox 1ms volatile unsigned char j, k; for(j = 0 ; j < 41 ; j++) { for(k = 0 ; k < 3 ; k++); }