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

📄 sigproc.lis

📁 测量脉搏的源码 Cypress公司使用 CY27443 完成相关的功能
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00E6           X3:
 00E6                   .dbline 60
 00E6           ;       In_BPF_FILT_C1_REG = (In_BPF_FILT_C1_REG & 0xE0) | gain_table[++gain_level]; 
 00E6 5104              mov A,[_gain_level]
 00E8 0101              add A,1
 00EA 5300              mov [__r0],A
 00EC 5304              mov [_gain_level],A
 00EE 5D80              mov A,REG[-128]
 00F0 5300              mov [__r2],A
 00F2 2600E0            and [__r2],-32
 00F5 5F0000            mov [__r1],[__r0]
 00F8 550000            mov [__r0],0
 00FB 060000            add [__r1],<_gain_table
 00FE 0E0000            adc [__r0],>_gain_table
 0101 5100              mov A,[__r0]
 0103 10                push X
 0104 5800              mov X,[__r1]
 0106 28                romx
 0107 20                pop X
 0108 5300              mov [__r0],A
 010A 5100              mov A,[__r2]
 010C 2A00              or A,[__r0]
 010E 6080              mov REG[-128],A
 0110           L17:
 0110                   .dbline 63
 0110 550906            mov [L5],6
 0113 8039              xjmp L20
 0115           L19:
 0115                   .dbline 63
 0115                   .dbline 63
 0115 5F0009            mov [__r1],[L5]
 0118 550000            mov [__r0],0
 011B 6500              asl [__r1]
 011D 6B00              rlc [__r0]
 011F 060006            add [__r1],<_hpf_buffer
 0122 0E0006            adc [__r0],>_hpf_buffer
 0125 5F0009            mov [__r3],[L5]
 0128 550000            mov [__r2],0
 012B 160001            sub [__r3],1
 012E 1E0000            sbb [__r2],0
 0131 6500              asl [__r3]
 0133 6B00              rlc [__r2]
 0135 060006            add [__r3],<_hpf_buffer
 0138 0E0006            adc [__r2],>_hpf_buffer
 013B 3E00              mvi A,[__r3]
 013D 5300              mov [__r2],A
 013F 3E00              mvi A,[__r3]
 0141 5300              mov [__r3],A
 0143 5100              mov A,[__r2]
 0145 3F00              mvi [__r1],A
 0147 5100              mov A,[__r3]
 0149 3F00              mvi [__r1],A
 014B                   .dbline 63
 014B 7A09              dec [L5]
 014D                   .dbline 63
 014D           L20:
 014D                   .dbline 63
 014D           ; 
 014D           ;       
 014D           ;   loop = HPF_BUFFER_LEN-1; while(loop) {hpf_buffer[loop] = hpf_buffer[loop-1]; loop--;}
 014D 3C0900            cmp [L5],0
 0150 BFC4              jnz L19
 0152                   .dbline 64
 0152           ;   hpf_buffer[0] = lpf2;    
 0152 5F0708            mov [_hpf_buffer+1],[L4+1]
 0155 5F0607            mov [_hpf_buffer],[L4]
 0158                   .dbline 66
 0158           ;   
 0158           ;   hpf_data = hpf_buffer[6] - hpf_buffer[0];
 0158 5113              mov A,[_hpf_buffer+12+1]
 015A 1207              sub A,[_hpf_buffer+1]
 015C 5301              mov [L6+1],A
 015E 5112              mov A,[_hpf_buffer+12]
 0160 1A06              sbb A,[_hpf_buffer]
 0162 5300              mov [L6],A
 0164                   .dbline 68
 0164           ;   
 0164           ;   temp = hpf_buffer[1] - hpf_buffer[5];
 0164 5109              mov A,[_hpf_buffer+2+1]
 0166 1211              sub A,[_hpf_buffer+10+1]
 0168 5303              mov [L7+1],A
 016A 5108              mov A,[_hpf_buffer+2]
 016C 1A10              sbb A,[_hpf_buffer+10]
 016E 5302              mov [L7],A
 0170                   .dbline 69
 0170           ;   hpf_data += temp;
 0170 5103              mov A,[L7+1]
 0172 0401              add [L6+1],A
 0174 5102              mov A,[L7]
 0176 0C00              adc [L6],A
 0178                   .dbline 70
 0178           ;   temp <<= 3; 
 0178 6503              asl [L7+1]
 017A 6B02              rlc [L7]
 017C 6503              asl [L7+1]
 017E 6B02              rlc [L7]
 0180 6503              asl [L7+1]
 0182 6B02              rlc [L7]
 0184                   .dbline 71
 0184           ;   hpf_data += temp;
 0184 5103              mov A,[L7+1]
 0186 0401              add [L6+1],A
 0188 5102              mov A,[L7]
 018A 0C00              adc [L6],A
 018C                   .dbline 73
 018C           ;   
 018C           ;   temp = hpf_buffer[4] - hpf_buffer[2];
 018C 510F              mov A,[_hpf_buffer+8+1]
 018E 120B              sub A,[_hpf_buffer+4+1]
 0190 5303              mov [L7+1],A
 0192 510E              mov A,[_hpf_buffer+8]
 0194 1A0A              sbb A,[_hpf_buffer+4]
 0196 5302              mov [L7],A
 0198                   .dbline 74
 0198           ;   hpf_data -= temp;
 0198 5103              mov A,[L7+1]
 019A 1401              sub [L6+1],A
 019C 5102              mov A,[L7]
 019E 1C00              sbb [L6],A
 01A0                   .dbline 75
 01A0           ;   temp <<= 1;
 01A0 6503              asl [L7+1]
 01A2 6B02              rlc [L7]
 01A4                   .dbline 76
 01A4           ;   hpf_data -= temp;
 01A4 5103              mov A,[L7+1]
 01A6 1401              sub [L6+1],A
 01A8 5102              mov A,[L7]
 01AA 1C00              sbb [L6],A
 01AC                   .dbline 77
 01AC           ;   temp <<= 3;
 01AC 6503              asl [L7+1]
 01AE 6B02              rlc [L7]
 01B0 6503              asl [L7+1]
 01B2 6B02              rlc [L7]
 01B4 6503              asl [L7+1]
 01B6 6B02              rlc [L7]
 01B8                   .dbline 78
 01B8           ;   hpf_data += temp;
 01B8 5103              mov A,[L7+1]
 01BA 0401              add [L6+1],A
 01BC 5102              mov A,[L7]
 01BE 0C00              adc [L6],A
 01C0                   .dbline 79
 01C0           ;   temp <<= 1;
 01C0 6503              asl [L7+1]
 01C2 6B02              rlc [L7]
 01C4                   .dbline 80
 01C4           ;   hpf_data += temp;
 01C4 5103              mov A,[L7+1]
 01C6 0401              add [L6+1],A
 01C8 5102              mov A,[L7]
 01CA 0C00              adc [L6],A
 01CC                   .dbline 82
 01CC           ;      
 01CC           ;   if (RANGE_POINTS == ran_cnt++)
 01CC 5F000A            mov [__r1],[L8]
 01CF 550000            mov [__r0],0
 01D2 5100              mov A,[__r1]
 01D4 0101              add A,1
 01D6 5300              mov [__r3],A
 01D8 5000              mov A,0
 01DA 0900              adc A,0
 01DC 5F0A00            mov [L8],[__r3]
 01DF 3C0000            cmp [__r0],0
 01E2 B0D4              jnz L27
 01E4 3C00C8            cmp [__r1],-56
 01E7 B0CF              jnz L27
 01E9           X4:
 01E9                   .dbline 83
 01E9           ;   {
 01E9                   .dbline 84
 01E9           ;      temp = th + TH_DELTA;
 01E9 510C              mov A,[L9+1]
 01EB 01C8              add A,-56
 01ED 5303              mov [L7+1],A
 01EF 510B              mov A,[L9]
 01F1 0900              adc A,0
 01F3 5302              mov [L7],A
 01F5                   .dbline 86
 01F5           ;      
 01F5           ;      th += (adc_max >> (TH_FILTER_SHIFT+1)) - (th >> TH_FILTER_SHIFT);
 01F5 5F000E            mov [__r1],[L10+1]
 01F8 5F000D            mov [__r0],[L10]
 01FB 6800              asr [__r0]
 01FD 6E00              rrc [__r1]
 01FF 6800              asr [__r0]
 0201 6E00              rrc [__r1]
 0203 5F000C            mov [__r3],[L9+1]
 0206 5F000B            mov [__r2],[L9]
 0209 6800              asr [__r2]
 020B 6E00              rrc [__r3]
 020D 5100              mov A,[__r3]
 020F 1400              sub [__r1],A
 0211 5100              mov A,[__r2]
 0213 1C00              sbb [__r0],A
 0215 5100              mov A,[__r1]
 0217 040C              add [L9+1],A
 0219 5100              mov A,[__r0]
 021B 0C0B              adc [L9],A
 021D                   .dbline 87
 021D           ;      th = MIN(th, temp);
 021D 510B              mov A,[L9]
 021F 3180              xor A,-128
 0221 5300              mov [__rY],A
 0223 5102              mov A,[L7]
 0225 3180              xor A,-128
 0227 5300              mov [__rZ],A
 0229 550000            mov [__rX],0
 022C 510C              mov A,[L9+1]
 022E 1203              sub A,[L7+1]
 0230 2C00              or [__rX],A
 0232 5100              mov A,[__rY]
 0234 1A00              sbb A,[__rZ]
 0236 2C00              or [__rX],A
 0238 D00F              jnc L30
 023A 5100              mov A,[__rX]
 023C A00B              jz L30
 023E           X5:
 023E 510C              mov A,[L9+1]
 0240 5401              mov [X+1],A
 0242 510B              mov A,[L9]
 0244 5400              mov [X+0],A
 0246 8009              xjmp L31
 0248           L30:
 0248 5103              mov A,[L7+1]
 024A 5401              mov [X+1],A
 024C 5102              mov A,[L7]
 024E 5400              mov [X+0],A
 0250           L31:
 0250 5201              mov A,[X+1]
 0252 530C              mov [L9+1],A
 0254 5200              mov A,[X+0]
 0256 530B              mov [L9],A
 0258                   .dbline 89
 0258           ;      
 0258           ;      if (th < TH_MIN) th = TH_MIN;
 0258 510B              mov A,[L9]
 025A 3180              xor A,-128
 025C 5300              mov [__rY],A
 025E 5001              mov A,1
 0260 3180              xor A,-128
 0262 5300              mov [__rZ],A
 0264 550000            mov [__rX],0
 0267 510C              mov A,[L9+1]
 0269 112C              sub A,44
 026B 2C00              or [__rX],A
 026D 5100              mov A,[__rY]
 026F 1A00              sbb A,[__rZ]
 0271 2C00              or [__rX],A
 0273 D00B              jnc L32
 0275 5100              mov A,[__rX]
 0277 A007              jz L32
 0279           X6:
 0279                   .dbline 89
 0279 550C2C            mov [L9+1],44
 027C 550B01            mov [L9],1
 027F           L32:
 027F                   .dbline 90
 027F           ;      if (th > TH_MAX) th = TH_MAX;
 027F 510B              mov A,[L9]
 0281 3180              xor A,-128
 0283 5300              mov [__rY],A
 0285 5005              mov A,5
 0287 3180              xor A,-128
 0289 5300              mov [__rZ],A
 028B 550000            mov [__rX],0
 028E 510C              mov A,[L9+1]
 0290 11DC              sub A,-36
 0292 2C00              or [__rX],A
 0294 5100              mov A,[__rY]
 0296 1A00              sbb A,[__rZ]
 0298 2C00              or [__rX],A
 029A C00B              jc L34
 029C 5100              mov A,[__rX]
 029E A007              jz L34
 02A0           X7:
 02A0                   .dbline 90
 02A0 550CDC            mov [L9+1],-36
 02A3 550B05            mov [L9],5
 02A6           L34:
 02A6                   .dbline 92
 02A6           ;      
 02A6           ;      adc_max_prev = adc_max;
 02A6 5F010E            mov [_adc_max_prev+1],[L10+1]
 02A9 5F000D            mov [_adc_max_prev],[L10]
 02AC                   .dbline 93
 02AC           ;      adc_max = ran_cnt = 0;
 02AC 550A00            mov [L8],0
 02AF 550E00            mov [L10+1],0
 02B2 550D00            mov [L10],0
 02B5                   .dbline 94
 02B5           ;   } 
 02B5 8028              xjmp L28
 02B7           L27:
 02B7                   .dbline 96
 02B7           ;     else       
 02B7           ;       if (hpf_data > adc_max)  adc_max = hpf_data;
 02B7 5100              mov A,[L6]
 02B9 3180              xor A,-128

⌨️ 快捷键说明

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