【MSP430F149学习】10流水灯
准备工具:电脑;TS8900--MSP430F149开发板;USB线一根
开发环境:IAR EW for MSP430 V5.30
控制板载LED8~1来回流动
流水灯原理图 灌电流外加1K的限流电阻
[attach]33265[/attach]
硬件
[attach]33266[/attach]
程序代码
/*********************************************** 程 序功能:实现板载LED8~1来回流动 ************************************************/ #includetypedef unsigned int uint; uint i = 0,dir = 0; /****************主函数****************/ void main(void) { /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF1OUT = 0XFF; P2DIR = 0XFF2OUT = 0XFF; P3DIR = 0XFF3OUT = 0XFF; P4DIR = 0XFF4OUT = 0XFF; P5DIR = 0XFF5OUT = 0XFF; P6DIR = 0XFF6OUT = 0XFF; P2DIR = 0XFF; // 设置P2.0~7 I/O口方向为输出模式 //WDTCTL = WDT_ADLY_1000; // 设置看门狗工作在定时模式时间1000ms WDTCTL = WDT_MDLY_32; // 设置看门狗工作在定时模式时间大约30ms IE1 |= WDTIE; // 使能看门狗中断 _EINT(); // 总中断开 while(1); // 死循环 } /********** 看门狗定时器中断服务函数***********/ #pragma vector=WDT_VECTOR __interrupt void watchdog_timer(void) { if(++dir <= 8) { P2OUT = ~(0x80>>(i++)); //灯的点亮顺序LED8 -> LED1 } else { P2OUT = ~(0x01<<(i++)); //灯的点亮顺序LEDD1 ->LEDD8 } if(i == 8 ) { i = 0; } if(dir == 16) { dir = 0; } }
下载运行效果
[attach]33267[/attach]
【MSP430F149学习】汇总贴
欢迎光临 烽火社区 (http://bbs.cnecport.com/) | Powered by Discuz! X3.2 |