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

📄 24c01.l

📁 给香港公司做的出口欧洲的电子称项目全部源代码 CPU:KS57C2308 RANGE:(0 -150KG)/d = 0.1kg
💻 L
字号:
Mon Aug 02 15:20:23 2004


     SAM4 Assembler for 57 Core Ver. 2.11T(Win32) Copyright(c) 1999 Samsung Electronics Co.

    --------------------------------------------------------------------

                       Source File Name : 24c01.asm
                       Output File Name : 24c01.o
                       List File Name   : 24c01.l


    1                    ;MODULE:   24C01.ASM                   ;
    2                    ;FUNCTION: READ/ WRITE DATA FROM/TO 24C01
    3                    ;**************************************;
    4                    ;USER EEPROM MAP:                      ;
    5                    ;   USE TO SAVE USER INFO SUCH AS AGE/SEX AND HEIGHT ( TOTAL 2 BYTES )
    6                    ; USER_NUM    ADDRESS                  ;
    7                    ;    1       10H ~ 17H                 ;
    8                    ;    2       18H ~ 1FH                 ;
    9                    ;    3       20H ~ 27H                 ;
   10                    ;    4       28H ~ 2FH                 ;
   11                    ;    5       30H ~ 37H                 ;
   12                    ;    6       38H ~ 3FH                 ;
   13                    ;    7       40H ~ 47H                 ;
   14                    ;    8       48H ~ 4FH                 ;
   15                    ;    9       50H ~ 57H                 ;
   16                    ;    10      58H ~ 5FH                 ;
   17                    ;-----------------------               ;
   18                    ;00H ~ 0FH : USE TO SAVE LAST_WEIGHT,CNT10 AND CNT21 ( TOTAL 6 BYTES! )
   19                    ;-----------------------               ;
   20         00 A0      DEVICE_WR:       EQU   0A0H            ; USE FOR WRITE 24C01
   21         00 A1      DEVICE_RD:       EQU   0A1H            ; USE FOR READ  24C01
   22                    ;SCL:            BIT   P3.2            ; 24C01 PIN6
   23                    ;SDA:            BIT   P3.3            ; 24C01 PIN5
   24                    ;                                      ;
   25                    ;**************************************;
   26                    SET_SDA_OUTPUT:  MACRO                 ;
   27                            SMB      15                    ;
   28                            LD       EA,#7FH               ; 0111 1111
   29                            LD       PMG1,EA               ; SDA IS OUTPUT PIN
   30                            ENDM                           ;
   31                                                           ;
   32                    SET_SDA_INPUT:   MACRO                 ;
   33                            SMB      15                    ;
   34                            LD       EA,#77H               ; 0111 0111
   35                            LD       PMG1,EA               ; SDA IS INPUT PIN
   36                            ENDM                           ;
   37                    ;**************************************;
   38                    
   39                    ;****************************************************************************;
   40                    ;                                 WRITE 24C01                                ;
   41                    ;****************************************************************************;
   42                    ;FUNCTION:  WRITE BYTES TO 24C01       ;
   43                    ;R:[TRX_BUF] [HL] [WX] [EA]            ;
   44                    ;INPUT: [EEP_NUM],[CPU_RAM_ADDR] [EEP_RAM_ADDR]
   45                    ;HL: BUFFER ADDRESS POINT              ;
   46                    ;WX: BYTE CNT                          ;
   47                    ;                                      ;
   48  0000              WRITE_EEP:                             ;
   49                    ;START I2C                             ;
   50  0000   DB 40 7F           CALL     START_I2C             ;
   51                    ;TRANSMIT DEVICE ADDRESS               ;
   52  0003   81 A0              LD       EA,#DEVICE_WR         ;
   53  0005                      LD       TRX_BUF,EA            ;
 *** ERROR 1: UNDEFINED SYMBOL IN OPERAND
   54  0007   DB 40 D7           CALL     TX_ABYTE              ;
   55                    ;TRANSMIT WORD ADDRESS                 ;
   56  000A   CE 00              LD       EA,EEP_RAM_ADDR       ;
 *** ERROR 2: UNDEFINED SYMBOL IN OPERAND
   57  000C                      LD       TRX_BUF,EA            ;
 *** ERROR 3: UNDEFINED SYMBOL IN OPERAND
   58  000E   DB 40 D7           CALL     TX_ABYTE              ;
   59                    ;BEGIN TO WRITE DATA                   ;
   60  0011   8C 00              LD       A,EEP_NUM             ;
 *** ERROR 4: UNDEFINED SYMBOL IN OPERAND
   61  0013   DD 05              LD       W,A                   ;
   62  0015   CE 00              LD       EA,CPU_RAM_ADDR       ;
 *** ERROR 5: UNDEFINED SYMBOL IN OPERAND
   63  0017   DC F2              LD       HL,EA                 ;
   64  0019              WRITE_EEP_01:                          ;
   65  0019   DC 08              LD       EA,@HL                ;
   66  001B                      LD       TRX_BUF,EA            ;
 *** ERROR 6: UNDEFINED SYMBOL IN OPERAND
   67  001D   DB 40 D7           CALL     TX_ABYTE              ;
   68  0020   82                 INCS     HL                    ;
   69  0021   82                 INCS     HL                    ; HL + = 2
   70  0022   A0                 NOP                            ;
   71  0023   4D                 DECS     W                     ; EEP_NUM --
   72  0024   90 19              JPS      WRITE_EEP_01          ;
   73  0026   DB 40 95           CALL     STOP_I2C              ;
   74  0029   81 02              LD       EA,#02H               ;
   75  002B   DB 00 00           JP       DELAY_3MS             ;
 *** ERROR 7: UNDEFINED SYMBOL IN OPERAND
   76                    ;**************************************;
   77                    
   78                    ;****************************************************************************;
   79                    ;                                 READ  24C01                                ;
   80                    ;****************************************************************************;
   81                    ;FUNCTION: READ BYTES FROM 24C01       ;
   82                    ;R:[TRX_BUF][HL][WX][EA]               ;
   83                    ;INPUT:[EEP_NUM],[CPU_RAM_ADDR] [EEP_RAM_ADDR]
   84                    ; HL: BUFFER ADDRESS POINT             ;
   85                    ; WX: BYTE CNT                         ;
   86                    ;**USE RANDOM READ MODE TO READ 24C01 *;
   87  002E              READ_EEP:                              ;
   88                    ;START I2C                             ;
   89  002E   DB 40 7F           CALL     START_I2C             ;
   90                    ;WRITE DEVICE ADDRESS                  ;
   91  0031   81 A0              LD       EA,#DEVICE_WR         ;
   92  0033                      LD       TRX_BUF,EA            ;
 *** ERROR 8: UNDEFINED SYMBOL IN OPERAND
   93  0035   DB 40 D7           CALL     TX_ABYTE              ; 0A0H ---> EEP
   94                    ;WRITE WORD ADDRESS                    ;
   95  0038   CE 00              LD       EA,EEP_RAM_ADDR       ;
 *** ERROR 9: UNDEFINED SYMBOL IN OPERAND
   96  003A                      LD       TRX_BUF,EA            ;
 *** ERROR 10: UNDEFINED SYMBOL IN OPERAND
   97  003C   DB 40 D7           CALL     TX_ABYTE              ;
   98                    ;RESTART I2C AGAIN                     ;
   99  003F   DB 40 7F           CALL     START_I2C             ;
  100                    ;WRITE DEVICE ADDRESS                  ;
  101  0042   81 A1              LD       EA,#DEVICE_RD         ; 0A1 ---> EEP
  102  0044                      LD       TRX_BUF,EA            ;
 *** ERROR 11: UNDEFINED SYMBOL IN OPERAND
  103  0046   DB 40 D7           CALL     TX_ABYTE              ;
  104                    ;BEGIN TO READ DATA                    ;
  105  0049   CE 00              LD       EA,CPU_RAM_ADDR       ;
 *** ERROR 12: UNDEFINED SYMBOL IN OPERAND
  106  004B   DC F2              LD       HL,EA                 ;
  107  004D   8C 00              LD       A,EEP_NUM             ;
 *** ERROR 13: UNDEFINED SYMBOL IN OPERAND
  108  004F   DD 05              LD       W,A                   ;
  109  0051              READ_EEP_01:                           ;
  110  0051   DB 40 AB           CALL     RX_ABYTE              ;
  111  0054   CE 00              LD       EA,TRX_BUF            ;
 *** ERROR 14: UNDEFINED SYMBOL IN OPERAND
  112  0056   DC 00              LD       @HL,EA                ;
  113  0058   82                 INCS     HL                    ; POINT TO NEXT LOCATION
  114  0059   82                 INCS     HL                    ; HL + = 2
  115  005A   A0                 NOP                            ;
  116  005B   4D                 DECS     W                     ; EEP_NUM --, READ OVER ?
  117  005C   90 60              JPS      READ_EEP_02           ; NO. SEND ACK SIGNAL
  118  005E   90 65              JPS      READ_EEP_03           ; YES DON'T SEND ACK SIGNAL
  119  0060              READ_EEP_02:                           ;
  120  0060   DB 41 40           CALL     TX_ACK                ; CPU SEND A ACK TO 24C01
  121  0063   90 51              JPS      READ_EEP_01           ;
  122  0065              READ_EEP_03:                           ;
  123         <01>               SET_SDA_OUTPUT                 ; STOP I2C
  124  0065   DD 4F              SMB      15                    ;
  125  0067   81 7F              LD       EA,#7FH               ; 0111 1111
  126  0069                      LD       PMG1,EA               ; SDA IS OUTPUT PIN
 *** ERROR 15: UNDEFINED SYMBOL IN OPERAND

⌨️ 快捷键说明

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