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

📄 intermit.lst

📁 电话单路计费系统!LCD段码显示!电话机设定自由费率,根据反极信号计费及延时计费自由设定!
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.10   INTERMIT                                                              05/07/2006 17:33:53 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE INTERMIT
OBJECT MODULE PLACED IN intermit.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE intermit.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          #include <reg2051.h>
   2          #include "1621_driver.h"
   3          #include "tel_equipment.h"
   4          #include "AT24C08PAGE_Ok.H"
   5          
   6          
   7          void init(void){
   8   1              P1 = 0XFF;
   9   1      //      P2 = 0XFF;
  10   1              P3 = 0XFF;
  11   1              ET1 = 1;
  12   1              ET0 = 1;
  13   1      //      PCON |= 0x80;
  14   1              IP  = 0X02;                                             //定义定时0为高优先级中断
  15   1              SCON = 0x50;
  16   1      //      TMOD = 0x21;                                    //0010,0001     定时器1模式2,定时器0模式0
  17   1      //      T2CON= 0X04;                                    //0000,0100     用T1做BOUD发生器
  18   1      //      TH0 = 0XFD;
  19   1      //      TL0 = 0XFD;
  20   1      //      TH1 = 0XFD;                                             //11.0592_9600
  21   1      //      TL1 = 0XFD;
  22   1      //      TH1 = 0XFA;                                             //22.1184_9600
  23   1      //      TL1 = 0XFA;
  24   1      //      TR1 = 1;
  25   1              TR0 = 1;
  26   1              TR1 = 1;
  27   1      //      IT0 = 1;                                                //int0负边沿触发
  28   1      //      REN = 1;                                                //Serial接受允许
  29   1      //      ES  = 1;        
  30   1      //      EX0 = 1;                                                //开中断0
  31   1              EA  = 1;
  32   1              Showbit=1;
  33   1              EEReadPage(&p[0],0,linetype,1);
  34   1              LineType = p[0];
  35   1      }
  36          void time0 (void) interrupt 1 using 1{                  //提供标准时间
  37   1      static uchar count;
  38   1              if(count == 0xe0){
  39   2                      if (times == 0x15180)times = 0;
  40   2                      else times ++;
  41   2                      count = 0;
  42   2      //              Led1 = !Led1;
  43   2              }
  44   1              else count ++;
  45   1      }
  46          //#pragma OPTIMIZE(6,speed) //the funcion以9极优化,空间压缩为主
  47          
  48          void time1 (void) interrupt 3 using 2{
  49   1      static char count1,count2,count3,count4,count5;
  50   1              switch(timetype){
  51   2              case 1:
  52   2                      status1 = 1;
  53   2                      status2 = 1;
  54   2                      if (status1 != status2){
  55   3                              count1 ++;
C51 COMPILER V7.10   INTERMIT                                                              05/07/2006 17:33:53 PAGE 2   

  56   3                              count2 = 0;
  57   3                      }
  58   2                      else{
  59   3                              count1 = 0;
  60   3                              count2 ++;
  61   3                      }
  62   2                      if (status1 != status3)
  63   2                              count3++;
  64   2                      else
  65   2                              count3 = 0;
  66   2                      
  67   2                      if (count1 == 20)lift_bit = 1;
  68   2                      if (count2 == 20){
  69   3                              lift_bit = 0;
  70   3                              polarity_bit = 0;
  71   3                      }
  72   2                      if (count3 >  2)polarity_bit = 1;
  73   2      
  74   2                      timetype = 2;
  75   2                      break;
  76   2              case 2:
  77   2                      
  78   2                      if (count4 == 20 ) {
  79   3                              count4 =0;
  80   3                              times3++;
  81   3                              if ((times3 == 0x80) && !LineType && (nkey > 2))
  82   3                                      polarity_bit = 1;
  83   3                      }
  84   2                      else count4 ++;
  85   2                      timetype = 3;
  86   2                      break;
  87   2              case 3:
  88   2                      if (!release ) {
  89   3                              count5 ++;
  90   3                      }
  91   2                      else count5 = 0;
  92   2                      if (count5 == 5) 
  93   2                              Showbit = 1;
  94   2                      timetype = 1;
  95   2                      break;
  96   2              default:
  97   2                      timetype = 1;
  98   2                      break;
  99   2              
 100   2              }
 101   1      
 102   1      }
C51 COMPILER V7.10   INTERMIT                                                              05/07/2006 17:33:53 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION init (BEGIN)
                                           ; SOURCE LINE # 7
                                           ; SOURCE LINE # 8
0000 7590FF            MOV     P1,#0FFH
                                           ; SOURCE LINE # 10
0003 75B0FF            MOV     P3,#0FFH
                                           ; SOURCE LINE # 11
0006 D2AB              SETB    ET1
                                           ; SOURCE LINE # 12
0008 D2A9              SETB    ET0
                                           ; SOURCE LINE # 14
000A 75B802            MOV     IP,#02H
                                           ; SOURCE LINE # 15
000D 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 25
0010 D28C              SETB    TR0
                                           ; SOURCE LINE # 26
0012 D28E              SETB    TR1
                                           ; SOURCE LINE # 31
0014 D2AF              SETB    EA
                                           ; SOURCE LINE # 32
0016 D200        E     SETB    Showbit
                                           ; SOURCE LINE # 33
0018 7B00              MOV     R3,#00H
001A 7A00        E     MOV     R2,#HIGH p
001C 7900        E     MOV     R1,#LOW p
001E 750050      E     MOV     ?_EEReadPage?BYTE+04H,#050H
0021 750001      E     MOV     ?_EEReadPage?BYTE+05H,#01H
0024 E4                CLR     A
0025 FD                MOV     R5,A
0026 120000      E     LCALL   _EEReadPage
                                           ; SOURCE LINE # 34
0029 E500        E     MOV     A,p
002B 24FF              ADD     A,#0FFH
002D 9200        E     MOV     LineType,C
                                           ; SOURCE LINE # 35
002F 22                RET     
             ; FUNCTION init (END)

             ; FUNCTION time0 (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C0D0              PUSH    PSW
000A 75D008            MOV     PSW,#08H
                                           ; SOURCE LINE # 36
                                           ; SOURCE LINE # 38
000D E500        R     MOV     A,count
000F B4E03A            CJNE    A,#0E0H,?C0002
                                           ; SOURCE LINE # 39
0012 7F80              MOV     R7,#080H
0014 7E51              MOV     R6,#051H
0016 7D01              MOV     R5,#01H
0018 7C00              MOV     R4,#00H
001A AB00        E     MOV     R3,times+03H
001C AA00        E     MOV     R2,times+02H
001E A900        E     MOV     R1,times+01H
0020 A800        E     MOV     R0,times
C51 COMPILER V7.10   INTERMIT                                                              05/07/2006 17:33:53 PAGE 4   

0022 C3                CLR     C
0023 120000      E     LCALL   ?C?ULCMP
0026 700A              JNZ     ?C0003
0028 F500        E     MOV     times+03H,A
002A F500        E     MOV     times+02H,A
002C F500        E     MOV     times+01H,A
002E F500        E     MOV     times,A
0030 8015              SJMP    ?C0004
0032         ?C0003:
                                           ; SOURCE LINE # 40
0032 E500        E     MOV     A,times+03H
0034 2401              ADD     A,#01H

⌨️ 快捷键说明

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