📄 main.lss
字号:
9f2: 8a 83 std Y+2, r24 ; 0x02
result=result_h;
9f4: 8a 81 ldd r24, Y+2 ; 0x02
9f6: 99 27 eor r25, r25
9f8: 8b 83 std Y+3, r24 ; 0x03
9fa: 9c 83 std Y+4, r25 ; 0x04
result=result<<4;
9fc: 8b 81 ldd r24, Y+3 ; 0x03
9fe: 9c 81 ldd r25, Y+4 ; 0x04
a00: 82 95 swap r24
a02: 92 95 swap r25
a04: 90 7f andi r25, 0xF0 ; 240
a06: 98 27 eor r25, r24
a08: 80 7f andi r24, 0xF0 ; 240
a0a: 98 27 eor r25, r24
a0c: 8b 83 std Y+3, r24 ; 0x03
a0e: 9c 83 std Y+4, r25 ; 0x04
result|=result_l;
a10: 89 81 ldd r24, Y+1 ; 0x01
a12: 28 2f mov r18, r24
a14: 33 27 eor r19, r19
a16: 8b 81 ldd r24, Y+3 ; 0x03
a18: 9c 81 ldd r25, Y+4 ; 0x04
a1a: 82 2b or r24, r18
a1c: 93 2b or r25, r19
a1e: 8b 83 std Y+3, r24 ; 0x03
a20: 9c 83 std Y+4, r25 ; 0x04
sbi(PORTG,1);//读拉高
a22: 80 91 65 00 lds r24, 0x0065
a26: 82 60 ori r24, 0x02 ; 2
a28: 80 93 65 00 sts 0x0065, r24
return result;
a2c: 8b 81 ldd r24, Y+3 ; 0x03
a2e: 9c 81 ldd r25, Y+4 ; 0x04
}
a30: 24 96 adiw r28, 0x04 ; 4
a32: 0f b6 in r0, 0x3f ; 63
a34: f8 94 cli
a36: de bf out 0x3e, r29 ; 62
a38: 0f be out 0x3f, r0 ; 63
a3a: cd bf out 0x3d, r28 ; 61
a3c: df 91 pop r29
a3e: cf 91 pop r28
a40: 08 95 ret
00000a42 <AD7891_CHANNEL_SELECT>:
//AD通道选择,index:1~8
void AD7891_CHANNEL_SELECT(uint16_t index)
{
a42: cf 93 push r28
a44: df 93 push r29
a46: cd b7 in r28, 0x3d ; 61
a48: de b7 in r29, 0x3e ; 62
a4a: 22 97 sbiw r28, 0x02 ; 2
a4c: 0f b6 in r0, 0x3f ; 63
a4e: f8 94 cli
a50: de bf out 0x3e, r29 ; 62
a52: 0f be out 0x3f, r0 ; 63
a54: cd bf out 0x3d, r28 ; 61
a56: 89 83 std Y+1, r24 ; 0x01
a58: 9a 83 std Y+2, r25 ; 0x02
index--;//0~7
a5a: 89 81 ldd r24, Y+1 ; 0x01
a5c: 9a 81 ldd r25, Y+2 ; 0x02
a5e: 01 97 sbiw r24, 0x01 ; 1
a60: 89 83 std Y+1, r24 ; 0x01
a62: 9a 83 std Y+2, r25 ; 0x02
index=(index<<3);
a64: 89 81 ldd r24, Y+1 ; 0x01
a66: 9a 81 ldd r25, Y+2 ; 0x02
a68: 88 0f add r24, r24
a6a: 99 1f adc r25, r25
a6c: 88 0f add r24, r24
a6e: 99 1f adc r25, r25
a70: 88 0f add r24, r24
a72: 99 1f adc r25, r25
a74: 89 83 std Y+1, r24 ; 0x01
a76: 9a 83 std Y+2, r25 ; 0x02
index&=0x38;//00111000,保留A2、A1、A0,将其它位屏蔽
a78: 89 81 ldd r24, Y+1 ; 0x01
a7a: 9a 81 ldd r25, Y+2 ; 0x02
a7c: 88 73 andi r24, 0x38 ; 56
a7e: 90 70 andi r25, 0x00 ; 0
a80: 89 83 std Y+1, r24 ; 0x01
a82: 9a 83 std Y+2, r25 ; 0x02
AD7891_WRITE(index);
a84: 89 81 ldd r24, Y+1 ; 0x01
a86: 9a 81 ldd r25, Y+2 ; 0x02
a88: 0e 94 78 04 call 0x8f0
}
a8c: 22 96 adiw r28, 0x02 ; 2
a8e: 0f b6 in r0, 0x3f ; 63
a90: f8 94 cli
a92: de bf out 0x3e, r29 ; 62
a94: 0f be out 0x3f, r0 ; 63
a96: cd bf out 0x3d, r28 ; 61
a98: df 91 pop r29
a9a: cf 91 pop r28
a9c: 08 95 ret
00000a9e <AD7891_CONVERSION_START>:
//AD转换开始
void AD7891_CONVERSION_START(void)
{
a9e: cf 93 push r28
aa0: df 93 push r29
aa2: cd b7 in r28, 0x3d ; 61
aa4: de b7 in r29, 0x3e ; 62
cbi(PORTB,2);//拉低CONVST
aa6: 80 91 38 00 lds r24, 0x0038
aaa: 8b 7f andi r24, 0xFB ; 251
aac: 80 93 38 00 sts 0x0038, r24
delay_ms();
ab0: 0e 94 39 03 call 0x672
sbi(PORTB,2);//拉高CONVST,启动AD转换
ab4: 80 91 38 00 lds r24, 0x0038
ab8: 84 60 ori r24, 0x04 ; 4
aba: 80 93 38 00 sts 0x0038, r24
}
abe: df 91 pop r29
ac0: cf 91 pop r28
ac2: 08 95 ret
00000ac4 <UART_SETTING>:
//串口初始化设置,包括设置波特率、8位数据+1位STOP位、多机通讯模式设置
void UART_SETTING(int baud_rate, long fosc)
{
ac4: ef 92 push r14
ac6: ff 92 push r15
ac8: 0f 93 push r16
aca: 1f 93 push r17
acc: cf 93 push r28
ace: df 93 push r29
ad0: cd b7 in r28, 0x3d ; 61
ad2: de b7 in r29, 0x3e ; 62
ad4: 66 97 sbiw r28, 0x16 ; 22
ad6: 0f b6 in r0, 0x3f ; 63
ad8: f8 94 cli
ada: de bf out 0x3e, r29 ; 62
adc: 0f be out 0x3f, r0 ; 63
ade: cd bf out 0x3d, r28 ; 61
ae0: 89 83 std Y+1, r24 ; 0x01
ae2: 9a 83 std Y+2, r25 ; 0x02
ae4: 4b 83 std Y+3, r20 ; 0x03
ae6: 5c 83 std Y+4, r21 ; 0x04
ae8: 6d 83 std Y+5, r22 ; 0x05
aea: 7e 83 std Y+6, r23 ; 0x06
UBRR0L=(fosc/16/(baud_rate+1))%256;//设置波特率
aec: 8b 81 ldd r24, Y+3 ; 0x03
aee: 9c 81 ldd r25, Y+4 ; 0x04
af0: ad 81 ldd r26, Y+5 ; 0x05
af2: be 81 ldd r27, Y+6 ; 0x06
af4: 8f 83 std Y+7, r24 ; 0x07
af6: 98 87 std Y+8, r25 ; 0x08
af8: a9 87 std Y+9, r26 ; 0x09
afa: ba 87 std Y+10, r27 ; 0x0a
afc: 2f 81 ldd r18, Y+7 ; 0x07
afe: 38 85 ldd r19, Y+8 ; 0x08
b00: 49 85 ldd r20, Y+9 ; 0x09
b02: 5a 85 ldd r21, Y+10 ; 0x0a
b04: 55 23 and r21, r21
b06: 5c f4 brge .+22 ; 0xb1e
b08: 8f 81 ldd r24, Y+7 ; 0x07
b0a: 98 85 ldd r25, Y+8 ; 0x08
b0c: a9 85 ldd r26, Y+9 ; 0x09
b0e: ba 85 ldd r27, Y+10 ; 0x0a
b10: 0f 96 adiw r24, 0x0f ; 15
b12: a1 1d adc r26, r1
b14: b1 1d adc r27, r1
b16: 8f 83 std Y+7, r24 ; 0x07
b18: 98 87 std Y+8, r25 ; 0x08
b1a: a9 87 std Y+9, r26 ; 0x09
b1c: ba 87 std Y+10, r27 ; 0x0a
b1e: ef 80 ldd r14, Y+7 ; 0x07
b20: f8 84 ldd r15, Y+8 ; 0x08
b22: 09 85 ldd r16, Y+9 ; 0x09
b24: 1a 85 ldd r17, Y+10 ; 0x0a
b26: 68 94 set
b28: 13 f8 bld r1, 3
b2a: 15 95 asr r17
b2c: 07 95 ror r16
b2e: f7 94 ror r15
b30: e7 94 ror r14
b32: 16 94 lsr r1
b34: d1 f7 brne .-12 ; 0xb2a
b36: 89 81 ldd r24, Y+1 ; 0x01
b38: 9a 81 ldd r25, Y+2 ; 0x02
b3a: 01 96 adiw r24, 0x01 ; 1
b3c: 9c 01 movw r18, r24
b3e: 44 27 eor r20, r20
b40: 37 fd sbrc r19, 7
b42: 40 95 com r20
b44: 54 2f mov r21, r20
b46: c8 01 movw r24, r16
b48: b7 01 movw r22, r14
b4a: 0e 94 d9 08 call 0x11b2
b4e: 2b 87 std Y+11, r18 ; 0x0b
b50: 3c 87 std Y+12, r19 ; 0x0c
b52: 4d 87 std Y+13, r20 ; 0x0d
b54: 5e 87 std Y+14, r21 ; 0x0e
b56: 2b 85 ldd r18, Y+11 ; 0x0b
b58: 3c 85 ldd r19, Y+12 ; 0x0c
b5a: 4d 85 ldd r20, Y+13 ; 0x0d
b5c: 5e 85 ldd r21, Y+14 ; 0x0e
b5e: 2f 87 std Y+15, r18 ; 0x0f
b60: 38 8b std Y+16, r19 ; 0x10
b62: 49 8b std Y+17, r20 ; 0x11
b64: 5a 8b std Y+18, r21 ; 0x12
b66: 8f 85 ldd r24, Y+15 ; 0x0f
b68: 98 89 ldd r25, Y+16 ; 0x10
b6a: a9 89 ldd r26, Y+17 ; 0x11
b6c: ba 89 ldd r27, Y+18 ; 0x12
b6e: bb 23 and r27, r27
b70: 64 f4 brge .+24 ; 0xb8a
b72: 2f 85 ldd r18, Y+15 ; 0x0f
b74: 38 89 ldd r19, Y+16 ; 0x10
b76: 49 89 ldd r20, Y+17 ; 0x11
b78: 5a 89 ldd r21, Y+18 ; 0x12
b7a: 21 50 subi r18, 0x01 ; 1
b7c: 3f 4f sbci r19, 0xFF ; 255
b7e: 4f 4f sbci r20, 0xFF ; 255
b80: 5f 4f sbci r21, 0xFF ; 255
b82: 2f 87 std Y+15, r18 ; 0x0f
b84: 38 8b std Y+16, r19 ; 0x10
b86: 49 8b std Y+17, r20 ; 0x11
b88: 5a 8b std Y+18, r21 ; 0x12
b8a: 2f 85 ldd r18, Y+15 ; 0x0f
b8c: 38 89 ldd r19, Y+16 ; 0x10
b8e: 49 89 ldd r20, Y+17 ; 0x11
b90: 5a 89 ldd r21, Y+18 ; 0x12
b92: bb 27 eor r27, r27
b94: 57 fd sbrc r21, 7
b96: ba 95 dec r27
b98: a5 2f mov r26, r21
b9a: 94 2f mov r25, r20
b9c: 83 2f mov r24, r19
b9e: 20 e0 ldi r18, 0x00 ; 0
ba0: 31 e0 ldi r19, 0x01 ; 1
ba2: 40 e0 ldi r20, 0x00 ; 0
ba4: 50 e0 ldi r21, 0x00 ; 0
ba6: bc 01 movw r22, r24
ba8: cd 01 movw r24, r26
baa: 0e 94 ba 08 call 0x1174
bae: dc 01 movw r26, r24
bb0: cb 01 movw r24, r22
bb2: 2b 85 ldd r18, Y+11 ; 0x0b
bb4: 3c 85 ldd r19, Y+12 ; 0x0c
bb6: 4d 85 ldd r20, Y+13 ; 0x0d
bb8: 5e 85 ldd r21, Y+14 ; 0x0e
bba: 28 1b sub r18, r24
bbc: 39 0b sbc r19, r25
bbe: 4a 0b sbc r20, r26
bc0: 5b 0b sbc r21, r27
bc2: da 01 movw r26, r20
bc4: c9 01 movw r24, r18
bc6: 80 93 29 00 sts 0x0029, r24
UBRR0H=(fosc/16/(baud_rate+1))/256;
bca: 8b 81 ldd r24, Y+3 ; 0x03
bcc: 9c 81 ldd r25, Y+4 ; 0x04
bce: ad 81 ldd r26, Y+5 ; 0x05
bd0: be 81 ldd r27, Y+6 ; 0x06
bd2: 8b 8b std Y+19, r24 ; 0x13
bd4: 9c 8b std Y+20, r25 ; 0x14
bd6: ad 8b std Y+21, r26 ; 0x15
bd8: be 8b std Y+22, r27 ; 0x16
bda: 8b 89 ldd r24, Y+19 ; 0x13
bdc: 9c 89 ldd r25, Y+20 ; 0x14
bde: ad 89 ldd r26, Y+21 ; 0x15
be0: be 89 ldd r27, Y+22 ; 0x16
be2: bb 23 and r27, r27
be4: 64 f4 brge .+24 ; 0xbfe
be6: 2b 89 ldd r18, Y+19 ; 0x13
be8: 3c 89 ldd r19, Y+20 ; 0x14
bea: 4d 89 ldd r20, Y+21 ; 0x15
bec: 5e 89 ldd r21, Y+22 ; 0x16
bee: 21 50 subi r18, 0x01 ; 1
bf0: 30 4f sbci r19, 0xF0 ; 240
bf2: 4f 4f sbci r20, 0xFF ; 255
bf4: 5f 4f sbci r21, 0xFF ; 255
bf6: 2b 8b std Y+19, r18 ; 0x13
bf8: 3c 8b std Y+20, r19 ; 0x14
bfa: 4d 8b std Y+21, r20 ; 0x15
bfc: 5e 8b std Y+22, r21 ; 0x16
bfe: eb 88 ldd r14, Y+19 ; 0x13
c00: fc 88 ldd r15, Y+20 ; 0x14
c02: 0d 89 ldd r16, Y+21 ; 0x15
c04: 1e 89 ldd r17, Y+22 ; 0x16
c06: 0d 2e mov r0, r29
c08: dc e0 ldi r29, 0x0C ; 12
c0a: 15 95 asr r17
c0c: 07 95 ror r16
c0e: f7 94 ror r15
c10: e7 94 ror r14
c12: da 95 dec r29
c14: d1 f7 brne .-12 ; 0xc0a
c16: d0 2d mov r29, r0
c18: 89 81 ldd r24, Y+1 ; 0x01
c1a: 9a 81 ldd r25, Y+2 ; 0x02
c1c: 01 96 adiw r24, 0x01 ; 1
c1e: 9c 01 movw r18, r24
c20: 44 27 eor r20, r20
c22: 37 fd sbrc r19, 7
c24: 40 95 com r20
c26: 54 2f mov r21, r20
c28: c8 01 movw r24, r16
c2a: b7 01 movw r22, r14
c2c: 0e 94 d9 08 call 0x11b2
c30: da 01 movw r26, r20
c32: c9 01 movw r24, r18
c34: 80 93 90 00 sts 0x0090, r24
UCSR0A|=(1<<MPCM0);//多机通讯模式
c38: 80 91 2b 00 lds r24, 0x002B
c3c: 81 60 ori r24, 0x01 ; 1
c3e: 80 93 2b 00 sts 0x002B, r24
// UCSR0B|=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//允许发送和接收,并允许接收中断
UCSR0C|=(1<<UCSZ01)|(1<<UCSZ00);//9位数据+1位STOP位,从机
c42: 80 91 95 00 lds r24, 0x0095
c46: 86 60 ori r24, 0x06 ; 6
c48: 80 93 95 00 sts 0x0095, r24
UCSR0B|=(1<<UCSZ02);
c4c: 80 91 2a 00 lds r24, 0x002A
c50: 84 60 ori r24, 0x04 ; 4
c52: 80 93 2a 00 sts 0x002A, r24
}
c56: 66 96 adiw r28, 0x16 ; 22
c58: 0f b6 in r0, 0x3f ; 63
c5a: f8 94 cli
c5c: de bf out 0x3e, r29 ; 62
c5e: 0f be out 0x3f, r0 ; 63
c60: cd bf out 0x3d, r28 ; 61
c62: df 91 pop r29
c64: cf 91 pop r28
c66: 1f 91 pop r17
c68: 0f 91 pop r16
c6a: ff 90 pop r15
c6c: ef 90 pop r14
c6e: 08 95 ret
00000c70 <UART_RXCINT_OPEN>:
//开串口接收中断
void UART_RXCINT_OPEN(void)
{
c70: cf 93 push r28
c72: df 93 push r29
c74: cd b7 in r28, 0x3d ; 61
c76: de b7 in r29, 0x3e ; 62
UCSR0B|=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//允许发送和接收,并允许接收中断
c78: 80 91 2a 00 lds r24, 0x002A
c7c: 88 69 ori r24, 0x98 ; 152
c7e: 80 93 2a 00 sts 0x002A, r24
}
c82: df 91 pop r29
c84: cf 91 pop r28
c86: 08 95
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -