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

📄 multiplekey7led01.lst

📁 一个基于C51单片机IO口应用的实例程序
💻 LST
字号:
C51 COMPILER V6.23a  MULTIPLEKEY7LED01                                                     03/16/2006 11:42:30 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MULTIPLEKEY7LED01
OBJECT MODULE PLACED IN .\MultipleKey7Led01.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\SCR\MultipleKey7Led01.c BROWSE DEBUG OBJECTEXTEND PRINT(.\MultipleKey7Le
                    -d01.lst) OBJECT(.\MultipleKey7Led01.obj) 

stmt level    source

   1          
   2          
   3          
   4          
   5          //c语言  行列键盘数码管加发光二级管
   6          
   7              #include"at89x52.h"
   8              sbit Lamp=P3^7;
   9                  unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
  10                  unsigned char i;  //全局变量
  11                  void delay(unsigned char j) 
  12              {
  13   1                unsigned char m,k;
  14   1                for(m=0;m<j;m++)
  15   1                for(k=0;k<5;k++);
  16   1               }
  17              void Key()
  18                  {
  19   1               unsigned char circleL,circleR,j,L,keycheckL,keycheckR,key;
  20   1           circleL=253;
  21   1               circleR=129;
  22   1               for(j=0;j<3;j++)
  23   1               {
  24   2                P2=circleL;
  25   2                keycheckL=P2;
  26   2                keycheckL=keycheckL&240;
  27   2            for(L=0;L<4;L++)
  28   2                {
  29   3                P2=~circleR;
  30   3                keycheckR=P2;
  31   3                keycheckR=keycheckR&14;
  32   3                key=keycheckR|keycheckL;
  33   3                if(key==254) return;
  34   3            Lamp=1;
  35   3            delay(1);
  36   3                switch(key)
  37   3                 {
  38   4                  case 236: i=3; break;
  39   4                      case 234: i=2; break;
  40   4                      case 230: i=1; break;
  41   4      
  42   4                      case 220: i=6; break;
  43   4                      case 218: i=5; break;
  44   4                      case 214: i=4; break;
  45   4      
  46   4                      case 188: i=9; break;
  47   4                      case 186: i=8; break;
  48   4                      case 182: i=7; break;
  49   4      
  50   4                      case 124: i=0; break;
  51   4                      case 122: i=11; break;
  52   4                      case 118: i=10; break;
  53   4                       }
  54   3                circleR=circleR>>1;
C51 COMPILER V6.23a  MULTIPLEKEY7LED01                                                     03/16/2006 11:42:30 PAGE 2   

  55   3            circleR++;
  56   3                if((circleR&8)==8) circleR=129;
  57   3                 }
  58   2            circleL=circleL<<1;
  59   2                circleL++;
  60   2            if((circleL&240)==240) circleL=253;
  61   2                }
  62   1              }
  63              void display(void) //显示函数
  64                   {
  65   1                P0=a[i];
  66   1                }
  67                  main()
  68              {
  69   1          Lamp=0;
  70   1              while(1)
  71   1              {
  72   2           Key();
  73   2               display();
  74   2               Lamp=0;
  75   2               }
  76   1          }
  77          
  78          


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