码迷,mamicode.com
首页 > 其他好文 > 详细

1、点亮第一个灯

时间:2015-08-09 22:12:43      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

 

 

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 

 

1、点亮第一个灯

标签:

原文地址:http://www.cnblogs.com/happyhappy/p/4716265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!