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

📄 tlc1543.lst

📁 一个充电控制器的完整单片机程序
💻 LST
字号:
C51 COMPILER V6.11.4C,  TLC1543                   04/01/103  02:34:46  PAGE  1

QCW(0x00002D1A)

WIN32 C51 COMPILER V6.11.4C, COMPILATION OF MODULE TLC1543   
OBJECT MODULE PLACED IN d:\solar_charge_controller\scca\tlc1543.obj
COMPILER INVOKED BY: C51.EXE D:\SOLAR_CHARGE_CONTROLLER\SCCA\TLC1543.C OBJECT(D:
            -\SOLAR_CHARGE_CONTROLLER\SCCA\TLC1543.OBJ) PIN(D:\FSI\INC) NOAM PR(
            -D:\SOLAR_CHARGE_CONTROLLER\SCCA\TLC1543.LST) CD SB OE(1) SM FP(NOFL
            -OAT) PW(80) 

stmt level    source
   1          /*
   2           TLC1543//SPI port//11 channels Analog input//10 bit//10us Rate
   3          
   4           2003.1.6
   5           */
   6          #include <AT89X52.H>
   7          #include <INTRINS.h>
   8          
   9          //hardware conection
  10           #define CLOCK P1_2
  11           #define D_IN  P1_1
  12           #define D_OUT P1_3
  13           #define P_CS   P1_0
  14           #define EOC   P1_4
  15          
  16          typedef 	struct
  17          {	
  18          	unsigned char ah;
  19          	unsigned char al;
  20          }word;
  21          
  22          
  23          union bitseg
  24          {
  25          	word byte;			
  26          	unsigned int i;
  27          };
  28           //----------------------------------------
  29           //data read from (port)channel of tlc1543
  30           unsigned int tlc1543(unsigned char port){
  31   1       unsigned char idata i;
  32   1       union bitseg idata c;
  33   1       c.byte.al=0,c.byte.ah=0;
  34   1       CLOCK=0;
  35   1       P_CS=0;//low level start a/d 
  36   1       port<<=4;//move to high 4bit
  37   1       for(i=0;i<4;i++){//input channels signal
  38   2         D_IN=(bit)(port&0x80);CLOCK=1;CLOCK=0;
  39   2         port<<=1;
  40   2         }
  41   1       for(i=0;i<6;i++){//fill 6 clock signal
  42   2         CLOCK=1;CLOCK=0;
  43   2         }
  44   1       P_CS=1;
  45   1       _nop_(); _nop_(); _nop_(); _nop_();
  46   1       P_CS=0;//wait a/d conversion,EOC low is busy 
  47   1       for(i=0;i<2;i++){//get D9,D8 bit
  48   2         D_OUT=1;
  49   2         CLOCK=1;
  50   2         c.byte.ah<<=1;
  51   2         if(D_OUT)c.byte.ah|=0x01;
  52   2         CLOCK=0;
  53   2         }
  54   1       for(i=0;i<8;i++){//get D7~D0 bit
  55   2         D_OUT=1;
  56   2         CLOCK=1;
  57   2         c.byte.al<<=1;
  58   2         if(D_OUT)c.byte.al|=0x01;
  59   2         CLOCK=0;
  60   2         }
  61   1       P_CS=1;
  62   1       _nop_();
  63   1       P1=0xff;
  64   1       return c.i;
  65   1       }
  66          
C51 COMPILER V6.11.4C,  TLC1543                   04/01/103  02:34:46  PAGE  2

ASSEMBLY LISTING OF GENERATED OBJECT CODE

            ; FUNCTION _tlc1543 (BEGIN)
              ; Register R7 is assigned to parameter port
                                           ; SOURCE LINE # 33 
0000 7900    R      MOV    R1,#c+01H
0002 7700           MOV    @R1,#000H
0004 7900    R      MOV    R1,#c
0006 7700           MOV    @R1,#000H
                                           ; SOURCE LINE # 34 
0008 C292           CLR    P1_2
                                           ; SOURCE LINE # 35 
000A C290           CLR    P1_0
                                           ; SOURCE LINE # 36 
000C EF             MOV    A,R7
000D C4             SWAP   A
000E 54F0           ANL    A,#0F0H
0010 FF             MOV    R7,A
                                           ; SOURCE LINE # 37 
0011 7900    R      MOV    R1,#i
0013 7700           MOV    @R1,#000H
0015         ?FOR4:
                                           ; SOURCE LINE # 38 
0015 EF             MOV    A,R7
0016 5480           ANL    A,#080H
0018 24FF           ADD    A,#0FFH
001A 9291           MOV    P1_1,C
001C D292           SETB   P1_2
001E C292           CLR    P1_2
                                           ; SOURCE LINE # 39 
0020 EF             MOV    A,R7
0021 C3             CLR    C
0022 33             RLC    A
                                           ; SOURCE LINE # 37 
