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

📄 min.lis

📁 用ICC-AVR编译器编译M16单片机适用的LCD12232液晶屏驱动程序.
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0198                   .dbline 169
 0198           ; {
 0198           ;  PORTA = 0x00;
 0198           L44:
 0198                   .dbline 0 ; func end
 0198 62CF              xjmp _wcoder
 019A                   .dbend
 019A                   .dbfunc e displaystring _displaystring fV
 019A           ;              w -> R14
 019A           ;              j -> R22
 019A           ;              z -> R10
 019A           ;              i -> R20
 019A           ;        onechar -> y+16
 019A           ;              y -> y+14
 019A           ;              x -> y+12
                        .even
 019A           _displaystring::
 019A 0E940000          xcall push_arg4
 019E 0E940000          xcall push_gset5
 01A2 2297              sbiw R28,2
 01A4                   .dbline -1
 01A4                   .dbline 171
 01A4           ;  DDRA  = 0x00;
 01A4           ;  PORTB = 0x00;
 01A4                   .dbline 172
 01A4           ;  DDRB  = 0x00;
 01A4 4427              clr R20
 01A6                   .dbline 172
 01A6 AA24              clr R10
 01A8                   .dbline 172
 01A8 6627              clr R22
 01AA                   .dbline 173
 01AA           ;  PORTC = 0x00; //m103 output only
 01AA EE84              ldd R14,y+14
 01AC                   .dbline 174
 01AC           ;  DDRC  = 0x00;
 01AC 8CE3              ldi R24,60
 01AE 0E2C              mov R0,R14
 01B0 8E15              cp R24,R14
 01B2 08F0              brlo X8
 01B4 53C0              xjmp L46
 01B6           X8:
 01B6                   .dbline 175
 01B6           ;  PORTD = 0x00;
 01B6                   .dbline 176
 01B6           ;  DDRD  = 0x00;
 01B6 802D              mov R24,R0
 01B8 8D53              subi R24,61
 01BA 8E87              std y+14,R24
 01BC                   .dbline 177
 01BC           ;  DDRA  = 0x80;
 01BC 282F              mov R18,R24
 01BE 0C85              ldd R16,y+12
 01C0 B2DF              xcall _addressr
 01C2 45C0              xjmp L49
 01C4           L48:
 01C4                   .dbline 179
 01C4           ;  PORTA = 0x80;
 01C4           ; }
 01C4                   .dbline 180
 01C4           ; 
 01C4 4427              clr R20
 01C6 3AC0              xjmp L54
 01C8           L51:
 01C8                   .dbline 181
 01C8                   .dbline 181
 01C8 20900000          lds R2,_b1
 01CC 2220              tst R2
 01CE 21F4              brne L55
 01D0                   .dbline 181
 01D0                   .dbline 181
 01D0 81E4              ldi R24,65
 01D2 80930100          sts _pianyi,R24
 01D6                   .dbline 181
 01D6 1EC0              xjmp L56
 01D8           L55:
 01D8                   .dbline 181
 01D8                   .dbline 181
 01D8 CA2C              mov R12,R10
 01DA DD24              clr R13
 01DC C601              movw R24,R12
 01DE 8330              cpi R24,3
 01E0 E0E0              ldi R30,0
 01E2 9E07              cpc R25,R30
 01E4 49F0              breq L60
 01E6 8430              cpi R24,4
 01E8 E0E0              ldi R30,0
 01EA 9E07              cpc R25,R30
 01EC 51F0              breq L61
 01EE 8530              cpi R24,5
 01F0 E0E0              ldi R30,0
 01F2 9E07              cpc R25,R30
 01F4 59F0              breq L62
 01F6 0EC0              xjmp L57
 01F8           X0:
 01F8                   .dbline 181
 01F8           L60:
 01F8                   .dbline 181
 01F8 20900500          lds R2,_sz3
 01FC 20920100          sts _pianyi,R2
 0200                   .dbline 181
 0200 09C0              xjmp L58
 0202           L61:
 0202                   .dbline 181
 0202 20900600          lds R2,_sz4
 0206 20920100          sts _pianyi,R2
 020A                   .dbline 181
 020A 04C0              xjmp L58
 020C           L62:
 020C                   .dbline 181
 020C           ; //call this routine to initialise all peripherals
 020C 20900700          lds R2,_sz5
 0210 20920100          sts _pianyi,R2
 0214                   .dbline 181
 0214           L57:
 0214           L58:
 0214                   .dbline 181
 0214           L56:
 0214                   .dbline 182
 0214 20900100          lds R2,_pianyi
 0218 E889              ldd R30,y+16
 021A F989              ldd R31,y+17
 021C 3080              ldd R3,z+0
 021E 3218              sub R3,R2
 0220 80E2              ldi R24,32
 0222 839D              mul R24,R3
 0224 1001              movw R2,R0
 0226 80E0              ldi R24,<_chartable
 0228 90E0              ldi R25,>_chartable
 022A 280E              add R2,R24
 022C 391E              adc R3,R25
 022E E42F              mov R30,R20
 0230 FF27              clr R31
 0232 E20D              add R30,R2
 0234 F31D              adc R31,R3
 0236 0491              lpm R16,Z
 0238 29DF              xcall _wdatar
 023A                   .dbline 182
 023A           L52:
 023A                   .dbline 180
 023A 4395              inc R20
 023C           L54:
 023C                   .dbline 180
 023C 4031              cpi R20,16
 023E 08F4              brsh X9
 0240 C3CF              xjmp L51
 0242           X9:
 0242                   .dbline 183
 0242 8889              ldd R24,y+16
 0244 9989              ldd R25,y+17
 0246 0196              adiw R24,1
 0248 998B              std y+17,R25
 024A 888B              std y+16,R24
 024C                   .dbline 184
 024C A394              inc R10
 024E                   .dbline 185
 024E           L49:
 024E                   .dbline 178
 024E E889              ldd R30,y+16
 0250 F989              ldd R31,y+17
 0252 8081              ldd R24,z+0
 0254 8A30              cpi R24,10
 0256 09F0              breq X10
 0258 B5CF              xjmp L48
 025A           X10:
 025A                   .dbline 186
 025A           ; void init_devices(void)
 025A           ; {
 025A           ;  //stop errant interrupts until set up
 025A           ;  CLI(); //disable all interrupts
 025A           ;  port_init();
 025A A3C0              xjmp L47
 025C           L46:
 025C                   .dbline 188
 025C           ;  lcdinit();
 025C           ;  MCUCR = 0x00;
 025C                   .dbline 189
 025C           ;  GICR  = 0x00;
 025C 2E85              ldd R18,y+14
 025E 0C85              ldd R16,y+12
 0260 56DF              xcall _addressl
 0262                   .dbline 190
 0262           ;  TIMSK = 0x00; //timer interrupt sources
 0262 2DEF              ldi R18,253
 0264 0C85              ldd R16,y+12
 0266 5FDF              xcall _addressr
 0268 4AC0              xjmp L64
 026A           L63:
 026A                   .dbline 193
 026A           ;  SEI(); //re-enable interrupts
 026A           ;  //all peripherals are now initialised
 026A           ; }
 026A                   .dbline 194
 026A           ; 
 026A 4427              clr R20
 026C 3AC0              xjmp L69
 026E           L66:
 026E                   .dbline 195
 026E                   .dbline 195
 026E 20900000          lds R2,_b1
 0272 2220              tst R2
 0274 21F4              brne L70
 0276                   .dbline 195
 0276                   .dbline 195
 0276 81E4              ldi R24,65
 0278 80930100          sts _pianyi,R24
 027C                   .dbline 195
 027C 1EC0              xjmp L71
 027E           L70:
 027E                   .dbline 195
 027E                   .dbline 195
 027E CA2C              mov R12,R10
 0280 DD24              clr R13
 0282 CC20              tst R12
 0284 11F4              brne X1
 0286 DD20              tst R13
 0288 51F0              breq L75
 028A           X1:
 028A C601              movw R24,R12
 028C 8130              cpi R24,1
 028E E0E0              ldi R30,0
 0290 9E07              cpc R25,R30
 0292 51F0              breq L76
 0294 8230              cpi R24,2
 0296 E0E0              ldi R30,0
 0298 9E07              cpc R25,R30
 029A 59F0              breq L77
 029C 0EC0              xjmp L72
 029E           X2:
 029E                   .dbline 195
 029E           L75:
 029E                   .dbline 195
 029E 20900200          lds R2,_sz0
 02A2 20920100          sts _pianyi,R2
 02A6                   .dbline 195
 02A6 09C0              xjmp L73
 02A8           L76:
 02A8                   .dbline 195
 02A8 20900300          lds R2,_sz1
 02AC 20920100          sts _pianyi,R2
 02B0                   .dbline 195
 02B0 04C0              xjmp L73
 02B2           L77:
 02B2                   .dbline 195
 02B2           ; //
 02B2 20900400          lds R2,_sz2
 02B6 20920100          sts _pianyi,R2
 02BA                   .dbline 195
 02BA           L72:
 02BA           L73:
 02BA                   .dbline 195
 02BA           L71:
 02BA                   .dbline 196
 02BA 20900100          lds R2,_pianyi
 02BE E889              ldd R30,y+16
 02C0 F989              ldd R31,y+17
 02C2 3080              ldd R3,z+0
 02C4 3218              sub R3,R2
 02C6 80E2              ldi R24,32
 02C8 839D              mul R24,R3
 02CA 1001              movw R2,R0
 02CC 80E0              ldi R24,<_chartable
 02CE 90E0              ldi R25,>_chartable
 02D0 280E              add R2,R24
 02D2 391E              adc R3,R25
 02D4 E42F              mov R30,R20
 02D6 FF27              clr R31
 02D8 E20D              add R30,R2
 02DA F31D              adc R31,R3
 02DC 0491              lpm R16,Z
 02DE A7DE              xcall _wdatal
 02E0                   .dbline 196
 02E0           L67:
 02E0                   .dbline 194
 02E0 4395              inc R20
 02E2           L69:
 02E2                   .dbline 194
 02E2 4031              cpi R20,16
 02E4 08F4              brsh X11
 02E6 C3CF              xjmp L66
 02E8           X11:
 02E8                   .dbline 197
 02E8           ; void main(void)
 02E8           ; {
 02E8 8889              ldd R24,y+16
 02EA 9989              ldd R25,y+17
 02EC 0196              adiw R24,1
 02EE 998B              std y+17,R25
 02F0 888B              std y+16,R24
 02F2                   .dbline 198
 02F2           ;  init_devices();
 02F2 A394              inc R10
 02F4                   .dbline 199
 02F4           ;  displaystring(0,13,string0);
 02F4 6395              inc R22
 02F6                   .dbline 200
 02F6           ;  displaystring(2,13,string1);
 02F6 82E0              ldi R24,2
 02F8 8617              cp R24,R22
 02FA 08F4              brsh L78
 02FC                   .dbline 200
 02FC 4CC0              xjmp L81
 02FE           L78:
 02FE                   .dbline 201
 02FE           L64:
 02FE                   .dbline 192
 02FE E889              ldd R30,y+16
 0300 F989              ldd R31,y+17
 0302 8081              ldd R24,z+0
 0304 8A30              cpi R24,10
 0306 09F0              breq X12
 0308 B0CF              xjmp L63
 030A           X12:
 030A 45C0              xjmp L81
 030C           L80:
 030C                   .dbline 204
 030C           ;  while(1){;}
 030C           ; 
 030C           ; }
 030C           ; 
 030C                   .dbline 205
 030C           ; 
 030C 4427              clr R20
 030E 3AC0              xjmp L86
 0310           L83:
 0310                   .dbline 206
 0310                   .dbline 206
 0310 20900000          lds R2,_b1
 0314 2220              tst R2
 0316 21F4              brne L87
 0318                   .dbline 206
 0318                   .dbline 206
 0318 81E4              ldi R24,65
 031A 80930100          sts _pianyi,R24
 031E                   .dbline 206
 031E 1EC0              xjmp L88
 0320           L87:
 0320                   .dbline 206
 0320                   .dbline 206

⌨️ 快捷键说明

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