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

📄 sigproc.lis

📁 测量脉搏的源码 Cypress公司使用 CY27443 完成相关的功能
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 02BB 5300              mov [__rY],A
 02BD 510D              mov A,[L10]
 02BF 3180              xor A,-128
 02C1 5300              mov [__rZ],A
 02C3 550000            mov [__rX],0
 02C6 5101              mov A,[L6+1]
 02C8 120E              sub A,[L10+1]
 02CA 2C00              or [__rX],A
 02CC 5100              mov A,[__rY]
 02CE 1A00              sbb A,[__rZ]
 02D0 2C00              or [__rX],A
 02D2 C00B              jc L36
 02D4 5100              mov A,[__rX]
 02D6 A007              jz L36
 02D8           X8:
 02D8                   .dbline 96
 02D8 5F0E01            mov [L10+1],[L6+1]
 02DB 5F0D00            mov [L10],[L6]
 02DE           L36:
 02DE           L28:
 02DE                   .dbline 98
 02DE           ;       
 02DE           ;   int_cnt++;
 02DE 7612              inc [L12+1]
 02E0 0E1100            adc [L12],0
 02E3                   .dbline 100
 02E3           ;   
 02E3           ;   if (hpf_data < th)       
 02E3 5100              mov A,[L6]
 02E5 3180              xor A,-128
 02E7 5300              mov [__rY],A
 02E9 510B              mov A,[L9]
 02EB 3180              xor A,-128
 02ED 5300              mov [__rZ],A
 02EF 550000            mov [__rX],0
 02F2 5101              mov A,[L6+1]
 02F4 120C              sub A,[L9+1]
 02F6 2C00              or [__rX],A
 02F8 5100              mov A,[__rY]
 02FA 1A00              sbb A,[__rZ]
 02FC 2C00              or [__rX],A
 02FE D070              jnc L38
 0300 5100              mov A,[__rX]
 0302 A06C              jz L38
 0304           X9:
 0304                   .dbline 101
 0304           ;   {
 0304                   .dbline 102
 0304           ;     if (peak_max > 0)
 0304 510F              mov A,[L11]
 0306 3180              xor A,-128
 0308 5300              mov [__rY],A
 030A 5000              mov A,0
 030C 3180              xor A,-128
 030E 5300              mov [__rZ],A
 0310 550000            mov [__rX],0
 0313 5110              mov A,[L11+1]
 0315 1100              sub A,0
 0317 2C00              or [__rX],A
 0319 5100              mov A,[__rY]
 031B 1A00              sbb A,[__rZ]
 031D 2C00              or [__rX],A
 031F C07C              jc L39
 0321 5100              mov A,[__rX]
 0323 A078              jz L39
 0325           X10:
 0325                   .dbline 103
 0325           ;     {
 0325                   .dbline 104
 0325           ;        if (peak_ind > peak_ind_old) peak_delta = peak_ind - peak_ind_old;
 0325 5113              mov A,[L13]
 0327 3A04              cmp A,[L14]
 0329 B007              jnz X12
 032B 5114              mov A,[L13+1]
 032D 3A05              cmp A,[L14+1]
 032F A011              jz L42
 0331           X12:
 0331 C00F              jc L42
 0333           X11:
 0333                   .dbline 104
 0333 5114              mov A,[L13+1]
 0335 1205              sub A,[L14+1]
 0337 5303              mov [_peak_delta+1],A
 0339 5113              mov A,[L13]
 033B 1A04              sbb A,[L14]
 033D 5302              mov [_peak_delta],A
 033F 8021              xjmp L43
 0341           L42:
 0341                   .dbline 106
 0341           ;        else
 0341           ;        {
 0341                   .dbline 107
 0341           ;          peak_delta = PULSE_INTERVAL_MAX - peak_ind_old;
 0341 50FF              mov A,-1
 0343 1205              sub A,[L14+1]
 0345 5303              mov [_peak_delta+1],A
 0347 50FF              mov A,-1
 0349 1A04              sbb A,[L14]
 034B 5302              mov [_peak_delta],A
 034D                   .dbline 108
 034D           ;          peak_delta += peak_delta + 1;
 034D 5103              mov A,[_peak_delta+1]
 034F 0101              add A,1
 0351 5300              mov [__r1],A
 0353 5102              mov A,[_peak_delta]
 0355 0900              adc A,0
 0357 5300              mov [__r0],A
 0359 5100              mov A,[__r1]
 035B 0403              add [_peak_delta+1],A
 035D 5100              mov A,[__r0]
 035F 0C02              adc [_peak_delta],A
 0361                   .dbline 109
 0361           ;        }      
 0361           L43:
 0361                   .dbline 110
 0361           ;        peak_ind_old = peak_ind;
 0361 5F0514            mov [L14+1],[L13+1]
 0364 5F0413            mov [L14],[L13]
 0367                   .dbline 111
 0367           ;        peak_max = 0;  
 0367 551000            mov [L11+1],0
 036A 550F00            mov [L11],0
 036D                   .dbline 112
 036D           ;     }  
 036D                   .dbline 113
 036D           ;   }      
 036D 802E              xjmp L39
 036F           L38:
 036F                   .dbline 115
 036F           ;   else
 036F           ;     if (hpf_data > peak_max) 
 036F 5100              mov A,[L6]
 0371 3180              xor A,-128
 0373 5300              mov [__rY],A
 0375 510F              mov A,[L11]
 0377 3180              xor A,-128
 0379 5300              mov [__rZ],A
 037B 550000            mov [__rX],0
 037E 5101              mov A,[L6+1]
 0380 1210              sub A,[L11+1]
 0382 2C00              or [__rX],A
 0384 5100              mov A,[__rY]
 0386 1A00              sbb A,[__rZ]
 0388 2C00              or [__rX],A
 038A C011              jc L44
 038C 5100              mov A,[__rX]
 038E A00D              jz L44
 0390           X13:
 0390                   .dbline 116
 0390           ;     {
 0390                   .dbline 117
 0390           ;       peak_max = hpf_data;
 0390 5F1001            mov [L11+1],[L6+1]
 0393 5F0F00            mov [L11],[L6]
 0396                   .dbline 118
 0396           ;       peak_ind = int_cnt;
 0396 5F1412            mov [L13+1],[L12+1]
 0399 5F1311            mov [L13],[L12]
 039C                   .dbline 119
 039C           ;     }      
 039C           L44:
 039C           L39:
 039C                   .dbline -2
 039C                   .dbline 120
 039C           ; }
 039C           L2:
 039C 38FE              add SP,-2
 039E 20                pop X
 039F 18                pop A
 03A0 5300              mov [__rZ],A
 03A2 18                pop A
 03A3 5300              mov [__rY],A
 03A5 18                pop A
 03A6 5300              mov [__rX],A
 03A8 18                pop A
 03A9 5300              mov [__r3],A
 03AB 18                pop A
 03AC 5300              mov [__r2],A
 03AE 18                pop A
 03AF 5300              mov [__r1],A
 03B1 18                pop A
 03B2 5300              mov [__r0],A
 03B4 18                pop A
 03B5                   .dbline 0 ; func end
 03B5 7E                reti
 03B6                   .dbend
 03B6                   .dbfunc e GetADCRange _GetADCRange fI
 03B6           ;           temp -> X+0
 03B6           _GetADCRange::
 03B6                   .dbline -1
 03B6 10                push X
 03B7 4F                mov X,SP
 03B8 3802              add SP,2
 03BA                   .dbline 124
 03BA           ; 
 03BA           ; 
 03BA           ; INT GetADCRange(void)
 03BA           ; {
 03BA                   .dbline 127
 03BA           ;   INT temp;
 03BA           ;   
 03BA           ;   M8C_DisableGInt;
 03BA 70FE                      and F, FEh
 03BC           
 03BC                   .dbline 128
 03BC           ;   temp = adc_max_prev;
 03BC 5101              mov A,[_adc_max_prev+1]
 03BE 5401              mov [X+1],A
 03C0 5100              mov A,[_adc_max_prev]
 03C2 5400              mov [X+0],A
 03C4                   .dbline 129
 03C4           ;   M8C_EnableGInt; 
 03C4 7101                      or  F, 01h
 03C6           
 03C6                   .dbline 131
 03C6           ;   
 03C6           ;   return temp; 
 03C6 5201              mov A,[X+1]
 03C8 5300              mov [__r1],A
 03CA 5200              mov A,[X+0]
 03CC 5300              mov [__r0],A
 03CE                   .dbline -2
 03CE           L46:
 03CE 38FE              add SP,-2
 03D0 20                pop X
 03D1                   .dbline 0 ; func end
 03D1 7F                ret
 03D2                   .dbsym l temp 0 I
 03D2                   .dbend
 03D2                   .dbfunc e GetPulseDelta _GetPulseDelta fi
 03D2           ;           temp -> X+0
 03D2           _GetPulseDelta::
 03D2                   .dbline -1
 03D2 10                push X
 03D3 4F                mov X,SP
 03D4 3802              add SP,2
 03D6                   .dbline 135
 03D6           ; }
 03D6           ; 
 03D6           ; PULSE_INTERVAL_TYPE GetPulseDelta(void)
 03D6           ; {
 03D6                   .dbline 138
 03D6           ;   PULSE_INTERVAL_TYPE temp;
 03D6           ;   
 03D6           ;   M8C_DisableGInt;
 03D6 70FE                      and F, FEh
 03D8           
 03D8                   .dbline 139
 03D8           ;   temp = peak_delta;
 03D8 5103              mov A,[_peak_delta+1]
 03DA 5401              mov [X+1],A
 03DC 5102              mov A,[_peak_delta]
 03DE 5400              mov [X+0],A
 03E0                   .dbline 140
 03E0           ;   peak_delta = 0;
 03E0 550300            mov [_peak_delta+1],0
 03E3 550200            mov [_peak_delta],0
 03E6                   .dbline 141
 03E6           ;   M8C_EnableGInt; 
 03E6 7101                      or  F, 01h
 03E8           
 03E8                   .dbline 143
 03E8           ;   
 03E8           ;   return temp;
 03E8 5201              mov A,[X+1]
 03EA 5300              mov [__r1],A
 03EC 5200              mov A,[X+0]
 03EE 5300              mov [__r0],A
 03F0                   .dbline -2
 03F0           L47:
 03F0 38FE              add SP,-2
 03F2 20                pop X
 03F3                   .dbline 0 ; func end
 03F3 7F                ret
 03F4                   .dbsym l temp 0 i
 03F4                   .dbend
 03F4                   .dbfunc e GetGainLevel _GetGainLevel fc
 03F4           _GetGainLevel::
 03F4                   .dbline -1
 03F4                   .dbline 147
 03F4           ; }
 03F4           ; 
 03F4           ; BYTE GetGainLevel(void)
 03F4           ; {
 03F4                   .dbline 148
 03F4           ;   return gain_level;
 03F4 5104              mov A,[_gain_level]
 03F6                   .dbline -2
 03F6           L48:
 03F6                   .dbline 0 ; func end
 03F6 7F                ret
 03F7                   .dbend
                        .area bss(ram, con, rel)
 0006                   .dbfile ./sigproc.c
 0006           _hpf_buffer:
 0006                   .blkb 14
 0014                   .dbsym s hpf_buffer _hpf_buffer A[14:7]I

⌨️ 快捷键说明

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