0023 7900    R      MOV    R1,#i
0025 07             INC    @R1
0026 B704EC         CJNE   @R1,#004H,?FOR4
                                           ; SOURCE LINE # 41 
0029 7900    R      MOV    R1,#i
002B 7700           MOV    @R1,#000H
002D         ?FOR5:
                                           ; SOURCE LINE # 42 
002D D292           SETB   P1_2
002F C292           CLR    P1_2
                                           ; SOURCE LINE # 37 
0031 7900    R      MOV    R1,#i
0033 07             INC    @R1
0034 B706F6         CJNE   @R1,#006H,?FOR5
                                           ; SOURCE LINE # 44 
0037 D290           SETB   P1_0
                                           ; SOURCE LINE # 45 
0039 00             NOP    
003A 00             NOP    
003B 00             NOP    
003C 00             NOP    
                                           ; SOURCE LINE # 46 
003D C290           CLR    P1_0
                                           ; SOURCE LINE # 47 
003F 7900    R      MOV    R1,#i
0041 7700           MOV    @R1,#000H
0043         ?FOR6:
                                           ; SOURCE LINE # 48 
0043 D293           SETB   P1_3
                                           ; SOURCE LINE # 49 
0045 D292           SETB   P1_2
                                           ; SOURCE LINE # 50 
0047 7900    R      MOV    R1,#c
0049 E7             MOV    A,@R1
004A C3             CLR    C
004B 33             RLC    A
004C F7             MOV    @R1,A
                                           ; SOURCE LINE # 51 
004D 309306         JNB    P1_3,?NXT16
0050 7900    R      MOV    R1,#c
0052 E7             MOV    A,@R1
0053 4401           ORL    A,#001H
0055 F7             MOV    @R1,A
0056         ?NXT16:
                                           ; SOURCE LINE # 52 
0056 C292           CLR    P1_2
                                           ; SOURCE LINE # 37 
0058 7900    R      MOV    R1,#i
005A 07             INC    @R1
005B B702E5         CJNE   @R1,#002H,?FOR6
                                           ; SOURCE LINE # 54 
005E 7900    R      MOV    R1,#i
0060 7700           MOV    @R1,#000H
0062         ?FOR7:
                                           ; SOURCE LINE # 55 
0062 D293           SETB   P1_3
                                           ; SOURCE LINE # 56 
0064 D292           SETB   P1_2
                                           ; SOURCE LINE # 57 
0066 7900    R      MOV    R1,#c+01H
0068 E7             MOV    A,@R1
0069 C3             CLR    C
006A 33             RLC    A
006B F7             MOV    @R1,A
                                           ; SOURCE LINE # 58 
006C 309306         JNB    P1_3,?NXT19
006F 7900    R      MOV    R1,#c+01H
0071 E7             MOV    A,@R1
0072 4401           ORL    A,#001H
0074 F7             MOV    @R1,A
0075         ?NXT19:
                                           ; SOURCE LINE # 59 
0075 C292           CLR    P1_2
                                           ; SOURCE LINE # 37 
0077 7900    R      MOV    R1,#i
0079 07             INC    @R1
007A B708E5         CJNE   @R1,#008H,?FOR7
                                           ; SOURCE LINE # 61 
007D D290           SETB   P1_0
                                           ; SOURCE LINE # 62 
007F 00             NOP    
                                           ; SOURCE LINE # 63 
0080 7590FF         MOV    P1,#0FFH
                                           ; SOURCE LINE # 64 
0083 7900    R      MOV    R1,#c
0085 8706           MOV    AR6,@R1
0087 09             INC    R1
0088 8707           MOV    AR7,@R1
008A 22             RET    

            ; FUNCTION _tlc1543 (END)

C51 COMPILER V6.11.4C,  TLC1543                   04/01/103  02:34:46  PAGE  3

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====

bitseg . . . . . . . . . . . . . . . .  * TAG * -----   UNION   -----   2    
  byte . . . . . . . . . . . . . . . .  MEMBER  -----   STRUCT  0000H   2    
  i. . . . . . . . . . . . . . . . . .  MEMBER  -----   U_INT   0000H   2    
tlc1543. . . . . . . . . . . . . . . .  PUBLIC  CODE    PROC    -----   -----
  port?057 . . . . . . . . . . . . . .  PARAM   DATA    BASE    0000H   1    
  port?057 . . . . . . . . . . . . . .  PARAM   DATA    BASE    0000H   1    
i?058. . . . . . . . . . . . . . . . .  PUBLIC  IDATA   BASE    0002H   1    
c?059. . . . . . . . . . . . . . . . .  PUBLIC  IDATA   UNION   0000H   2    
C51 COMPILER V6.11.4C,  TLC1543                   04/01/103  02:34:46  PAGE  4



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    139    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----       3
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILATION COMPLETE.  0 WARNING,  0 ERROR

⌨️ 快捷键说明

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