做家装的网站有什么不同苏州餐饮 网站建设
做家装的网站有什么不同,苏州餐饮 网站建设,网站建设编程软件,营销宣传文案任务
设计8路节日彩灯控制器#xff0c;要求在Protues中设计接口电路图#xff0c;并编程实现节日彩灯闪烁方式的控制#xff1a;
通过P1.0到P1.2来控制3个按键。3个按键分别对应3种彩灯闪烁方式。彩灯闪烁方式分别为#xff1a;从上往下的循环、从下往上以及从中间向两边…任务
设计8路节日彩灯控制器要求在Protues中设计接口电路图并编程实现节日彩灯闪烁方式的控制
通过P1.0到P1.2来控制3个按键。3个按键分别对应3种彩灯闪烁方式。彩灯闪烁方式分别为从上往下的循环、从下往上以及从中间向两边再从两边到中间三种流水方式。
代码
#includereg52.h
#includeintrins.h //包含循环左、右移位函数的头文件_crol_, _cror_
sbit S1P1^0;
sbit S2P1^1;
sbit S3P1^2;
unsigned char keyval;
void key_scan(void); //按键扫描取键值
void forward(void); //从上到下闪烁
void backward(void); //从下到上闪烁
void middleward(void); //从中间到两边再从两边到中间
void delay10ms(void); //按键扫描延时防抖动
void led_delay(void);
void main(void)
{keyval0; //键盘初始化为0while(1){key_scan(); //调用键盘扫描函数switch(keyval){case 1:forward(); //键值为1从上到下闪烁break;case 2:backward(); //键值为2从下到上闪烁break;case 3:middleward(); //键值为3从中间到两边再从两边到中间break;}}
}
void key_scan(void)
{P10xff;if((P10x0f)!0x0f) //检测到有键按下{delay10ms();if(S10)keyval1;if(S20)keyval2;if(S30)keyval3;}
}
void forward(void)
{P20xfe; //1led_delay();P20xfd; //2led_delay();P20xfb; //3led_delay();P20xf7; //4led_delay();P20xef; //5led_delay();P20xdf; //6led_delay();P20xbf; //7led_delay();P20x7f; //8led_delay();
}void backward(void)
{P20x7f; //8led_delay();P20xbf; //7led_delay();P20xdf; //6led_delay();P20xef; //5led_delay();P20xf7; //4led_delay();P20xfb; //3led_delay();P20xfd; //2led_delay();P20xfe; //1led_delay();
}void middleward(void)
{P20xe7;led_delay();P20xdb;led_delay();P20xbd;led_delay();P20x7e;led_delay();P20xbd;led_delay();P20xdb;led_delay();
}
void led_delay(void)
{unsigned char i,j;for(i0;i220;i)for(j0;j220;j);
}void delay10ms(void)
{ unsigned char i,j;for(i0;i100;i)for(j0;j100;j);
}
仿真
键值为1从上到下闪烁 键值为2从下到上闪烁 键值为3从中间到两边再从两边到中间
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88024.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!