欢迎来到天天文库
浏览记录
ID:15094511
大小:86.00 KB
页数:21页
时间:2018-08-01
《51单片机c语言源程序(2)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、51单片机c语言源程序(2)键盘控制部分------源程序由东流电子编写,文档由本人整理上传/*********************************************************************文件名:独立按键.c*描述:该程序实现独立按键的判断,按了相应的独立按键后,在LED上进行表现。按了S19,LED1亮。按了S18,LED2亮。按了S17,LED3亮。*创建人:东流,2012年2月7日*版本号:1.0*******************************************
2、****************************/#include#defineucharunsignedchar#defineuintunsignedintsbitKEY1=P3^2;sbitKEY2=P3^3;sbitKEY3=P3^4;sbitLED1=P0^0;sbitLED2=P0^1;sbitLED3=P0^2;/*********************************************************************名称:Delay()*功能:延时,延时时间为
3、10ms*del*输入:del*输出:无***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i4、**********************************************************************/voidKEY(){if(KEY1==05、6、KEY2==07、8、KEY3==0){Delay(2);//20毫秒软件防抖if(KEY1==0){LED1=0;LED2=1;LED3=1;}if(KEY2==0){LED1=1;LED2=0;LED3=1;}if(KEY3==0){LED1=1;LED2=1;LED3=0;}Delay(50);//延时0.5秒再进行下次按键的检测}}/*****9、****************************************************************名称:Main()*功能:实现按键控制LED的显示*输入:无*输出:无***********************************************************************/voidMain(void){while(1){KEY();}}/****************************************************************10、*****文件名:数码管字符显示.c*描述:按下S19按键,数码管上显示的数字加1。*创建人:东流,2012年2月7日*版本号:1.0***********************************************************************/#include#defineucharunsignedchar#defineuintunsignedintsbitKEY=P3^2;uchartable[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x11、07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};/*********************************************************************名称:Delay()*功能:延时,延时时间为10ms*del*输入:del*输出:无***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i12、;i++)for(j=0;j<1827;j++);}/*********************************************************************名称:Main()*功能:数码管的显示*输入:无*输出:
4、**********************************************************************/voidKEY(){if(KEY1==0
5、
6、KEY2==0
7、
8、KEY3==0){Delay(2);//20毫秒软件防抖if(KEY1==0){LED1=0;LED2=1;LED3=1;}if(KEY2==0){LED1=1;LED2=0;LED3=1;}if(KEY3==0){LED1=1;LED2=1;LED3=0;}Delay(50);//延时0.5秒再进行下次按键的检测}}/*****
9、****************************************************************名称:Main()*功能:实现按键控制LED的显示*输入:无*输出:无***********************************************************************/voidMain(void){while(1){KEY();}}/****************************************************************
10、*****文件名:数码管字符显示.c*描述:按下S19按键,数码管上显示的数字加1。*创建人:东流,2012年2月7日*版本号:1.0***********************************************************************/#include#defineucharunsignedchar#defineuintunsignedintsbitKEY=P3^2;uchartable[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x
11、07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};/*********************************************************************名称:Delay()*功能:延时,延时时间为10ms*del*输入:del*输出:无***********************************************************************/voidDelay(uintdel){uinti,j;for(i=0;i12、;i++)for(j=0;j<1827;j++);}/*********************************************************************名称:Main()*功能:数码管的显示*输入:无*输出:
12、;i++)for(j=0;j<1827;j++);}/*********************************************************************名称:Main()*功能:数码管的显示*输入:无*输出:
此文档下载收益归作者所有