求一个单个按键控制两种模式的流水灯程序 #include

咸鱼4s 2021-04-15 09:54:27
如题,我只会做第一次循环,不会做第二次,第一次是led1亮到led4,第二次是led4亮到led1
...全文
429 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
咸鱼4s 2021-04-15
  • 打赏
  • 举报
回复
这是第一遍循环的代码 #include <ioCC2530.h> typedef unsigned char uchar; typedef unsigned int uint; #define D3 P1_0 #define D4 P1_1 #define D5 P1_3 #define D6 P1_4 #define SW1 P1_2 #define ON 0 #define OFF 1 void DelayMS(unt msec) { unt i,j; for(i=0; i<msec; i++) for(j=0;j<535; j++); } void LedONorOFF(uchar mode) { D3 = mode; D4 = mode; D5 = mode; D6 = mode; } void InitLed(void) { P1DIR |= 0x1B; LedONorOFF(mode:0); } void InitKey(void) { P1SEL &= ~0x04; P1DIR &= ~0x04; P1INP &= ~0x04; } uchar KeyScan(void) { if (SW1 ==0) { DelayMS(msec:10); if (SW1 == 0) { while(!SW1); return 1; } } return 0; } void main(void) { InitLed(); InitKey(); while(1) { DelayMS(msec:2); if (Keyscan()) { D4 = ON; DelayMS(msec:1000); D4 = OFF; D3 = ON; DelayMS(msec:1000); D3 = OFF; D6 = ON; DelayMS(msec:1000); D6 = OFF; D5 = ON; DelayMS(msec:1000); D5 = OFF; } } }

6,127

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