你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> 单片机C语言程序设计:K1-K4分组控制LED

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

关键字: LED 单片机 C语言 程序设计 作者:admin 来源:不详 发布时间:2018-05-19 浏览:33

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

*/

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

K2 按下后点亮上面 4 只 LED,K3 按下后点亮下面 4 只 LED,K4 按下后关闭所有 LED

#include

#define uchar unsigned char

#define uint unsigned int

//延时

void DelayMS(uint x)

{

uchar i;

while(x--) for(i=0;i<120;i++);

}

//主程序

void main()

{

uchar k,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)

{

case 1: if(P0==0x00) P0=0xff;

P0<<=1;

DelayMS(200);

break;

case 2: P0=0xf0;break;

case 3: P0=0x0f;break;

case 4: P0=0xff;

}

}

}

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

编辑:admin 最后修改时间:2018-05-19

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map