#include <msp430.h>
//P1.0灯闪烁代码
/*
* main.c
*/
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
/*初始化LED1所在IO口P1.0为输出*/
P1DIR |=BIT0;
/*初始化LED2所在IO口P1.0为低电平,LED1初始状态为灭*/
P1OUT &=-BIT0;
while(1)
{
P1OUT ^= BIT0;
/*此语句等效为P1OUT = P1OUT ^ BIT0
*‘^’为按位异或运算。
*P1OUT 初始化为x0xxxxxx,BIT0为01000000
*第一次执行此语句时:x0xxxxxx ^ 01000000 ->x1xxxxxx -> P1OUT,P1.0输出高电平,LED1点亮
*第二次执行此语句时:x1xxxxxx ^ 01000000 ->x0xxxxxx -> P1OUT,P1.0输出低电平,LED1熄灭
*如此循环,LED1闪烁
*
*/
__delay_cycles(500000);
/*这条语句的执行等同于延时,参数为500000,执行时间大致为500ms,也就是这条语句需要500ms才能
* 执行完毕。
*/
}
return 0;
}
|