📄 sine_resister.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 + -