
Để lập trình cho Vi điều khiển MSP430F5510 nói trên thì chúng ta sẽ dùng chương trình Code Composer Studio (CCS), ngôn ngữ lập trình là C.
Không giống như họ vđk 8051, việc khai báo của MPS có vẻ dài dòng và cụ thể hơn ^^.
Việc khai báo input hay output này chúng ta phải thực hiện ở phần đầu của chương trình.
Cú pháp:
PxDIR: (x là tên Port )
Bit = 0: Pin được khai báo là Input
Bit = 1: Pin được khai báo là Output
Ví dụ:
P1DIR = 0x0F; // chân P1.0 đến chân P1.3 là Output 0b0000111
Và tất nhiên, sau khi khai báo là input hay output thì chúng ta phải khai báo mức logic ở trạng thái đầu tiên cho Output còn Input thì không cần.
Cú pháp cho output:
PxOUT : (x là tên Port)
Bit = 0: Mức logic ở chân được khai báo là 0 ( mức thấp-low)
Bit = 1: Mức logic ở chân được khai báo là 1 ( mức cao - high)
Ví dụ:
P1DIR = 0xFF; // Tất cả các chân ở Port 1 được khai báo là ouput
P1OUT = 0x96; //0b10010110 Các chân 1.1, 1.2, 1.4, 1.7 có mức logic 1, các chân còn lại có mức logic 0.

PxIN : (x là tên Port)
Bit = 0: Mức thấp
Bit = 1: Mức cao
Ví dụ:
P1DIR = 0x7F; //P1.7 là input, các pin còn lại là output
------------
If(P1IN & 0x80) // nếu P1.7 ở mức 1 thì
P1OUT = 0x96; //0b10010110

Nháy LED đơn giản
#include <msp430F5510.h>
void main(void)
{
// Stop Watchdog Timer
WDTCTL = WDTPW + WDTHOLD;
// P1.0 and P1.6 is output pin
P1DIR |= BIT0 + BIT1;
while(1) {
P1OUT |= BIT0 + BIT1;
__delay_cycles(50000);
__delay_cycles(50000);
P1OUT &= ~(BIT0 + BIT1);
__delay_cycles(50000);
__delay_cycles(50000);
}
}
Tương tác với phím nhấn:
include <msp430F5510.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= 0x01; // Set P1.0 to output direction
while (1) // Test P2.0
{
if (P2IN&BIT0)
P1OUT |= 0x01; // if P2.0 set, set P1.0
else
P1OUT &= ~0x01; // else reset P1.0=0
}
}