独立按键控制一个led灯的亮灭
直接可以控制指定位的变化
#include <REGX52.H>
void main(){//实现独立按键控制一个led灯的亮灭
while(1){
//按下时亮松开时灭
if(P3_1==0){
P2_0=0;
}else{
P2_0=1;
}
}
}
独立按键控制灯的循环亮灭(单向循环)
这里实现灯的亮灭是使用在我之前的文章中《单片机:流水灯》提到的实现灯亮灭的方法。
识别到k1键被按下,或者k2键被按下,因为机器再按的时候程序一直执行,程序的执行是相当快的,这样就多次识别到k1(k2)键被按下,这样就多个灯的状态被改变,我们本意想按下一次只识别一次,采用延时可以实现,当按下键后,延时500ms在这500ms内就只识别了1次,只改变一个灯的状态,(缺点:因为延时是固定的,所以在延时时间内无论你按下多少次按键都不会识别)
#include <REGX52.H>
#include <INTRINS.H>
void Delay500ms() //@12.000MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(){
int x=1,count=0xff;
P2=count - x;//初始话灯
Delay500ms();
while(1){
if(P3_1==0){//识别按

最低0.47元/天 解锁文章
1385

被折叠的 条评论
为什么被折叠?



