欢迎来到天天文库
浏览记录
ID:51700464
大小:31.52 KB
页数:2页
时间:2020-03-15
《单片机八个按键控制八个led灯程序.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#includevoiddelay(void){unsignedchara,b;for(a=0;a<200;a++)for(b=0;b<200;b++);}unsignedcharKey_Scan();voidmain(void){unsignedcharledValue,keyNum;ledValue=0x01;while(1){keyNum=Key_Scan();switch(keyNum){case(0xFE):ledValue=0x01;break;c
2、ase(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
3、)://返回按键K8的数据ledValue=0x80;break;default:break;}P0=ledValue;//点亮LED灯}}/********************************************************************************函数名:Key_Scan()*函数功能:扫描键盘*输入:无*输出:读取到的键值**********************************************************************
4、*********/unsignedcharKey_Scan(){unsignedcharkeyValue=0,i;//保存键值//--检测按键1--//if(P1!=0xFF)//检测按键K1是否按下{voiddelay(void){unsignedchara,b;for(a=0;a<200;a++)for(b=0;b<200;b++);}if(P1!=0xFF)//再次检测按键是否按下{keyValue=P1;i=0;while((i<50)&&(P1!=0xFF))//检测按键是否松开{Delay10ms(1
5、);i++;}}}returnkeyValue;//将读取到键值的值返回}
此文档下载收益归作者所有