Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RELATRIO DE MICROCONTROLADORES 2
CURITIBA
2014
CURITIBA
2014
SUMRIO
1.INTRODUO ......................................................................................................... 4
2.PROGRAMA ............................................................................................................ 5
3.LISTA DE MATERIAIS ............................................................................................ 8
4.HARDWARE ............................................................................................................ 9
5.CONCLUSAO ........................................................................................................ 10
6.REFERNCIAS BIBLIOGRFICAS ...................................................................... 11
1.INTRODUO
Tabela 1
2.PROGRAMA
O programa foi feito em Linguagem C, usando o software IAR WorkBench e
consiste no seguinte cdigo:
//inicio do programa
#include <msp430g2553.h>
#define a 0x01
#define b 0x02
#define c 0x04
#define d 0x08
char estado = a; // define o estado inicial
int M=0;
#pragma vector = TIMER0_A0_VECTOR
__interrupt void timerA (void)
{
if(!(P2IN & BIT2)) // le o valor do botao para definir o sentido de rotao, para
M=1
M = ~M; // 2.2 botao
switch(estado)
{
case a:
if(M==0)
{
estado = b;
// Estado atual: A
}
else
{
estado = d;// muda estado para D
}
// nao altera a saida
break;
case b:
if(M==0)
{
estado = c; // Se apertar o boto volta para A
}
else
{
estado = a;
// muda para o estado C se no apertar o
boto
break;
case c:
// Estado atual: C
if(M==0)
{
estado = d; // volta para B se apertar o boto
}
else
{
estado = b; // muda para o estado D
}
break;
case d:
// Estado atual: D
if(M==0)
{
estado = a; // volta para estado C se apertar o boto
}
else
{
estado = c; // volta para A se no apertar o boto
}
break;
}
P1OUT = estado;
}
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
// Configurao das portas
P1DIR |= 0xFF;
//config. P1 como saida
P2REN |= BIT2;
// resistor de pull-up ou pull-down em
P2.0
P2OUT |= BIT2;
// resistor de pull-up em P2.0
P1OUT = 0x00;
//inicializa a porta 1 em nivel baixo
// Configurao do Timer A
TACCR0 = 0xF424;
timer
TACTL = TASSEL_2 + ID_3 + MC_1;
// config. TIMER A para:
// fonte de clock: SMCLOCK (TASSEL_2),
// clock dividido por 8 (ID_3),
// modo de contagem "UP" (MC_1)e para
gerar
TACCTL0 = CCIE;
comparacao com TACCR0
__enable_interrupt();
while(1);
}
// fim do programa
// configura interrupcao de
// habilita as interrupcoes mascaraveis
// loop infinito
3.LISTA DE MATERIAIS
1x Protoboard
4x LED
4x Resistor 220R
1x Push-button
Jumpers
1x Kit MSP430 LaunchPad + Computador
1x Motor de passo
1x CI ULN2003
4.HARDWARE
10
5.CONCLUSO
11
6.REFERNCIAS BIBLIOGRFICAS
INTERNET
http://era-weblab.blogspot.com.br/2012/03/estrutura-do-equipamentofuncionamento.html
http://eletroeletronicadtudo.blogspot.com.br/p/controle-de-um-motor-depasso.html
http://stoa.usp.br/andreromero/files/-1/11859/Motor-Passo.pdf