📄 system.lss
字号:
8d2: 62 e0 ldi r22, 0x02 ; 2
8d4: 83 e0 ldi r24, 0x03 ; 3
8d6: 69 d1 rcall .+722 ; 0xbaa <display_character_int>
display_character_int(3,3,character,18);
8d8: 22 e1 ldi r18, 0x12 ; 18
8da: 44 e7 ldi r20, 0x74 ; 116
8dc: 50 e0 ldi r21, 0x00 ; 0
8de: 63 e0 ldi r22, 0x03 ; 3
8e0: 86 2f mov r24, r22
8e2: 63 d1 rcall .+710 ; 0xbaa <display_character_int>
display_character_int(3,4,character,19);
8e4: 23 e1 ldi r18, 0x13 ; 19
8e6: 44 e7 ldi r20, 0x74 ; 116
8e8: 50 e0 ldi r21, 0x00 ; 0
8ea: 64 e0 ldi r22, 0x04 ; 4
8ec: 83 e0 ldi r24, 0x03 ; 3
8ee: 5d d1 rcall .+698 ; 0xbaa <display_character_int>
display_character_int(3,5,character,20);
8f0: 24 e1 ldi r18, 0x14 ; 20
8f2: 44 e7 ldi r20, 0x74 ; 116
8f4: 50 e0 ldi r21, 0x00 ; 0
8f6: 65 e0 ldi r22, 0x05 ; 5
8f8: 83 e0 ldi r24, 0x03 ; 3
8fa: 57 d1 rcall .+686 ; 0xbaa <display_character_int>
display_character_int(3,6,character,21);
8fc: 25 e1 ldi r18, 0x15 ; 21
8fe: 44 e7 ldi r20, 0x74 ; 116
900: 50 e0 ldi r21, 0x00 ; 0
902: 66 e0 ldi r22, 0x06 ; 6
904: 83 e0 ldi r24, 0x03 ; 3
906: 51 d1 rcall .+674 ; 0xbaa <display_character_int>
display_character_int(3,7,character,22);
908: 26 e1 ldi r18, 0x16 ; 22
90a: 44 e7 ldi r20, 0x74 ; 116
90c: 50 e0 ldi r21, 0x00 ; 0
90e: 67 e0 ldi r22, 0x07 ; 7
910: 83 e0 ldi r24, 0x03 ; 3
912: 4b d1 rcall .+662 ; 0xbaa <display_character_int>
display_character_int(3,8,character,23);
914: 27 e1 ldi r18, 0x17 ; 23
916: 44 e7 ldi r20, 0x74 ; 116
918: 50 e0 ldi r21, 0x00 ; 0
91a: 68 e0 ldi r22, 0x08 ; 8
91c: 83 e0 ldi r24, 0x03 ; 3
91e: 45 d1 rcall .+650 ; 0xbaa <display_character_int>
display_character_char(4,1,symbol,0);
920: 20 e0 ldi r18, 0x00 ; 0
922: 44 e3 ldi r20, 0x34 ; 52
924: 50 e0 ldi r21, 0x00 ; 0
926: 61 e0 ldi r22, 0x01 ; 1
928: 84 e0 ldi r24, 0x04 ; 4
92a: cc d1 rcall .+920 ; 0xcc4 <display_character_char>
display_character_char(4,2,symbol,0);
92c: 20 e0 ldi r18, 0x00 ; 0
92e: 44 e3 ldi r20, 0x34 ; 52
930: 50 e0 ldi r21, 0x00 ; 0
932: 62 e0 ldi r22, 0x02 ; 2
934: 84 e0 ldi r24, 0x04 ; 4
936: c6 d1 rcall .+908 ; 0xcc4 <display_character_char>
display_character_char(4,3,symbol,0);
938: 20 e0 ldi r18, 0x00 ; 0
93a: 44 e3 ldi r20, 0x34 ; 52
93c: 50 e0 ldi r21, 0x00 ; 0
93e: 63 e0 ldi r22, 0x03 ; 3
940: 84 e0 ldi r24, 0x04 ; 4
942: c0 d1 rcall .+896 ; 0xcc4 <display_character_char>
display_character_char(4,4,symbol,0);
944: 20 e0 ldi r18, 0x00 ; 0
946: 44 e3 ldi r20, 0x34 ; 52
948: 50 e0 ldi r21, 0x00 ; 0
94a: 64 e0 ldi r22, 0x04 ; 4
94c: 86 2f mov r24, r22
94e: ba d1 rcall .+884 ; 0xcc4 <display_character_char>
display_character_char(4,5,symbol,0);
950: 20 e0 ldi r18, 0x00 ; 0
952: 44 e3 ldi r20, 0x34 ; 52
954: 50 e0 ldi r21, 0x00 ; 0
956: 65 e0 ldi r22, 0x05 ; 5
958: 84 e0 ldi r24, 0x04 ; 4
95a: b4 d1 rcall .+872 ; 0xcc4 <display_character_char>
display_character_char(4,6,symbol,0);
95c: 20 e0 ldi r18, 0x00 ; 0
95e: 44 e3 ldi r20, 0x34 ; 52
960: 50 e0 ldi r21, 0x00 ; 0
962: 66 e0 ldi r22, 0x06 ; 6
964: 84 e0 ldi r24, 0x04 ; 4
966: ae d1 rcall .+860 ; 0xcc4 <display_character_char>
display_character_char(4,7,symbol,0);
968: 20 e0 ldi r18, 0x00 ; 0
96a: 44 e3 ldi r20, 0x34 ; 52
96c: 50 e0 ldi r21, 0x00 ; 0
96e: 67 e0 ldi r22, 0x07 ; 7
970: 84 e0 ldi r24, 0x04 ; 4
972: a8 d1 rcall .+848 ; 0xcc4 <display_character_char>
display_character_char(4,8,symbol,0);
974: 20 e0 ldi r18, 0x00 ; 0
976: 44 e3 ldi r20, 0x34 ; 52
978: 50 e0 ldi r21, 0x00 ; 0
97a: 68 e0 ldi r22, 0x08 ; 8
97c: 84 e0 ldi r24, 0x04 ; 4
97e: a2 d1 rcall .+836 ; 0xcc4 <display_character_char>
display_character_char(4,9,symbol,0);
980: 20 e0 ldi r18, 0x00 ; 0
982: 44 e3 ldi r20, 0x34 ; 52
984: 50 e0 ldi r21, 0x00 ; 0
986: 69 e0 ldi r22, 0x09 ; 9
988: 84 e0 ldi r24, 0x04 ; 4
98a: 9c d1 rcall .+824 ; 0xcc4 <display_character_char>
display_character_char(4,10,symbol,0);
98c: 20 e0 ldi r18, 0x00 ; 0
98e: 44 e3 ldi r20, 0x34 ; 52
990: 50 e0 ldi r21, 0x00 ; 0
992: 6a e0 ldi r22, 0x0A ; 10
994: 84 e0 ldi r24, 0x04 ; 4
996: 96 d1 rcall .+812 ; 0xcc4 <display_character_char>
display_character_char(4,11,symbol,0);
998: 20 e0 ldi r18, 0x00 ; 0
99a: 44 e3 ldi r20, 0x34 ; 52
99c: 50 e0 ldi r21, 0x00 ; 0
99e: 6b e0 ldi r22, 0x0B ; 11
9a0: 84 e0 ldi r24, 0x04 ; 4
9a2: 90 d1 rcall .+800 ; 0xcc4 <display_character_char>
display_character_char(4,12,symbol,0);
9a4: 20 e0 ldi r18, 0x00 ; 0
9a6: 44 e3 ldi r20, 0x34 ; 52
9a8: 50 e0 ldi r21, 0x00 ; 0
9aa: 6c e0 ldi r22, 0x0C ; 12
9ac: 84 e0 ldi r24, 0x04 ; 4
9ae: 8a d1 rcall .+788 ; 0xcc4 <display_character_char>
display_character_char(4,13,symbol,0);
9b0: 20 e0 ldi r18, 0x00 ; 0
9b2: 44 e3 ldi r20, 0x34 ; 52
9b4: 50 e0 ldi r21, 0x00 ; 0
9b6: 6d e0 ldi r22, 0x0D ; 13
9b8: 84 e0 ldi r24, 0x04 ; 4
9ba: 84 d1 rcall .+776 ; 0xcc4 <display_character_char>
display_character_char(4,14,symbol,0);
9bc: 20 e0 ldi r18, 0x00 ; 0
9be: 44 e3 ldi r20, 0x34 ; 52
9c0: 50 e0 ldi r21, 0x00 ; 0
9c2: 6e e0 ldi r22, 0x0E ; 14
9c4: 84 e0 ldi r24, 0x04 ; 4
9c6: 7e d1 rcall .+764 ; 0xcc4 <display_character_char>
display_character_char(4,15,symbol,0);
9c8: 20 e0 ldi r18, 0x00 ; 0
9ca: 44 e3 ldi r20, 0x34 ; 52
9cc: 50 e0 ldi r21, 0x00 ; 0
9ce: 6f e0 ldi r22, 0x0F ; 15
9d0: 84 e0 ldi r24, 0x04 ; 4
9d2: 78 d1 rcall .+752 ; 0xcc4 <display_character_char>
display_character_char(4,16,symbol,0);
9d4: 20 e0 ldi r18, 0x00 ; 0
9d6: 44 e3 ldi r20, 0x34 ; 52
9d8: 50 e0 ldi r21, 0x00 ; 0
9da: 60 e1 ldi r22, 0x10 ; 16
9dc: 84 e0 ldi r24, 0x04 ; 4
9de: 72 d1 rcall .+740 ; 0xcc4 <display_character_char>
9e0: 08 95 ret
000009e2 <display_low_power>:
}
/***********************************************************************/
void display_low_power(void)
{
9e2: 0f 93 push r16
9e4: 1f 93 push r17
display_character_char(4,16,symbol,2);
9e6: 22 e0 ldi r18, 0x02 ; 2
9e8: 44 e3 ldi r20, 0x34 ; 52
9ea: 50 e0 ldi r21, 0x00 ; 0
9ec: 60 e1 ldi r22, 0x10 ; 16
9ee: 84 e0 ldi r24, 0x04 ; 4
9f0: 69 d1 rcall .+722 ; 0xcc4 <display_character_char>
double __tmp = ((F_CPU) / 4e3) * __ms;
if (__tmp < 1.0)
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0; /* i.e. 65536 */
9f2: 00 e0 ldi r16, 0x00 ; 0
9f4: 10 e0 ldi r17, 0x00 ; 0
9f6: c8 01 movw r24, r16
9f8: 01 97 sbiw r24, 0x01 ; 1
9fa: f1 f7 brne .-4 ; 0x9f8 <display_low_power+0x16>
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
display_character_char(4,16,symbol,3);
9fc: c8 01 movw r24, r16
9fe: 01 97 sbiw r24, 0x01 ; 1
a00: f1 f7 brne .-4 ; 0x9fe <display_low_power+0x1c>
a02: c8 01 movw r24, r16
a04: 01 97 sbiw r24, 0x01 ; 1
a06: f1 f7 brne .-4 ; 0xa04 <display_low_power+0x22>
a08: c8 01 movw r24, r16
a0a: 01 97 sbiw r24, 0x01 ; 1
a0c: f1 f7 brne .-4 ; 0xa0a <display_low_power+0x28>
a0e: c8 01 movw r24, r16
a10: 01 97 sbiw r24, 0x01 ; 1
a12: f1 f7 brne .-4 ; 0xa10 <display_low_power+0x2e>
a14: 23 e0 ldi r18, 0x03 ; 3
a16: 44 e3 ldi r20, 0x34 ; 52
a18: 50 e0 ldi r21, 0x00 ; 0
a1a: 60 e1 ldi r22, 0x10 ; 16
a1c: 84 e0 ldi r24, 0x04 ; 4
a1e: 52 d1 rcall .+676 ; 0xcc4 <display_character_char>
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
a20: c8 01 movw r24, r16
a22: 01 97 sbiw r24, 0x01 ; 1
a24: f1 f7 brne .-4 ; 0xa22 <display_low_power+0x40>
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
}
/***********************************************************************/
unsigned int main(void)
{
a26: c8 01 movw r24, r16
a28: 01 97 sbiw r24, 0x01 ; 1
a2a: f1 f7 brne .-4 ; 0xa28 <display_low_power+0x46>
a2c: c8 01 movw r24, r16
a2e: 01 97 sbiw r24, 0x01 ; 1
a30: f1 f7 brne .-4 ; 0xa2e <display_low_power+0x4c>
a32: c8 01 movw r24, r16
a34: 01 97 sbiw r24, 0x01 ; 1
a36: f1 f7 brne .-4 ; 0xa34 <display_low_power+0x52>
a38: c8 01 movw r24, r16
a3a: 01 97 sbiw r24, 0x01 ; 1
a3c: f1 f7 brne .-4 ; 0xa3a <display_low_power+0x58>
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
a3e: 1f 91 pop r17
a40: 0f 91 pop r16
a42: 08 95 ret
00000a44 <main>:
a44: cf ef ldi r28, 0xFF ; 255
a46: d2 e0 ldi r29, 0x02 ; 2
a48: de bf out 0x3e, r29 ; 62
a4a: cd bf out 0x3d, r28 ; 61
unsigned char buffer;
// init_cpu();
// init_lcd();
sei();
a4c: 78 94 sei
// open_adc(1);
init_usart();
a4e: 1f d2 rcall .+1086 ; 0xe8e <init_usart>
while(1)
{
buffer = UCSR0A;
a50: 80 91 c0 00 lds r24, 0x00C0
if(buffer & 0x20)send_com(0x55);
a54: 85 ff sbrs r24, 5
a56: fc cf rjmp .-8 ; 0xa50 <main+0xc>
a58: 85 e5 ldi r24, 0x55 ; 85
a5a: 54 d2 rcall .+1192 ; 0xf04 <send_com>
a5c: f9 cf rjmp .-14 ; 0xa50 <main+0xc>
00000a5e <set_data_port_output>:
#define data_pin PIND
/*******************************************/
void set_data_port_output()
{
data_direction = 0xff;
a5e: 8f ef ldi r24, 0xFF ; 255
a60: 8a b9 out 0x0a, r24 ; 10
a62: 08 95 ret
00000a64 <set_data_port_input>:
}
/*******************************************/
void set_data_port_input()
{
data_direction = 0x00;
a64: 1a b8 out 0x0a, r1 ; 10
a66: 08 95 ret
00000a68 <write_left_command>:
}
/*******************************************/
//左半屏写命令
unsigned char write_left_command(unsigned char cmd)
{
a68: 1f 93 push r17
a6a: 18 2f mov r17, r24
unsigned char Buffer = 0;
set_data_port_input();
a6c: fb df rcall .-10 ; 0xa64 <set_data_port_input>
left_display_enable();//使能左半屏
a6e: 28 9a sbi 0x05, 0 ; 5
right_display_disable();//禁用右半屏
a70: 45 98 cbi 0x08, 5 ; 8
set_reg_data_operation();//设置为寄存器操作
a72: 42 98 cbi 0x08, 2 ; 8
set_read();//设置为读
a74: 2e 9a sbi 0x05, 6 ; 5
while((Buffer&0x80)!=0)
{
set_enable_high();
Buffer = data_pin;
set_enable_low();
}
set_data_port_output();
a76: f3 df rcall .-26 ; 0xa5e <set_data_port_output>
set_write();
a78: 2e 98 cbi 0x05, 6 ; 5
data_port = cmd;
a7a: 1b b9 out 0x0b, r17 ; 11
set_enable_high();
a7c: 2f 9a sbi 0x05, 7 ; 5
set_enable_low();
a7e: 2f 98 cbi 0x05, 7 ; 5
return 1;
}
a80: 81 e0 ldi r24, 0x01 ; 1
a82: 90 e0 ldi r25, 0x00 ; 0
a84: 1f 91 pop r17
a86: 08 95 ret
00000a88 <write_right_command>:
/*******************************************/
//左半屏写命令
unsigned char write_right_command(unsigned char cmd)
{
a88: 1f 93 push r17
a8a: 18 2f mov r17, r24
unsigned char Buffer = 0;
set_data_port_input();
a8c: eb df rcall .-42 ; 0xa64 <set_data_port_input>
right_display_enable();//使能右半屏
a8e: 45 9a sbi 0x08, 5 ; 8
left_display_disable();//禁用左半屏
a90: 28 98 cbi 0x05, 0 ; 5
set_reg_data_operation();//设置为寄存器操作
a92: 42 98 cbi 0x08, 2 ; 8
set_read();//设置为读
a94: 2e 9a sbi 0x05, 6 ; 5
while((Buffer&0x80)!=0)
{
set_enable_high();
Buffer = data_pin;
set_enable_low();
}
set_data_port_output();
a96: e3 df rcall .-58 ; 0xa5e <set_data_port_output>
set_write();
a98: 2e 98 cbi 0x05, 6 ; 5
data_port = cmd;
a9a: 1b b9 out 0x0b, r17 ; 11
set_enable_high();
a9c: 2f 9a sbi 0x05, 7 ; 5
set_enable_low();
a9e: 2f 98 cbi 0x05, 7 ; 5
return 1;
}
aa0: 81 e0 ldi r24, 0x01 ; 1
aa2: 90 e0 ldi r25, 0x00 ; 0
aa4: 1f 91 pop r17
aa6: 08 95 ret
00000aa8 <write_left_data>:
/*******************************************/
unsigned char write_left_data(unsigned int Data)
{
aa8: 0f 93 push r16
aaa: 1f 93 push r17
aac: 8c 01 movw r16, r24
unsigned char Buffer = 0;
set_data_port_input();
aae: da df rcall .-76 ; 0xa64 <set_data_port_input>
left_display_enable();//使能左半屏
ab0: 28 9a sbi 0x05, 0 ; 5
right_display_disable();//禁用右半屏
ab2: 45 98 cbi 0x08, 5 ; 8
set_reg_data_operation();//设置为寄存器操作
ab4: 42 98 cbi 0x08, 2 ; 8
set_read();//设置为读
ab6: 2e 9a sbi 0x05, 6 ; 5
while((Buffer&0x80)!=0)
{
set_enable_high();
Buffer = data_pin;
set_enable_low();
}
set_data_port_output();
ab8: d2 df rcall .-92 ; 0xa5e <set_data_port_output>
set_display_data_operation();//设置为显示数据操作
aba: 42 9a sbi 0x08, 2 ; 8
set_write();
abc: 2e 98 cbi 0x05, 6 ; 5
data_port = Data;
abe: 0b b9 out 0x0b, r16 ; 11
set_enable_high();
ac0: 2f 9a sbi 0x05, 7 ; 5
set_enable_low();
ac2: 2f 98 cbi 0x05, 7 ; 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -