标题: 单片机行列扫描法,矩阵按键识别,模块化编程 [打印本页]

作者: hhhxxjx    时间: 2023-12-14 10:47
标题: 单片机行列扫描法,矩阵按键识别,模块化编程
51单片机,行列扫描法,矩阵按键识别,模块化编程
单片机源程序如下:
  1. //按键1实现数码管多窗口切换显示
  2. //按键2实现各个窗口的数值加1
  3. //按键3实现各个窗口的数值减1
  4. //按键4实现各个窗口的数值清零
  5. #include <reg51.h>
  6. #include "delay.h"
  7. #include "display.h"
  8. #include "key.h"

  9. //按键显示具体数值
  10. void Key_Show()
  11. {
  12.     switch(Key_Scan())
  13.     {
  14.     case 1:
  15.         LEDBuf[3] = 1;
  16.         break;
  17.     case 2:
  18.         LEDBuf[3] = 2;
  19.         break;
  20.     case 3:
  21.         LEDBuf[3] = 3;
  22.         break;
  23.     case 4:
  24.         LEDBuf[3] = 4;
  25.         break;
  26.     case 5:
  27.         LEDBuf[3] = 5;
  28.         break;
  29.     case 6:
  30.         LEDBuf[3] = 6;
  31.         break;
  32.     case 7:
  33.         LEDBuf[3] = 7;
  34.         break;
  35.     case 8:
  36.         LEDBuf[3] = 8;
  37.         break;
  38.     case 9:
  39.         LEDBuf[3] = 9;
  40.         break;
  41.     case 10:
  42.         LEDBuf[3] = 0;
  43.         break;
  44.     case 11:
  45.         LEDBuf[3] = 10;
  46.         break;
  47.     case 12:
  48.         LEDBuf[3] = 11;
  49.         break;
  50.     case 13:
  51.         LEDBuf[3] = 12;
  52.         break;
  53.     case 14:
  54.         LEDBuf[3] = 13;
  55.         break;
  56.     case 15:
  57.         LEDBuf[3] = 14;
  58.         break;
  59.     case 16:
  60.         LEDBuf[3] = 15;
  61.         break;
  62.     default:
  63.         break;

  64.     }
  65. }

  66. void main()
  67. {
  68. //   unsigned int i;
  69. //    for(i = 0; i < 1000; i++)
  70. //    {
  71. //        Display();  //开机界面
  72. //    }
  73.     while(1)
  74.     {
  75.         LEDBuf[0] = 23;
  76.         LEDBuf[1] = 23;
  77.         LEDBuf[2] = 23;
  78.         LEDBuf[3] = Key_Scan();   //上电显示“P”(静态变量20)
  79.         Key_Show();
  80.         Display();
  81.     }
  82. }


复制代码
Proteus8.15仿真程序: 矩阵按键行列扫描法.rar (291.97 KB, 下载次数: 19)





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