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

📄 do_1543.lst

📁 ad1543的驱动程序!!!!!已经通过调试的!!请放心使用!
💻 LST
字号:
C51 COMPILER V7.50   DO_1543                                                               08/07/2000 10:52:56 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DO_1543
OBJECT MODULE PLACED IN do_1543.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE do_1543.c DEBUG OBJECTEXTEND CODE

line level    source

   1          #include "reg51.h"
   2          #include "string.h"
   3          #include "intrins.h"
   4          #include "stdlib.h"
   5          
   6          
   7          sbit EOC=P1^0;
   8          sbit CLOCK=P1^1;
   9          sbit ADDR=P1^2;
  10          sbit DATAOUT=P1^3;
  11          sbit _CS=P1^4;
  12          
  13          #define uint unsigned int
  14          #define uchar unsigned char
  15          
  16          uint read1543(uchar port) //从TLC1543读取采样值,形参port是采样的通道号
  17          {
  18   1        uint data ad;uint data i;
  19   1        uchar data al=0,ah=0;
  20   1        _CS=1;
  21   1        _nop_();_nop_();_nop_();
  22   1        CLOCK=0;
  23   1        _CS=0;
  24   1        port<<=4;
  25   1        for (i=0;i<4;i++) //把通道号打入1543
  26   1        {
  27   2          ADDR=(bit)(port&0x80);CLOCK=1;CLOCK=0;
  28   2          port<<=1;
  29   2        }
  30   1        for (i=0;i<6;i++) //填充6个CLOCK
  31   1        {
  32   2          CLOCK=1;CLOCK=0;
  33   2        }
  34   1        _CS=1;
  35   1        _nop_();_nop_();_nop_();
  36   1        _nop_();_nop_();_nop_();
  37   1        while(!EOC); //等待AD转换
  38   1        _CS=0;
  39   1        for (i=0;i<2;i++) //取D9,D8
  40   1        {
  41   2          DATAOUT=1;
  42   2          CLOCK=1;
  43   2          ah<<=1;
  44   2          if(DATAOUT) ah|=0x01;
  45   2          CLOCK=0;
  46   2         } 
  47   1      
  48   1        for (i=0;i<8;i++) //取D7--D0
  49   1        {
  50   2          DATAOUT=1;
  51   2          CLOCK=1;
  52   2          al<<=1;
  53   2          if(DATAOUT) al|=0x01;
  54   2          CLOCK=0;
  55   2        } 
C51 COMPILER V7.50   DO_1543                                                               08/07/2000 10:52:56 PAGE 2   

  56   1        _CS=1;
  57   1        ad=(uint)ah;ad<<=8;ad|=(uint)al; //得到AD值
  58   1        return (ad);
  59   1      } 
C51 COMPILER V7.50   DO_1543                                                               08/07/2000 10:52:56 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _read1543 (BEGIN)
                                           ; SOURCE LINE # 16
;---- Variable 'port' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 17
                                           ; SOURCE LINE # 19
;---- Variable 'al' assigned to Register 'R5' ----
0000 E4                CLR     A
0001 FD                MOV     R5,A
;---- Variable 'ah' assigned to Register 'R6' ----
0002 FE                MOV     R6,A
                                           ; SOURCE LINE # 20
0003 D294              SETB    _CS
                                           ; SOURCE LINE # 21
0005 00                NOP     
0006 00                NOP     
0007 00                NOP     
                                           ; SOURCE LINE # 22
0008 C291              CLR     CLOCK
                                           ; SOURCE LINE # 23
000A C294              CLR     _CS
                                           ; SOURCE LINE # 24
000C EF                MOV     A,R7
000D C4                SWAP    A
000E 54F0              ANL     A,#0F0H
0010 FF                MOV     R7,A
                                           ; SOURCE LINE # 25
;---- Variable 'i' assigned to Register 'R2/R3' ----
0011 E4                CLR     A
0012 FB                MOV     R3,A
0013 FA                MOV     R2,A
0014         ?C0001:
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 27
0014 EF                MOV     A,R7
0015 33                RLC     A
0016 9292              MOV     ADDR,C
0018 D291              SETB    CLOCK
001A C291              CLR     CLOCK
                                           ; SOURCE LINE # 28
001C EF                MOV     A,R7
001D 25E0              ADD     A,ACC
001F FF                MOV     R7,A
                                           ; SOURCE LINE # 29
0020 0B                INC     R3
0021 BB0001            CJNE    R3,#00H,?C0018
0024 0A                INC     R2
0025         ?C0018:
0025 EB                MOV     A,R3
0026 6404              XRL     A,#04H
0028 4A                ORL     A,R2
0029 70E9              JNZ     ?C0001
002B         ?C0002:
                                           ; SOURCE LINE # 30
002B E4                CLR     A
002C FA                MOV     R2,A
002D FB                MOV     R3,A
002E         ?C0004:
                                           ; SOURCE LINE # 31
                                           ; SOURCE LINE # 32
C51 COMPILER V7.50   DO_1543                                                               08/07/2000 10:52:56 PAGE 4   

002E D291              SETB    CLOCK
0030 C291              CLR     CLOCK
                                           ; SOURCE LINE # 33
0032 0B                INC     R3
0033 BB0001            CJNE    R3,#00H,?C0019
0036 0A                INC     R2
0037         ?C0019:
0037 EB                MOV     A,R3
0038 6406              XRL     A,#06H
003A 4A                ORL     A,R2
003B 70F1              JNZ     ?C0004
003D         ?C0005:
                                           ; SOURCE LINE # 34
003D D294              SETB    _CS
                                           ; SOURCE LINE # 35
003F 00                NOP     
0040 00                NOP     
0041 00                NOP     
                                           ; SOURCE LINE # 36
0042 00                NOP     
0043 00                NOP     
0044 00                NOP     
0045         ?C0007:
                                           ; SOURCE LINE # 37
0045 3090FD            JNB     EOC,?C0007
0048         ?C0008:
                                           ; SOURCE LINE # 38
0048 C294              CLR     _CS
                                           ; SOURCE LINE # 39
004A E4                CLR     A
004B FA                MOV     R2,A
004C FB                MOV     R3,A
004D         ?C0009:
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
004D D293              SETB    DATAOUT
                                           ; SOURCE LINE # 42
004F D291              SETB    CLOCK
                                           ; SOURCE LINE # 43
0051 EE                MOV     A,R6
0052 25E0              ADD     A,ACC
0054 FE                MOV     R6,A
                                           ; SOURCE LINE # 44
0055 309303            JNB     DATAOUT,?C0012
0058 430601            ORL     AR6,#01H
005B         ?C0012:
                                           ; SOURCE LINE # 45
005B C291              CLR     CLOCK
                                           ; SOURCE LINE # 46
005D 0B                INC     R3
005E BB0001            CJNE    R3,#00H,?C0020
0061 0A                INC     R2
0062         ?C0020:
0062 EB                MOV     A,R3
0063 6402              XRL     A,#02H
0065 4A                ORL     A,R2
0066 70E5              JNZ     ?C0009
0068         ?C0010:
                                           ; SOURCE LINE # 48
0068 E4                CLR     A
0069 FA                MOV     R2,A
006A FB                MOV     R3,A
C51 COMPILER V7.50   DO_1543                                                               08/07/2000 10:52:56 PAGE 5   

006B         ?C0013:
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
006B D293              SETB    DATAOUT
                                           ; SOURCE LINE # 51
006D D291              SETB    CLOCK
                                           ; SOURCE LINE # 52
006F ED                MOV     A,R5
0070 25E0              ADD     A,ACC
0072 FD                MOV     R5,A
                                           ; SOURCE LINE # 53
0073 309303            JNB     DATAOUT,?C0016
0076 430501            ORL     AR5,#01H
0079         ?C0016:
                                           ; SOURCE LINE # 54
0079 C291              CLR     CLOCK
                                           ; SOURCE LINE # 55
007B 0B                INC     R3
007C BB0001            CJNE    R3,#00H,?C0021
007F 0A                INC     R2
0080         ?C0021:
0080 EB                MOV     A,R3
0081 6408              XRL     A,#08H
0083 4A                ORL     A,R2
0084 70E5              JNZ     ?C0013
0086         ?C0014:
                                           ; SOURCE LINE # 56
0086 D294              SETB    _CS
                                           ; SOURCE LINE # 57
0088 AF06              MOV     R7,AR6
;---- Variable 'ad' assigned to Register 'R6/R7' ----
008A EF                MOV     A,R7
008B FE                MOV     R6,A
008C ED                MOV     A,R5
008D FF                MOV     R7,A
                                           ; SOURCE LINE # 58
                                           ; SOURCE LINE # 59
008E         ?C0017:
008E 22                RET     
             ; FUNCTION _read1543 (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    143    ----
   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 + -