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

📄 ocmj815b.lis

📁 OCMJ815触摸屏使用范例
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00CE F001              movw R30,R0
 00D0 E60F              add R30,R22
 00D2 F71F              adc R31,R23
 00D4 0485              ldd R16,z+12
 00D6 005A              subi R16,160
 00D8 93DF              xcall _send
 00DA                   .dbline 115
 00DA 82E0              ldi R24,2
 00DC 849F              mul R24,R20
 00DE F001              movw R30,R0
 00E0 E60F              add R30,R22
 00E2 F71F              adc R31,R23
 00E4 0585              ldd R16,z+13
 00E6 005A              subi R16,160
 00E8 8BDF              xcall _send
 00EA                   .dbline 116
 00EA           L20:
 00EA                   .dbline 111
 00EA 4395              inc R20
 00EC           L22:
 00EC                   .dbline 111
 00EC 4B30              cpi R20,11
 00EE 38F3              brlo L19
 00F0                   .dbline -2
 00F0           L14:
 00F0 2196              adiw R28,1
 00F2 0E940000          xcall pop_gset2
 00F6                   .dbline 0 ; func end
 00F6 0895              ret
 00F8                   .dbsym r i 20 c
 00F8                   .dbsym r chn 22 pc
 00F8                   .dbend
 00F8                   .dbfunc e disp_img _disp_img fV
 00F8           ;              j -> R20
 00F8           ;              i -> R10
 00F8           ;            img -> R22,R23
                        .even
 00F8           _disp_img::
 00F8 0E940000          xcall push_gset3
 00FC B801              movw R22,R16
 00FE 2197              sbiw R28,1
 0100                   .dbline -1
 0100                   .dbline 127
 0100           ;          delay_nus(2);
 0100           ;      clk_set;
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100           ;      clk_clr;
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100           ;      X=ReadFromCharFrom7843();  //读X轴坐标
 0100           ;      WriteCharTo7843(0xD0); //送控制字 11010000 即用差分方式读Y坐标 详细请见有关资料
 0100           ;      clk_set;
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100           ;      clk_clr;
 0100                   .dbline 129
 0100           ;                       asm("nop");
 0100           ;                       asm("nop");
 0100 4FE1              ldi R20,31
 0102 1AC0              xjmp L27
 0104           L24:
 0104                   .dbline 130
 0104           ;                       asm("nop");
 0104                   .dbline 131
 0104           ;      Y=ReadFromCharFrom7843();  //读Y轴坐标
 0104 84E0              ldi R24,4
 0106 A82E              mov R10,R24
 0108 13C0              xjmp L31
 010A           L28:
 010A                   .dbline 132
 010A                   .dbline 133
 010A 4883              std y+0,R20
 010C 2A2D              mov R18,R10
 010E 03EF              ldi R16,243
 0110 81DF              xcall _write
 0112                   .dbline 134
 0112 80E1              ldi R24,16
 0114 849F              mul R24,R20
 0116 F001              movw R30,R0
 0118 E05F              subi R30,240
 011A F140              sbci R31,1
 011C 2A2C              mov R2,R10
 011E 3324              clr R3
 0120 E20D              add R30,R2
 0122 F31D              adc R31,R3
 0124 3497              sbiw R30,4
 0126 E60F              add R30,R22
 0128 F71F              adc R31,R23
 012A 0081              ldd R16,z+0
 012C 69DF              xcall _send
 012E                   .dbline 135
 012E           L29:
 012E                   .dbline 131
 012E A394              inc R10
 0130           L31:
 0130                   .dbline 131
 0130 8A2D              mov R24,R10
 0132 8431              cpi R24,20
 0134 50F3              brlo L28
 0136                   .dbline 136
 0136           L25:
 0136                   .dbline 129
 0136 4395              inc R20
 0138           L27:
 0138                   .dbline 129
 0138 4034              cpi R20,64
 013A 20F3              brlo L24
 013C                   .dbline -2
 013C           L23:
 013C 2196              adiw R28,1
 013E 0E940000          xcall pop_gset3
 0142                   .dbline 0 ; func end
 0142 0895              ret
 0144                   .dbsym r j 20 c
 0144                   .dbsym r i 10 c
 0144                   .dbsym r img 22 pc
 0144                   .dbend
 0144                   .dbfunc e disptouch _disptouch fV
 0144           ;              r -> R20
                        .even
 0144           _disptouch::
 0144 0E940000          xcall push_gset1
 0148 2197              sbiw R28,1
 014A                   .dbline -1
 014A                   .dbline 147
 014A           ;      cs_set;
 014A           ;          DDRB=0X5e;    //ip=1;
 014A           ;          int_set;
 014A           ;          DDRB=0x1e;
 014A           ;     tabx[0]=(X/1000);
 014A           ;     tabx[1]=(X-tabx[0]*1000)/100;
 014A           ;     tabx[2]=(X-tabx[0]*1000-tabx[1]*100)/10;
 014A           ;     tabx[3]=(X-tabx[0]*1000-tabx[1]*100-tabx[2]*10);
 014A           ;     taby[0]=(Y/1000);
 014A           ;     taby[1]=(Y-taby[0]*1000)/100;
 014A           ;     taby[2]=(Y-taby[0]*1000-taby[1]*100)/10;
 014A           ;     taby[3]=(Y-taby[0]*1000-taby[1]*100-taby[2]*10);
 014A           ;    /*   if(X>3000)
 014A           ;         if(Y>2600)
 014A           ;           disp2lines(code1);
 014A           ;       if(X<2500)
 014A                   .dbline 149
 014A           ;         if(X>1600)
 014A           ;            if(Y>2600)
 014A 46E0              ldi R20,6
 014C 10C0              xjmp L36
 014E           L33:
 014E                   .dbline 150
 014E                   .dbline 151
 014E 2224              clr R2
 0150 2882              std y+0,R2
 0152 242F              mov R18,R20
 0154 2C5E              subi R18,236    ; addi 20
 0156 09EF              ldi R16,249
 0158 5DDF              xcall _write
 015A                   .dbline 152
 015A 80E0              ldi R24,<_tabx-6
 015C 90E0              ldi R25,>_tabx-6
 015E E42F              mov R30,R20
 0160 FF27              clr R31
 0162 E80F              add R30,R24
 0164 F91F              adc R31,R25
 0166 0081              ldd R16,z+0
 0168 005D              subi R16,208    ; addi 48
 016A 4ADF              xcall _send
 016C                   .dbline 153
 016C           L34:
 016C                   .dbline 149
 016C 4395              inc R20
 016E           L36:
 016E                   .dbline 149
 016E 4A30              cpi R20,10
 0170 70F3              brlo L33
 0172                   .dbline 154
 0172           ;               disp_img(img);
 0172           ;       if(X<1600)
 0172           ;         if(Y>2600)
 0172           ;            disp1line(code2);
 0172           ;       if(Y<2600)
 0172 4DE0              ldi R20,13
 0174 10C0              xjmp L41
 0176           L38:
 0176                   .dbline 155
 0176                   .dbline 156
 0176 80E1              ldi R24,16
 0178 8883              std y+0,R24
 017A 242F              mov R18,R20
 017C 235F              subi R18,243    ; addi 13
 017E 09EF              ldi R16,249
 0180 49DF              xcall _write
 0182                   .dbline 157
 0182 80E0              ldi R24,<_taby-13
 0184 90E0              ldi R25,>_taby-13
 0186 E42F              mov R30,R20
 0188 FF27              clr R31
 018A E80F              add R30,R24
 018C F91F              adc R31,R25
 018E 0081              ldd R16,z+0
 0190 005D              subi R16,208    ; addi 48
 0192 36DF              xcall _send
 0194                   .dbline 158
 0194           L39:
 0194                   .dbline 154
 0194 4395              inc R20
 0196           L41:
 0196                   .dbline 154
 0196 4131              cpi R20,17
 0198 70F3              brlo L38
 019A                   .dbline -2
 019A           L32:
 019A 2196              adiw R28,1
 019C 0E940000          xcall pop_gset1
 01A0                   .dbline 0 ; func end
 01A0 0895              ret
 01A2                   .dbsym r r 20 c
 01A2                   .dbend
 01A2                   .dbfunc e spi_start _spi_start fV
                        .even
 01A2           _spi_start::
 01A2                   .dbline -1
 01A2                   .dbline 169
 01A2           ;         send(0xf4);
 01A2           ;       */
 01A2           ;       
 01A2           ;       /*
 01A2           ;       if(X>3000)
 01A2           ;         if(Y>3000)
 01A2           ;          {
 01A2           ;           write(0xf1,2,20);
 01A2           ;               send(0x31);      //1
 01A2           ;          }
 01A2           ;        if(X>2000&&X<3000)
 01A2           ;          if(Y>3000)
 01A2           ;            {
 01A2           ;              write(0xf1,2,52);
 01A2           ;                  send(0x32);      //2
 01A2                   .dbline 170
 01A2           ;                }
 01A2 C298              cbi 0x18,2
 01A4                   .dbline 171
 01A4           ;        if(X>1000&&X<2000)
 01A4 C39A              sbi 0x18,3
 01A6                   .dbline 172
 01A6           ;          if(Y>3000)
 01A6 C49A              sbi 0x18,4
 01A8                   .dbline 173
 01A8           ;            {
 01A8 C29A              sbi 0x18,2
 01AA                   .dbline 174
 01AA           ;              write(0xf1,2,84);
 01AA C398              cbi 0x18,3
 01AC                   .dbline -2
 01AC           L43:
 01AC                   .dbline 0 ; func end
 01AC 0895              ret
 01AE                   .dbend
 01AE                   .dbfunc e WriteCharTo7843 _WriteCharTo7843 fV
 01AE           ;          count -> R20
 01AE           ;            num -> R16
                        .even
 01AE           _WriteCharTo7843::
 01AE 0E940000          xcall push_gset1
 01B2                   .dbline -1
 01B2                   .dbline 185
 01B2           ;                  send(0x33);      //3
 01B2           ;                }
 01B2           ;        if(X>0&&X<1000)
 01B2           ;          if(Y>3000)
 01B2           ;            {
 01B2           ;              write(0xf1,2,116);
 01B2           ;                  send(0x34);      //4
 01B2           ;                }               
 01B2           ;                
 01B2           ;                
 01B2           ;       if(X>3000)
 01B2                   .dbline 186
 01B2           ;         if(Y<3000&&Y>2000)
 01B2 4427              clr R20
 01B4                   .dbline 187
 01B4           ;          {
 01B4 C298              cbi 0x18,2
 01B6                   .dbline 188
 01B6           ;           write(0xf1,9,20);
 01B6 0FC0              xjmp L48
 01B8           L45:
 01B8                   .dbline 189
 01B8           ;               send(0x35);      //5
 01B8                   .dbline 190
 01B8           ;          }
 01B8 07FF              sbrs R16,7
 01BA 02C0              rjmp L49
 01BC                   .dbline 191
 01BC           ;        if(X>2000&&X<3000)
 01BC C49A              sbi 0x18,4
 01BE 01C0              xjmp L50

⌨️ 快捷键说明

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