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

📄 main.lst

📁 本程序是用51单片机设计的一个时钟程序,对于想了解单片机的C语言和汇编语言的开发人员是一个不错的例程.
💻 LST
📖 第 1 页 / 共 5 页
字号:
 694   4                                                      break;
 695   4                                      }
 696   3                                      break;
 697   3                              default:
 698   3                                      formflag=0;
 699   3                                      break;
 700   3                      }
 701   2                      i = (i+1)%20;                                                           //循环扫描20个定时器组
 702   2                      if (TimeOpenflag==1)
 703   2                      {
 704   3                              delay1min=0;
 705   3                              Time250msFlag1=0;
 706   3                              if (TimerArray[i][0]==hou)
 707   3                              {
 708   4                                      if (TimerArray[i][1]==min)
 709   4                                      {
 710   5                                              if(TimerArray[i][2]==1)
 711   5                                              {
 712   6                                                      if (TaskTable[i].pFcnt)
 713   6                                                      {
 714   7                                                              TaskTable[i].pFcnt();
 715   7                                                      }
 716   6                                                      //Speaker=0;
 717   6                                              }
 718   5                                      }
 719   4                              }
 720   3                      }
 721   2                      else
 722   2                      {
 723   3                              if (Time250msFlag1==1)
 724   3                              {
 725   4                                      Time250msFlag1=0;
 726   4                                      delay1min++;
 727   4                                      if (delay1min>240)
 728   4                                      {
 729   5                                              delay1min=0;
 730   5                                              TimeOpenflag=1;
 731   5                                      }
 732   4                              }
 733   3                              CloseSpeaker();
 734   3                              //Speaker=1;
 735   3                      }
 736   2                      RedLight = Dot_Value;
 737   2                      GreenLight = ~Dot_Value;
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 13  

 738   2              }
 739   1      }
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 14  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _delayx (BEGIN)
                                           ; SOURCE LINE # 47
;---- Variable 'x' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 48
                                           ; SOURCE LINE # 51
;---- Variable 'i' assigned to Register 'R4/R5' ----
0000 E4                CLR     A
0001 FD                MOV     R5,A
0002 FC                MOV     R4,A
0003         ?C0001:
0003 EF                MOV     A,R7
0004 FB                MOV     R3,A
0005 D3                SETB    C
0006 ED                MOV     A,R5
0007 9B                SUBB    A,R3
0008 EC                MOV     A,R4
0009 9400              SUBB    A,#00H
000B 501D              JNC     ?C0007
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
;---- Variable 'j' assigned to Register 'R2/R3' ----
000D E4                CLR     A
000E FB                MOV     R3,A
000F FA                MOV     R2,A
0010         ?C0004:
                                           ; SOURCE LINE # 54
                                           ; SOURCE LINE # 55
0010 0500        R     INC     k+01H
0012 E500        R     MOV     A,k+01H
0014 7002              JNZ     ?C0169
0016 0500        R     INC     k
0018         ?C0169:
                                           ; SOURCE LINE # 56
0018 0B                INC     R3
0019 BB0001            CJNE    R3,#00H,?C0170
001C 0A                INC     R2
001D         ?C0170:
001D BA27F0            CJNE    R2,#027H,?C0004
0020 BB10ED            CJNE    R3,#010H,?C0004
                                           ; SOURCE LINE # 57
0023         ?C0003:
0023 0D                INC     R5
0024 BD0001            CJNE    R5,#00H,?C0171
0027 0C                INC     R4
0028         ?C0171:
0028 80D9              SJMP    ?C0001
                                           ; SOURCE LINE # 58
002A         ?C0007:
002A 22                RET     
             ; FUNCTION _delayx (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 65
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
0000 E4                CLR     A
0001 F500        R     MOV     i,A
                                           ; SOURCE LINE # 69
0003 F587              MOV     PCON,A
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 15  

                                           ; SOURCE LINE # 70
0005 759850            MOV     S0CON,#050H
                                           ; SOURCE LINE # 72
0008 F58A              MOV     TL0,A
                                           ; SOURCE LINE # 73
000A 758CE2            MOV     TH0,#0E2H
                                           ; SOURCE LINE # 74
000D D2A9              SETB    ET0
                                           ; SOURCE LINE # 76
000F 758DF6            MOV     TH1,#0F6H
                                           ; SOURCE LINE # 77
0012 758BF6            MOV     TL1,#0F6H
                                           ; SOURCE LINE # 80
0015 758805            MOV     TCON,#05H
                                           ; SOURCE LINE # 81
0018 758921            MOV     TMOD,#021H
                                           ; SOURCE LINE # 83
001B F5C8              MOV     T2CON,A
                                           ; SOURCE LINE # 84
001D F5C9              MOV     T2MOD,A
                                           ; SOURCE LINE # 85
001F 75CD88            MOV     TH2,#088H
                                           ; SOURCE LINE # 86
0022 F5CC              MOV     TL2,A
                                           ; SOURCE LINE # 87
0024 75CB88            MOV     RCAP2H,#088H
                                           ; SOURCE LINE # 88
0027 F5CA              MOV     RCAP2L,A
                                           ; SOURCE LINE # 89
0029 750088      R     MOV     HL2,#088H
                                           ; SOURCE LINE # 90
002C F500        R     MOV     HL2+01H,A
                                           ; SOURCE LINE # 91
002E D2E8              SETB    ET2
                                           ; SOURCE LINE # 93
0030 7580FF            MOV     P0,#0FFH
                                           ; SOURCE LINE # 94
0033 7590FF            MOV     P1,#0FFH
                                           ; SOURCE LINE # 95
0036 75A0FF            MOV     P2,#0FFH
                                           ; SOURCE LINE # 96
0039 75B0FF            MOV     P3,#0FFH
                                           ; SOURCE LINE # 99
003C D28C              SETB    TR0
                                           ; SOURCE LINE # 100
003E D2CA              SETB    TR2
                                           ; SOURCE LINE # 102
0040 D2AF              SETB    EA
                                           ; SOURCE LINE # 104
0042 C200        R     CLR     Dot_Value
                                           ; SOURCE LINE # 106
0044 F500        R     MOV     CountTime0,A
                                           ; SOURCE LINE # 107
0046 F500        R     MOV     CountTime2,A
                                           ; SOURCE LINE # 108
0048 F500        R     MOV     Disp_array,A
                                           ; SOURCE LINE # 109
004A 750007      R     MOV     Disp_array+01H,#07H
                                           ; SOURCE LINE # 110
004D 750001      R     MOV     Disp_array+02H,#01H
                                           ; SOURCE LINE # 111
0050 750008      R     MOV     Disp_array+03H,#08H
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 16  

                                           ; SOURCE LINE 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -