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

📄 4x4key.lst

📁 4X4键盘
💻 LST
字号:
C51 COMPILER V7.50   4X4KEY                                                                08/30/2008 16:56:52 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 4X4KEY
OBJECT MODULE PLACED IN 4X4key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 4X4key.c BROWSE DEBUG OBJECTEXTEND TABS(3)

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          #include "LCD1602.h"
   4          #define uchar unsigned char
   5          #define uint  unsigned int
   6          #define key   P1
   7          //   P1.0-P1.3    为横行
   8          //  P1.4-P1.7  为竖列     
   9          
  10          uchar  key_value,temp;
  11          
  12          bit key_check();//
  13          void keyvalue();//
  14          
  15          void main()
  16          { 
  17   1        key=0xff;
  18   1        key_value=0;
  19   1        LCD_init();
  20   1        LCD_disp_string(0,0,"key_value");
  21   1        while(1)
  22   1        {if(key_check())
  23   2         {
  24   3           keyvalue();
  25   3           if(key_value>9)  
  26   3            {
  27   4              key_value+=7;
  28   4            }  
  29   3           LCD_write_char(0,1,key_value+'0') ;
  30   3          } 
  31   2         }      
  32   1      }
  33          
  34          bit key_check()
  35          {uchar temp1,temp2;
  36   1       temp=0;
  37   1       key=0x0f;
  38   1       temp1=key;
  39   1       if(temp1!=0x0f)     // 如果有按键按下,temp1就不等于0x0f
  40   1       {
  41   2          delay_ms(10);    // 去抖动
  42   2          temp1=key;       // 在次检查是否有按键按下,以免由其他干扰引起的错误判断
  43   2          if(temp1!=0x0f)
  44   2          {
  45   3             key=0xf0;     // 让列为高电平,行为低电平
  46   3             temp2=key; 
  47   3             temp=temp1|temp2;     // temp等于让行为低电平列为高电平时key的值或上让行为高电平列为低电平时key的值
  48   3            do
  49   3            { 
  50   4             key=0x0f;
  51   4             }         // 等待按键释放
  52   3            while(key!=0x0f);
  53   3            delay_ms(10);          //延时去抖
  54   3            }
  55   2         }
C51 COMPILER V7.50   4X4KEY                                                                08/30/2008 16:56:52 PAGE 2   

  56   1       if(temp!=0)
  57   1       {   
  58   2         return 1;
  59   2         }       // 有按键按下 返回 1
  60   1       else  
  61   1       {
  62   2         return 0;
  63   2         }
  64   1        }
  65          
  66          void keyvalue()
  67          {
  68   1        switch(temp)                  //   对键值的判断
  69   1           {
  70   2             case  0xee:  key_value=0; break;
  71   2             case  0xde:  key_value=1; break;
  72   2             case  0xbe:  key_value=2; break;
  73   2             case  0x7e:  key_value=3; break;
  74   2             case  0xed:  key_value=4; break;
  75   2             case  0xdd:  key_value=5; break;
  76   2             case  0xbd:  key_value=6; break;
  77   2             case  0x7d:  key_value=7; break;
  78   2             case  0xeb:  key_value=8; break;
  79   2             case  0xdb:  key_value=9;break;
  80   2             case  0xbb:  key_value=10;break;
  81   2             case  0x7b:  key_value=11;break;
  82   2             case  0xe7:  key_value=12;break;
  83   2             case  0xd7:  key_value=13;break;
  84   2             case  0xb7:  key_value=14;break;
  85   2             case  0x77:  key_value=15;break;
  86   2             default:     key_value=0; break;      
  87   2             }
  88   1      }  
  89                


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    467    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       4
   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 + -