单片机课程设计— 个按键控制 个LED自动设定控制流水灯

发布时间 : 星期二 文章单片机课程设计— 个按键控制 个LED自动设定控制流水灯更新完毕开始阅读

void KeyDown(); //矩阵键盘检测

void kongzhil();

void kongzhi2();

void main(void)

{ TMOD=0x01; //定时器工作状态为1

TH0=(65536-50000)/256;

TL0=(65536-50000)%6;

EA=1; //开总中断

ET0=1; //开定时器中断

TR0=1; //开启定时器

while(1)

{ int n=0;

if(k1==0)

{

Delay10ms(1);

if(k1==0)

n=1;

}

if(k3==0)

{

Delay10ms(1);

if(k3==0)

n=3;

}

if(k4==0)

{

Delay10ms(1);

if(k4==0)

n=4;

}

switch(n)

{

case 1:KeyDown();break;

case 3:kongzhil();break;

case 4:kongzhi2();break;

default:break;

}

}

}

void KeyDown(void)

{ int k=1;

while(k)

{

char a=0;

KEY=0x0f;

if(KEY!=0x0f)

{

Delay10ms(1); //延时消抖

if(KEY!=0x0f)

{

KEY=0X0F;

switch(KEY) //扫描行

{

case(0X07): KeyValue=0;break;

case(0X0b): KeyValue=4;break;

case(0X0d): KeyValue=8;break;

case(0X0e): KeyValue=12;break;

}

KEY=0XF0;

switch(KEY) //扫描列

联系合同范文客服:xxxxx#qq.com(#替换为@)