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

📄 input.lis

📁 已经上传的YF-320240-3.5寸彩屏(可由单片机控制)的测试程序。主CPU为MEGA128
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0014 5802              .word `L122
 0016 7F02              .word `L128
 0018 CD02              .word `L141
 001A F202              .word `L60
 001C A602              .word `L135
                        .area text(rom, con, rel)
 0060                   .dbfile F:\Relations\sf6_system\measure\LCDtest\input.c
 0060           ;           temp -> R10
 0060           ;              i -> R20,R21
                        .even
 0060           _Input_Data::
 0060 0E940000          xcall push_gset3
 0064 6897              sbiw R28,24
 0066                   .dbline -1
 0066                   .dbline 47
 0066           ;           }
 0066           ;       
 0066           ;       
 0066           ; }
 0066           ; //从显示屏输入口中得到一个数据
 0066           ; 
 0066           ; void Input_Data(void)
 0066           ; {   
 0066                   .dbline 50
 0066           ;     unsigned int i;
 0066           ;       unsigned char temp;
 0066           ;       for(i=0;i<9;i++)
 0066 4427              clr R20
 0068 5527              clr R21
 006A 09C0              xjmp L38
 006C           L35:
 006C                   .dbline 51
 006C                   .dbline 52
 006C 80E0              ldi R24,<_input_buffer
 006E 90E0              ldi R25,>_input_buffer
 0070 FA01              movw R30,R20
 0072 E80F              add R30,R24
 0074 F91F              adc R31,R25
 0076 80E2              ldi R24,32
 0078 8083              std z+0,R24
 007A                   .dbline 53
 007A           L36:
 007A                   .dbline 50
 007A 4F5F              subi R20,255  ; offset = 1
 007C 5F4F              sbci R21,255
 007E           L38:
 007E                   .dbline 50
 007E 4930              cpi R20,9
 0080 E0E0              ldi R30,0
 0082 5E07              cpc R21,R30
 0084 98F3              brlo L35
 0086                   .dbline 54
 0086           ;       {
 0086           ;           input_buffer[i]= ' ';
 0086           ;       }
 0086           ;       input_buffer[9]= 0;
 0086 2224              clr R2
 0088 20920900          sts _input_buffer+9,R2
 008C                   .dbline 55
 008C           ;     Dis_Rect(20,20,280,200,BLUE);//画一个外框
 008C 83E0              ldi R24,3
 008E 8C83              std y+4,R24
 0090 88EC              ldi R24,200
 0092 8A83              std y+2,R24
 0094 88E1              ldi R24,280
 0096 91E0              ldi R25,1
 0098 9983              std y+1,R25
 009A 8883              std y+0,R24
 009C 24E1              ldi R18,20
 009E 04E1              ldi R16,20
 00A0 10E0              ldi R17,0
 00A2 0E940000          xcall _Dis_Rect
 00A6                   .dbline 56
 00A6           ;       Dis_Rect(80,50,150,26,WHITE);//画一个输入框
 00A6 8FEF              ldi R24,255
 00A8 8C83              std y+4,R24
 00AA 8AE1              ldi R24,26
 00AC 8A83              std y+2,R24
 00AE 86E9              ldi R24,150
 00B0 90E0              ldi R25,0
 00B2 9983              std y+1,R25
 00B4 8883              std y+0,R24
 00B6 22E3              ldi R18,50
 00B8 00E5              ldi R16,80
 00BA 10E0              ldi R17,0
 00BC 0E940000          xcall _Dis_Rect
 00C0                   .dbline 57
 00C0           ;       Dis_Menu(Key_Data,Key_Data_size);
 00C0 2FE0              ldi R18,15
 00C2 00E0              ldi R16,<_Key_Data
 00C4 10E0              ldi R17,>_Key_Data
 00C6 0E940000          xcall _Dis_Menu
 00CA                   .dbline 58
 00CA           ;       cursor.x = cursor.y = 0;
 00CA 2224              clr R2
 00CC 20920200          sts _cursor+2,R2
 00D0 3324              clr R3
 00D2 30920100          sts _cursor+1,R3
 00D6 20920000          sts _cursor,R2
 00DA                   .dbline 59
 00DA           ;       cursor.flag = 0;
 00DA 20920600          sts _cursor+6,R2
 00DE                   .dbline 60
 00DE           ;       Display(80,50,input_buffer,BIG,RED,WHITE);
 00DE 8FEF              ldi R24,255
 00E0 8E83              std y+6,R24
 00E2 80EE              ldi R24,224
 00E4 8C83              std y+4,R24
 00E6 81E0              ldi R24,1
 00E8 8A83              std y+2,R24
 00EA 80E0              ldi R24,<_input_buffer
 00EC 90E0              ldi R25,>_input_buffer
 00EE 9983              std y+1,R25
 00F0 8883              std y+0,R24
 00F2 22E3              ldi R18,50
 00F4 00E5              ldi R16,80
 00F6 10E0              ldi R17,0
 00F8 0E940000          xcall _Display
 00FC 73C2              xjmp L43
 00FE           L42:
 00FE                   .dbline 62
 00FE           ;       while(1)
 00FE           ;       {
 00FE                   .dbline 63
 00FE           ;           if(cursor.flag == 1)
 00FE 80910600          lds R24,_cursor+6
 0102 8130              cpi R24,1
 0104 09F0              breq X3
 0106 6EC2              xjmp L45
 0108           X3:
 0108                   .dbline 64
 0108           ;               {    
 0108                   .dbline 65
 0108           ;                    cursor.flag = 0;
 0108 2224              clr R2
 010A 20920600          sts _cursor+6,R2
 010E                   .dbline 66
 010E           ;              for(i = 0;i<Key_Data_size;i++)
 010E 4427              clr R20
 0110 5527              clr R21
 0112 1EC0              xjmp L52
 0114           L49:
 0114                   .dbline 67
 0114           ;                    {
 0114                   .dbline 68
 0114           ;                            if(GetCursor(Key_Data[i]))
 0114 01E1              ldi R16,17
 0116 10E0              ldi R17,0
 0118 9A01              movw R18,R20
 011A 0E940000          xcall empy16s
 011E 1801              movw R2,R16
 0120 80E0              ldi R24,<_Key_Data
 0122 90E0              ldi R25,>_Key_Data
 0124 280E              add R2,R24
 0126 391E              adc R3,R25
 0128 CE01              movw R24,R28
 012A 0796              adiw R24,7
 012C 01E1              ldi R16,17
 012E 10E0              ldi R17,0
 0130 9A93              st -y,R25
 0132 8A93              st -y,R24
 0134 3A92              st -y,R3
 0136 2A92              st -y,R2
 0138 0E940000          xcall asgncblk
 013C 8E01              movw R16,R28
 013E 095F              subi R16,249  ; offset = 7
 0140 1F4F              sbci R17,255
 0142 5EDF              xcall _GetCursor
 0144 0023              tst R16
 0146 11F0              breq L53
 0148                   .dbline 69
 0148           ;                                { 
 0148                   .dbline 70
 0148           ;                                   temp=i;
 0148 A42E              mov R10,R20
 014A                   .dbline 71
 014A           ;                                       break;
 014A 06C0              xjmp L51
 014C           L53:
 014C                   .dbline 73
 014C           L50:
 014C                   .dbline 66
 014C 4F5F              subi R20,255  ; offset = 1
 014E 5F4F              sbci R21,255
 0150           L52:
 0150                   .dbline 66
 0150 4F30              cpi R20,15
 0152 E0E0              ldi R30,0
 0154 5E07              cpc R21,R30
 0156 F0F2              brlo L49
 0158           L51:
 0158                   .dbline 74
 0158           ;                                }
 0158           ;                        }
 0158           ;                        if(i!=temp)
 0158 2A2C              mov R2,R10
 015A 3324              clr R3
 015C 4215              cp R20,R2
 015E 5305              cpc R21,R3
 0160 09F0              breq L55
 0162                   .dbline 75
 0162           ;                        {
 0162                   .dbline 76
 0162           ;                          continue;
 0162 40C2              xjmp L43
 0164           L55:
 0164                   .dbline 78
 0164           ;                        }
 0164           ;                        if(i == 13)
 0164 4D30              cpi R20,13
 0166 E0E0              ldi R30,0
 0168 5E07              cpc R21,R30
 016A 09F4              brne L57
 016C                   .dbline 79
 016C           ;                        {   
 016C                   .dbline 81
 016C           ;                            
 016C           ;                            break;
 016C 3CC2              xjmp L44
 016E           L57:
 016E                   .dbline 84
 016E           ;                        }
 016E           ;                        //if(temp==12) temp=15;
 016E           ;                        switch (temp)
 016E 6A2D              mov R22,R10
 0170 7727              clr R23
 0172 6030              cpi R22,0
 0174 E0E0              ldi R30,0
 0176 7E07              cpc R23,R30
 0178 0CF4              brge X4
 017A 34C2              xjmp L60
 017C           X4:
 017C 8EE0              ldi R24,14
 017E 90E0              ldi R25,0
 0180 8617              cp R24,R22
 0182 9707              cpc R25,R23
 0184 0CF4              brge X5
 0186 2EC2              xjmp L60
 0188           X5:
 0188 02E0              ldi R16,2
 018A 10E0              ldi R17,0
 018C 9B01              movw R18,R22
 018E 0E940000          xcall empy16s
 0192 F801              movw R30,R16
 0194 80E0              ldi R24,<L146
 0196 90E0              ldi R25,>L146
 0198 E80F              add R30,R24
 019A F91F              adc R31,R25
 019C 0790              elpm R0,Z+
 019E 1690              elpm R1,Z
 01A0 F001              movw R30,R0
 01A2 0994              ijmp
 01A4           X0:
 01A4                   .dbline 85
 01A4           ;                        {
 01A4           L62:
 01A4                   .dbline 86
 01A4           ;                            case 0: for(i = 0;i<8;i++)
 01A4 4427              clr R20
 01A6 5527              clr R21
 01A8 0DC0              xjmp L66
 01AA           L63:
 01AA                   .dbline 87
 01AA                   .dbline 88
 01AA 80E0              ldi R24,<_input_buffer
 01AC 90E0              ldi R25,>_input_buffer
 01AE FA01              movw R30,R20
 01B0 3196              adiw R30,1
 01B2 E80F              add R30,R24
 01B4 F91F              adc R31,R25
 01B6 2080              ldd R2,z+0
 01B8 FA01              movw R30,R20
 01BA E80F              add R30,R24
 01BC F91F              adc R31,R25
 01BE 2082              std z+0,R2
 01C0                   .dbline 89
 01C0           L64:
 01C0                   .dbline 86
 01C0 4F5F              subi R20,255  ; offset = 1
 01C2 5F4F              sbci R21,255
 01C4           L66:
 01C4                   .dbline 86
 01C4 4830              cpi R20,8
 01C6 E0E0              ldi R30,0
 01C8 5E07              cpc R21,R30
 01CA 78F3              brlo L63
 01CC                   .dbline 90
 01CC           ;                                        {
 01CC           ;                                                    input_buffer[i] = input_buffer[i+1];
 01CC           ;                                                }
 01CC           ;                                                input_buffer[8] = '1';
 01CC 81E3              ldi R24,49
 01CE 80930800          sts _input_buffer+8,R24
 01D2                   .dbline 91
 01D2           ;                                                Display(80,50,input_buffer,BIG,RED,WHITE);
 01D2 8FEF              ldi R24,255
 01D4 8E83              std y+6,R24
 01D6 80EE              ldi R24,224
 01D8 8C83              std y+4,R24
 01DA 81E0              ldi R24,1
 01DC 8A83              std y+2,R24
 01DE 80E0              ldi R24,<_input_buffer
 01E0 90E0              ldi R25,>_input_buffer
 01E2 9983              std y+1,R25
 01E4 8883              std y+0,R24
 01E6 22E3              ldi R18,50
 01E8 00E5              ldi R16,80
 01EA 10E0              ldi R17,0
 01EC 0E940000          xcall _Display
 01F0                   .dbline 92
 01F0           ;                                        break;
 01F0 F9C1              xjmp L60

⌨️ 快捷键说明

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