实训之WSN(二)
2017-05-22 20:54
169 查看
#include<ioCC2530.h> #define LED1 P1_0 #define LED2 P1_1 #define KEY P1_2 //延迟时间 time ms void delay_ms(int time) { int i,j; for(i = 0 ;i < time;i++) { for(j = 0;j < 240;j++) { asm("NOP"); //执行一个空的机器周期,目的是消耗时间 asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); } } } //主函数 void main() { P1DIR |=0x03; LED1=0; //复位以后这个灯默认就是点亮的,所以我们要熄灭它 LED2=0; /* int number=0; while(1) { if(KEY==0) { delay_ms(10); //作用是消抖 number++; } //灯亮 if(number%2==1) { LED=1; //delay_ms(200); while(!KEY); //等待按键松开 } //灯灭 if(number%2==0) { LED=0; //delay_ms(200); while(!KEY); //等待按键松开 } } */ /* while(1) { if(KEY == 0) { delay_ms(10);// 作用是消抖 if(KEY ==0) { LED1 =!LED1; LED2 =!LED2; //delay_ms(200); while(!KEY); //等待按键松开 } } } */ /* 第一次按下键的时候,点亮D1,灭掉D2 第二次点亮D2,灭掉D1 第三次同时亮D1和D2 第四次灭掉D1和D2 */ int number=0; while(1){ if(KEY == 0) { delay_ms(10);// 作用是消抖 // 第一次按下键的时候,点亮D1,灭掉D2 if(KEY ==0&&number==0) { LED1 =!LED1; //亮 LED2 =LED2; //灭 while(!KEY); //等待按键松开 number++; } // 第二次点亮D2,灭掉D1 if(KEY ==0&&number==1) { LED1 =!LED1; //灭 LED2 =!LED2; //亮 while(!KEY); //等待按键松开 number++; } //第三次同时亮D1和D2 if(KEY ==0&&number==2) { LED1 =!LED1; //亮 LED2 =LED2; //亮 while(!KEY); //等待按键松开 number++; } //第四次灭掉D1和D2 if(KEY ==0&&number==3) { LED1 =!LED1; //灭 LED2 =!LED2; //灭 while(!KEY); //等待按键松开 number++; } } if(number==4){ //计数置零 number=0; } } }
相关文章推荐
- 实训之WSN(一)
- 实训项目3
- jsp的实训=玩游戏(推魔兽)
- [导入]2007年的暑期实训
- 实训结束---MiniDB项目release(项目总结)
- Java 实训3-4 输入一个字符串 如果第一个字母为小写 则大写整个字符串否则提示出错
- 实训汇编语言设计——存储区数据传输
- 实训汇编语言设计——找出两个数组中相同的整数
- 实训一 机床夹具认识
- 实训C++语言设计——Clock模拟时钟系统
- 实训C++语言设计——接受两个非递减的线性表,并将它们合并为非递减的Lc
- 项目实训--收获
- Web服务异步调用实训
- 关于JAVA实训项目的总结
- 江西微软实训小结
- 《Windows Server 2003 网络管理实训教程》读书笔记(4)
- java实训笔记
- 精英Java软件工程师实训项目介绍
- 成绩管理系统(实训内容)
- 亚嵌教育实训教学的理念和方法(六)-亚嵌李明