在控制LED中,我想用一个单独控制一个灯执行时却导致全部灯点亮问题,如下:问题在于
将 P2 设置为 0x80 然后迅速设置为 0x00 可能会导致所有连接到 P2 的灯短暂地被激活。这是因 为当 P2 被设置为 0x80 时,P2 的第 7 位(即 P2.7)被置高电平,可能会瞬间激活与 P2 连接的所有灯。然后迅速将 P2 设置为 0x00,会让这些灯短时间内处于点亮状态,但由于时间极短,所以亮度不高。然后我用以下方法重新控制LED灯
直接使用Device_Ctrl控制。
void Device_Ctrl(u8 data2,u8 data0){
P0 = data0;
P2 = P2&0x1f | data2;
P2 = P2&0x1f;
}