Buscar

Relatório de Laboratório de Aplicações com Microcomputadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

3
UNIVERSIDADE FEDERAL DO MARANHÃO
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
PROFESSOR: DR. DENIVALDO LOPES
DISCIPLINA: LABORATÓRIO DE APLICAÇÕES COM MICROCOMPUTADORES
	
	
RELATÓRIO III
WESLEY SOUZA LEITE / Cód.: EE09120-76
NARANA MILHOMEM / Cód. EE09140-80
SÃO LUÍS – MA
Julho/2011
WESLEY SOUZA LEITE / Cód.: EE09120-76
NARANA MILHOMEM / Cód. EE09140-80
RELATÓRIO III
Relatório apresentado à disciplina Laboratório de Aplicações com Microcomputadores, ministrada pelo Prof. Dr. Denivaldo Lopes, para obtenção parcial de nota referente ao primeiro semestre de 2011.
São Luís - MA
11
Julho/2011
introdução
Este relatório refere-se ao experimento realizado através do Guia de Laboratório Nº 03 da disciplina Laboratório de Aplicações com Microcomputadores. Proporciona o aprimoramento das técnicas de manuseio da plataforma FreeScale, uma vez que é proposto o desenvolvimento de programas envolvendo a utilização de um temporizador.
Dessa forma, concatenaram-se os conhecimentos absorvidos na disciplina Introdução à Arquitetura de Computadores para desenvolvimento de sistemas microprocessados objetivando o gerenciamento de problemas que envolvem a necessidade de temporizadores.
1. OBJETIVOS
Estudar, ensaiar e montar programas voltados para aplicações específicas de computadores e microcontroladores.
2. Conhecimentos a serem desenvolvidos
Configuração de dispositivos de entrada e saída, métodos de armazenamento de instruções, programação em linguagem C para programação de microcontroladores, desenvolvimento da lógica de programação dos discentes, inspeção de registradores etc.
3. METODOLOGIA
A programação deu-se em linguagem C, utilizando-se o microcontrolador S12. O desenvolvimento do código foi auxiliado pela IDE CodeWarrior, que tem comunicação direta com o kit em hardware da FreeScale. A programação foi realizada na IDE, com inclusão das funções por ela disponibilizadas e a própria IDE foi responsável por apagar e reprogramar (gravar o novo software) o microcontrolador.
4. MATERIAIS UTILIZADOS
Computador;
IDE CodeWarrior;
Microcontrolador FreeScale MC9S12C128;
Chaves;
LED’s;
Botões de pressão;
5. DESCRIÇÃO DAS FUNÇÕES
Função variavel_ClrVal(): fixa o estado de variavel em 0, o que, no caso do LED, ocasiona seu acendimento.
Função variavel_GetVal(): retorna o valor de variavel.
Função variavel_SetVal(): fixa o estado de variável em 1, o que, no caso do LED, ocasiona seu desligamento.
Função variavel_NegVal (): nega o estado atual de variavel.
6. ATIVIDADES
Tabela I
Tabela de Associações
	Componente
	Nome da porta no programa
	Elemento
	
	SW1
	PP0
	SC
	
	SW2
	PP1
	SPCP
	
	SW3_1
	PB0
	SVT
	
	SW3_2
	PB1
	SVD
	
	SW3_3
	PB2
	TC
	
	SW3_4
	PB3
	B
	
	LED1
	PB4
	AT
	
	LED2
	PB5
	AM
	
	LED3
	PB6
	EP e EM
	
	LED4
	PB7
	Sinalizador
	
