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

📄 595_1602_example.lis

📁 ATMEGA8做的595驱动1602
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01A8           ; }
 01A8 E0910100          lds R30,_VPORTBit
 01AC F0910200          lds R31,_VPORTBit+1
 01B0 8081              ldd R24,z+0
 01B2 8F7E              andi R24,239
 01B4 8083              std z+0,R24
 01B6                   .dbline 279
 01B6 79DF              rcall _refreshVirtualPORT
 01B8                   .dbline 279
 01B8                   .dbline 280
 01B8           ; }
 01B8                   .dbline 281
 01B8           ; }
 01B8 E0910100          lds R30,_VPORTBit
 01BC F0910200          lds R31,_VPORTBit+1
 01C0 8081              ldd R24,z+0
 01C2 8062              ori R24,32
 01C4 8083              std z+0,R24
 01C6                   .dbline 281
 01C6 71DF              rcall _refreshVirtualPORT
 01C8                   .dbline 281
 01C8                   .dbline 283
 01C8           ; }
 01C8           ; }
 01C8 80910000          lds R24,_VPORT
 01CC 807F              andi R24,240
 01CE 80930000          sts _VPORT,R24
 01D2                   .dbline 283
 01D2 842F              mov R24,R20
 01D4 8295              swap R24
 01D6 8F70              andi R24,#0x0F
 01D8 20900000          lds R2,_VPORT
 01DC 282A              or R2,R24
 01DE 20920000          sts _VPORT,R2
 01E2                   .dbline 283
 01E2 63DF              rcall _refreshVirtualPORT
 01E4                   .dbline 283
 01E4                   .dbline 285
 01E4           ; }
 01E4           ; }
 01E4 E0910100          lds R30,_VPORTBit
 01E8 F0910200          lds R31,_VPORTBit+1
 01EC 8081              ldd R24,z+0
 01EE 8F7D              andi R24,223
 01F0 8083              std z+0,R24
 01F2                   .dbline 285
 01F2 5BDF              rcall _refreshVirtualPORT
 01F4                   .dbline 285
 01F4                   .dbline 286
 01F4           ; }
 01F4                   .dbline 287
 01F4           ; }
 01F4                   .dbline 288
 01F4           ; }
 01F4 E0910100          lds R30,_VPORTBit
 01F8 F0910200          lds R31,_VPORTBit+1
 01FC 8081              ldd R24,z+0
 01FE 8062              ori R24,32
 0200 8083              std z+0,R24
 0202                   .dbline 288
 0202 53DF              rcall _refreshVirtualPORT
 0204                   .dbline 288
 0204                   .dbline 290
 0204           ; }
 0204           ; }
 0204 80910000          lds R24,_VPORT
 0208 807F              andi R24,240
 020A 80930000          sts _VPORT,R24
 020E                   .dbline 290
 020E 842F              mov R24,R20
 0210 8F70              andi R24,15
 0212 20900000          lds R2,_VPORT
 0216 282A              or R2,R24
 0218 20920000          sts _VPORT,R2
 021C                   .dbline 290
 021C 46DF              rcall _refreshVirtualPORT
 021E                   .dbline 290
 021E                   .dbline 292
 021E           ; }
 021E           ; }
 021E E0910100          lds R30,_VPORTBit
 0222 F0910200          lds R31,_VPORTBit+1
 0226 8081              ldd R24,z+0
 0228 8F7D              andi R24,223
 022A 8083              std z+0,R24
 022C                   .dbline 292
 022C 3EDF              rcall _refreshVirtualPORT
 022E                   .dbline 292
 022E                   .dbline 293
 022E           ; }
 022E                   .dbline 294
 022E           ; }
 022E E0910100          lds R30,_VPORTBit
 0232 F0910200          lds R31,_VPORTBit+1
 0236 8081              ldd R24,z+0
 0238 8F7E              andi R24,239
 023A 8083              std z+0,R24
 023C                   .dbline 294
 023C 36DF              rcall _refreshVirtualPORT
 023E                   .dbline 294
 023E                   .dbline -2
 023E           L34:
 023E 00D0              rcall pop_gset1
 0240                   .dbline 0 ; func end
 0240 0895              ret
 0242                   .dbsym r Command 20 c
 0242                   .dbend
 0242                   .dbfunc e LCDSendData _LCDSendData fV
 0242           ;           Data -> R20
                        .even
 0242           _LCDSendData::
 0242 00D0              rcall push_gset1
 0244 402F              mov R20,R16
 0246                   .dbline -1
 0246                   .dbline 301
 0246           ; }
 0246           ; }
 0246           ; }
 0246           ; }
 0246           ; }
 0246           ; }
 0246           ; }
 0246                   .dbline 302
 0246           ; }
 0246 E0910100          lds R30,_VPORTBit
 024A F0910200          lds R31,_VPORTBit+1
 024E 8081              ldd R24,z+0
 0250 8061              ori R24,16
 0252 8083              std z+0,R24
 0254                   .dbline 302
 0254 2ADF              rcall _refreshVirtualPORT
 0256                   .dbline 302
 0256                   .dbline 303
 0256           ; }
 0256                   .dbline 304
 0256           ; }
 0256 E0910100          lds R30,_VPORTBit
 025A F0910200          lds R31,_VPORTBit+1
 025E 8081              ldd R24,z+0
 0260 8062              ori R24,32
 0262 8083              std z+0,R24
 0264                   .dbline 304
 0264 22DF              rcall _refreshVirtualPORT
 0266                   .dbline 304
 0266                   .dbline 306
 0266           ; }
 0266           ; }
 0266 80910000          lds R24,_VPORT
 026A 807F              andi R24,240
 026C 80930000          sts _VPORT,R24
 0270                   .dbline 306
 0270 842F              mov R24,R20
 0272 8295              swap R24
 0274 8F70              andi R24,#0x0F
 0276 20900000          lds R2,_VPORT
 027A 282A              or R2,R24
 027C 20920000          sts _VPORT,R2
 0280                   .dbline 306
 0280 14DF              rcall _refreshVirtualPORT
 0282                   .dbline 306
 0282                   .dbline 308
 0282           ; }
 0282           ; }
 0282 E0910100          lds R30,_VPORTBit
 0286 F0910200          lds R31,_VPORTBit+1
 028A 8081              ldd R24,z+0
 028C 8F7D              andi R24,223
 028E 8083              std z+0,R24
 0290                   .dbline 308
 0290 0CDF              rcall _refreshVirtualPORT
 0292                   .dbline 308
 0292                   .dbline 309
 0292           ; }
 0292                   .dbline 311
 0292           ; }
 0292           ; }
 0292                   .dbline 312
 0292           ; }
 0292 E0910100          lds R30,_VPORTBit
 0296 F0910200          lds R31,_VPORTBit+1
 029A 8081              ldd R24,z+0
 029C 8062              ori R24,32
 029E 8083              std z+0,R24
 02A0                   .dbline 312
 02A0 04DF              rcall _refreshVirtualPORT
 02A2                   .dbline 312
 02A2                   .dbline 314
 02A2           ; }
 02A2           ; }
 02A2 80910000          lds R24,_VPORT
 02A6 807F              andi R24,240
 02A8 80930000          sts _VPORT,R24
 02AC                   .dbline 314
 02AC 842F              mov R24,R20
 02AE 8F70              andi R24,15
 02B0 20900000          lds R2,_VPORT
 02B4 282A              or R2,R24
 02B6 20920000          sts _VPORT,R2
 02BA                   .dbline 314
 02BA F7DE              rcall _refreshVirtualPORT
 02BC                   .dbline 314
 02BC                   .dbline 316
 02BC           ; }
 02BC           ; }
 02BC E0910100          lds R30,_VPORTBit
 02C0 F0910200          lds R31,_VPORTBit+1
 02C4 8081              ldd R24,z+0
 02C6 8F7D              andi R24,223
 02C8 8083              std z+0,R24
 02CA                   .dbline 316
 02CA EFDE              rcall _refreshVirtualPORT
 02CC                   .dbline 316
 02CC                   .dbline 317
 02CC           ; }
 02CC                   .dbline 318
 02CC           ; }
 02CC E0910100          lds R30,_VPORTBit
 02D0 F0910200          lds R31,_VPORTBit+1
 02D4 8081              ldd R24,z+0
 02D6 8F7E              andi R24,239
 02D8 8083              std z+0,R24
 02DA                   .dbline 318
 02DA E7DE              rcall _refreshVirtualPORT
 02DC                   .dbline 318
 02DC                   .dbline -2
 02DC           L35:
 02DC 00D0              rcall pop_gset1
 02DE                   .dbline 0 ; func end
 02DE 0895              ret
 02E0                   .dbsym r Data 20 c
 02E0                   .dbend
 02E0                   .dbfunc e LCDWaitForReady _LCDWaitForReady fV
                        .even
 02E0           _LCDWaitForReady::
 02E0                   .dbline -1
 02E0                   .dbline 325
 02E0           ; }
 02E0           ; }
 02E0           ; }
 02E0           ; }
 02E0           ; }
 02E0           ; }
 02E0           ; }
 02E0                   .dbline 326
 02E0           ; }
 02E0 0EE1              ldi R16,30
 02E2 10E0              ldi R17,0
 02E4 41DF              rcall _LCDDelayUs
 02E6                   .dbline -2
 02E6           L36:
 02E6                   .dbline 0 ; func end
 02E6 0895              ret
 02E8                   .dbend
 02E8                   .dbfunc e LCDSetXY _LCDSetXY fV
 02E8           ;        Address -> R20
 02E8           ;              Y -> R20
 02E8           ;              X -> R22
                        .even
 02E8           _LCDSetXY::
 02E8 00D0              rcall push_gset2
 02EA 422F              mov R20,R18
 02EC 602F              mov R22,R16
 02EE                   .dbline -1
 02EE                   .dbline 334
 02EE           ; }
 02EE           ; }
 02EE           ; }
 02EE           ; }
 02EE           ; }
 02EE           ; }
 02EE           ; }
 02EE           ; }
 02EE                   .dbline 336
 02EE           ; }
 02EE           ; }
 02EE 4423              tst R20
 02F0 19F4              brne L38
 02F2                   .dbline 337
 02F2           ; }
 02F2                   .dbline 338
 02F2           ; }
 02F2 462F              mov R20,R22
 02F4 4058              subi R20,128    ; addi 128
 02F6                   .dbline 339
 02F6           ; }
 02F6 02C0              rjmp L39
 02F8           L38:
 02F8                   .dbline 341
 02F8           ; }
 02F8           ; }
 02F8                   .dbline 342
 02F8           ; }
 02F8 462F              mov R20,R22
 02FA 4054              subi R20,64    ; addi 192
 02FC                   .dbline 343
 02FC           ; }
 02FC           L39:
 02FC                   .dbline 345
 02FC           ; }
 02FC           ; }
 02FC F1DF              rcall _LCDWaitForReady
 02FE                   .dbline 346
 02FE           ; }
 02FE 042F              mov R16,R20
 0300 51DF              rcall _LCDSendCommand
 0302                   .dbline -2
 0302           L37:
 0302 00D0              rcall pop_gset2
 0304                   .dbline 0 ; func end
 0304 0895              ret
 0306                   .dbsym r Address 20 c
 0306                   .dbsym r Y 20 c
 0306                   .dbsym r X 22 c
 0306                   .dbend
 0306                   .dbfunc e LCDDisplayString _LCDDisplayString fV
 0306           ;         String -> R20,R21
                        .even
 0306           _LCDDisplayString::
 0306 00D0              rcall push_gset1
 0308 A801              movw R20,R16
 030A                   .dbline -1
 030A                   .dbline 353
 030A           ; }
 030A           ; }
 030A           ; }
 030A           ; }
 030A           ; }
 030A           ; }
 030A           ; }
 030A 06C0              rjmp L42
 030C           L41:
 030C                   .dbline 355
 030C                   .dbline 356
 030C E9DF              rcall _LCDWaitForReady
 030E                   .dbline 357
 030E FA01              movw R30,R20
 0310 0081              ldd R16,z+0
 0312 97DF              rcall _LCDSendData
 0314                   .dbline 358
 0314 4F5F              subi R20,255  ; offset = 1
 0316 5F4F              sbci R21,255
 0318                   .dbline 359
 0318           L42:
 0318                   .dbline 354
 0318           ; }
 0318 FA01              movw R30,R20
 031A 2080              ldd R2,z+0
 031C 2220              tst R2
 031E B1F7              brne L41
 0320                   .dbline -2
 0320           L40:
 0320 00D0              rcall pop_gset1
 0322                   .dbline 0 ; func end
 0322 0895              ret
 0324                   .dbsym r String 20 pc
 0324                   .dbend
 0324                   .dbfunc e LCDDisplayNum _LCDDisplayNum fV
 0324           ;              a -> R20
 0324           ;       BitCount -> y+6
 0324           ;            Num -> y+2
                        .even
 0324           _LCDDisplayNum::

⌨️ 快捷键说明

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