📄 system.lss
字号:
return 1;
}
ac4: 81 e0 ldi r24, 0x01 ; 1
ac6: 90 e0 ldi r25, 0x00 ; 0
ac8: 1f 91 pop r17
aca: 0f 91 pop r16
acc: 08 95 ret
00000ace <write_right_data>:
/*******************************************/
unsigned char write_right_data(unsigned int Data)
{
ace: 0f 93 push r16
ad0: 1f 93 push r17
ad2: 8c 01 movw r16, r24
unsigned char Buffer = 0;
set_data_port_input();
ad4: c7 df rcall .-114 ; 0xa64 <set_data_port_input>
right_display_enable();//使能右半屏
ad6: 45 9a sbi 0x08, 5 ; 8
left_display_disable();//使能左半屏
ad8: 28 98 cbi 0x05, 0 ; 5
set_reg_data_operation();//设置为寄存器操作
ada: 42 98 cbi 0x08, 2 ; 8
set_read();//设置为读
adc: 2e 9a sbi 0x05, 6 ; 5
while((Buffer&0x80)!=0)
{
set_enable_high();
Buffer = data_pin;
set_enable_low();
}
set_data_port_output();
ade: bf df rcall .-130 ; 0xa5e <set_data_port_output>
set_display_data_operation();//设置为显示数据操作
ae0: 42 9a sbi 0x08, 2 ; 8
set_write();
ae2: 2e 98 cbi 0x05, 6 ; 5
data_port = Data;
ae4: 0b b9 out 0x0b, r16 ; 11
set_enable_high();
ae6: 2f 9a sbi 0x05, 7 ; 5
set_enable_low();
ae8: 2f 98 cbi 0x05, 7 ; 5
return 1;
}
aea: 81 e0 ldi r24, 0x01 ; 1
aec: 90 e0 ldi r25, 0x00 ; 0
aee: 1f 91 pop r17
af0: 0f 91 pop r16
af2: 08 95 ret
00000af4 <display_image>:
/*******************************************/
void display_image(unsigned int *ptr)
{
af4: ef 92 push r14
af6: ff 92 push r15
af8: 0f 93 push r16
afa: 1f 93 push r17
afc: cf 93 push r28
afe: df 93 push r29
b00: ec 01 movw r28, r24
unsigned char loop;
unsigned char page_buffer;
write_left_command(0xc0);
b02: 80 ec ldi r24, 0xC0 ; 192
b04: b1 df rcall .-158 ; 0xa68 <write_left_command>
write_right_command(0xc0);//设置为第一行
b06: 80 ec ldi r24, 0xC0 ; 192
b08: bf df rcall .-130 ; 0xa88 <write_right_command>
for(page_buffer=0xb8;page_buffer<0xc0;page_buffer++)
b0a: 48 eb ldi r20, 0xB8 ; 184
b0c: e4 2e mov r14, r20
{
write_left_command(page_buffer);
b0e: 8e 2d mov r24, r14
b10: ab df rcall .-170 ; 0xa68 <write_left_command>
write_right_command(page_buffer);//设置为第一页
b12: 8e 2d mov r24, r14
b14: b9 df rcall .-142 ; 0xa88 <write_right_command>
b16: 3f e1 ldi r19, 0x1F ; 31
b18: f3 2e mov r15, r19
for(loop=0;loop<32;loop++)
{
write_left_data((unsigned char)pgm_read_word_near(ptr));
b1a: fe 01 movw r30, r28
b1c: 05 91 lpm r16, Z+
b1e: 14 91 lpm r17, Z
b20: 80 2f mov r24, r16
b22: 99 27 eor r25, r25
b24: c1 df rcall .-126 ; 0xaa8 <write_left_data>
write_left_data((unsigned char)(pgm_read_word_near(ptr)>>8));
b26: 81 2f mov r24, r17
b28: 99 27 eor r25, r25
b2a: 99 27 eor r25, r25
b2c: bd df rcall .-134 ; 0xaa8 <write_left_data>
ptr ++;
b2e: 22 96 adiw r28, 0x02 ; 2
b30: fa 94 dec r15
b32: f7 fe sbrs r15, 7
b34: f2 cf rjmp .-28 ; 0xb1a <display_image+0x26>
b36: 9f e1 ldi r25, 0x1F ; 31
b38: f9 2e mov r15, r25
}
for(loop=0;loop<32;loop++)
{
write_right_data((unsigned char)pgm_read_word_near(ptr));
b3a: fe 01 movw r30, r28
b3c: 05 91 lpm r16, Z+
b3e: 14 91 lpm r17, Z
b40: 80 2f mov r24, r16
b42: 99 27 eor r25, r25
b44: c4 df rcall .-120 ; 0xace <write_right_data>
write_right_data((unsigned char)(pgm_read_word_near(ptr)>>8));
b46: 81 2f mov r24, r17
b48: 99 27 eor r25, r25
b4a: 99 27 eor r25, r25
b4c: c0 df rcall .-128 ; 0xace <write_right_data>
ptr ++;
b4e: 22 96 adiw r28, 0x02 ; 2
b50: fa 94 dec r15
b52: f7 fe sbrs r15, 7
b54: f2 cf rjmp .-28 ; 0xb3a <display_image+0x46>
b56: e3 94 inc r14
b58: 8f eb ldi r24, 0xBF ; 191
b5a: 8e 15 cp r24, r14
b5c: c0 f6 brcc .-80 ; 0xb0e <display_image+0x1a>
b5e: df 91 pop r29
b60: cf 91 pop r28
b62: 1f 91 pop r17
b64: 0f 91 pop r16
b66: ff 90 pop r15
b68: ef 90 pop r14
b6a: 08 95 ret
00000b6c <clear_lcd>:
}
}
}
/*******************************************/
void clear_lcd(void)
{
b6c: 1f 93 push r17
b6e: cf 93 push r28
unsigned char loop = 0;
unsigned char page_buffer = 0;
write_left_command(0xc0);
b70: 80 ec ldi r24, 0xC0 ; 192
b72: 7a df rcall .-268 ; 0xa68 <write_left_command>
write_right_command(0xc0);//设置为第一行
b74: 80 ec ldi r24, 0xC0 ; 192
b76: 88 df rcall .-240 ; 0xa88 <write_right_command>
for(page_buffer=0xb8;page_buffer<=0xc0;page_buffer++)
b78: 18 eb ldi r17, 0xB8 ; 184
{
write_left_command(page_buffer);
b7a: 81 2f mov r24, r17
b7c: 75 df rcall .-278 ; 0xa68 <write_left_command>
write_right_command(page_buffer);//设置为第一页
b7e: 81 2f mov r24, r17
b80: 83 df rcall .-250 ; 0xa88 <write_right_command>
b82: cf e3 ldi r28, 0x3F ; 63
for(loop=0;loop<64;loop++)
{
write_left_data(0x00);
b84: 80 e0 ldi r24, 0x00 ; 0
b86: 90 e0 ldi r25, 0x00 ; 0
b88: 8f df rcall .-226 ; 0xaa8 <write_left_data>
b8a: c1 50 subi r28, 0x01 ; 1
b8c: c7 ff sbrs r28, 7
b8e: fa cf rjmp .-12 ; 0xb84 <clear_lcd+0x18>
b90: cf e3 ldi r28, 0x3F ; 63
}
for(loop=0;loop<64;loop++)
{
write_right_data(0x00);
b92: 80 e0 ldi r24, 0x00 ; 0
b94: 90 e0 ldi r25, 0x00 ; 0
b96: 9b df rcall .-202 ; 0xace <write_right_data>
b98: c1 50 subi r28, 0x01 ; 1
b9a: c7 ff sbrs r28, 7
b9c: fa cf rjmp .-12 ; 0xb92 <clear_lcd+0x26>
b9e: 1f 5f subi r17, 0xFF ; 255
ba0: 11 3c cpi r17, 0xC1 ; 193
ba2: 58 f3 brcs .-42 ; 0xb7a <clear_lcd+0xe>
ba4: cf 91 pop r28
ba6: 1f 91 pop r17
ba8: 08 95 ret
00000baa <display_character_int>:
}
}
}
/*******************************************/
u8_t display_character_int(u8_t line,u8_t tier,u16_t *ptr,u8_t choice)
{
baa: bf 92 push r11
bac: cf 92 push r12
bae: df 92 push r13
bb0: ef 92 push r14
bb2: ff 92 push r15
bb4: 0f 93 push r16
bb6: 1f 93 push r17
bb8: cf 93 push r28
bba: df 93 push r29
bbc: f8 2e mov r15, r24
bbe: ea 01 movw r28, r20
bc0: 82 2f mov r24, r18
u8_t loop1,loop2;
ptr = ptr+choice*16;
bc2: 99 27 eor r25, r25
bc4: b5 e0 ldi r27, 0x05 ; 5
bc6: 88 0f add r24, r24
bc8: 99 1f adc r25, r25
bca: ba 95 dec r27
bcc: e1 f7 brne .-8 ; 0xbc6 <display_character_int+0x1c>
bce: c8 0f add r28, r24
bd0: d9 1f adc r29, r25
if((line>4)||(line==0))return 1;
bd2: 8f 2d mov r24, r15
bd4: 81 50 subi r24, 0x01 ; 1
bd6: 84 30 cpi r24, 0x04 ; 4
bd8: 28 f4 brcc .+10 ; 0xbe4 <display_character_int+0x3a>
if((tier>8)||(tier==0))return 1;
bda: b6 2e mov r11, r22
bdc: ba 94 dec r11
bde: 87 e0 ldi r24, 0x07 ; 7
be0: 8b 15 cp r24, r11
be2: 18 f4 brcc .+6 ; 0xbea <display_character_int+0x40>
be4: 81 e0 ldi r24, 0x01 ; 1
be6: 90 e0 ldi r25, 0x00 ; 0
be8: 63 c0 rjmp .+198 ; 0xcb0 <display_character_int+0x106>
if(line==1)
bea: 81 e0 ldi r24, 0x01 ; 1
bec: f8 16 cp r15, r24
bee: 11 f4 brne .+4 ; 0xbf4 <display_character_int+0x4a>
{
line = 0;
bf0: ff 24 eor r15, r15
bf2: 03 c0 rjmp .+6 ; 0xbfa <display_character_int+0x50>
}
else
{
line = line * 2 - 2;
bf4: ff 0c add r15, r15
bf6: 8e ef ldi r24, 0xFE ; 254
bf8: f8 0e add r15, r24
}
tier = tier - 1;
bfa: db 2c mov r13, r11
if(tier<4)
bfc: 83 e0 ldi r24, 0x03 ; 3
bfe: 8b 15 cp r24, r11
c00: 50 f1 brcs .+84 ; 0xc56 <display_character_int+0xac>
{
for(loop1=0;loop1<2;loop1++)
c02: cc 24 eor r12, r12
{
write_left_command(0x40|(tier*16));//设置列
c04: 8b 2d mov r24, r11
c06: 99 27 eor r25, r25
c08: a4 e0 ldi r26, 0x04 ; 4
c0a: 88 0f add r24, r24
c0c: 99 1f adc r25, r25
c0e: aa 95 dec r26
c10: e1 f7 brne .-8 ; 0xc0a <display_character_int+0x60>
c12: 08 2f mov r16, r24
c14: 00 64 ori r16, 0x40 ; 64
c16: 80 2f mov r24, r16
c18: 27 df rcall .-434 ; 0xa68 <write_left_command>
write_left_command(0xb8|line);
c1a: 1f 2d mov r17, r15
c1c: 18 6b ori r17, 0xB8 ; 184
c1e: 81 2f mov r24, r17
c20: 23 df rcall .-442 ; 0xa68 <write_left_command>
write_right_command(0x40|(tier*16));//设置列
c22: 80 2f mov r24, r16
c24: 31 df rcall .-414 ; 0xa88 <write_right_command>
write_right_command(0xb8|line);
c26: 81 2f mov r24, r17
c28: 2f df rcall .-418 ; 0xa88 <write_right_command>
c2a: f7 e0 ldi r31, 0x07 ; 7
c2c: ef 2e mov r14, r31
for(loop2=0;loop2<8;loop2++)
{
write_left_data((unsigned char)pgm_read_word_near(ptr));
c2e: fe 01 movw r30, r28
c30: 05 91 lpm r16, Z+
c32: 14 91 lpm r17, Z
c34: 80 2f mov r24, r16
c36: 99 27 eor r25, r25
c38: 37 df rcall .-402 ; 0xaa8 <write_left_data>
write_left_data((unsigned char)(pgm_read_word_near(ptr)>>8));
c3a: 81 2f mov r24, r17
c3c: 99 27 eor r25, r25
c3e: 99 27 eor r25, r25
c40: 33 df rcall .-410 ; 0xaa8 <write_left_data>
ptr++;
c42: 22 96 adiw r28, 0x02 ; 2
c44: ea 94 dec r14
c46: e7 fe sbrs r14, 7
c48: f2 cf rjmp .-28 ; 0xc2e <display_character_int+0x84>
}
line++;
c4a: f3 94 inc r15
c4c: c3 94 inc r12
c4e: 81 e0 ldi r24, 0x01 ; 1
c50: 8c 15 cp r24, r12
c52: c0 f6 brcc .-80 ; 0xc04 <display_character_int+0x5a>
c54: 2b c0 rjmp .+86 ; 0xcac <display_character_int+0x102>
}
}
else
{
tier = tier - 4;
c56: 8c ef ldi r24, 0xFC ; 252
c58: d8 0e add r13, r24
for(loop1=0;loop1<2;loop1++)
c5a: cc 24 eor r12, r12
{
write_left_command(0x40|(tier*16));//设置列
c5c: 8d 2d mov r24, r13
c5e: 99 27 eor r25, r25
c60: 74 e0 ldi r23, 0x04 ; 4
c62: 88 0f add r24, r24
c64: 99 1f adc r25, r25
c66: 7a 95 dec r23
c68: e1 f7 brne .-8 ; 0xc62 <display_character_int+0xb8>
c6a: 08 2f mov r16, r24
c6c: 00 64 ori r16, 0x40 ; 64
c6e: 80 2f mov r24, r16
c70: fb de rcall .-522 ; 0xa68 <write_left_command>
write_left_command(0xb8|line);
c72: 1f 2d mov r17, r15
c74: 18 6b ori r17, 0xB8 ; 184
c76: 81 2f mov r24, r17
c78: f7 de rcall .-530 ; 0xa68 <write_left_command>
write_right_command(0x40|(tier*16));//设置列
c7a: 80 2f mov r24, r16
c7c: 05 df rcall .-502 ; 0xa88 <write_right_command>
write_right_command(0xb8|line);
c7e: 81 2f mov r24, r17
c80: 03 df rcall .-506 ; 0xa88 <write_right_command>
c82: 67 e0 ldi r22, 0x07 ; 7
c84: e6 2e mov r14, r22
for(loop2=0;loop2<8;loop2++)
{
write_right_data((unsigned char)pgm_read_word_near(ptr));
c86: fe 01 movw r30, r28
c88: 05 91 lpm r16, Z+
c8a: 14 91 lpm r17, Z
c8c: 80 2f mov r24, r16
c8e: 99 27 eor r25, r25
c90: 1e df rcall .-452 ; 0xace <write_right_data>
write_right_data((unsigned char)(pgm_read_word_near(ptr)>>8));
c92: 81 2f mov r24, r17
c94: 99 27 eor r25, r25
c96: 99 27 eor r25, r25
c98: 1a df rcall .-460 ; 0xace <write_right_data>
ptr++;
c9a: 22 96 adiw r28, 0x02 ; 2
c9c: ea 94 dec r14
c9e: e7 fe sbrs r14, 7
ca0: f2 cf rjmp .-28 ; 0xc86 <display_character_int+0xdc>
}
line++;
ca2: f3 94 inc r15
ca4: c3 94 inc r12
ca6: 81 e0 ldi r24, 0x01 ; 1
ca8: 8c 15 cp r24, r12
caa: c0 f6 brcc .-80 ; 0xc5c <display_character_int+0xb2>
}
}
return 0;
cac: 80 e0 ldi r24, 0x00 ; 0
cae: 90 e0 ldi r25, 0x00 ; 0
cb0: df 91 pop r29
cb2: cf 91 pop r28
cb4: 1f 91 pop r17
cb6: 0f 91 pop r16
cb8: ff 90 pop r15
cba: ef 90 pop r14
cbc: df 90 pop r13
cbe: cf 90 pop r12
cc0: bf 90 pop r11
cc2: 08 95 ret
00000cc4 <display_character_char>:
}
/*******************************************/
u8_t display_character_char(u8_t line,u8_t tier,u16_t *ptr,u8_t choice)
{
cc4: bf 92 push r11
cc6: cf 92 push r12
cc8: df 92 push r13
cca: ef 92 push r14
ccc: ff 92 push r15
cce: 0f 93 push r16
cd0: 1f 93 push r17
cd2: cf 93 push r28
cd4: df 93 push r29
cd6: f8 2e mov r15, r24
cd8: d6 2e mov r13, r22
cda: ea 01 movw r28, r20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -