全国销售热线:

13395113888

公海网站555000j

您所在的位置:公海网站555000j > 公海网站555000j >

51单片机-按键

发布时间:2020-01-16 09:22    点击次数:145次   

  左边的是普通二极管,右边的是发光二极管。左边的二极管如果想导通,则右边要比左边电平低。如果导通就是

  可以控制灯亮,那么按键左下的都为低电平,系统复位时默认I/O是高电平,所以给垂直方向的I/O拉低,这样如果按键按下,电路导通,那么垂直方向I/O的低电平会把水平方向的拉低。这样就可以通过检测水平方向哪个I/O为低电平来检测哪个键被按下。

  开始时对程序的错误想法:被按下的键两边肯定都是低电平,把它们存在一个数组里,然后检测。这样是不对的,用一个临时变量去存P0的值,不会有相同的,开始P0的值为oxff,这样即使按下按键,那么两边的引脚还是高电平,所以失败了。

  if(H0 == 0){p2_0 = 0; delay(); p2_0 = 1;}//然后通过检测水平的来确定,延时为了消抖

  口,没有方法控制单片机的输入输出方向。相当于我们在每个口上都上拉了一个5V 10欧的电阻,这


热门推荐