📄 lcdexper.lst
字号:
37D C00D RJMP 0x038B
(0152) {
(0153) Write_Command(0x80|i);
37E 2F04 MOV R16,R20
37F 6800 ORI R16,0x80
380 DF64 RCALL _Write_Command
(0154) Write_Command(0x80);
381 E800 LDI R16,0x80
382 DF62 RCALL _Write_Command
(0155) for(j=0;j<32;j++)
383 2766 CLR R22
384 C003 RJMP 0x0388
(0156) Write_Data(0);
385 2700 CLR R16
386 DF71 RCALL _Write_Data
387 9563 INC R22
388 3260 CPI R22,0x20
389 F3D8 BCS 0x0385
38A 9543 INC R20
38B 3240 CPI R20,0x20
38C F388 BCS 0x037E
38D 9169 LD R22,Y+
38E 9149 LD R20,Y+
38F 9508 RET
_LcmClearTXT:
i --> R20
390 934A ST R20,-Y
(0157) }
(0158) }
(0159)
(0160) //***************清除“文字”函数**********************/
(0161) void LcmClearTXT( void )
(0162) {
(0163) unsigned char i;
(0164) Write_Command(0x30);
391 E300 LDI R16,0x30
392 DF52 RCALL _Write_Command
(0165) Write_Command(0x80);
393 E800 LDI R16,0x80
394 DF50 RCALL _Write_Command
(0166) for(i=0;i<64;i++)
395 2744 CLR R20
396 C003 RJMP 0x039A
(0167) Write_Data(0x20);
397 E200 LDI R16,0x20
398 DF5F RCALL _Write_Data
399 9543 INC R20
39A 3440 CPI R20,0x40
39B F3D8 BCS 0x0397
39C 9149 LD R20,Y+
39D 9508 RET
_LcmClearBMP:
i --> R20
j --> R22
39E 934A ST R20,-Y
39F 936A ST R22,-Y
(0168) }
(0169)
(0170) void LcmClearBMP( void )
(0171) {
(0172) unsigned char i,j;
(0173) Write_Command(0x34);
3A0 E304 LDI R16,0x34
3A1 DF43 RCALL _Write_Command
(0174) Write_Command(0x36);
3A2 E306 LDI R16,0x36
3A3 DF41 RCALL _Write_Command
(0175) for(i=0;i<32;i++)
3A4 2744 CLR R20
3A5 C00D RJMP 0x03B3
(0176) {
(0177) Write_Command(0x80|i);
3A6 2F04 MOV R16,R20
3A7 6800 ORI R16,0x80
3A8 DF3C RCALL _Write_Command
(0178) Write_Command(0x80);
3A9 E800 LDI R16,0x80
3AA DF3A RCALL _Write_Command
(0179) for(j=0;j<32;j++)
3AB 2766 CLR R22
3AC C003 RJMP 0x03B0
(0180) Write_Data(0);
3AD 2700 CLR R16
3AE DF49 RCALL _Write_Data
3AF 9563 INC R22
3B0 3260 CPI R22,0x20
3B1 F3D8 BCS 0x03AD
3B2 9543 INC R20
3B3 3240 CPI R20,0x20
3B4 F388 BCS 0x03A6
3B5 9169 LD R22,Y+
3B6 9149 LD R20,Y+
3B7 9508 RET
_PutBMP:
i --> R22
y --> R14
x --> R20
j --> R12
puts --> R10
3B8 940E 0445 CALL push_xgsetF0FC
3BA 0158 MOVW R10,R16
(0181) }
(0182) }
(0183) void PutBMP(unsigned flash char *puts)
(0184) {
(0185) unsigned int x=0,y=0;
3BB 2744 CLR R20
3BC 2755 CLR R21
3BD 24EE CLR R14
3BE 24FF CLR R15
(0186) unsigned char i,j;
(0187) Write_Command(0x34);
3BF E304 LDI R16,0x34
3C0 DF24 RCALL _Write_Command
(0188) Write_Command(0x36);
3C1 E306 LDI R16,0x36
3C2 DF22 RCALL _Write_Command
(0189) for(i=0;i<32;i++)
3C3 2766 CLR R22
3C4 C026 RJMP 0x03EB
(0190) {
(0191) Write_Command(0x80|i);
3C5 2F06 MOV R16,R22
3C6 6800 ORI R16,0x80
3C7 DF1D RCALL _Write_Command
(0192) Write_Command(0x80);
3C8 E800 LDI R16,0x80
3C9 DF1B RCALL _Write_Command
(0193) for(j=0;j<16;j++)
3CA 24CC CLR R12
3CB C008 RJMP 0x03D4
(0194) {
(0195) Write_Data(puts[x]);
3CC 01FA MOVW R30,R20
3CD 0DEA ADD R30,R10
3CE 1DFB ADC R31,R11
3CF 9106 ELPM R16,8(Z)
3D0 DF27 RCALL _Write_Data
(0196) x++;
3D1 5F4F SUBI R20,0xFF
3D2 4F5F SBCI R21,0xFF
3D3 94C3 INC R12
3D4 2D8C MOV R24,R12
3D5 3180 CPI R24,0x10
3D6 F3A8 BCS 0x03CC
(0197) }
(0198) y=x-16;
3D7 01CA MOVW R24,R20
3D8 9740 SBIW R24,0x10
3D9 017C MOVW R14,R24
(0199) for(j=0;j<16;j++)
3DA 24CC CLR R12
3DB C00B RJMP 0x03E7
(0200) {
(0201) Write_Data(puts[y+512]);
3DC 01F7 MOVW R30,R14
3DD 50E0 SUBI R30,0
3DE 4FFE SBCI R31,0xFE
3DF 0DEA ADD R30,R10
3E0 1DFB ADC R31,R11
3E1 9106 ELPM R16,254(Z)
3E2 DF15 RCALL _Write_Data
(0202) y++;
3E3 01C7 MOVW R24,R14
3E4 9601 ADIW R24,1
3E5 017C MOVW R14,R24
3E6 94C3 INC R12
3E7 2D8C MOV R24,R12
3E8 3180 CPI R24,0x10
3E9 F390 BCS 0x03DC
3EA 9563 INC R22
3EB 3260 CPI R22,0x20
3EC F2C0 BCS 0x03C5
3ED 940C 043A JMP pop_xgsetF0FC
_StartView:
3EF 9722 SBIW R28,2
(0203) }
(0204) }
(0205) }
(0206)
(0207) //*******************显示初始界面******************************/
(0208) void StartView(void)
(0209) {
(0210) Write_String_atXY(0,1,Chanping1);
3F0 EE84 LDI R24,0xE4
3F1 E090 LDI R25,0
3F2 8399 STD Y+1,R25
3F3 8388 STD Y+0,R24
3F4 E021 LDI R18,1
3F5 2700 CLR R16
3F6 DF72 RCALL _Write_String_atXY
(0211) delay_ms(3000);
3F7 EB08 LDI R16,0xB8
3F8 E01B LDI R17,0xB
3F9 DECB RCALL _delay_ms
3FA 9622 ADIW R28,2
3FB 9508 RET
_main:
3FC 9722 SBIW R28,2
(0212) //Delay(50000);
(0213) }
(0214)
(0215) unsigned flash char bmp8[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0216) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,
(0217) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
(0218) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0219) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0220) 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0221) 0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0222) 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0223) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0224) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0225) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0226) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0227) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x0F,
(0228) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x00,0x7F,0xC0,
(0229) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x07,0xFF,0xF0,0x00,
(0230) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,
(0231) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,
(0232) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
(0233) 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,
(0234) 0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
(0235) 0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0236) 0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0237) 0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0238) 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0239) 0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,
(0240) 0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,
(0241) 0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,
(0242) 0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,
(0243) 0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,
(0244) 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,
(0245) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,
(0246) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,
(0247) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,
(0248) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,
(0249) 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,
(0250) 0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
(0251) 0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0252) 0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0253) 0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0254) 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0255) 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
(0256) 0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,
(0257) 0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,
(0258) 0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,
(0259) 0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,
(0260) 0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xF0,
(0261) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xF0,0x00,
(0262) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x00,0x00,
(0263) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x01,0xFF,0xC0,0x00,0x00,0x00,
(0264) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,
(0265) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0266) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0267) 0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x70,0x30,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0268) 0x00,0x00,0x00,0x00,0x00,0x11,0x08,0x48,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0269) 0x00,0x00,0x00,0x00,0x11,0x08,0x84,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0270) 0x00,0x00,0x00,0x11,0x08,0x84,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0271) 0x00,0x00,0x11,0x08,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0272) 0x00,0x11,0x08,0x84,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0273) 0x11,0x08,0x84,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,
(0274) 0x08,0x84,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0275) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
(0276)
(0277) void main(void)
(0278) { port_init();
3FD DED8 RCALL _port_init
(0279) SETBIT(PORTB,PSB);//PSB=1;
3FE 9AC3 SBI 0x18,3
(0280) SETBIT(PORTB,RST);//RST=1;
3FF 9AC4 SBI 0x18,4
(0281) LcmClearTXT();
400 DF8F RCALL _LcmClearTXT
(0282) Initial_LCD();
401 DF09 RCALL _Initial_LCD
(0283) StartView();
402 DFEC RCALL _StartView
(0284) LcmClearTXT();
403 DF8C RCALL _LcmClearTXT
404 C032 RJMP 0x0437
(0285) while(1)
(0286) {
(0287) Write_String_atXY(1,0,jieguo_1);
405 EF85 LDI R24,0xF5
406 E090 LDI R25,0
407 8399 STD Y+1,R25
408 8388 STD Y+0,R24
409 2722 CLR R18
40A E001 LDI R16,1
40B DF5D RCALL _Write_String_atXY
(0288) delay_ms(600);
40C E508 LDI R16,0x58
40D E012 LDI R17,2
40E DEB6 RCALL _delay_ms
(0289) /*Write_String_atXY(0,1,Chanping1);
(0290) delay_ms(10000);*/
(0291) Write_String_atXY(0,1,jieguo_2);
40F E082 LDI R24,2
410 E091 LDI R25,1
411 8399 STD Y+1,R25
412 8388 STD Y+0,R24
413 E021 LDI R18,1
414 2700 CLR R16
415 DF53 RCALL _Write_String_atXY
(0292) delay_ms(600);
416 E508 LDI R16,0x58
417 E012 LDI R17,2
418 DEAC RCALL _delay_ms
(0293) Write_String_atXY(0,2,jieguo_3);
419 E183 LDI R24,0x13
41A E091 LDI R25,1
41B 8399 STD Y+1,R25
41C 8388 STD Y+0,R24
41D E022 LDI R18,2
41E 2700 CLR R16
41F DF49 RCALL _Write_String_atXY
(0294) delay_ms(600);
420 E508 LDI R16,0x58
421 E012 LDI R17,2
422 DEA2 RCALL _delay_ms
(0295) Write_String_atXY(2,3,jieguo_4);
423 E282 LDI R24,0x22
424 E091 LDI R25,1
425 8399 STD Y+1,R25
426 8388 STD Y+0,R24
427 E023 LDI R18,3
428 E002 LDI R16,2
429 DF3F RCALL _Write_String_atXY
(0296) delay_ms(2000);
42A ED00 LDI R16,0xD0
42B E017 LDI R17,7
42C DE98 RCALL _delay_ms
(0297) LcmClearTXT();
42D DF62 RCALL _LcmClearTXT
(0298) LcmClearBMP();
42E DF6F RCALL _LcmClearBMP
(0299) PutBMP(bmp8);
42F E209 LDI R16,0x29
430 E011 LDI R17,1
431 DF86 RCALL _PutBMP
(0300) delay_ms(6000);
432 E700 LDI R16,0x70
433 E117 LDI R17,0x17
434 DE90 RCALL _delay_ms
(0301) LcmClearBMP();
435 DF68 RCALL _LcmClearBMP
(0302) LcmClearTXT();
FILE: <library>
436 DF59 RCALL _LcmClearTXT
437 CFCD RJMP 0x0405
438 9622 ADIW R28,2
439 9508 RET
pop_xgsetF0FC:
43A 90A9 LD R10,Y+
43B 90B9 LD R11,Y+
43C 90C9 LD R12,Y+
43D 90D9 LD R13,Y+
43E 90E9 LD R14,Y+
43F 90F9 LD R15,Y+
440 9149 LD R20,Y+
441 9159 LD R21,Y+
442 9169 LD R22,Y+
443 9179 LD R23,Y+
444 9508 RET
push_xgsetF0FC:
445 937A ST R23,-Y
446 936A ST R22,-Y
push_xgset30FC:
447 935A ST R21,-Y
448 934A ST R20,-Y
push_xgset00FC:
449 92FA ST R15,-Y
44A 92EA ST R14,-Y
push_xgset003C:
44B 92DA ST R13,-Y
44C 92CA ST R12,-Y
44D 92BA ST R11,-Y
44E 92AA ST R10,-Y
44F 9508 RET
push_xgset300C:
450 935A ST R21,-Y
451 934A ST R20,-Y
452 92BA ST R11,-Y
453 92AA ST R10,-Y
454 9508 RET
pop_xgset300C:
455 90A9 LD R10,Y+
456 90B9 LD R11,Y+
457 9149 LD R20,Y+
458 9159 LD R21,Y+
459 9508 RET
push_xgsetF00C:
45A 937A ST R23,-Y
45B 936A ST R22,-Y
45C 935A ST R21,-Y
45D 934A ST R20,-Y
45E 92BA ST R11,-Y
45F 92AA ST R10,-Y
460 9508 RET
pop_xgsetF00C:
461 90A9 LD R10,Y+
462 90B9 LD R11,Y+
463 9149 LD R20,Y+
464 9159 LD R21,Y+
465 9169 LD R22,Y+
466 9179 LD R23,Y+
467 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -