Sie sind auf Seite 1von 10

FACULDADE ANHANGUERA DE TAUBAT UNIDADE II

ATIVIDADES PRTICAS SUPERVISIONADAS

CINCIAS DA COMPUTAO

SISTEMAS MICROPROGRAMADOS

PROFESSOR JORGE MORGADO

ETAPA 2-3-4 1 SEMESTRE / 2015

SEMESTRE: 6 E 7 - TURMA A ANO: 2015/1

RA

Nome do Aluno

1299199555

Welington Henrique da Silva

4211809704

Thiago Mendona Ribeiro

5827115652

Elaine A. de Azevedo Melo

TAUBAT, JUNHO DE 2015

SUMRIO

Relatrio Tcnico 02: MPLAB e Timer no PIC16F84A...............................................3


Relatrio 03: Projeto Semforo PIC16F84A.................................................................4
O processo para o programa semforo:.....................................................................4
Relatrio Tcnico 04: Semforo com duas sequncias e tempo diferentes.................8
Simulao:.................................................................................................................9
Referncias Bibliogrficas............................................................................................10

Relatrio Tcnico 02: MPLAB e Timer no PIC16F84A.


MPLAB uma plataforma de programa que pode ser feito a partir da edio do
cdigo do programa, a compilao do programa, a simulao e programao de
microcontroladores programa, tudo isso sem ter que recorrer a outro programa, para
usar todas as ferramentas com MPLAB IDE que tem exigido a criao de um projeto
que ligam as diferentes ferramentas para gerenciar, os passos na criao de um projeto
so:
A partir do menu principal, selecione Assistente, Project,. Quase
instantaneamente, o assistente de boas-vindas Assistente de projeto MPLAB, aparece
geralmente so quatro passos a seguir na criao de um projeto.
1. Em seguida pressionado, e a janela mudar para um em que temos de escolher
o microcontrolador a ser utilizado, neste caso, PIC16F84A, e Avanar.
2. Selecionado o compilador para usar (toolsuit idioma). Na nova janela, devemos
configurar o seguinte:
a) Toolsuit Caixa Ativo deve ser selecionado CCS C Compliler.
b) Contedo da Caixa Toolsuit deve dizer que cada programa tem seu caminho
corretamente encaminhadas para a pasta apropriada PIC.
Contedo Toolsuit

Localizao

CCS C Compiler (ccsc.exe)

C: \ Program Files \ Picchu \ CCSC.exe

.
3. Na nova janela que aparecer, devemos digitar o nome que voc deseja para
nomear o projeto e o endereo no qual deseja salvar o projeto. Avanar.
4. Na nova janela, do lado esquerdo devemos buscar dois arquivos
a) O arquivo .c com o cdigo que anteriormente capturado.
b) Um arquivo .h que est localizado em C: \ Program Files \ PICC \ Devices \
16F84A.h
Ela integra os dois arquivos, Avanar.
5. Uma janela mostrando as propriedades do novo projeto est sendo criado, se for
verificado que tudo est correto, Concluir.
Se as etapas foram bem sucedidos, a janela Project aparecer com o nome que foi dado
ao projeto, este contm o .ce .h que vamos selecionar.
6. Agora vamos continuar a configurar o projeto (Build Options). Antes de
comear com a compilao e simulao, necessrio verificar se o compilador

CCS C Compiler (o nosso tradutor) est configurado corretamente para o efeito


o seguinte, PincipalProjectBuild OptionsProject menu realizada. Fazer isto
traz uma nova configurao da janela, isso vai selecione a guia
Geral. Selecionar essa guia exibe uma srie de caixas, apenas tem que definir a
caixa incluem a busca Path entrar neste caminho C: \ Arquivos de Programas \
PICC \ Devices. Uma vez feito isso, OK.
7. O ltimo passo compilar o MPLAB projeto, Menu PrincipalProjectBuild
Todos. Se tudo foi bem sucedida e no h erros no cdigo, a compilao do
projeto ser realizada so corrigir erros.

Relatrio 03: Projeto Semforo PIC16F84A


O microcontrolador PIC16F84A tem duas portas, porta A 5-bit (RA0-RA4) e do
porto 8-bit B (RB0-RB7), que podem ser programados como entradas ou sadas, ou
mesmo programar alguns bits como porta de entrada e os outros pedaos do mesmo
porto como sadas. Para realizar esta programao portas necessrio estipular no
registo da porta a ser programada.
Outra caracterstica do presente microcontrolador que ele tem uma entrada de
interrupo externa e interromper alteraes do nvel de entrada.
Na ausncia de um micro controlador que usado para preparar o semforo, vamos
fazer uma simulao, para isso precisamos dos seguintes programas:

MPLAB

Traduo compilador CCS PIC-C

Programa de simulador ISIS PROTEUS

O processo para o programa semforo:


Primeiro o programa MPLAB abre uma nova pgina e editor de texto abre no Menu
Principal -> Arquivo -> Novo, esta pgina em branco ir capturar o cdigo que tem
comentrios que descrevem.
#include <16f84a.h> // PIC para usar
#fuses XT, NOWDT, NOPROTECT, NOPUT // encomendas para o programador
atraso #use (relgio = 4000000) // Ele vai usar atrasos, tendo em conta a frequncia de
// Oscilador 4MHz
#use fast_io (a) // Check-Rpido

int mode = 1, Temp = 1, i = 0; // Declarao de variveis inteiras


// Funo prottipo que definir porto
vazios Config_Puertos ( vazios );
// funes de interrupo
#INT_EXT // Para o INT interrupo (RB0)
vazio EXT_isr ( vazio )
{
Modo ++;
se (modo == 3)
{
Modo = 1;
Temp = 1;
}
}
// Para o RB interrupo #INT_RB (RB4)
vazio RB_isr ( vazio )
{
se (input (PIN_B4))
{
Temp ++;
}
se (modo == 1 && temperatura == 3)
{
Temp = 1;
}
se (modo == 2 && temperatura == 4)
{
Temp = 1;
}
}
/// Programa principal
vazio principal ( vazio )
{
Config_Puertos (); // Ligue para funcionar

enquanto ( verdadeiro )
{
se (modo == 1) // modo automtico
{
output_low (PIN_A2); // led verde off
output_low (PIN_A1); // amarelo levou off
output_low (PIN_A0); // LED vermelho off
se (temperatura == 1) // Momento 1
{
output_high (PIN_A2); // LED verde
delay_ms (6000);
output_low (PIN_A2); // LED vermelho off
para (i = 0; i <= 4; i ++)
{
output_high (PIN_A1); // LED amarelo
delay_ms (500);
output_low (PIN_A1); // amarelo levou off
delay_ms (500);
}
output_high (PIN_A0); // vermelho LRD sobre
delay_ms (4000);
output_low (PIN_A0); // LED vermelho off
}
se (temperatura == 2) 2 // sincronismo
{
output_high (PIN_A2); // LED verde
delay_ms (4000);
output_low (PIN_A2); // LED vermelho off
para (i = 0; i <= 3; i ++)
{
output_high (PIN_A1); // LED amarelo
delay_ms (500);
output_low (PIN_A1); // amarelo levou off
delay_ms (500);
}
output_high (PIN_A0); // vermelho LRD sobre
delay_ms (6000);
output_low (PIN_A0); // LED vermelho off

}
}
se (modo == 2) // modo Manual
{
enquanto (temperatura == 1)
{
output_high (PIN_A2); // LED verde
output_low (PIN_A1); // amarelo levou off
output_low (PIN_A0); // LED vermelho off
}
enquanto (temperatura == 2)
{
output_low (PIN_A2); // led verde off
output_high (PIN_A1); // LED amarelo
delay_ms (500);
output_low (PIN_A1); // amarelo levou off
delay_ms (500);
output_low (PIN_A0); // LED vermelho off
}
enquanto (temperatura == 3)
{
output_low (PIN_A2); // led verde off
output_low (PIN_A1); // amarelo levou off
output_high (PIN_A0); // LED vermelha sobre
}
}
} // loop infinito
}
vazios Config_Puertos ( vazio )
{
set_tris_A (0xF8); // Porta como sadas (RA0, RA1 e RA2, outros desativada)
set_tris_B (0xFF);
enable_interrupts (global); // todas as interrupes ativadas
enable_interrupts (INT_EXT); // Habilitao interrupo externa (RB0)
enable_interrupts (INT_RB); // permitindo a mudana do nvel de interrupo (RB4RB7)
ext_int_edge (H_TO_L); // interrupo externa borda seleo
output_low (PIN_A2); // led verde off

output_low (PIN_A1); // amarelo levou off


output_low (PIN_A0); // LED vermelho off
Modo = 1;
Temp = 1;
}

