📄 main.lss
字号:
CONTROL&=~_BV(A0);
85c: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
85e: da 9a sbi 0x1b, 2 ; 27
DATA=i;
860: 80 ea ldi r24, 0xA0 ; 160
862: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E1);
864: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
866: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
868: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
86a: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
86c: d9 98 cbi 0x1b, 1 ; 27
CONTROL&=~_BV(E1);
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
86e: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
870: da 9a sbi 0x1b, 2 ; 27
DATA=i;
872: 8e ee ldi r24, 0xEE ; 238
874: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E1);
876: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
878: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
87a: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
87c: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
87e: d9 98 cbi 0x1b, 1 ; 27
CONTROL&=~_BV(E1);
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
880: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
882: da 9a sbi 0x1b, 2 ; 27
DATA=i;
884: 15 ba out 0x15, r1 ; 21
CONTROL&=~_BV(E1);
886: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E1);
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
888: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
88a: da 9a sbi 0x1b, 2 ; 27
DATA=i;
88c: 80 ec ldi r24, 0xC0 ; 192
88e: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E1);
890: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
892: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
894: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
896: 15 ba out 0x15, r1 ; 21
CONTROL&=~_BV(E2);
898: d9 98 cbi 0x1b, 1 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
89a: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
89c: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
89e: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
8a0: d9 98 cbi 0x1b, 1 ; 27
CONTROL&=~_BV(E1);
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
8a2: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
8a4: da 9a sbi 0x1b, 2 ; 27
DATA=i;
8a6: 8f ea ldi r24, 0xAF ; 175
8a8: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E1);
8aa: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
8ac: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
8ae: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
8b0: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
8b2: d9 98 cbi 0x1b, 1 ; 27
outsi(0X00);
outsi(0XC0);
outmi(0XAF);
outsi(0XAF);
}
8b4: 08 95 ret
000008b6 <SetPage>:
/*
函数说明:同时设置主从显示页为0-3页。
*/
void SetPage(uchar page0,uchar page1)
{
8b6: 68 6b ori r22, 0xB8 ; 184
CONTROL&=~_BV(E1);
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
8b8: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
8ba: da 9a sbi 0x1b, 2 ; 27
DATA=i;
8bc: 65 bb out 0x15, r22 ; 21
CONTROL&=~_BV(E1);
8be: da 98 cbi 0x1b, 2 ; 27
/*
函数说明:同时设置主从显示页为0-3页。
*/
void SetPage(uchar page0,uchar page1)
{
outmi(0xB8|page1);outsi(0xB8|page0);
8c0: 88 6b ori r24, 0xB8 ; 184
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
8c2: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
8c4: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
8c6: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
8c8: d9 98 cbi 0x1b, 1 ; 27
函数说明:同时设置主从显示页为0-3页。
*/
void SetPage(uchar page0,uchar page1)
{
outmi(0xB8|page1);outsi(0xB8|page0);
}
8ca: 08 95 ret
000008cc <SetAddress>:
--------------------------------------------------------------------------------
函数说明:同时设置主从列地址为0-121。
--------------------------------------------------------------------------------
*/
void SetAddress(uchar address0,uchar address1)
{
8cc: db 98 cbi 0x1b, 3 ; 27
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
CONTROL|=_BV(E1);
8ce: da 9a sbi 0x1b, 2 ; 27
DATA=i;
8d0: 65 bb out 0x15, r22 ; 21
CONTROL&=~_BV(E1);
8d2: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
8d4: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
8d6: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
8d8: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
8da: d9 98 cbi 0x1b, 1 ; 27
--------------------------------------------------------------------------------
*/
void SetAddress(uchar address0,uchar address1)
{
outmi(address1);outsi(address0);
}
8dc: 08 95 ret
000008de <PutCharR>:
void PutCharR(uchar ch)
{
8de: db 9a sbi 0x1b, 3 ; 27
}
//右页数据
void outsd(uchar i)
{
CONTROL|=_BV(A0);
CONTROL|=_BV(E2);
8e0: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
8e2: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E2);
8e4: d9 98 cbi 0x1b, 1 ; 27
outmi(address1);outsi(address0);
}
void PutCharR(uchar ch)
{
outsd(ch);
}
8e6: 08 95 ret
000008e8 <PutCharL>:
/*
调用方式:void PutChar1(uchar ch)
函数说明:在左页当前地址画一个字节8个点.
-*/
void PutCharL(uchar ch)
{
8e8: db 9a sbi 0x1b, 3 ; 27
//左页数据
void outmd(uchar i)
{
CONTROL|=_BV(A0);
CONTROL|=_BV(E1);
8ea: da 9a sbi 0x1b, 2 ; 27
DATA=i;
8ec: 85 bb out 0x15, r24 ; 21
CONTROL&=~_BV(E1);
8ee: da 98 cbi 0x1b, 2 ; 27
函数说明:在左页当前地址画一个字节8个点.
-*/
void PutCharL(uchar ch)
{
outmd(ch);
}
8f0: 08 95 ret
000008f2 <clrscr>:
/*
调用方式:void clrscr(void)
函数说明:清屏
-*/
void clrscr(void)
{
8f2: 1f 93 push r17
8f4: 10 e0 ldi r17, 0x00 ; 0
for (uchar page=0;page<4;page++)
{
SetPage(page,page);
8f6: 61 2f mov r22, r17
8f8: 81 2f mov r24, r17
8fa: 0e 94 5b 04 call 0x8b6 ; 0x8b6 <SetPage>
CONTROL&=~_BV(E1);
}
//左页命令
void outmi(uchar i)
{
CONTROL&=~_BV(A0);
8fe: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
900: da 9a sbi 0x1b, 2 ; 27
DATA=i;
902: 15 ba out 0x15, r1 ; 21
CONTROL&=~_BV(E1);
904: da 98 cbi 0x1b, 2 ; 27
CONTROL&=~_BV(E2);
}
//右页指令
void outsi(uchar i)
{
CONTROL&=~_BV(A0);
906: db 98 cbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
908: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
90a: 15 ba out 0x15, r1 ; 21
CONTROL&=~_BV(E2);
90c: d9 98 cbi 0x1b, 1 ; 27
90e: 80 e0 ldi r24, 0x00 ; 0
CONTROL&=~_BV(E1);
}
//右页数据
void outsd(uchar i)
{
CONTROL|=_BV(A0);
910: db 9a sbi 0x1b, 3 ; 27
CONTROL|=_BV(E2);
912: d9 9a sbi 0x1b, 1 ; 27
DATA=i;
914: 15 ba out 0x15, r1 ; 21
CONTROL&=~_BV(E2);
916: d9 98 cbi 0x1b, 1 ; 27
//左页数据
void outmd(uchar i)
{
CONTROL|=_BV(A0);
918: db 9a sbi 0x1b, 3 ; 27
CONTROL|=_BV(E1);
91a: da 9a sbi 0x1b, 2 ; 27
DATA=i;
91c: 15 ba out 0x15, r1 ; 21
CONTROL&=~_BV(E1);
91e: da 98 cbi 0x1b, 2 ; 27
{
for (uchar page=0;page<4;page++)
{
SetPage(page,page);
SetAddress(0,0);
for (uchar i=0;i<61;i++){PutCharR(0);PutCharL(0);}
920: 8f 5f subi r24, 0xFF ; 255
922: 8d 33 cpi r24, 0x3D ; 61
924: a9 f7 brne .-22 ; 0x910 <clrscr+0x1e>
调用方式:void clrscr(void)
函数说明:清屏
-*/
void clrscr(void)
{
for (uchar page=0;page<4;page++)
926: 1f 5f subi r17, 0xFF ; 255
928: 14 30 cpi r17, 0x04 ; 4
92a: 29 f7 brne .-54 ; 0x8f6 <clrscr+0x4>
{
SetPage(page,page);
SetAddress(0,0);
for (uchar i=0;i<61;i++){PutCharR(0);PutCharL(0);}
}
}
92c: 1f 91 pop r17
92e: 08 95 ret
00000930 <DrawBmp1>:
//图片显示
//采用字模2生成或字模3生成的都可以.
void DrawBmp1(uint x_add, uchar width,uchar *bmp)
{
930: 7f 92 push r7
932: 8f 92 push r8
934: 9f 92 push r9
936: af 92 push r10
938: bf 92 push r11
93a: cf 92 push r12
93c: df 92 push r13
93e: ef 92 push r14
940: ff 92 push r15
942: 0f 93 push r16
944: 1f 93 push r17
946: cf 93 push r28
948: df 93 push r29
94a: 7c 01 movw r14, r24
94c: fa 01 movw r30, r20
94e: 86 2f mov r24, r22
950: 90 e0 ldi r25, 0x00 ; 0
952: 9c 01 movw r18, r24
954: 22 0f add r18, r18
956: 33 1f adc r19, r19
958: e9 01 movw r28, r18
95a: c8 0f add r28, r24
95c: d9 1f adc r29, r25
95e: ce 0f add r28, r30
960: df 1f adc r29, r31
962: 4f 01 movw r8, r30
964: 82 0e add r8, r18
966: 93 1e adc r9, r19
968: 5f 01 movw r10, r30
96a: a8 0e add r10, r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -