📄 megalcd.lis
字号:
0000 ; 0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x07,0xFB,0xFC,0x7F,0x9F,0xC7,0xF8,
0000 ; 0xFE,0x3F,0x00,0x07,0xF8,0x00,0x07,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0x00,
0000 ; 0x07,0xF8,0x00,0x0F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,
0000 ; 0x1F,0xE3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF8,0x1F,0xE3,0xFC,
0000 ; 0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF0,0x3F,0xC3,0xFC,0x7F,0x9F,0xC7,
0000 ; 0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF0,0x3F,0xC3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,
0000 ; 0xFF,0xE7,0xFF,0xE0,0x7F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,
0000 ; 0xE0,0x7F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xC0,0xFF,0xF3,
0000 ; 0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFF,
0000 ; 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,
0000 ; 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0000 ; 0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0000 ; 0xFF,0xF8,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
0000 ; /*-- 文字: 和 --*/
0000 ; /*-- 楷体_GB231248; 此字体下对应的点阵为:宽x高=64x64 --*/
0000 ; const unsigned char hz1[480]={
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x03,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x87,0xC0,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x18,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x03,0x87,0xC0,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x06,0x00,
0000 ; 0x00,0x00,0x0F,0xFF,0xC0,0x00,0x1F,0x80,0x00,0x00,0xFF,0xF8,0x00,0x01,0xFF,0xE0,
0000 ; 0x00,0x0F,0xFF,0x80,0x7F,0xFF,0xFF,0xF0,0x07,0xFF,0xE7,0x80,0x7F,0xFF,0xFF,0xF0,
0000 ; 0x1F,0xFE,0x0F,0x80,0x7F,0x80,0x07,0xE0,0x0F,0xF0,0x1F,0x80,0x3E,0x00,0x07,0xC0,
0000 ; 0x07,0x80,0x3F,0x80,0x1E,0x00,0x07,0xC0,0x00,0x00,0x3F,0x80,0x1E,0x00,0x07,0x80,
0000 ; 0x00,0x00,0x7F,0x80,0x1E,0x00,0x07,0x80,0x00,0x00,0xFB,0x80,0x0E,0x00,0x07,0x80,
0000 ; 0x00,0x00,0xF3,0xF8,0x0E,0x00,0x0F,0x00,0x00,0x01,0xE3,0xFE,0x0E,0x00,0x0F,0x00,
0000 ; 0x00,0x03,0xE3,0xBF,0x0E,0x00,0x0F,0x00,0x00,0x07,0xC3,0x9F,0x07,0x00,0x0E,0x00,
0000 ; 0x00,0x07,0x83,0x8F,0x07,0x00,0x0E,0x00,0x00,0x0F,0x03,0x83,0x07,0x00,0x1F,0x00,
0000 ; 0x00,0x1E,0x03,0x80,0x07,0x1F,0xFF,0x80,0x00,0x3C,0x03,0x80,0x07,0xFF,0xFF,0x80,
0000 ; 0x00,0x78,0x03,0x80,0x07,0xFF,0x00,0x00,0x00,0x70,0x03,0x80,0x03,0x00,0x00,0x00,
0000 ; 0x00,0xE0,0x03,0x80,0x03,0x00,0x00,0x00,0x01,0xC0,0x03,0x80,0x03,0x00,0x00,0x00,
0000 ; 0x03,0x80,0x07,0x80,0x03,0x00,0x00,0x00,0x06,0x00,0x07,0x80,0x01,0x00,0x00,0x00,
0000 ; 0x0C,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x10,0x00,0x07,0x80,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
0000 ; const unsigned char hz2[132]={
0000 ; /*-- 文字: 欢 --*/
0000 ; /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x70,0x00,
0000 ; 0x00,0x00,0x70,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xC0,0x00,
0000 ; 0x00,0x00,0xC0,0x00,0x00,0x60,0x81,0x00,0x03,0xF1,0x8F,0xC0,0x3E,0x71,0xF9,0xE0,
0000 ; 0x10,0x63,0x01,0x80,0x00,0x62,0x03,0x00,0x08,0x64,0xC2,0x00,0x04,0x60,0x60,0x00,
0000 ; 0x06,0xC0,0x60,0x00,0x03,0xC0,0x60,0x00,0x01,0xC0,0x60,0x00,0x01,0xC0,0xD0,0x00,
0000 ; 0x01,0x60,0xD8,0x00,0x03,0x70,0xCC,0x00,0x06,0x31,0x8C,0x00,0x04,0x11,0x86,0x00,
0000 ; 0x08,0x03,0x03,0x80,0x10,0x06,0x03,0xC0,0x20,0x0C,0x01,0xF0,0x00,0x18,0x00,0xFC,
0000 ; 0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x00};
0000 ; const unsigned char hz3[132]={
0000 ; /*-- 文字: 迎 --*/
0000 ; /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x06,0x00,0xC0,0x00,0x07,0x01,0x80,0x00,
0000 ; 0x03,0x82,0x01,0xE0,0x01,0x1C,0x3E,0xE0,0x00,0x08,0x10,0x60,0x00,0x0C,0x10,0x60,
0000 ; 0x00,0x0C,0x10,0xC0,0x07,0x0C,0x10,0xC0,0x3F,0x8C,0x50,0xC0,0x23,0x0D,0x93,0xC0,
0000 ; 0x03,0x0F,0x11,0xC0,0x02,0x0E,0x11,0x80,0x02,0x0C,0x10,0x00,0x02,0x08,0x10,0x00,
0000 ; 0x03,0x00,0x10,0x00,0x01,0x00,0x10,0x00,0x01,0x00,0x10,0x00,0x1F,0xC0,0x10,0x00,
0000 ; 0x3C,0x3E,0x10,0x00,0x00,0x07,0xE0,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x3F,0xF8,
0000 ; 0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x00};
0000 ; const unsigned char hz4[132]={
0000 ; /*-- 文字: 您 --*/
0000 ; /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x30,0x60,0x00,
0000 ; 0x00,0x30,0x60,0x00,0x00,0x70,0xE0,0x00,0x00,0x60,0xC1,0x80,0x00,0xC1,0xBF,0xE0,
0000 ; 0x00,0xC3,0xE0,0xE0,0x01,0x82,0x31,0x00,0x03,0xC4,0x30,0x00,0x06,0xC8,0x10,0x00,
0000 ; 0x0C,0xC0,0x10,0x00,0x08,0xC2,0x13,0x00,0x10,0x82,0x11,0xC0,0x00,0x86,0x10,0xC0,
0000 ; 0x00,0x86,0x30,0x40,0x00,0x84,0xB0,0x00,0x00,0x80,0x70,0x00,0x00,0x80,0x30,0x00,
0000 ; 0x00,0x00,0x20,0xE0,0x00,0x07,0x00,0x78,0x02,0x03,0xC0,0x18,0x02,0x20,0xC0,0x00,
0000 ; 0x06,0x30,0x04,0x00,0x06,0x18,0x02,0x00,0x0C,0x0C,0x03,0x80,0x0C,0x07,0x03,0xC0,
0000 ; 0x00,0x03,0xFF,0xC0,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; 0x00,0x00,0x00,0x00};
0000 ; /* OCMJ4X8LCD初始化 */
0000 ; void ocmj_init(void)
0000 ; {
0000 .dbline 172
0000 ; // MCUCR=0;
0000 ; DDRA=0xff;
0000 8FEF ldi R24,255
0002 8ABB out 0x1a,R24
0004 .dbline 173
0004 ; PORTA=0xff;
0004 8BBB out 0x1b,R24
0006 .dbline 174
0006 ; DDRE=0b10000000;
0006 80E8 ldi R24,128
0008 82B9 out 0x2,R24
000A .dbline 175
000A ; PORTE=0xff;
000A 8FEF ldi R24,255
000C 83B9 out 0x3,R24
000E .dbline 176
000E ; clr_reset;//LCD复位
000E AB98 cbi 0x15,3
0010 .dbline 177
0010 ; delay_ms(10);
0010 0AE0 ldi R16,10
0012 10E0 ldi R17,0
0014 0E940000 xcall _delay_ms
0018 .dbline 178
0018 ; set_reset;
0018 AB9A sbi 0x15,3
001A .dbline 179
001A ; clr_answer;
001A 1F98 cbi 0x03,7
001C .dbline 180
001C ; delay_ms(10);
001C 0AE0 ldi R16,10
001E 10E0 ldi R17,0
0020 0E940000 xcall _delay_ms
0024 .dbline -2
0024 L1:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbend
0026 .dbfunc e ocmj_write _ocmj_write fV
0026 ; data -> R16
.even
0026 _ocmj_write::
0026 .dbline -1
0026 .dbline 184
0026 ; }
0026 ; /* 写数据到LCD */
0026 ; void ocmj_write(unsigned char data)
0026 ; {
0026 L3:
0026 .dbline 186
0026 L4:
0026 .dbline 185
0026 ; while(ask!=0)
0026 0E99 sbic 0x1,6
0028 FECF rjmp L3
002A .dbline 187
002A ; ;
002A ; data_port=data;
002A 0BBB out 0x1b,R16
002C .dbline 188
002C ; wait;
002C 0000 nop
002E 0000 nop
0030 .dbline 189
0030 ; set_answer;
0030 1F9A sbi 0x03,7
0032 .dbline 190
0032 ; wait;
0032 0000 nop
0034 0000 nop
0036 L6:
0036 .dbline 192
0036 L7:
0036 .dbline 191
0036 ; while(ask==0)
0036 0E9B sbis 0x1,6
0038 FECF rjmp L6
003A .dbline 193
003A ; ;
003A ; clr_answer;
003A 1F98 cbi 0x03,7
003C .dbline -2
003C L2:
003C .dbline 0 ; func end
003C 0895 ret
003E .dbsym r data 16 c
003E .dbend
003E .dbfunc e ico_tran _ico_tran fV
003E ; j -> R20
003E ; i -> R14
003E ; ico_p -> R10,R11
003E ; y -> R12
003E ; x -> R22
.even
003E _ico_tran::
003E 0E940000 xcall push_gset5
0042 C22E mov R12,R18
0044 602F mov R22,R16
0046 AA84 ldd R10,y+10
0048 BB84 ldd R11,y+11
004A .dbline -1
004A .dbline 199
004A ; }
004A ; /* 传送32*32ICO点阵数据到LCD */
004A ; /* x:0~15(字节为单位) y:0~64 */
004A ; /* ico_p:指向图形数据的指针 */
004A ; void ico_tran(unsigned char x,unsigned char y,const unsigned char *ico_p)
004A ; {
004A .dbline 201
004A ; unsigned char i,j;
004A ; x+=4;
004A 6C5F subi R22,252 ; addi 4
004C .dbline 202
004C ; for(j=0;j<32;j++)
004C 4427 clr R20
004E 16C0 xjmp L13
0050 L10:
0050 .dbline 203
0050 ; {
0050 .dbline 204
0050 ; for(i=0;i<4;i++)
0050 EE24 clr R14
0052 0EC0 xjmp L17
0054 L14:
0054 .dbline 205
0054 .dbline 206
0054 03EF ldi R16,243
0056 E7DF xcall _ocmj_write
0058 .dbline 207
0058 062F mov R16,R22
005A E5DF xcall _ocmj_write
005C .dbline 208
005C 0C2D mov R16,R12
005E E3DF xcall _ocmj_write
0060 .dbline 209
0060 F501 movw R30,R10
0062 0491 lpm R16,Z
0064 E0DF xcall _ocmj_write
0066 .dbline 210
0066 C501 movw R24,R10
0068 0196 adiw R24,1
006A 5C01 movw R10,R24
006C .dbline 211
006C 6395 inc R22
006E .dbline 212
006E L15:
006E .dbline 204
006E E394 inc R14
0070 L17:
0070 .dbline 204
0070 8E2D mov R24,R14
0072 8430 cpi R24,4
0074 78F3 brlo L14
0076 .dbline 213
0076 6450 subi R22,4
0078 .dbline 214
0078 C394 inc R12
007A .dbline 215
007A L11:
007A .dbline 202
007A 4395 inc R20
007C L13:
007C .dbline 202
007C 4032 cpi R20,32
007E 40F3 brlo L10
0080 .dbline -2
0080 L9:
0080 0E940000 xcall pop_gset5
0084 .dbline 0 ; func end
0084 0895 ret
0086 .dbsym r j 20 c
0086 .dbsym r i 14 c
0086 .dbsym r ico_p 10 pkc
0086 .dbsym r y 12 c
0086 .dbsym r x 22 c
0086 .dbend
0086 .dbfunc e bmp_tran _bmp_tran fV
0086 ; j -> R20
0086 ; i -> R14
0086 ; bmp_p -> R22,R23
0086 ; width -> R10
0086 ; high -> R12
0086 ; y -> y+12
0086 ; x -> y+10
.even
0086 _bmp_tran::
0086 0E940000 xcall push_arg4
008A 0E940000 xcall push_gset5
008E CE84 ldd R12,y+14
0090 A888 ldd R10,y+16
0092 6A89 ldd R22,y+18
0094 7B89 ldd R23,y+19
0096 .dbline -1
0096 .dbline 223
0096 ; {
0096 ; ocmj_write(0xf3);
0096 ; ocmj_write(x);
0096 ; ocmj_write(y);
0096 ; ocmj_write(*ico_p);
0096 ; ico_p++;
0096 ; x++;
0096 ; }
0096 ; x-=4;
0096 ; y++;
0096 ; }
0096 ; }
0096 ; /* 传送bmp点阵数据到LCD */
0096 ; /* x:0~15(字节为单位) y:0~64 */
0096 ; /* bmp_p:指向图形数据的指针 */
0096 ; /* high:位图高度(点阵行为单位) */
0096 ; /* width:位图宽度(以字节为单位)? */
0096 ; void bmp_tran(unsigned char x,unsigned char y,unsigned char high,unsigned char width,const unsigned char *bmp_p)
0096 ; {
0096 .dbline 225
0096 ; unsigned char i,j;
0096 ; x+=4;
0096 8A85 ldd R24,y+10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -