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

📄 keytesttask.lst

📁 KEILC51的始终程序,显示年月日
💻 LST
字号:
C51 COMPILER V7.50   KEYTESTTASK                                                           11/12/2006 10:31:42 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE KEYTESTTASK
OBJECT MODULE PLACED IN KeyTestTask.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE KeyTestTask.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          #include "KeyTestTask.H"
   2          
   3          //键盘测试任务执行体。在main()主循环中被调用。
   4          //===========================================
   5          void KeyTestTask(void)
   6          {
   7   1              switch(Menu1)
   8   1              {
   9   2                      case 1://初始化屏幕为全0
  10   2                                      MyKey = 0;//清除按键缓冲区中的按键值
  11   2      
  12   2                                      DisplayBuffer[0] = HexChar[0];//最左边数码管
  13   2                                      DisplayBuffer[1] = HexChar[0];
  14   2                                      DisplayBuffer[2] = HexChar[0];
  15   2                                      DisplayBuffer[3] = HexChar[0];
  16   2                                      DisplayBuffer[4] = HexChar[0];
  17   2                                      DisplayBuffer[5] = HexChar[0];
  18   2                                      DisplayBuffer[6] = HexChar[0];
  19   2                                      DisplayBuffer[7] = HexChar[0];//最右边数码管
  20   2      
  21   2                                      //进入测试显示状态
  22   2                                      //----------------
  23   2                                      Menu1 = 2;
  24   2                                      break;
  25   2                      case 2://输入的按键对应的数码从显示屏右端移入
  26   2                                      if(MyKey)
  27   2                                      {//如果有键按下,则显示按键对应的数码到显示屏右端
  28   3                                              DisplayBuffer[0] = DisplayBuffer[1];
  29   3                                              DisplayBuffer[1] = DisplayBuffer[2];
  30   3                                              DisplayBuffer[2] = DisplayBuffer[3];
  31   3                                              DisplayBuffer[3] = DisplayBuffer[4];
  32   3                                              DisplayBuffer[4] = DisplayBuffer[5];
  33   3                                              DisplayBuffer[5] = DisplayBuffer[6];
  34   3                                              DisplayBuffer[6] = DisplayBuffer[7];
  35   3      
  36   3      
  37   3                                              DisplayBuffer[7] = HexChar[MyKey-1];
  38   3      
  39   3                                              MyKey = 0;//清按键缓冲区,表示按键值已经取走
  40   3                                      }
  41   2                                      break;
  42   2              }
  43   1      }
C51 COMPILER V7.50   KEYTESTTASK                                                           11/12/2006 10:31:42 PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION KeyTestTask (BEGIN)
                                           ; SOURCE LINE # 5
                                           ; SOURCE LINE # 6
                                           ; SOURCE LINE # 7
0000 E500        E     MOV     A,Menu1
0002 24FE              ADD     A,#0FEH
0004 601E              JZ      ?C0003
0006 04                INC     A
0007 703D              JNZ     ?C0005
                                           ; SOURCE LINE # 8
                                           ; SOURCE LINE # 9
0009         ?C0002:
                                           ; SOURCE LINE # 10
0009 E4                CLR     A
000A F500        E     MOV     MyKey,A
                                           ; SOURCE LINE # 12
000C 900000      E     MOV     DPTR,#HexChar
000F 93                MOVC    A,@A+DPTR
0010 F500        E     MOV     DisplayBuffer,A
                                           ; SOURCE LINE # 13
0012 F500        E     MOV     DisplayBuffer+01H,A
                                           ; SOURCE LINE # 14
0014 F500        E     MOV     DisplayBuffer+02H,A
                                           ; SOURCE LINE # 15
0016 F500        E     MOV     DisplayBuffer+03H,A
                                           ; SOURCE LINE # 16
0018 F500        E     MOV     DisplayBuffer+04H,A
                                           ; SOURCE LINE # 17
001A F500        E     MOV     DisplayBuffer+05H,A
                                           ; SOURCE LINE # 18
001C F500        E     MOV     DisplayBuffer+06H,A
                                           ; SOURCE LINE # 19
001E F500        E     MOV     DisplayBuffer+07H,A
                                           ; SOURCE LINE # 23
0020 750002      E     MOV     Menu1,#02H
                                           ; SOURCE LINE # 24
0023 22                RET     
                                           ; SOURCE LINE # 25
0024         ?C0003:
                                           ; SOURCE LINE # 26
0024 E500        E     MOV     A,MyKey
0026 601E              JZ      ?C0005
                                           ; SOURCE LINE # 27
                                           ; SOURCE LINE # 28
0028 850000      E     MOV     DisplayBuffer,DisplayBuffer+01H
                                           ; SOURCE LINE # 29
002B 850000      E     MOV     DisplayBuffer+01H,DisplayBuffer+02H
                                           ; SOURCE LINE # 30
002E 850000      E     MOV     DisplayBuffer+02H,DisplayBuffer+03H
                                           ; SOURCE LINE # 31
0031 850000      E     MOV     DisplayBuffer+03H,DisplayBuffer+04H
                                           ; SOURCE LINE # 32
0034 850000      E     MOV     DisplayBuffer+04H,DisplayBuffer+05H
                                           ; SOURCE LINE # 33
0037 850000      E     MOV     DisplayBuffer+05H,DisplayBuffer+06H
                                           ; SOURCE LINE # 34
003A 850000      E     MOV     DisplayBuffer+06H,DisplayBuffer+07H
                                           ; SOURCE LINE # 37
003D 900000      E     MOV     DPTR,#HexChar-01H
C51 COMPILER V7.50   KEYTESTTASK                                                           11/12/2006 10:31:42 PAGE 3   

0040 93                MOVC    A,@A+DPTR
0041 F500        E     MOV     DisplayBuffer+07H,A
                                           ; SOURCE LINE # 39
0043 E4                CLR     A
0044 F500        E     MOV     MyKey,A
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
0046         ?C0005:
0046 22                RET     
             ; FUNCTION KeyTestTask (END)



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