Merhaba
MSP430 Texas Instruments firmasının ürettiği ucuza elimize geçebilecek bir ürün. Bu ürün bir çok kolaylık sağlayabilecek ürün. Bir çok sistemin ana parçası olabilecek nitelikte. Aldığım mikroişlemciler dersinde bu ürün gayet hoşuma gitmişti. Bende kendimi bu alanda geliştirmeye karar verdim. MSP430 ile yaptığım ilk uygulama LED Yakma uygulamasıydı.
Bu uygulamanın kodlarını ve nasıl gerçekleştiğini anlatıcam.
[box type=”info”] ;******************************************************************************* ;
MSP430G2553 LED YAKMA ; ; AÇIKLAMA: MSP Launchpad üzerinde bulunan ledlerin yakılması ; ;
MAİL: selimerkan.81@gmail.com ; ; selim erkan 16.12.2012 ;
Program IAR Assembler for MSP430 5.51 IDE kickstart ;*******************************************************************************
#include “msp430g2553.h” // Kullandığımız işlemci Kütüphanesi
ORG 0F800h ;
Program Reset ;
RESET mov.w #0280h,SP ; SP tanımladık
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Watchdog durdurduk
Setup P1 bis.b #001h,&P1DIR ; P1.0 setlendi çıkış olarak gösterildi.
bis.b #001h,&P1OUT ;Ledimizi Yaktık
Interrupt Vectors ;
ORG 0FFFEh ;
MSP430 RESET Vector DW RESET ;
END[/box]
Burada önemli olan şu koda değinelim.
bis.b #001h,&P1DIR ; P1.0 setlendi çıkış olarak gösterildi. bis.b #001h,&P1OUT ;Ledimizi Yaktık |
- bis.b komutu burada setleme amacıyla kullanılır yani bizim amacımız 0 değerini 1 yapmak.
- bic.b komutu ise tam tersi işlevi yapar. 1 değerini sıfır yapar.
001h peki ne demek diye aklınıza bir soru gelirse bu bizim msp430 işlemcimizin tanıyacağı 16 tabanında ki sayı değerimiz.
Bu sayıların hesaplanması hakkında bilgi için hazırladığım yazıyı okuyabilirsiniz.
001 bize port 1.0 daki ledin yanacağını söyler eğer biz P 1.6 da ki ledi yakmak istersek 40h ile değiştirmemiz gerekir yani.
P1.0 kırmızı led için 001h
P1.6 Yeşil led için 040h işimizi görür.
Evet kırmızı ledimiz yanarken ki mspmiz.