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

📄 text2.lst

📁 键盘扫描程序
💻 LST
字号:
C51 COMPILER V8.08   TEXT2                                                                 03/12/2009 17:29:45 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE TEXT2
OBJECT MODULE PLACED IN Text2.OBJ
COMPILER INVOKED BY: E:\单片机软件\keil\kell\C51\BIN\C51.EXE Text2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          
   3          
   4          unsigned char num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} ;//0~9
   5          
   6            sbit P14=P1^4;
   7            sbit P15=P1^5;
   8            sbit P16=P1^6;
   9            sbit P17=P1^7;
  10          
  11            unsigned char key_x;//行
  12            unsigned char key_y;//列
  13          
  14          void get_char(void)//键盘扫描函数
  15          {
  16   1         int i;
  17   1         unsigned char outdata;
  18   1         P1=0xf0;
  19   1         while(P1==0xf0);
  20   1         
  21   1         outdata=0xfe;//第一行
  22   1         key_x=1;
  23   1         key_y=0;
  24   1         for(i=0;i<4;i++)
  25   1         {
  26   2            P1=outdata;
  27   2                if(P14==0)
  28   2                {
  29   3                    key_y=1;//第一列
  30   3                        break;
  31   3                 }
  32   2                 else if(P15==0)
  33   2                 {
  34   3                    key_y=2;//第二列
  35   3                        break;
  36   3                 }
  37   2                 else if(P16==0)
  38   2                {
  39   3                    key_y=3;//第三列
  40   3                        break;
  41   3                 }
  42   2                 else if(P17==0)
  43   2                 {
  44   3                    key_y=4;//第四列
  45   3                        break;
  46   3                      }
  47   2                 key_x++;//行加1
  48   2                 outdata=outdata<<1;//循环左移再加1
  49   2                 outdata+=0x01;
  50   2                   
  51   2         }
  52   1      
  53   1      }
  54          
  55          void show()//显示函数
C51 COMPILER V8.08   TEXT2                                                                 03/12/2009 17:29:45 PAGE 2   

  56          {
  57   1         if(key_x>=1&&key_y>=1)
  58   1         {
  59   2            P2=num[key_x];
  60   2                P3=num[key_y];
  61   2         }
  62   1      }
  63          
  64          void delay()
  65          {
  66   1         int i=100;
  67   1         while(i--);
  68   1      }
  69           
  70          main()
  71          {
  72   1      
  73   1              while(1)
  74   1              { 
  75   2                      get_char();//键盘扫描调用
  76   2                  show();//显示
  77   2          }
  78   1      
  79   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    121    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12    ----
   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 + -