Obs: a configuração da IDE obedece à tabela I.
Desenvolva programas na linguagem C para resolver os seguintes problemas:
6.1 Crie um contador de 0 a 15 em binário (oito bits)mostrando o resultado nos LEDS (LED1, LED 2, LED 3, LED 4), sendo que no inicio a contagem é crescente e cada 500 ms, mas se o botão SW1 for pressionado, a contagem ocorre a cada 1 s.Se o botão SW2 for pressionado, a contagem ocorre a cada 2s.
Solução:
Código 1 - Questãoo1_main
Código 2 - Questão01_events
Comentários:
O Código 01 apaga os LED’s, inicialmente, e ativa a interrupção que ocorrerá de meio em meio segundo. O Código 02 trata da lógica da interrupção. Inicialmente, a variação do número a ser exibido nos LED’s (variável contador) ocorre a cada 500 ms (variável num_t = 1). 
O tempo de espera para que a variável contador seja atualizada é de num_t*500 ms. Ou seja, se pressionarmos uma das chaves do problema (SW1 ou SW2), a variável num_t se modifica e o tempo de atualização do número também muda.
Assim, apesar de a interrupção ocorrer sempre a cada 500 ms, nem sempre a atualização do número exibido nos LED’s ocorrerá. Quando a variável contador chega a 15 (representação de 4 bits), a contagem é reiniciada.
Para a extração binária dos bits correspondentes à variável contador 
A variável k é responsável por contar quantas vezes a interrupção já ocorreu sem a atualização da contagem. Assim, quando se chega ao número de ocorrências requeridas, o if passa a ter uma condição de teste verdadeira e há a atualização do número.
6.2. Um automóvel possui um sistema embarcado responsável por controlar o painel do veiculo. Digamos que o limpador de pára-brisas seja acionado pela chave SW3(bit1), direção direta acionado pela chave SW1(bit 2) e a direção esquerda é acionado pela chave SW3 (bit 3). O limpador de pára-brisas possui 4 velocidades, 1s, 2s, 4s, 8s. Incialmente, o limpador de pára-bridas começa com a velocidade 8s. Estando SW3(bit 1) ativado SW1 for pressionado, então o limpador de pára-brisa aumenta a velocidade, passando para 4s, pressionado mais uma vez, passa para 2s,e pressionado outra vez passsa para 1s. A chave SW2 faz o processo inverso, ou seja, estando em 1s, se for pressionado passa para 2s, pressionado SW2 outra vez passa para 4s, e, pressionado, para 8s. SW1 serve aumentar a freqüência do limpador de pára-brisa e SW2 serve para diminuir a freqüência do limpador de para-brisa. No caso do sinalizador de direção, então a freqüência é 1s. Utilize o Led 1 para sinalizar a freqüência do limpador pára-brisa. Utilize o Led 2 para indicar a seta de direção esquerda, e o Led 2 para indicar a seta de direção direita. 
Comentário:
Essa questão segue a mesma lógica da Questão 01. Para tratar três eventos que ocorrem de forma independente, utilizaremos três temporizadores. Um para o pára-brisa e outros dois para cada seta de direção.
O Código 03 mostra a ativação ou desativação de cada uma das duas interrupções. Deve-se atentar para o fato de que a interrupção apenas é ativada caso esteja desabilitada. Além disso, é desativada apenas se estiver ativa. Esse controle é feito pela variável state_xx.
O Código 04 revela os códigos das interrupções. As setas de direção, quando ativas, apenas fazem piscar o LED correspondente à direção, ou seja, configura-se uma interrupção periódica simples.
No caso da interrupção do pára-brisas, a lógica da interrupção é a mesma da questão 01. A diferença se resume no fato de que o temporizador é de 1000 ms e, além disso, num_t tem seu valor alterado pelos botões não mais de forma fixa e sim de acordo com uma PG de razão ½ ou 2.
Dessa forma, caso se aumente a frequência, o tempo de atualização reduz-se pela metade e, caso se diminua a frequência, o tempo de atualização é duplicado. Isso está de acordo com a relação fundamental:
aonde f é a frequência e T é o período.
A variável k, mais uma vez, conta o número de vezes que a interrupção ocorre sem que haja atualização do evento (movimento do pára-brisa). Quando a variável atinge a quantidade de tempos requeridos (num_t*1000ms), o pára-brisa inverte a sua direção (o valor do LED é negado).
Código 3 - Questão 02_main
Código 4 - Questão 02_events
CONSIDERAÇÕES FINAIS
A configuração dos temporizadores revelou-se bastante simples e eficaz. Cada uma das interrupções ocorreu conforme o esperado pela teoria. No caso da questão 01, o contador foi atualizado de acordo com a opção do usuário e com extensão normal e periódica durante toda a simulação. O mesmo ocorreu para a questão 02. A periodicidade foi obedecida e os eventos foram tratados pelas interrupções tal como requerido nas questões.
REFERÊNCIAS
[1 ]Datasheet domicrocontrolador MC9S12C128CFUE da Freescale.
[2] William Stallings, "Arquitetura e Organização de Computadores", 5a Ed., Prentice Hall. 
[3] Ronald J. Tocci e Neal S. Widmer, Sistemas Digitais: Princípios e Aplicações,8a edição, Pearson -Prentice Hall, 2004.
[4] Herbert Taub, Circuitos Digitais e Microprocessadores, McGraw-Hill, 1a ed, 1984.
[5] Thomas L. Floyd, Sistemas Digitais: Fundamentos e Aplicações, Bookman, 2007.

Outros materiais