标题: 51单片机的4个按键(P34,P35,P36,P37)能否用一个中断判断控制 [打印本页]

作者: 1723000545    时间: 2020-1-18 20:07
标题: 51单片机的4个按键(P34,P35,P36,P37)能否用一个中断判断控制
51单片机的4个按键(P34,P35,P36,P37)能否用一个中断判断控制,如果能控制怎样能实现这个控制

作者: 属你最牛    时间: 2020-1-18 20:07
按键的话不一定需要中断控制,也没有这么多中断去支持按键,只需要定时的轮询就可以检测按键
作者: csmyldl    时间: 2020-1-18 21:21
把这4根线连接到74LS20的四个输入端,输出端连接到反相器的输入端,反相器输出端再连接到P32
作者: zhy123654    时间: 2020-1-18 22:27
如果你是想问是否能在外部中断服务函数来判断的话是可以的,开外中断0,然后把p32用二极管分别接到其它的引脚上,然后在中断里判断
作者: dzbj    时间: 2020-1-18 23:25
可以 但不好

中断本身是无法区分按键 这点还不如AD按键 但可以用4066这种模拟开关 高速在4个开关中切换 但这么做从软硬件方面都更麻烦 所以不好
作者: 笨笨兔    时间: 2020-1-19 08:26
能用一个中断判断按键控制,这要看你用那个中断,怎么用这个中断;别说4个按键,16个按键一样可以用.
作者: angmall    时间: 2020-1-19 14:20
类似参考





  1. #include <reg51.h>
  2. #include <stdio.h>

  3. sbit key1=P3^2;//外部中断0
  4. sbit key2=P3^4;
  5. sbit key3=P3^5;
  6. sbit key4=P3^6;
  7. sbit key5=P3^7;//外部中断1的4个按键

  8. void T0_Init();
  9. void delayms(unsigned  char);


  10. void main()
  11. {
  12.         T0_Init();
  13.         while(1)
  14.         {
  15.                 P1=0Xff;
  16.         }
  17. }

  18. void T0_Init()
  19. {
  20.         EA=1;//开启总中断
  21.         EX0=1;//开启外部中断0
  22.         EX1=1;//开启外部中断1
  23.         IT0=0;
  24.         IT1=0;//电平触发
  25. }

  26. void T0_T()  interrupt 0
  27. {
  28.         P1=0xf0;//全亮
  29. }

  30. void T1_T()  interrupt 2
  31. {
  32.         if(key2==0)//按键2按下
  33.         {
  34.                 P1=0xfe;//D1亮
  35.         }
  36.         while(!key2);//按键松手  松手则不亮
  37.        
  38.         if(key3==0)//按键3按下
  39.         {
  40.                 P1=0xfd;//D2亮
  41.         }
  42.         while(!key3);
  43.        
  44.         if(key4==0)//按键4按下
  45.         {
  46.                 P1=0xfb;//D3亮
  47.         }
  48.         while(!key4);
  49.        
  50.         if(key5==0)//按键5按下
  51.         {
  52.                 P1=0xf7;//D4亮
  53.         }
  54.         while(!key5);
  55.        
  56. }

复制代码




作者: 13425472500    时间: 2020-1-19 22:31
要用一路中断和N个IO组成,如电路,中断检测到之后,直接读其他端口的值就可以知道是哪一路端口的按键按下了。

捕获.PNG (42.13 KB, 下载次数: 72)

捕获.PNG

作者: lele5211314    时间: 2020-1-20 11:19
可以但是你的接线有问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1