Relatrio Tcnico 04: Semforo com duas sequncias e tempo diferentes.


O seguinte programa foi desenvolvido para um trfego multifuncional usando
o PIC16F84A . Enquanto um semforo pode parecer de simples cdigo, a vantagem
que interrompe o microcontrolador foram usadas, neste caso, a interrupo externa
(INT) localizado no bit RB0 porta B e uma interrupo tambm utilizada para
alterao do nvel (RB), que, neste caso, situa-se em pouco RB4.
O programa foi desenvolvido em linguagem C no programa MPLAB CCS e o
tradutor. Alm de simular o funcionamento de semforos ele mostra atravs do
programa Proteus ISIS.
Inicialmente indicamos quais as funes para realizar o microcontrolador para
operar o trfego dependendo do modo que o boto pressionado.
Ao pressionar a tecla "reset", o PIC reposto ao seu estado inicial de operao

automtica e funcionamento da funo de luz de trfego 1.


Automticamente a funo semforo implica, com um certo comprimento de

cada cor no semforo, neste caso, duas sequncias e de tempo diferentes para
mudar de um para outro deve ser pressionado boto "Temporizador".
A sequncia 1 a sequncia inicial, ou seja, o microcontrolador executa uma

vez no circuito: a luz verde permanecer aceso 6 segundo, 5 flashes de luz um


segundo amarelo e, finalmente, a luz vermelha vai permanecer na durante 4
segundos. Esta sequncia repetida enquanto o boto "timing" no
pressionado.
Quando pressionado o boto "timing" para passar a seqncia de luzes de

trfego 2: luz verde em 4 segundos, quatro flashes de luz um segundo amarelo e,


finalmente, a luz vermelha 6 segundos. Da mesma forma que a seqncia acima
ir repetir isso enquanto no pressionar o boto "Temporizador", caso contrrio,
voltar a sequncia 1.
O boto "Auto / Manual", enquanto no modo automtico para o modo manual, o
semforo passa em que cada luz (verde, amarelo e vermelho) permanece
indefinidamente at que seja pressionado o boto do temporizador, de verde para

amarelo (piscando), amarelo para vermelho e, finalmente, de volta ao vermelho


para verde.
O boto "Auto / Manual" pressionado, o boto de luz passou de manual para o
modo automtico, executando a funo 1.

Simulao:

Para realizar a simulao da operao de Semforo, e verificarmos se o


programa funciona como queremos, primeiro necessrio para construir o circuito
mostrado abaixo no programa Proteus ISIS.
Semforo com PIC16F84A usando interrupes.

A frequncia do cristal 4MHz. Uma vez construdo o circuito ir carregar o


arquivo de programa que simula o microcontrolador. Isso feito clicando duas vezes o
microcontrolador e o arquivo de opo hex Programa de Arquivo ser localizado na
direo em que o projeto foi criado em MPLAB selecionado, este arquivo tem o
mesmo nome do projeto, mas com uma terminao hex. Da mesma forma na opo
4MHz de frequncia de gravao do clock do processador. Uma vez que isso for feito,
OK.

Continuando simulao, isso feito clicando no boto Reproduzir no canto


inferior esquerdo da janela do ISIS PROTEUS.
A ruptura, como o prprio nome indica, interrompe a funo est em execuo,
mas uma vez que est fora da interrupo devolvido ao ponto de a funo que foi
interrompido, por isso voc deve esperar terminar essa sequncia ver a mudana que
causou a interrupo, neste caso, o ponto de ignio de cada sinal de trnsito.
Referncias Bibliogrficas.

http://www.getulio.eng.br/meusalunos/EDII/16F84_teoria.pdf

(acessado

em 21 de Maio de 2015);
http://www.tecmos.com.br/soft84.asp\l (acessado em 22 de Maio de 2015);
http://www.alldatasheet.com/view.jsp?
Searchword=Pic16f84a&gclid=Cj0KEQjw6OOoBRDP9uG4oqzUv7kBEiQ
A0sRYBOW3g_RlC8OjRSM_Rx4YS6Zu6rYNkGOBmOTOS9k0neEaArOW8
P8HAQ (acessado em 28 de Maio de 2015).

Das könnte Ihnen auch gefallen