📄 lcd.lis
字号:
0378 F0930400 sts _lcd_display_wrp+1,R31
037C E0930300 sts _lcd_display_wrp,R30
0380 .dbline 260
0380 ; *lcd_display_wrp++=date[0];//day
0380 20900000 lds R2,_date
0384 2192 st Z+,R2
0386 F0930400 sts _lcd_display_wrp+1,R31
038A E0930300 sts _lcd_display_wrp,R30
038E .dbline 261
038E ; *lcd_display_wrp++=date[1];
038E 20900100 lds R2,_date+1
0392 2192 st Z+,R2
0394 F0930400 sts _lcd_display_wrp+1,R31
0398 E0930300 sts _lcd_display_wrp,R30
039C .dbline 263
039C ;
039C ; lcd_display_wrp=&lcd_display2_buffer[0][0];
039C 80E0 ldi R24,<_lcd_display2_buffer
039E 90E0 ldi R25,>_lcd_display2_buffer
03A0 90930400 sts _lcd_display_wrp+1,R25
03A4 80930300 sts _lcd_display_wrp,R24
03A8 .dbline 264
03A8 ; lcd_display_rdp=&lcd_display2_buffer[0][0];
03A8 90930200 sts _lcd_display_rdp+1,R25
03AC 80930100 sts _lcd_display_rdp,R24
03B0 .dbline 265
03B0 ; SEI();
03B0 7894 sei
03B2 .dbline -2
03B2 L33:
03B2 .dbline 0 ; func end
03B2 0895 ret
03B4 .dbsym l i 1 I
03B4 .dbsym r aptr 16 pc
03B4 .dbend
03B4 .dbfunc e lcd_wr1_ins _lcd_wr1_ins fV
03B4 ; lcd_wr_temp -> R20
03B4 ; lcd_wr_buffer -> R16
.even
03B4 _lcd_wr1_ins::
03B4 0E940000 xcall push_gset1
03B8 .dbline -1
03B8 .dbline 276
03B8 ;
03B8 ; }
03B8 ; /*****************************************************
03B8 ; LCD function
03B8 ; inclue
03B8 ;
03B8 ; *****************************************************/
03B8 ;
03B8 ; //写lcd的cs1命令寄存器函数
03B8 ; void lcd_wr1_ins (unsigned char lcd_wr_buffer)
03B8 ; {
03B8 .dbline 278
03B8 ; unsigned char lcd_wr_temp;
03B8 ; e_off; //读lcd状态
03B8 9798 cbi 0x12,7
03BA .dbline 279
03BA ; rw_on;
03BA 939A sbi 0x12,3
03BC .dbline 280
03BC ; di_off;
03BC 9498 cbi 0x12,4
03BE .dbline 281
03BE ; cs1_on;
03BE AF9A sbi 0x15,7
03C0 .dbline 282
03C0 ; DDRA&=0x03;
03C0 8AB3 in R24,0x1a
03C2 8370 andi R24,3
03C4 8ABB out 0x1a,R24
03C6 .dbline 283
03C6 ; PORTA&=0x03;
03C6 8BB3 in R24,0x1b
03C8 8370 andi R24,3
03CA 8BBB out 0x1b,R24
03CC .dbline 284
03CC ; DDRC&=0xFC;
03CC 84B3 in R24,0x14
03CE 8C7F andi R24,252
03D0 84BB out 0x14,R24
03D2 .dbline 285
03D2 ; PORTC&=0xFC;
03D2 85B3 in R24,0x15
03D4 8C7F andi R24,252
03D6 85BB out 0x15,R24
03D8 .dbline 286
03D8 ; e_on;
03D8 979A sbi 0x12,7
03DA .dbline 287
03DA ; NOP();
03DA 0000 nop
03DC .dbline 288
03DC ; NOP();
03DC 0000 nop
03DE .dbline 289
03DE ; NOP();
03DE 0000 nop
03E0 .dbline 290
03E0 ; lcd_wr_temp=(PINA&0xfc);
03E0 49B3 in R20,0x19
03E2 4C7F andi R20,252
03E4 .dbline 291
03E4 ; lcd_wr_temp|=(PINC&0x03);
03E4 83B3 in R24,0x13
03E6 8370 andi R24,3
03E8 482B or R20,R24
03EA .dbline 292
03EA ; e_off;
03EA 9798 cbi 0x12,7
03EC .dbline 293
03EC ; cs1_off;
03EC AF98 cbi 0x15,7
03EE 1BC0 xjmp L43
03F0 L42:
03F0 .dbline 295
03F0 .dbline 296
03F0 9798 cbi 0x12,7
03F2 .dbline 297
03F2 939A sbi 0x12,3
03F4 .dbline 298
03F4 9498 cbi 0x12,4
03F6 .dbline 299
03F6 AF9A sbi 0x15,7
03F8 .dbline 300
03F8 8AB3 in R24,0x1a
03FA 8370 andi R24,3
03FC 8ABB out 0x1a,R24
03FE .dbline 301
03FE 8BB3 in R24,0x1b
0400 8370 andi R24,3
0402 8BBB out 0x1b,R24
0404 .dbline 302
0404 84B3 in R24,0x14
0406 8C7F andi R24,252
0408 84BB out 0x14,R24
040A .dbline 303
040A 85B3 in R24,0x15
040C 8C7F andi R24,252
040E 85BB out 0x15,R24
0410 .dbline 304
0410 979A sbi 0x12,7
0412 .dbline 305
0412 0000 nop
0414 .dbline 306
0414 0000 nop
0416 .dbline 307
0416 0000 nop
0418 .dbline 308
0418 49B3 in R20,0x19
041A 4C7F andi R20,252
041C .dbline 309
041C 83B3 in R24,0x13
041E 8370 andi R24,3
0420 482B or R20,R24
0422 .dbline 310
0422 9798 cbi 0x12,7
0424 .dbline 311
0424 AF98 cbi 0x15,7
0426 .dbline 312
0426 L43:
0426 .dbline 294
0426 ; while(lcd_wr_temp&0x90)
0426 842F mov R24,R20
0428 8079 andi R24,144
042A 11F7 brne L42
042C .dbline 313
042C ; {
042C ; e_off; //读lcd状态
042C ; rw_on;
042C ; di_off;
042C ; cs1_on;
042C ; DDRA&=0x03;
042C ; PORTA&=0x03;
042C ; DDRC&=0xFC;
042C ; PORTC&=0xFC;
042C ; e_on;
042C ; NOP();
042C ; NOP();
042C ; NOP();
042C ; lcd_wr_temp=(PINA&0xfc);
042C ; lcd_wr_temp|=(PINC&0x03);
042C ; e_off;
042C ; cs1_off;
042C ; }
042C ; e_off; //写lcd命令
042C 9798 cbi 0x12,7
042E .dbline 314
042E ; rw_off;
042E 9398 cbi 0x12,3
0430 .dbline 315
0430 ; di_off;
0430 9498 cbi 0x12,4
0432 .dbline 316
0432 ; cs1_on;
0432 AF9A sbi 0x15,7
0434 .dbline 317
0434 ; PORTA&=0x03;
0434 8BB3 in R24,0x1b
0436 8370 andi R24,3
0438 8BBB out 0x1b,R24
043A .dbline 318
043A ; PORTA|=(lcd_wr_buffer&0xFC);
043A 802F mov R24,R16
043C 8C7F andi R24,252
043E 2BB2 in R2,0x1b
0440 282A or R2,R24
0442 2BBA out 0x1b,R2
0444 .dbline 319
0444 ; PORTC&=0xFC;
0444 85B3 in R24,0x15
0446 8C7F andi R24,252
0448 85BB out 0x15,R24
044A .dbline 320
044A ; PORTC|=(lcd_wr_buffer&0x03);
044A 802F mov R24,R16
044C 8370 andi R24,3
044E 25B2 in R2,0x15
0450 282A or R2,R24
0452 25BA out 0x15,R2
0454 .dbline 321
0454 ; DDRA|=0xFC;
0454 8AB3 in R24,0x1a
0456 8C6F ori R24,252
0458 8ABB out 0x1a,R24
045A .dbline 322
045A ; DDRC|=0X03;
045A 84B3 in R24,0x14
045C 8360 ori R24,3
045E 84BB out 0x14,R24
0460 .dbline 323
0460 ; e_on;
0460 979A sbi 0x12,7
0462 .dbline 324
0462 ; NOP();
0462 0000 nop
0464 .dbline 325
0464 ; NOP();
0464 0000 nop
0466 .dbline 326
0466 ; NOP();
0466 0000 nop
0468 .dbline 327
0468 ; NOP();
0468 0000 nop
046A .dbline 328
046A ; e_off;
046A 9798 cbi 0x12,7
046C .dbline 329
046C ; cs1_off;
046C AF98 cbi 0x15,7
046E .dbline 330
046E ; NOP();
046E 0000 nop
0470 .dbline 331
0470 ; NOP();
0470 0000 nop
0472 .dbline 332
0472 ; DDRA&=0x03;
0472 8AB3 in R24,0x1a
0474 8370 andi R24,3
0476 8ABB out 0x1a,R24
0478 .dbline 333
0478 ; DDRC&=0XFC;
0478 84B3 in R24,0x14
047A 8C7F andi R24,252
047C 84BB out 0x14,R24
047E .dbline -2
047E L41:
047E 0E940000 xcall pop_gset1
0482 .dbline 0 ; func end
0482 0895 ret
0484 .dbsym r lcd_wr_temp 20 c
0484 .dbsym r lcd_wr_buffer 16 c
0484 .dbend
0484 .dbfunc e lcd_wr1_data _lcd_wr1_data fV
0484 ; lcd_wr_temp -> R20
0484 ; lcd_wr_buffer -> R16
.even
0484 _lcd_wr1_data::
0484 0E940000 xcall push_gset1
0488 .dbline -1
0488 .dbline 338
0488 ; }
0488 ;
0488 ; //向lcd_cs1写数据函数
0488 ; void lcd_wr1_data (unsigned char lcd_wr_buffer)
0488 ; {
0488 .dbline 340
0488 ; unsigned char lcd_wr_temp;
0488 ; e_off; //读lcd状态
0488 9798 cbi 0x12,7
048A .dbline 341
048A ; rw_on;
048A 939A sbi 0x12,3
048C .dbline 342
048C ; di_off;
048C 9498 cbi 0x12,4
048E .dbline 343
048E ; cs1_on;
048E AF9A sbi 0x15,7
0490 .dbline 344
0490 ; DDRA&=0x03;
0490 8AB3 in R24,0x1a
0492 8370 andi R24,3
0494 8ABB out 0x1a,R24
0496 .dbline 345
0496 ; PORTA&=0x03;
0496 8BB3 in R24,0x1b
0498 8370 andi R24,3
049A 8BBB out 0x1b,R24
049C .dbline 346
049C ; DDRC&=0xFC;
049C 84B3 in R24,0x14
049E 8C7F andi R24,252
04A0 84BB out 0x14,R24
04A2 .dbline 347
04A2 ; PORTC&=0xFC;
04A2 85B3 in R24,0x15
04A4 8C7F andi R24,252
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -