《2022年独立按键程序 .pdf》由会员分享,可在线阅读,更多相关《2022年独立按键程序 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、/*文件名:独立按键.c*描述:该程序实现独立按键的判断,按了相应的独立按键后,会在数码管上显示最先被按下的值,只有按复位按键或者重新开电才消失。*创建人:2013 年 2 月 7 日*版本号:1.0*杜邦线接法:独立按键接法:P3.2 接 J8 的 1 端。P3.3 接 J8 的 2 端。P3.4 接 J8 的 3 端。P3.5 接 J8 的 4 端。用 8 针排线把 P0 口和 J12的 1-8 连接(P0.0 接 J12的 1 端)。P2.0 对应 J13 的 8 端。*/#include#define uchar unsigned char#define uint unsigned i
2、nt sbit KEY1=P32;sbit KEY2=P33;sbit KEY3=P34;sbit KEY4=P35;/数码管的段码编码uchar table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/*名称:Delay_1ms()*功能:延时子程序,延时时间为1ms*x*输入:x(延时一毫秒的个数)*输出:无*/void Delay_1ms(uint i)uint x,j;for(j=0;ji;j+)for(x=0;x=148;x+);/*名称:Delay()名师资料总结-精品资料欢迎下载-名师精心整理-第
3、1 页,共 4 页 -*功能:实现按键功能,并在LED 上显示*输入:无*输出:无*/uchar KEY(void)if(KEY1=0|KEY2=0|KEY3=0|KEY4=0)Delay_1ms(20);/20 毫秒软件防抖if(KEY1=0)while(1)if(KEY1=1)Delay_1ms(20);if(KEY1=1)break;return 1;else if(KEY2=0)while(1)if(KEY2=1)Delay_1ms(20);if(KEY2=1)break;return 2;else if(KEY3=0)while(1)if(KEY3=1)名师资料总结-精品资料欢迎下载
4、-名师精心整理-第 2 页,共 4 页 -Delay_1ms(20);if(KEY3=1)break;return 3;else if(KEY4=0)while(1)if(KEY4=1)Delay_1ms(20);if(KEY4=1)break;return 4;return 0;/*名称:Main()*功能:实现按键控制LED 的显示*输入:无*输出:无*/void Main(void)uchar temp;while(1)temp=KEY();/判断是否有按键按下if(temp!=0)break;/如果按下,那么退出循环 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -P0=tabletemp;/显示是哪个按键按下了P2=0 xfe;while(1);/程序停止 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -