📄 sine_resister.s
字号:
.module sine_resister.C
.area vector(rom, abs)
.org 12
rjmp _timer1_ovf_isr
.org 18
rjmp _uart0_rx_isr
.org 22
rjmp _uart0_tx_isr
.org 24
rjmp _ana_comp_isr
.area text(rom, con, rel)
.dbfile E:\任务\RASS\rass_soft\sine_resister.C
.dbfunc e ml2035 _ml2035 fV
; i -> R20
; mod -> R18,R19
; data -> R16,R17
.even
_ml2035::
rcall push_gset1
.dbline -1
.dbline 4
; #include "config.h"
;
; void ml2035(unsigned int data,unsigned mod)
; {
.dbline 7
; unsigned char i;
; //CLI();
; PORTA &= ~(1<<sck);
cbi 0x1b,0
.dbline 8
; PORTA &= ~(1<<lati);
cbi 0x1b,2
.dbline 9
; asm("NOP");
NOP
.dbline 10
; for (i=0;i<15;i++)
clr R20
rjmp L5
L2:
.dbline 11
; {
.dbline 12
; if (data & 1)
sbrs R16,0
rjmp L6
.dbline 13
; PORTA |= 1<<sid;
sbi 0x1b,1
rjmp L7
L6:
.dbline 15
; else
; PORTA &= ~(1<<sid);
cbi 0x1b,1
L7:
.dbline 16
sbi 0x1b,0
.dbline 17
NOP
.dbline 18
cbi 0x1b,0
.dbline 19
lsr R17
ror R16
.dbline 20
L3:
.dbline 10
inc R20
L5:
.dbline 10
cpi R20,15
brlo L2
.dbline 21
sbi 0x1b,0
.dbline 22
sbi 0x1b,2
.dbline 23
cbi 0x1b,0
.dbline 24
cpi R18,0
cpc R18,R19
breq L8
X0:
.dbline 25
cbi 0x1b,2
L8:
.dbline -2
L1:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r mod 18 i
.dbsym r data 16 i
.dbend
.dbfunc e ds1666 _ds1666 fV
; j -> R20,R21
; mod1 -> R20,R21
; num -> R22,R23
.even
_ds1666::
rcall push_gset2
movw R20,R18
movw R22,R16
.dbline -1
.dbline 32
; PORTA |= 1<<sck;
; asm("NOP");
; PORTA &= ~(1<<sck);
; data>>=1;
; }
; PORTA |= 1<<sck;
; PORTA |= 1<<lati;
; PORTA &= ~(1<<sck);
; if(mod)
; PORTA &= ~(1<<lati);
; }
;
;
;
;
; void ds1666(unsigned int num,unsigned int mod1)
; {
.dbline 34
; unsigned int j;
; CLI();
cli
.dbline 35
; PORTC &=~(1<<cs);
cbi 0x15,3
.dbline 36
; if(mod1==0)
cpi R20,0
cpc R20,R21
brne L11
X1:
.dbline 37
; PORTC &=~(1<<ud);
cbi 0x15,5
rjmp L12
L11:
.dbline 39
; else
; PORTC |=1<<ud;
sbi 0x15,5
L12:
.dbline 40
; for (j=0;j<num;j++)
clr R20
clr R21
rjmp L16
L13:
.dbline 41
.dbline 42
sbi 0x15,4
.dbline 43
ldi R16,1
rcall _delay_us
.dbline 44
cbi 0x15,4
.dbline 45
ldi R16,1
rcall _delay_us
.dbline 46
L14:
.dbline 40
subi R20,255 ; offset = 1
sbci R21,255
L16:
.dbline 40
cp R20,R22
cpc R21,R23
brlo L13
.dbline 47
; {
; PORTC |=1<<inc;
; delay_us(1);
; PORTC &=~(1<<inc);
; delay_us(1);
; }
; PORTC |=1<<cs;
sbi 0x15,3
.dbline 48
; PORTC |=1<<inc;
sbi 0x15,4
.dbline 49
; SEI();
sei
.dbline -2
L10:
rcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r j 20 i
.dbsym r mod1 20 i
.dbsym r num 22 i
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -