⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 已经上传的YF-320240-3.5寸彩屏(可由单片机控制)的测试程序。主CPU为MEGA128
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0452                   .dbfunc e PowerOn _PowerOn fV
                        .even
 0452           _PowerOn::
 0452                   .dbline -1
 0452                   .dbline 415
 0452           ; }
 0452           ; void PowerOn(void)
 0452           ; {
 0452                   .dbline 416
 0452           ;     CMD = LCD_POWER_ON;
 0452 2224              clr R2
 0454 20920280          sts 32770,R2
 0458                   .dbline -2
 0458           L82:
 0458                   .dbline 0 ; func end
 0458 0895              ret
 045A                   .dbend
 045A                   .dbfunc e main _main fV
 045A           ;      list_time -> <dead>
 045A           ;      BackLight -> R20
 045A           ;       Back_Val -> R22,R23
 045A           ;              i -> R10,R11
                        .even
 045A           _main::
 045A EF97              sbiw R28,63
 045C EF97              sbiw R28,63
 045E EF97              sbiw R28,63
 0460 6697              sbiw R28,22  ; offset = 211
 0462                   .dbline -1
 0462                   .dbline 419
 0462           ; }
 0462           ; void main(void)
 0462           ; {
 0462                   .dbline 422
 0462           ;       unsigned int i;
 0462           ;       unsigned int list_time;
 0462           ;       unsigned char BackLight=0;
 0462 4427              clr R20
 0464                   .dbline 423
 0464           ;       unsigned int Back_Val=0;
 0464 6627              clr R22
 0466 7727              clr R23
 0468                   .dbline 424
 0468           ;       DDRF |= 0x08;
 0468 80916100          lds R24,97
 046C 8860              ori R24,8
 046E 80936100          sts 97,R24
 0472                   .dbline 425
 0472           ;       PORTF |= 0x08;  
 0472 80916200          lds R24,98
 0476 8860              ori R24,8
 0478 80936200          sts 98,R24
 047C                   .dbline 426
 047C           ;       Init_interrupt();
 047C C1DD              xcall _Init_interrupt
 047E                   .dbline 427
 047E           ;       Main_Display();
 047E B3DF              xcall _Main_Display
 0480                   .dbline 428
 0480           ;       ReadTime();//time是结构体,给time赋值
 0480 0E940000          xcall _ReadTime
 0484                   .dbline 429
 0484           ;       Init_Touch();
 0484 0E940000          xcall _Init_Touch
 0488 19C4              xjmp L85
 048A           L84:
 048A                   .dbline 431
 048A           ;       while(1)
 048A           ;       {
 048A                   .dbline 433
 048A           ;               //触摸屏处理程序
 048A           ;           if(cursor.flag == 1)
 048A 80910600          lds R24,_cursor+6
 048E 8130              cpi R24,1
 0490 09F0              breq X4
 0492 FEC3              xjmp L87
 0494           X4:
 0494                   .dbline 434
 0494           ;               {    
 0494                   .dbline 435
 0494           ;                       Dis_Int(25,135,cursor.x,0,RED,WHITE);
 0494 8FEF              ldi R24,255
 0496 8E83              std y+6,R24
 0498 80EE              ldi R24,224
 049A 8C83              std y+4,R24
 049C 2224              clr R2
 049E 2A82              std y+2,R2
 04A0 20900000          lds R2,_cursor
 04A4 30900100          lds R3,_cursor+1
 04A8 3982              std y+1,R3
 04AA 2882              std y+0,R2
 04AC 27E8              ldi R18,135
 04AE 09E1              ldi R16,25
 04B0 10E0              ldi R17,0
 04B2 0E940000          xcall _Dis_Int
 04B6                   .dbline 436
 04B6           ;                       Dis_Int(25,165,cursor.y,0,RED,WHITE);
 04B6 8FEF              ldi R24,255
 04B8 8E83              std y+6,R24
 04BA 80EE              ldi R24,224
 04BC 8C83              std y+4,R24
 04BE 2224              clr R2
 04C0 2A82              std y+2,R2
 04C2 20900200          lds R2,_cursor+2
 04C6 3324              clr R3
 04C8 3982              std y+1,R3
 04CA 2882              std y+0,R2
 04CC 25EA              ldi R18,165
 04CE 09E1              ldi R16,25
 04D0 10E0              ldi R17,0
 04D2 0E940000          xcall _Dis_Int
 04D6                   .dbline 438
 04D6           ;                       
 04D6           ;                        if(GetCursor(Start[1]))//显示时间
 04D6 80E0              ldi R24,<_Start+17
 04D8 90E0              ldi R25,>_Start+17
 04DA FE01              movw R30,R28
 04DC 3796              adiw R30,7
 04DE 01E1              ldi R16,17
 04E0 10E0              ldi R17,0
 04E2 FA93              st -y,R31
 04E4 EA93              st -y,R30
 04E6 9A93              st -y,R25
 04E8 8A93              st -y,R24
 04EA 0E940000          xcall asgncblk
 04EE 8E01              movw R16,R28
 04F0 095F              subi R16,249  ; offset = 7
 04F2 1F4F              sbci R17,255
 04F4 0E940000          xcall _GetCursor
 04F8 0023              tst R16
 04FA A1F1              breq L91
 04FC                   .dbline 439
 04FC           ;                       {
 04FC                   .dbline 440
 04FC           ;                           if(Time_flag == 0)
 04FC 20900000          lds R2,_Time_flag
 0500 2220              tst R2
 0502 D1F4              brne L94
 0504                   .dbline 441
 0504           ;                               {
 0504                   .dbline 442
 0504           ;                                   Dis_Rect(100,165,160,50,BLUE);
 0504 83E0              ldi R24,3
 0506 8C83              std y+4,R24
 0508 82E3              ldi R24,50
 050A 8A83              std y+2,R24
 050C 80EA              ldi R24,160
 050E 90E0              ldi R25,0
 0510 9983              std y+1,R25
 0512 8883              std y+0,R24
 0514 25EA              ldi R18,165
 0516 04E6              ldi R16,100
 0518 10E0              ldi R17,0
 051A 0E940000          xcall _Dis_Rect
 051E                   .dbline 443
 051E           ;                                       Time_flag = 1;
 051E 81E0              ldi R24,1
 0520 80930000          sts _Time_flag,R24
 0524                   .dbline 445
 0524           ;                                       
 0524           ;                                       DisTimeAll(100,165,BLACK,BLUE);
 0524 83E0              ldi R24,3
 0526 8A83              std y+2,R24
 0528 2224              clr R2
 052A 2882              std y+0,R2
 052C 25EA              ldi R18,165
 052E 04E6              ldi R16,100
 0530 10E0              ldi R17,0
 0532 0E940000          xcall _DisTimeAll
 0536                   .dbline 446
 0536           ;                               }
 0536 A9C3              xjmp L92
 0538           L94:
 0538                   .dbline 447
 0538           ;                               else if(Time_flag == 1)
 0538 80910000          lds R24,_Time_flag
 053C 8130              cpi R24,1
 053E 09F0              breq X5
 0540 A4C3              xjmp L92
 0542           X5:
 0542                   .dbline 448
 0542           ;                               {
 0542                   .dbline 449
 0542           ;                                   Time_flag = 0;
 0542 2224              clr R2
 0544 20920000          sts _Time_flag,R2
 0548                   .dbline 450
 0548           ;                                       Dis_Rect(100,165,160,50,WHITE); 
 0548 8FEF              ldi R24,255
 054A 8C83              std y+4,R24
 054C 82E3              ldi R24,50
 054E 8A83              std y+2,R24
 0550 80EA              ldi R24,160
 0552 90E0              ldi R25,0
 0554 9983              std y+1,R25
 0556 8883              std y+0,R24
 0558 25EA              ldi R18,165
 055A 04E6              ldi R16,100
 055C 10E0              ldi R17,0
 055E 0E940000          xcall _Dis_Rect
 0562                   .dbline 452
 0562           ;                                       
 0562           ;                               }
 0562                   .dbline 453
 0562           ;                       }
 0562 93C3              xjmp L92
 0564           L91:
 0564                   .dbline 454
 0564           ;                       else if(GetCursor(Start[2]))
 0564 80E0              ldi R24,<_Start+34
 0566 90E0              ldi R25,>_Start+34
 0568 FE01              movw R30,R28
 056A 7896              adiw R30,24
 056C 01E1              ldi R16,17
 056E 10E0              ldi R17,0
 0570 FA93              st -y,R31
 0572 EA93              st -y,R30
 0574 9A93              st -y,R25
 0576 8A93              st -y,R24
 0578 0E940000          xcall asgncblk
 057C 8E01              movw R16,R28
 057E 085E              subi R16,232  ; offset = 24
 0580 1F4F              sbci R17,255
 0582 0E940000          xcall _GetCursor
 0586 0023              tst R16
 0588 19F0              breq L98
 058A                   .dbline 455
 058A           ;                       {
 058A                   .dbline 456
 058A           ;                           Screen_Color(0);
 058A 0027              clr R16
 058C 3EDD              xcall _Screen_Color
 058E                   .dbline 457
 058E           ;                       }
 058E 7DC3              xjmp L99
 0590           L98:
 0590                   .dbline 458
 0590           ;                       else if(GetCursor(Start[0]))
 0590 80E0              ldi R24,<_Start
 0592 90E0              ldi R25,>_Start
 0594 FE01              movw R30,R28
 0596 B996              adiw R30,41
 0598 01E1              ldi R16,17
 059A 10E0              ldi R17,0
 059C FA93              st -y,R31
 059E EA93              st -y,R30
 05A0 9A93              st -y,R25
 05A2 8A93              st -y,R24
 05A4 0E940000          xcall asgncblk
 05A8 8E01              movw R16,R28
 05AA 075D              subi R16,215  ; offset = 41
 05AC 1F4F              sbci R17,255
 05AE 0E940000          xcall _GetCursor
 05B2 0023              tst R16
 05B4 21F0              breq L101
 05B6                   .dbline 459
 05B6           ;                       {
 05B6                   .dbline 461
 05B6           ;                            
 05B6           ;                                Screen_Color(Color_Count);
 05B6 00910000          lds R16,_Color_Count
 05BA 27DD              xcall _Screen_Color
 05BC                   .dbline 462
 05BC           ;                       }
 05BC 66C3              xjmp L102
 05BE           L101:
 05BE                   .dbline 463
 05BE           ;                       else if(GetCursor(Start[4]))
 05BE 80E0              ldi R24,<_Start+68
 05C0 90E0              ldi R25,>_Start+68
 05C2 FE01              movw R30,R28
 05C4 FA96              adiw R30,58
 05C6 01E1              ldi R16,17
 05C8 10E0              ldi R17,0
 05CA FA93              st -y,R31
 05CC EA93              st -y,R30
 05CE 9A93              st -y,R25
 05D0 8A93              st -y,R24
 05D2 0E940000          xcall asgncblk
 05D6 8E01              movw R16,R28
 05D8 065C              subi R16,198  ; offset = 58
 05DA 1F4F              sbci R17,255
 05DC 0E940000          xcall _GetCursor
 05E0 0023              tst R16
 05E2 09F4              brne X6
 05E4 1CC2              xjmp L103
 05E6           X6:
 05E6                   .dbline 464
 05E6           ;                       {
 05E6                   .dbline 466
 05E6           ;                           
 05E6           ;                               Start_Time();
 05E6 55DD              xcall _Start_Time
 05E8                   .dbline 467
 05E8           ;                               cursor.x = 0;
 05E8 2224              clr R2
 05EA 3324              clr R3
 05EC 30920100          sts _cursor+1,R3
 05F0 20920000          sts _cursor,R2
 05F4                   .dbline 468
 05F4           ;                               cursor.y = 0;
 05F4 20920200          sts _cursor+2,R2
 05F8                   .dbline 469
 05F8           ;                               for(i=0;i<14;i++)
 05F8 AA24              clr R10
 05FA BB24              clr R11
 05FC 0AC0              xjmp L110
 05FE           L107:
 05FE                   .dbline 470
 05FE                   .dbline 471
 05FE 80E0              ldi R24,<_time_temp
 0600 90E0              ldi R25,>_time_temp
 0602 F501              movw R30,R10
 0604 E80F              add R30,R24
 0606 F91F              adc R31,R25
 0608 80E2              ldi R24,32
 060A 8083              std z+0,R24
 060C                   .dbline 472
 060C           L108:
 060C                   .dbline 469
 060C C501              movw R24,R10
 060E 0196              adiw R24,1
 0610 5C01              movw R10,R24
 0612           L110:
 0612                   .dbline 469
 0612 C501              movw R24,R10
 0614 8E30              cpi R24,14
 0616 E0E0              ldi R30,0
 0618 9E07              cpc R25,R30
 061A 88F3              brlo L107
 061C FEC1              xjmp L112
 061E           L111:
 061E                   .dbline 475
 061E           ;                               {
 061E           ;                                   time_temp[i] = ' ';
 061E           ;                               }
 061E           ;                               //time_temp[14] = 0;
 061E           ;                               while(1)
 061E           ;                       {
 061E                   .dbline 476
 061E       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -