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

📄 sine_resister.lis

📁 国内某测温系统信号处理处理板的代码
💻 LIS
字号:
                        .module sine_resister.C
                        .area vector(rom, abs)
                        .org 12
 000C 00C0              rjmp _timer1_ovf_isr
                        .org 18
 0012 00C0              rjmp _uart0_rx_isr
                        .org 22
 0016 00C0              rjmp _uart0_tx_isr
                        .org 24
 0018 00C0              rjmp _ana_comp_isr
                        .area text(rom, con, rel)
 0000                   .dbfile E:\任务\RASS\rass_soft\sine_resister.C
 0000                   .dbfunc e ml2035 _ml2035 fV
 0000           ;              i -> R20
 0000           ;            mod -> R18,R19
 0000           ;           data -> R16,R17
                        .even
 0000           _ml2035::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 4
 0002           ; #include "config.h"
 0002           ; 
 0002           ; void ml2035(unsigned int data,unsigned mod)
 0002           ; {
 0002                   .dbline 7
 0002           ;       unsigned char i;
 0002           ;       //CLI();
 0002           ;       PORTA &= ~(1<<sck);
 0002 D898              cbi 0x1b,0
 0004                   .dbline 8
 0004           ;       PORTA &= ~(1<<lati);
 0004 DA98              cbi 0x1b,2
 0006                   .dbline 9
 0006           ;       asm("NOP");
 0006 0000              NOP
 0008                   .dbline 10
 0008           ;  for (i=0;i<15;i++)
 0008 4427              clr R20
 000A 0BC0              rjmp L5
 000C           L2:
 000C                   .dbline 11
 000C           ;  {
 000C                   .dbline 12
 000C           ;       if (data & 1)
 000C 00FF              sbrs R16,0
 000E 02C0              rjmp L6
 0010                   .dbline 13
 0010           ;               PORTA |= 1<<sid;
 0010 D99A              sbi 0x1b,1
 0012 01C0              rjmp L7
 0014           L6:
 0014                   .dbline 15
 0014           ;        else
 0014           ;               PORTA &= ~(1<<sid);
 0014 D998              cbi 0x1b,1
 0016           L7:
 0016                   .dbline 16
 0016 D89A              sbi 0x1b,0
 0018                   .dbline 17
 0018 0000              NOP
 001A                   .dbline 18
 001A D898              cbi 0x1b,0
 001C                   .dbline 19
 001C 1695              lsr R17
 001E 0795              ror R16
 0020                   .dbline 20
 0020           L3:
 0020                   .dbline 10
 0020 4395              inc R20
 0022           L5:
 0022                   .dbline 10
 0022 4F30              cpi R20,15
 0024 98F3              brlo L2
 0026                   .dbline 21
 0026 D89A              sbi 0x1b,0
 0028                   .dbline 22
 0028 DA9A              sbi 0x1b,2
 002A                   .dbline 23
 002A D898              cbi 0x1b,0
 002C                   .dbline 24
 002C 2030              cpi R18,0
 002E 2307              cpc R18,R19
 0030 09F0              breq L8
 0032           X0:
 0032                   .dbline 25
 0032 DA98              cbi 0x1b,2
 0034           L8:
 0034                   .dbline -2
 0034           L1:
 0034 00D0              rcall pop_gset1
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbsym r i 20 c
 0038                   .dbsym r mod 18 i
 0038                   .dbsym r data 16 i
 0038                   .dbend
 0038                   .dbfunc e ds1666 _ds1666 fV
 0038           ;              j -> R20,R21
 0038           ;           mod1 -> R20,R21
 0038           ;            num -> R22,R23
                        .even
 0038           _ds1666::
 0038 00D0              rcall push_gset2
 003A A901              movw R20,R18
 003C B801              movw R22,R16
 003E                   .dbline -1
 003E                   .dbline 32
 003E           ;       PORTA |= 1<<sck;
 003E           ;       asm("NOP");
 003E           ;       PORTA &= ~(1<<sck);
 003E           ;       data>>=1;
 003E           ;  }
 003E           ;       PORTA |= 1<<sck;
 003E           ;       PORTA |= 1<<lati;
 003E           ;       PORTA &= ~(1<<sck);
 003E           ;  if(mod)
 003E           ;       PORTA &= ~(1<<lati);
 003E           ; }                                               
 003E           ;       
 003E           ;         
 003E           ;         
 003E           ;         
 003E           ; void ds1666(unsigned int num,unsigned int mod1)
 003E           ; {
 003E                   .dbline 34
 003E           ;       unsigned int j;
 003E           ;       CLI();
 003E F894              cli
 0040                   .dbline 35
 0040           ;       PORTC &=~(1<<cs);
 0040 AB98              cbi 0x15,3
 0042                   .dbline 36
 0042           ;       if(mod1==0)
 0042 4030              cpi R20,0
 0044 4507              cpc R20,R21
 0046 11F4              brne L11
 0048           X1:
 0048                   .dbline 37
 0048           ;               PORTC &=~(1<<ud);
 0048 AD98              cbi 0x15,5
 004A 01C0              rjmp L12
 004C           L11:
 004C                   .dbline 39
 004C           ;       else
 004C           ;               PORTC |=1<<ud;
 004C AD9A              sbi 0x15,5
 004E           L12:
 004E                   .dbline 40
 004E           ;       for (j=0;j<num;j++)
 004E 4427              clr R20
 0050 5527              clr R21
 0052 08C0              rjmp L16
 0054           L13:
 0054                   .dbline 41
 0054                   .dbline 42
 0054 AC9A              sbi 0x15,4
 0056                   .dbline 43
 0056 01E0              ldi R16,1
 0058 00D0              rcall _delay_us
 005A                   .dbline 44
 005A AC98              cbi 0x15,4
 005C                   .dbline 45
 005C 01E0              ldi R16,1
 005E 00D0              rcall _delay_us
 0060                   .dbline 46
 0060           L14:
 0060                   .dbline 40
 0060 4F5F              subi R20,255  ; offset = 1
 0062 5F4F              sbci R21,255
 0064           L16:
 0064                   .dbline 40
 0064 4617              cp R20,R22
 0066 5707              cpc R21,R23
 0068 A8F3              brlo L13
 006A                   .dbline 47
 006A           ;       {
 006A           ;               PORTC |=1<<inc;
 006A           ;               delay_us(1);
 006A           ;               PORTC &=~(1<<inc);
 006A           ;               delay_us(1);
 006A           ;       }
 006A           ;       PORTC |=1<<cs;
 006A AB9A              sbi 0x15,3
 006C                   .dbline 48
 006C           ;       PORTC |=1<<inc;
 006C AC9A              sbi 0x15,4
 006E                   .dbline 49
 006E           ;       SEI();
 006E 7894              sei
 0070                   .dbline -2
 0070           L10:
 0070 00D0              rcall pop_gset2
 0072                   .dbline 0 ; func end
 0072 0895              ret
 0074                   .dbsym r j 20 i
 0074                   .dbsym r mod1 20 i
 0074                   .dbsym r num 22 i
 0074                   .dbend

⌨️ 快捷键说明

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