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

📄 cmx_adc_chan_c.lis

📁 sypress psoc express 驱动led发光的应用程序.
💻 LIS
字号:
 0000                   cpu LMM
                        .module cmx_adc_chan_c.c
                        .area text(rom, con, rel)
 0000                   .dbfile ./cmx_adc_chan_c.c
 0000                   .dbfunc e iGetChanMVolts _iGetChanMVolts fI
 0000           ;          lTemp -> X+0
 0000           ;          bChan -> X-4
 0000           _iGetChanMVolts::
 0000                   .dbline -1
 0000 10                push X
 0001 4F                mov X,SP
 0002 3804              add SP,4
 0004                   .dbline 33
 0004           ; //*****************************************************************************
 0004           ; //*****************************************************************************
 0004           ; //  FILENAME:  ADCMux8_LLD.h              
 0004           ; //  @Version@
 0004           ; //  
 0004           ; //
 0004           ; //  DESCRIPTION:  This files contains the conversion from ADC counts to
 0004           ; //                mVolts.  The driver will ALWAYS cal the " iGetChanMVolts()"
 0004           ; //                function to retrieve the mVolts result.
 0004           ; //
 0004           ; //-----------------------------------------------------------------------------
 0004           ; //      Copyright (c) Cypress MicroSystems 2004. All Rights Reserved.
 0004           ; //*****************************************************************************
 0004           ; //*****************************************************************************
 0004           ; 
 0004           ; #include "m8c.h"
 0004           ; #include "calibration.h"
 0004           ; #include "CMX_ADC_CHAN.h"
 0004           ; 
 0004           ; extern void * const DriverParams[]; 
 0004           ; 
 0004           ; // *********************** iGetChanMVolts() *******************************
 0004           ; //
 0004           ; // Description:
 0004           ; //   This function returns the reading of a given channel in mVolts (int).
 0004           ; //
 0004           ; //  Input:
 0004           ; //    BYTE bChan  <= Voltage channel number
 0004           ; //
 0004           ; //
 0004           ; //
 0004           ; int iGetChanMVolts(BYTE bChan)
 0004           ; {
 0004                   .dbline 36
 0004           ;    long lTemp;                                                    // Temp long variable 
 0004           ; 
 0004           ;    lTemp = (long)(iGetAinChanCounts(bChan) + ADC_Offset) * 1000;
 0004 10                push X
 0005 52FC              mov A,[X-4]
 0007 7C0000            xcall _iGetAinChanCounts
 000A 62D000            mov REG[0xd0],>__r0
 000D 5300              mov [__r1],A
 000F 5A00              mov [__r0],X
 0011 20                pop X
 0012 5000              mov A,>_ADC_Offset
 0014 10                push X
 0015 08                push A
 0016 5700              mov X,<_ADC_Offset
 0018 28                romx
 0019 5300              mov [__r2],A
 001B 18                pop A
 001C 75                inc X
 001D 0900              adc A,0
 001F 28                romx
 0020 20                pop X
 0021 0400              add [__r1],A
 0023 5100              mov A,[__r2]
 0025 0C00              adc [__r0],A
 0027 5100              mov A,[__r1]
 0029 5300              mov [__r3],A
 002B 5100              mov A,[__r0]
 002D 5300              mov [__r2],A
 002F 470080            tst [__r2],-128
 0032 A009              jz X0
 0034 5500FF            mov [__r1],-1
 0037 5500FF            mov [__r0],-1
 003A 800A              jmp X1
 003C           X0:
 003C 62D000            mov REG[0xd0],>__r0
 003F 550000            mov [__r1],0
 0042 550000            mov [__r0],0
 0045           X1:
 0045 62D000            mov REG[0xd0],>__r0
 0048 5100              mov A,[__r0]
 004A 08                push A
 004B 5100              mov A,[__r1]
 004D 08                push A
 004E 5100              mov A,[__r2]
 0050 08                push A
 0051 5100              mov A,[__r3]
 0053 08                push A
 0054 5000              mov A,0
 0056 08                push A
 0057 08                push A
 0058 5003              mov A,3
 005A 08                push A
 005B 50E8              mov A,-24
 005D 08                push A
 005E 7C0000            xcall __mul_32X32_32
 0061 38FC              add SP,-4
 0063 18                pop A
 0064 5403              mov [X+3],A
 0066 18                pop A
 0067 5402              mov [X+2],A
 0069 18                pop A
 006A 5401              mov [X+1],A
 006C 18                pop A
 006D 5400              mov [X+0],A
 006F                   .dbline 39
 006F           ;    // The COUNTS_PER_VOLT is a default value at this time.  Later it
 006F           ;    // will be set by a calibration sequence.
 006F           ;    lTemp = lTemp/(CMX_ADC_CHAN_COUNTS16_PER_VOLT >> (16-CMX_ADC_CHAN_RESOLUTION));
 006F 5000              mov A,0
 0071 08                push A
 0072 08                push A
 0073 5001              mov A,1
 0075 08                push A
 0076 5089              mov A,-119
 0078 08                push A
 0079 5200              mov A,[X+0]
 007B 08                push A
 007C 5201              mov A,[X+1]
 007E 08                push A
 007F 5202              mov A,[X+2]
 0081 08                push A
 0082 5203              mov A,[X+3]
 0084 08                push A
 0085 7C0000            xcall __divmod_32X32_32
 0088 18                pop A
 0089 5403              mov [X+3],A
 008B 18                pop A
 008C 5402              mov [X+2],A
 008E 18                pop A
 008F 5401              mov [X+1],A
 0091 18                pop A
 0092 5400              mov [X+0],A
 0094 38FC              add SP,-4
 0096                   .dbline 41
 0096           ; 
 0096           ;    return ((int)lTemp);
 0096 5203              mov A,[X+3]
 0098 5300              mov [__r1],A
 009A 5202              mov A,[X+2]
 009C 5300              mov [__r0],A
 009E                   .dbline -2
 009E           L1:
 009E 38FC              add SP,-4
 00A0 20                pop X
 00A1                   .dbline 0 ; func end
 00A1 7F                ret
 00A2                   .dbsym l lTemp 0 L
 00A2                   .dbsym l bChan -4 c
 00A2                   .dbend

⌨️ 快捷键说明

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