你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> 技术中心 >> 单片机入门 >> 单片机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<reg51.h>

#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