标签:
I:\CC2540开发\AmoMcu-CC254x开发套件资料-2014年05月\4.初级基础实验-11.30\4.初级基础实验\1.Led闪烁_流水灯\Test
把CC-debug和开发板连接好,电源线和数据线连上(之前看完了用户手册后面的东西)
点击XXX.ewp在IAR中打开
点击绿色箭头后进入debug模式,需要按动单步调试或者直接step over按钮使程序直接运行
其代码和51很类似,唯一不同点在于第53行部分,要用到cc2540端口定义(貌似是使能用)
1 /**************************************************************************** 2 * 文 件 名: main.c 3 * 作 者: Amo [ www.amoMcu.com 阿莫单片机] 4 * 修 订: 2014-04-08 5 * 版 本: 1.0 6 * 描 述: 操作IO口控制4盏LED灯的全亮和全灭、闪烁、流水灯 7 ****************************************************************************/ 8 #include <ioCC2540.h> 9 10 typedef unsigned char uchar; 11 typedef unsigned int uint; 12 13 #define LED1 P1_0 //定义P1.0口为LED1控制端 14 #define LED2 P1_1 //定义P1.1口为LED2控制端 15 #define LED3 P1_4 //定义P1.4口为LED3控制端 16 #define LED4 P0_1 //定义P0.1口为LED4控制端 17 18 19 /**************************************************************************** 20 * 名 称: DelayMS() 21 * 功 能: 以毫秒为单位延时,系统时钟不配置时默认为16M(用示波器测量相当精确) 22 * 入口参数: msec 延时参数,值越大,延时越久 23 * 出口参数: 无 24 ****************************************************************************/ 25 void DelayMS(uint msec) 26 { 27 uint i,j; 28 29 for (i=0; i<msec; i++) 30 for (j=0; j<535; j++); 31 } 32 33 /**************************************************************************** 34 * 名 称: LedOnOrOff() 35 * 功 能: 点亮或熄灭所有LED灯 36 * 入口参数: mode为1时LED灯亮 mode为0时LED灯灭, 共阴极 37 * 出口参数: 无 38 ****************************************************************************/ 39 void LedOnOrOff(uchar mode) 40 { 41 LED1 = mode; 42 LED2 = mode; 43 LED3 = mode; 44 LED4 = mode; 45 } 46 47 /**************************************************************************** 48 * 名 称: InitLed() 49 * 功 能: 设置LED灯相应的IO口 50 * 入口参数: 无 51 * 出口参数: 无 52 ****************************************************************************/ 53 void InitLed(void) 54 { 55 P1DIR |= 0x13; //P1.0、P1.1、P1.4定义为输出 56 P0DIR |= 0x02; //P0.1定义为输出 57 LedOnOrOff(0); //使所有LED灯默认为熄灭状态 58 } 59 60 /**************************************************************************** 61 * 程序入口函数 62 ****************************************************************************/ 63 void main(void) 64 { 65 uchar i; 66 67 InitLed(); //设置LED灯相关IO口 68 69 while(1) //死循环 70 { 71 LED1 = !LED1; //流水灯,初始化时LED为熄灭执行后则点亮 72 DelayMS(200); 73 LED2 = !LED2; 74 DelayMS(200); 75 LED3 = !LED3; 76 DelayMS(200); 77 LED4 = !LED4; 78 DelayMS(200); 79 LED4 = !LED4; 80 DelayMS(200); 81 LED3 = !LED3; 82 DelayMS(200); 83 LED2 = !LED2; 84 DelayMS(200); 85 LED1 = !LED1; 86 DelayMS(200); 87 88 for (i=0; i<2; i++) //所有灯闪烁2次 89 { 90 LedOnOrOff(0); //关闭所有LED灯 91 DelayMS(200); 92 LedOnOrOff(1); //打开所有LED灯 93 DelayMS(200); 94 } 95 96 LedOnOrOff(0); //使所有LED灯熄灭状态 97 DelayMS(500); 98 } 99 }
链接:http://pan.baidu.com/s/1jG2CYaU
标签:
原文地址:http://www.cnblogs.com/happyhappy/p/4716265.html