淘宝网站是谁做的好处,wordpress 添加头像,农产品网站开发,德国购物网站排名各位CSDN的uu们你们好呀#xff0c;今天依旧是小雅兰的51单片机的内容#xff0c;内容主要是#xff1a;独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位#xff0c;下面#xff0c;让我们进入51单片机的世界吧#xff01;今天依旧是小雅兰的51单片机的内容内容主要是独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位下面让我们进入51单片机的世界吧 如果对C语言的知识有不懂的话可以看看小雅兰的C语言的专栏
https://blog.csdn.net/weixin_74957752/category_12188777.html?spm1001.2014.3001.5482 独立按键控制LED亮灭
独立按键控制LED状态
独立按键控制LED显示二进制
独立按键控制LED移位
源代码 独立按键控制LED亮灭
首先我们需要知道独立按键是一个什么东西 在单片机上也是标明了独立按键了的是最下面的四个黑色的按钮。
这边的意思是按下K1建第一个LED亮松手就熄灭。 下面就可以开始写代码啦
#include REGX52.Hvoid main()
{while(1){if(P3_10){P2_00;}else{P2_01;}}
} 知道了上述知识点后如果我们想要K1和K2同时按下时再点亮第一个LED的话应该是这么写
#include REGX52.Hvoid main()
{while(1){if(P3_10P3_00){P2_00;}else{P2_01;}}
}如果是想要按下K1点亮第一个LED按下K2也点亮第一个LED同时按下也会点亮第一个LED只有当两个按钮都没有按下时才不会点亮第一个LED。
那么这个代码应该是这么写
#include REGX52.Hvoid main()
{while(1){if(P3_10||P3_00){P2_00;}else{P2_01;}}
} 独立按键控制LED状态 这个的意思是按下K1键时第一个LED不亮然后松开之后LED亮了。然后再按下LED亮松手LED不亮。
#include REGX52.Hvoid Delay(unsigned int xms) //12.000MHz
{unsigned char data i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;}
}void main()
{while(1){if(P3_10){Delay(20);while(P3_10);//循环什么也不做Delay(20);P2_0~P2_0;}}
} 独立按键控制LED显示二进制
这边的意思是从1开始显示它的二进制代码序列对应的LED亮如果是1那么它的二进制代码序列就是0001也就是第一个LED亮如果是2它的二进制代码序列是0010那么就是第二个LED亮如果是3则它的二进制代码序列为0011也就是第一个LED和第二个LED同时亮以此类推
代码就应该得这样写
#include REGX52.Hvoid Delay(unsigned int xms) //12.000MHz
{unsigned char data i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;}
}void main()
{unsigned char LEDNum0;while(1){if(P3_10){Delay(20);while(P3_10);Delay(20);LEDNum;P2~LEDNum;}}
}独立按键控制LED移位 #include REGX52.Hvoid Delay(unsigned int xms) //12.000MHz
{unsigned char data i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;}
}void main()
{unsigned char LEDNum0;P2~0x01;while(1){if(P3_10){Delay(20);while(P3_10);Delay(20);LEDNum;if(LEDNum8){LEDNum0;}P2~(0x01LEDNum);}}
} 上面这个代码只是按了K1就让LED从第一个移到第二个、第三个......
那如果是想要按下K1让LED从第一个移到第二个、第三个......按下K2让LED从第八个移到第七个、第六个......那么这个功能又应该怎么实现呢
#include REGX52.Hvoid Delay(unsigned int xms) //12.000MHz
{unsigned char data i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;}
}void main()
{unsigned char LEDNum0;P2~0x01;while(1){if(P3_10){Delay(20);while(P3_10);Delay(20);LEDNum;if(LEDNum8){LEDNum0;}P2~(0x01LEDNum);}if(P3_00){Delay(20);while(P3_00);Delay(20);if(LEDNum0){LEDNum7;}else{LEDNum--;}P2~(0x01LEDNum);}}
} 源代码 独立按键控制LED亮灭 #include REGX52.H void main() { while(1) { if(P3_10) { P2_00; } else { P2_01; } } } 独立按键控制LED状态 #include REGX52.H void Delay(unsigned int xms) //12.000MHz { unsigned char data i, j; while(xms) { i 2; j 239; do { while (--j); } while (--i); xms--; } } void main() { while(1) { if(P3_10) { Delay(20); while(P3_10);//循环什么也不做 Delay(20); P2_0~P2_0; } } } 独立按键控制LED显示二进制 #include REGX52.H void Delay(unsigned int xms) //12.000MHz { unsigned char data i, j; while(xms) { i 2; j 239; do { while (--j); } while (--i); xms--; } } void main() { unsigned char LEDNum0; while(1) { if(P3_10) { Delay(20); while(P3_10); Delay(20); LEDNum; P2~LEDNum; } } } 独立按键控制LED移位 #include REGX52.H void Delay(unsigned int xms) //12.000MHz { unsigned char data i, j; while(xms) { i 2; j 239; do { while (--j); } while (--i); xms--; } } void main() { unsigned char LEDNum0; P2~0x01; while(1) { if(P3_10) { Delay(20); while(P3_10); Delay(20); LEDNum; if(LEDNum8) { LEDNum0; } P2~(0x01LEDNum); } } } 好啦小雅兰今天的学习内容就到这里啦还要继续加油呀 越努力越优秀