Yeni bir başlangıç ; MSP430!


 MSP430

Dokunmadığım, bulaşmadığım mikroKontrolcü kalmasın prensibi içerisinde Texas Instruments’in de yürüttüğü mükemmel(!) tanıtım kampanyası sonucunda Çizgi-Tagem’den aldığım MSP430 LaunchPad için yazdığım başlangıç niteliğindeki LED animasyon programı…

Türkiye’de Çizgi-Tagem‘in tanıtımını yaptığı MSP430 LaunchPad mikroKontrol uygulamalarına başlamak istiyenler için oldukça ekonomik ve kullanışlı bir Program Geliştirme Aracı. Setin tanıtımı Çizgi-Tagem’de ve www.mcu-turkey.com‘da yapıldığı için anlatımına gerek yok!

Ancak avantajları olarak;
-Ekonomiklik,
-Kullanışlılığı,
-Program yazılımının kolaylığı,
-Espri anlayışı…(Kutunun içinde yazan “Happy Coding” ifadesi beni ilk gördüğümde çok şaşırttı ve güldürdü! )

Dezavantajları olarakta;
-microchip’in PIC’inin çok yaygın olduğu ülkemizde tüm kaynakların PIC odaklı olmasından ötürü, kaynak bulmak ve örnek uygulama incelemek oldukça zor. Ancak oluşan bu boşluğu da www.mcu-turkey.com oldukça iyi kapatıyor…

MSP430 LaunchPad;

MSP430 LaunchPad

/*-------------------------------------------------------------------*/
#include "io430x20x1.h"
/*-------------------------------------------------------------------*/
void initializeDevice(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR = 0XFF;    //P1.7 Giriş, diğerleri çıkış...

  BCSCTL1= CALBC1_8MHZ; //DCOCLK 8MHZ Seçiliyor...
  DCOCTL = CALDCO_8MHZ;
  BCSCTL2|=SELM_1;     //MCLK=DCOCLK  Seçiliyor...
  BCSCTL2|=DIVM_3;    //MCLK Bölücü = 8 (8Mhz / 8 = 1Mhz) 
}
/*-------------------------------------------------------------------*/
void delay2(void);
/*-------------------------------------------------------------------*/
void animasyon1(void);
/*-------------------------------------------------------------------*/
void animasyon2(void);
/*-------------------------------------------------------------------*/
void animasyon3(void);
/*-------------------------------------------------------------------*/
void animasyon4(void);
/*-------------------------------------------------------------------*/
unsigned int i;
unsigned long timex;
void main()
{
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR = 0XFF;   

  BCSCTL1= CALBC1_8MHZ; //DCOCLK 8MHZ Seçiliyor...
  DCOCTL = CALDCO_8MHZ;
  BCSCTL2|=SELM_1;     //MCLK=DCOCLK  Seçiliyor...
  BCSCTL2|=DIVM_3;    //MCLK Bölücü = 8 (8Mhz / 8 = 1Mhz) 
/*-------------------------------------------------------------------*/ 
   do
  {
    timex = 20;
    animasyon1();
    timex = 30;
    animasyon3();

     timex = 50;
     animasyon2(); 
     timex = 15;
    animasyon4();
  }
  while(1);
}
/*-------------------------------------------------------------------*/
void delay2(void)
{
  volatile unsigned int e;
 // volatile unsigned int timex;  
  for(e = 10 * timex; e>0; e--);
}

void animasyon1(void)
{
 for(i=0; i < 20; i++){  
  P1OUT = 0x01;
      delay2();
  P1OUT = 0x02;
      delay2();
  P1OUT = 0x04;
      delay2();    
  P1OUT = 0x08;
      delay2();
  P1OUT = 0x10;
      delay2();
  P1OUT = 0x20;
      delay2();
   P1OUT = 0x40;
      delay2();
  P1OUT = 0x80;
      delay2();     
      timex++;
    } 
}
/*-------------------------------------------------------------------*/
void animasyon2()
{
  for(i=0; i < 50; i++){   
  P1OUT = 0xAA;
      delay2();
  P1OUT = 0x55;
      delay2();
      timex--;
      }
}
/*------------------------------------------------------------------*/
void animasyon3(void)
{
 for(i=0; i < 20; i++){  
  P1OUT = 0x80;
      delay2();
  P1OUT = 0x40;
      delay2();
  P1OUT = 0x20;
      delay2();    
  P1OUT = 0x10;
      delay2();
  P1OUT = 0x08;
      delay2();
  P1OUT = 0x04;
      delay2();
  P1OUT = 0x02;
      delay2();
  P1OUT = 0x01;
      delay2();     
      timex--;
    } 
}
/*-------------------------------------------------------------------*/
void animasyon4(void)
{
  volatile unsigned int value; 
  value = 0x00;  
  for(i=0; i < 255; i++){  
  P1OUT = value;
      delay2();
  P1OUT =value++;
    
    } 
  for(i=0; i < 255; i++){  
  P1OUT = value;
      delay2();
  P1OUT =value--;
    
    }
}
/*-------------------------------------------------------------------*/

  1. Henüz hiç yorum yok.
(yayınlanmayacak)