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

📄 12864.lis

📁 atmega128串行操作lcd12864
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01DC 02C0              xjmp L57
 01DE           L56:
 01DE                   .dbline 141
 01DE           ;   else
 01DE           ;       {SID_CLE;}
 01DE                   .dbline 141
 01DE 149A              sbi 0x2,4
 01E0                   .dbline 141
 01E0 1C98              cbi 0x3,4
 01E2                   .dbline 141
 01E2           L57:
 01E2                   .dbline 142
 01E2           ; delay_us(1);
 01E2 01E0              ldi R16,1
 01E4 10E0              ldi R17,0
 01E6 21DF              xcall _delay_us
 01E8                   .dbline 143
 01E8           ;  SCLK_SET;//时钟总线拉高,数据传送给显示屏
 01E8 159A              sbi 0x2,5
 01EA                   .dbline 143
 01EA 1D9A              sbi 0x3,5
 01EC                   .dbline 144
 01EC           ;  delay_us(10);
 01EC 0AE0              ldi R16,10
 01EE 10E0              ldi R17,0
 01F0 1CDF              xcall _delay_us
 01F2                   .dbline 145
 01F2           ;  SCLK_CLE;
 01F2 159A              sbi 0x2,5
 01F4                   .dbline 145
 01F4 1D98              cbi 0x3,5
 01F6                   .dbline 146
 01F6           ;  delay_us(3);
 01F6 03E0              ldi R16,3
 01F8 10E0              ldi R17,0
 01FA 17DF              xcall _delay_us
 01FC                   .dbline 147
 01FC           ;  date=date<<1;//高位先发
 01FC 440F              lsl R20
 01FE                   .dbline 148
 01FE           ; }
 01FE           L53:
 01FE                   .dbline 136
 01FE 6395              inc R22
 0200           L55:
 0200                   .dbline 136
 0200 6830              cpi R22,8
 0202 30F3              brlo L52
 0204           X15:
 0204                   .dbline 149
 0204           ; CS_CLE;  
 0204 139A              sbi 0x2,3
 0206                   .dbline 149
 0206 1B98              cbi 0x3,3
 0208                   .dbline 150
 0208           ; delay_us(15); 
 0208 0FE0              ldi R16,15
 020A 10E0              ldi R17,0
 020C 0EDF              xcall _delay_us
 020E                   .dbline -2
 020E           L39:
 020E                   .dbline 0 ; func end
 020E 0C940000          xjmp pop_xgsetF00C
 0212                   .dbsym r i 22 c
 0212                   .dbsym r date 20 c
 0212                   .dbsym r dat 10 c
 0212                   .dbend
 0212                   .dbfunc e Lcd_putsachar _Lcd_putsachar fV
 0212           ;            dat -> R10
 0212           ;              y -> R20
 0212           ;              x -> R12
                        .even
 0212           _Lcd_putsachar::
 0212 0E940000          xcall push_xgsetF03C
 0216 422F              mov R20,R18
 0218 C02E              mov R12,R16
 021A A884              ldd R10,y+8
 021C                   .dbline -1
 021C                   .dbline 155
 021C           ; }
 021C           ;  
 021C           ; //在指定的位置显示一个字母
 021C           ; void Lcd_putsachar(unsigned char x,unsigned char y,unsigned char dat)
 021C           ; {
 021C                   .dbline 156
 021C           ; switch(x)
 021C 6C2D              mov R22,R12
 021E 7727              clr R23
 0220 6030              cpi R22,0
 0222 6707              cpc R22,R23
 0224 69F0              breq L62
 0226           X16:
 0226 6130              cpi R22,1
 0228 E0E0              ldi R30,0
 022A 7E07              cpc R23,R30
 022C 79F0              breq L63
 022E           X17:
 022E 6230              cpi R22,2
 0230 E0E0              ldi R30,0
 0232 7E07              cpc R23,R30
 0234 89F0              breq L64
 0236           X18:
 0236 6330              cpi R22,3
 0238 E0E0              ldi R30,0
 023A 7E07              cpc R23,R30
 023C 99F0              breq L65
 023E           X19:
 023E 17C0              xjmp L59
 0240           L62:
 0240                   .dbline 159
 0240           ;     {
 0240           ;       case 0:
 0240           ;          Write_Command(0x80);
 0240 00E8              ldi R16,128
 0242 1BDF              xcall _Write_Command
 0244                   .dbline 160
 0244           ;          Write_Command(0x80+y);
 0244 042F              mov R16,R20
 0246 0058              subi R16,128    ; addi 128
 0248 18DF              xcall _Write_Command
 024A                   .dbline 161
 024A           ;          break;
 024A 11C0              xjmp L60
 024C           L63:
 024C                   .dbline 163
 024C           ;       case 1:
 024C           ;          Write_Command(0x90);
 024C 00E9              ldi R16,144
 024E 15DF              xcall _Write_Command
 0250                   .dbline 164
 0250           ;          Write_Command(0x90+y);
 0250 042F              mov R16,R20
 0252 0057              subi R16,112    ; addi 144
 0254 12DF              xcall _Write_Command
 0256                   .dbline 165
 0256           ;          break;
 0256 0BC0              xjmp L60
 0258           L64:
 0258                   .dbline 167
 0258           ;       case 2:
 0258           ;          Write_Command(0x88);
 0258 08E8              ldi R16,136
 025A 0FDF              xcall _Write_Command
 025C                   .dbline 168
 025C           ;          Write_Command(0x88+y);
 025C 042F              mov R16,R20
 025E 0857              subi R16,120    ; addi 136
 0260 0CDF              xcall _Write_Command
 0262                   .dbline 169
 0262           ;          break;
 0262 05C0              xjmp L60
 0264           L65:
 0264                   .dbline 171
 0264           ;       case 3:
 0264           ;          Write_Command(0x98);
 0264 08E9              ldi R16,152
 0266 09DF              xcall _Write_Command
 0268                   .dbline 172
 0268           ;          Write_Command(0x98+y);
 0268 042F              mov R16,R20
 026A 0856              subi R16,104    ; addi 152
 026C 06DF              xcall _Write_Command
 026E                   .dbline 173
 026E           ;          break;
 026E           L59:
 026E           L60:
 026E                   .dbline 175
 026E           ;        }
 026E           ; Write_one_char(dat);//写数据
 026E 0A2D              mov R16,R10
 0270 6ADF              xcall _Write_one_char
 0272                   .dbline -2
 0272           L58:
 0272                   .dbline 0 ; func end
 0272 0C940000          xjmp pop_xgsetF03C
 0276                   .dbsym r dat 10 c
 0276                   .dbsym r y 20 c
 0276                   .dbsym r x 12 c
 0276                   .dbend
 0276                   .dbfunc e Lcd_puts_any _Lcd_puts_any fV
 0276           ;              i -> R10
 0276           ;              p -> R12,R13
 0276           ;              y -> R20
 0276           ;              x -> R14
                        .even
 0276           _Lcd_puts_any::
 0276 0E940000          xcall push_xgsetF0FC
 027A 422F              mov R20,R18
 027C E02E              mov R14,R16
 027E CA84              ldd R12,y+10
 0280 DB84              ldd R13,y+11
 0282                   .dbline -1
 0282                   .dbline 179
 0282           ; }
 0282           ; //从指定的位置开始显示汉字或字符
 0282           ; void Lcd_puts_any(unsigned char x,unsigned char y,unsigned char *p)
 0282           ; {
 0282                   .dbline 180
 0282           ; unsigned char i=0;
 0282 AA24              clr R10
 0284                   .dbline 181
 0284           ; switch(x)
 0284 6E2D              mov R22,R14
 0286 7727              clr R23
 0288 6030              cpi R22,0
 028A 6707              cpc R22,R23
 028C 69F0              breq L70
 028E           X20:
 028E 6130              cpi R22,1
 0290 E0E0              ldi R30,0
 0292 7E07              cpc R23,R30
 0294 79F0              breq L71
 0296           X21:
 0296 6230              cpi R22,2
 0298 E0E0              ldi R30,0
 029A 7E07              cpc R23,R30
 029C 89F0              breq L72
 029E           X22:
 029E 6330              cpi R22,3
 02A0 E0E0              ldi R30,0
 02A2 7E07              cpc R23,R30
 02A4 99F0              breq L73
 02A6           X23:
 02A6 17C0              xjmp L67
 02A8           L70:
 02A8                   .dbline 184
 02A8           ;     {
 02A8           ;       case 0:
 02A8           ;          Write_Command(0x80);
 02A8 00E8              ldi R16,128
 02AA E7DE              xcall _Write_Command
 02AC                   .dbline 185
 02AC           ;          Write_Command(0x80+y);
 02AC 042F              mov R16,R20
 02AE 0058              subi R16,128    ; addi 128
 02B0 E4DE              xcall _Write_Command
 02B2                   .dbline 186
 02B2           ;          break;
 02B2 11C0              xjmp L68
 02B4           L71:
 02B4                   .dbline 188
 02B4           ;       case 1:
 02B4           ;          Write_Command(0x90);
 02B4 00E9              ldi R16,144
 02B6 E1DE              xcall _Write_Command
 02B8                   .dbline 189
 02B8           ;          Write_Command(0x90+y);
 02B8 042F              mov R16,R20
 02BA 0057              subi R16,112    ; addi 144
 02BC DEDE              xcall _Write_Command
 02BE                   .dbline 190
 02BE           ;          break;
 02BE 0BC0              xjmp L68
 02C0           L72:
 02C0                   .dbline 192
 02C0           ;       case 2:
 02C0           ;          Write_Command(0x88);
 02C0 08E8              ldi R16,136
 02C2 DBDE              xcall _Write_Command
 02C4                   .dbline 193
 02C4           ;          Write_Command(0x88+y);
 02C4 042F              mov R16,R20
 02C6 0857              subi R16,120    ; addi 136
 02C8 D8DE              xcall _Write_Command
 02CA                   .dbline 194
 02CA           ;          break;
 02CA 05C0              xjmp L68
 02CC           L73:
 02CC                   .dbline 196
 02CC           ;       case 3:
 02CC           ;          Write_Command(0x98);
 02CC 08E9              ldi R16,152
 02CE D5DE              xcall _Write_Command
 02D0                   .dbline 197
 02D0           ;          Write_Command(0x98+y);
 02D0 042F              mov R16,R20
 02D2 0856              subi R16,104    ; addi 152
 02D4 D2DE              xcall _Write_Command
 02D6                   .dbline 198
 02D6           ;          break;
 02D6           L67:
 02D6           L68:
 02D6                   .dbline 200
 02D6           ;        }
 02D6           ; for(i=0;p[i]!='\0';i++)
 02D6 AA24              clr R10
 02D8 07C0              xjmp L77
 02DA           L74:
 02DA                   .dbline 201
 02DA           ;       {
 02DA                   .dbline 202
 02DA           ;               Write_one_char(p[i]);
 02DA EA2D              mov R30,R10
 02DC FF27              clr R31
 02DE EC0D              add R30,R12
 02E0 FD1D              adc R31,R13
 02E2 0081              ldd R16,z+0
 02E4 30DF              xcall _Write_one_char
 02E6                   .dbline 203
 02E6           ;       }
 02E6           L75:
 02E6                   .dbline 200
 02E6 A394              inc R10
 02E8           L77:
 02E8                   .dbline 200
 02E8 EA2D              mov R30,R10
 02EA FF27              clr R31
 02EC EC0D              add R30,R12
 02EE FD1D              adc R31,R13
 02F0 2080              ldd R2,z+0
 02F2 2220              tst R2
 02F4 91F7              brne L74
 02F6           X24:
 02F6                   .dbline -2
 02F6           L66:
 02F6                   .dbline 0 ; func end
 02F6 0C940000          xjmp pop_xgsetF0FC
 02FA                   .dbsym r i 10 c
 02FA                   .dbsym r p 12 pc
 02FA                   .dbsym r y 20 c
 02FA                   .dbsym r x 14 c
 02FA                   .dbend
 02FA           ; }
 02FA           ;  

⌨️ 快捷键说明

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