wordpress主题上的字怎么移动,seo专业培训学费多少钱,WordPress分类ID能修改吗,wordpress地址表单【实验目的】 独立按键的识别方法、键盘消抖等。 【实验现象】 每按一次独立键盘的S2键#xff0c;与P1口相连的八个发光二极管中点亮的一个往下移动一位。 【实验说明】 关于按键去抖动的解释#xff0c;我们在手动按键的时候#xff0c;由于机械抖动或是其它一些非人为的因…【实验目的】 独立按键的识别方法、键盘消抖等。 【实验现象】 每按一次独立键盘的S2键与P1口相连的八个发光二极管中点亮的一个往下移动一位。 【实验说明】 关于按键去抖动的解释我们在手动按键的时候由于机械抖动或是其它一些非人为的因素很有可能会造成误识别一般手动按下一次键然后接着释放按键两片金属膜接触的时间大约为50ms左右在按下瞬间到稳定的时间为5-10ms,在松开的瞬间到稳定的时间也为5-10ms如果我们在首次检测到键被按下后延时10ms左右再去检测这时如果是干扰信号将不会被检测到如果确实是有键被按下则可确认以上为按键识别去抖动的原理。 【硬件电路】 【程序代码】程序源码在本博客资源里边可自行下载使用 //独立按键的识别方法、键盘消抖等。 //现象每按一次独立键盘的S2键与P1口相连的八个发光二极管中点亮的一个往下移动一位。 #include reg52.h sbit BY1P3^5; //定义按键的输入端S2键 unsigned char count; //按键计数,每按一下,count 加1 unsigned char temp; unsigned char a,b; void delay10ms(void) //延时程序 { unsigned char i,j; for(i40;i0;i–) for(j248;j0;j–); } key() //按键判断程序 { if(BY10) //此处实际代码为if()判断P3^4口的状态 是否为0 此编译器不支持 //判断是否按下键盘当单片机上电时所有IO 口为高电平 //S2键一端接地另一端接P3.4所以当键被按下时P3.4口直接接地 //此时检测P3.4肯定为低电平。 { delay10ms(); //延时,软件去抖动干扰 if(BY10) //此处实际代码为if()判断P3^4口的状态 是否为0 此编译器不支持//再次检测确认按键按下 { count; //按键计数加1 if(count8) //计8次重新计数 //此处实际代码为判断count变量是否为8 { count0; //将count清零 } } while(BY10); //等待按键释放如果键未释放则一直在此等待。 } } move() //广告灯向下移动移动函数 { atempcount; //这三句为一个循环移位 btemp(8-count); P1a|b; } main() { count0; //初始化参数设置 temp0xfe; P10xff; P1temp; while(1) //永远循环,扫描判断按键是否按下 { key(); //调用按键识别函数 move(); //调用广告灯移动函数 } }