这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机C语言程序设计:K1-K4分组控制LED

共1条 1/1 1 跳转至

单片机C语言程序设计:K1-K4分组控制LED

高工
2013-10-25 15:52:07     打赏

/* 名称:K1-K4分组控制LED

*/

说明:每次按下K1时递增点亮一只LED,全亮时再次按下则再次循环开始,

K2按下后点亮上面4LEDK3按下后点亮下面4LEDK4按下后关闭所有LED

#includereg51.h>

#defineucharunsignedchar

#defineuintunsignedint

//延时

voidDelayMS(uintx)

{

uchari;

while(x--)for(i=0;i120;i++);

}

//主程序

voidmain()

{

uchark,t,Key_State;

P0=0xff;

P1=0xff;

while(1)

{

t=P1;

if(t!=0xff)

{

DelayMS(10);

if(t!=P1)continue;

//取得4位按键值,由模式XXXX1111(X中有一位为0,其他均为1)

//变为模式0000XXXX(X中有一位为1,其他均为0)

Key_State=~t>>4;

k=0;

//检查1所在位置,累加获取按键号k

while(Key_State!=0)

{

k++;

Key_State>>=1;

}

//根据按键号k进行4种处理

switch(k)

{

case1: if(P0==0x00)P0=0xff;

P0=1;

DelayMS(200);

break;

case2: P0=0xf0;break;

case3: P0=0x0f;break;

case4: P0=0xff;

}

}

}

单片机C语言程序设计:K1-K4分组控制LED




关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]