|
发表于 2023-5-29 19:00:04
|
显示全部楼层
本帖最后由 1872978045 于 2023-6-1 15:59 编辑
第七集(下):
总结
三、按键的应用
5、按键按下一次,LED往左边走一个
P6 = 0xfe;
if(KEY2 == 0) //判断是否按下
{
Delay_ms(500); //延时
if(KEY2 == 0) //再次判断是否按下
{
P6 = ((P6<<1)+1); //每次左移一位,并且最低位加一
if (P6 =0Xff) //如果一次循环结束,则给P6重新赋值0XFE
P6 =0Xfe;
Delay_ms(500);
while(KEY2 == 0);
}
}
6、按键按下一次,LED往右边走一个
P6 = 0x7f;
if(KEY2 == 0) //判断是否按下
{
Delay_ms(500); //延时
if(KEY2 == 0) //再次判断是否按下
{
P6 = ((P6>>1)+256); //每次左移一位,并且最高位加一
if (P6 =0Xff) //如果一次循环结束,则给P6重新赋值0X7F
P6 =0X7f;
Delay_ms(500);
while(KEY2 == 0);
}
}
四、数组的使用
数组使用分为如下两步:
1.定义: 类型 名称 [长度] = {数值};
2.使用: 赋值: 名称[索引] = 数值
使用数组实现流水灯核心函数:
u8 led_data[8] ={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
u8 num = 0;
P6 = led_data[num];
delay_ms(500);
num++;
if(num>7)
num = 0;
数组从0开始并且使用过程中千万要保证数组不要越界
|
|