单片机八个按键控制八个led灯程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

#includereg51.h#includeintrins.hvoiddelay(void){unsignedchara,b;for(a=0;a200;a++)for(b=0;b200;b++);}unsignedcharKey_Scan();voidmain(void){unsignedcharledValue,keyNum;ledValue=0x01;while(1){keyNum=Key_Scan();switch(keyNum){case(0xFE):ledValue=0x01;break;case(0xFD)://返回按键K2的数据ledValue=0x02;break;case(0xFB)://返回按键K3的数据ledValue=0x04;break;case(0xF7)://返回按键K4的数据ledValue=0x08;break;case(0xEF)://返回按键K5的数据ledValue=0x10;break;case(0xDF)://返回按键K6的数据ledValue=0x20;break;case(0xBF)://返回按键K7的数据ledValue=0x40;break;case(0x7F)://返回按键K8的数据ledValue=0x80;break;default:break;}P0=ledValue;//点亮LED灯}}/********************************************************************************函数名:Key_Scan()*函数功能:扫描键盘*输入:无*输出:读取到的键值*******************************************************************************/unsignedcharKey_Scan(){unsignedcharkeyValue=0,i;//保存键值//--检测按键1--//if(P1!=0xFF)//检测按键K1是否按下{voiddelay(void){unsignedchara,b;for(a=0;a200;a++)for(b=0;b200;b++);}if(P1!=0xFF)//再次检测按键是否按下{keyValue=P1;i=0;while((i50)&&(P1!=0xFF))//检测按键是否松开{Delay10ms(1);i++;}}}returnkeyValue;//将读取到键值的值返回}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功