⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboord.lst

📁 基于8051F实现导纳分析仪,键盘,液晶,功能都全有,其中包含测频,测相,测高电平,测低电平,测幅.等多种算法思想.用C语言实现.绝对原创!
💻 LST
字号:
C51 COMPILER V8.02   KEYBOORD                                                              04/04/2008 19:55:16 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEYBOORD
OBJECT MODULE PLACED IN keyboord.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyboord.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"common.h"
   2          #include"delay.h"
   3          
   4          unsigned char a[4]={0xef,0xdf,0xbf,0x7f};               //从P5_4到P5_7依次发送低电平,对列写键值
   5          unsigned char keyvalue=0;       
   6          
   7          unsigned char coding(unsigned char n)               //译码
   8          {
   9   1              switch(n)
  10   1              {
  11   2                      case 0xfe: return 0;break;                      //输入为 11111110 即为行号0 
  12   2                      case 0xfd: return 1;break;                      //输入为 11111101 即为行号1 
  13   2                      case 0xfb: return 2;break;                      //输入为 11111011 即为行号2 
  14   2                      case 0xf7: return 3;break;                      //输入为 11110111 即为行号3 
  15   2              }
  16   1      }
  17          
  18          unsigned char keyscan()
  19          {
  20   1                  
  21   1              unsigned char b;                
  22   1              unsigned char c;   
  23   1              unsigned char i;
  24   1      
  25   1              for(i=0;i<4;i++)                                    //列扫描,从P5_4开始到P5_7;i=0对应P5_4即第0列.
  26   1              {
  27   2                
  28   2                      P5=a[i];                                            //写键值,低电平有效
  29   2                      b=P5;                                               //读健值,低电平有效
  30   2                      b=b|0xf0;                                           //取低四位(P5_0--P5_3)的低电平;屏蔽高四位(P5_4--P5_7)的低电平
  31   2                      if(b!=0xff)
  32   2                      { 
  33   3                      delay_nms(10);                          //去抖动
  34   3                              c=P5;
  35   3                              c=c|0xf0;
  36   3                              if(b==c)
  37   3                              keyvalue=i*4+coding(c);             //键值=列号*4+行号
  38   3                       }
  39   2                }
  40   1               return keyvalue;
  41   1       }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     91    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      5       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -