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

📄 main.lst

📁 4*4键盘扫描并且在数码管上显示0-9、10个数字
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  10/29/2008 11:24:03 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          
   3          sbit cs_138=P2^6;
   4          sbit cs_373=P2^5;
   5          
   6          unsigned code zima1[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
   7          unsigned char keydat=1;
   8          
   9          void keyscan(void);    //按键扫描函数声明;
  10          void keyfind(unsigned char);    //按键分析函数声明;
  11          
  12          void main()
  13          {
  14   1              cs_138=1;
  15   1              cs_373=1;
  16   1               while(1)
  17   1               {
  18   2                      P1=0xf0;
  19   2                      if((~P1)&0xf0)    //判别列线是否有键被按下
  20   2                      {  
  21   3                              keyscan();
  22   3                      }
  23   2                      P0=zima1[keydat-1];      //所要显示的数据
  24   2                      P2=0x1c|0x60;        //所要显示的数据位置
  25   2               }
  26   1       }
  27          /*以下是按键函数处理的调用程序*/
  28          void keyscan(void)
  29          { 
  30   1                      P1=0xfe;
  31   1                      keyfind(0);
  32   1      
  33   1                      P1=0xfd;
  34   1                      keyfind(4);  
  35   1                      
  36   1                      P1=0xfb;
  37   1                      keyfind(8);
  38   1      
  39   1                      P1=0xf7;
  40   1                      keyfind(12);
  41   1      }
  42          
  43          void keyfind(unsigned char i)     //键植分析
  44                  {
  45   1                      switch((~P1)&0xf0)
  46   1                              {
  47   2                                      case 0x10:
  48   2                                              keydat=1+i;    //列线p14被按下
  49   2                                              break;
  50   2                                      case 0x20:
  51   2                                              keydat=2+i;    //列线p15被按下
  52   2                                              break;
  53   2                                      case 0x40:
  54   2                                              keydat=3+i;    //列线p16被按下
  55   2                                              break;
C51 COMPILER V7.50   MAIN                                                                  10/29/2008 11:24:03 PAGE 2   

  56   2                      case 0x80:
  57   2                          keydat=4+i;    //列线p17被按下
  58   2                                              break;
  59   2                                      default:break;
  60   2                              }
  61   1      }
  62          
  63          
  64          
  65          
  66          
  67          
  68          
  69          
  70          
  71          


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