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

📄 12864.lst

📁 基于ATmega16的12864液晶显示源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
FILE: <library>
__text_start:
__start:
    022A E5CF      LDI	R28,0x5F
    022B E0D4      LDI	R29,4
    022C BFCD      OUT	0x3D,R28
    022D BFDE      OUT	0x3E,R29
    022E 51C0      SUBI	R28,0x10
    022F 40D0      SBCI	R29,0
    0230 EA0A      LDI	R16,0xAA
    0231 8308      STD	Y+0,R16
    0232 2400      CLR	R0
    0233 E6E0      LDI	R30,0x60
    0234 E0F0      LDI	R31,0
    0235 E010      LDI	R17,0
    0236 36E0      CPI	R30,0x60
    0237 07F1      CPC	R31,R17
    0238 F011      BEQ	0x023B
    0239 9201      ST	R0,Z+
    023A CFFB      RJMP	0x0236
    023B 8300      STD	Z+0,R16
    023C E5E4      LDI	R30,0x54
    023D E0F4      LDI	R31,4
    023E E6A0      LDI	R26,0x60
    023F E0B0      LDI	R27,0
    0240 E014      LDI	R17,4
    0241 35E4      CPI	R30,0x54
    0242 07F1      CPC	R31,R17
    0243 F021      BEQ	0x0248
    0244 95C8      LPM
    0245 9631      ADIW	R30,1
    0246 920D      ST	R0,X+
    0247 CFF9      RJMP	0x0241
    0248 940E03C6  CALL	_main
_exit:
    024A CFFF      RJMP	_exit
_delay_nms:
  i                    --> R20
  n                    --> R22
    024B 940E03F0  CALL	push_gset2
    024D 01B8      MOVW	R22,R16
    024E 2744      CLR	R20
    024F 2755      CLR	R21
    0250 C003      RJMP	0x0254
    0251 D024      RCALL	_delay_1ms
    0252 5F4F      SUBI	R20,0xFF
    0253 4F5F      SBCI	R21,0xFF
    0254 1746      CP	R20,R22
    0255 0757      CPC	R21,R23
    0256 F3D0      BCS	0x0251
    0257 940E03E1  CALL	pop_gset2
    0259 9508      RET
_delay:
  i                    --> R20
  n                    --> R16
    025A 940E03F2  CALL	push_gset1
    025C 2744      CLR	R20
    025D C002      RJMP	0x0260
    025E 0000      NOP
    025F 9543      INC	R20
    0260 1740      CP	R20,R16
    0261 F3E0      BCS	0x025E
    0262 940E03F5  CALL	pop_gset1
    0264 9508      RET
_delay_1us:
    0265 0000      NOP
    0266 9508      RET
_delay_nus:
  i                    --> R20
  n                    --> R22
    0267 940E03F0  CALL	push_gset2
    0269 01B8      MOVW	R22,R16
    026A 2744      CLR	R20
    026B 2755      CLR	R21
    026C C003      RJMP	0x0270
    026D DFF7      RCALL	_delay_1us
    026E 5F4F      SUBI	R20,0xFF
    026F 4F5F      SBCI	R21,0xFF
    0270 1746      CP	R20,R22
    0271 0757      CPC	R21,R23
    0272 F3D0      BCS	0x026D
    0273 940E03E1  CALL	pop_gset2
    0275 9508      RET
_delay_1ms:
  i                    --> R16
    0276 2700      CLR	R16
    0277 2711      CLR	R17
    0278 C002      RJMP	0x027B
    0279 5F0F      SUBI	R16,0xFF
    027A 4F1F      SBCI	R17,0xFF
    027B 3704      CPI	R16,0x74
    027C E0E4      LDI	R30,4
    027D 071E      CPC	R17,R30
    027E F3D0      BCS	0x0279
    027F 9508      RET
_lcd_out:
  s                    --> Y+1
  i                    --> R20
  send_byte            --> R22
    0280 940E03F0  CALL	push_gset2
    0282 2F60      MOV	R22,R16
    0283 2744      CLR	R20
    0284 C009      RJMP	0x028E
    0285 FD67      SBRC	R22,7
    0286 C002      RJMP	0x0289
    0287 98D9      CBI	0x1B,1
    0288 C001      RJMP	0x028A
    0289 9AD9      SBI	0x1B,1
    028A 98DB      CBI	0x1B,3
    028B 9ADB      SBI	0x1B,3
    028C 0F66      LSL	R22
    028D 9543      INC	R20
    028E 3048      CPI	R20,0x8
    028F F3A8      BCS	0x0285
    0290 E000      LDI	R16,0
    0291 DFC8      RCALL	_delay
    0292 940E03E1  CALL	pop_gset2
    0294 9508      RET
_WR_dat:
  s                    --> R20
  dat                  --> R22
    0295 940E03F0  CALL	push_gset2
    0297 2F60      MOV	R22,R16
    0298 2F46      MOV	R20,R22
    0299 7F40      ANDI	R20,0xF0
    029A EF0A      LDI	R16,0xFA
    029B DFE4      RCALL	_lcd_out
    029C 2F04      MOV	R16,R20
    029D DFE2      RCALL	_lcd_out
    029E 2F46      MOV	R20,R22
    029F 704F      ANDI	R20,0xF
    02A0 2F84      MOV	R24,R20
    02A1 708F      ANDI	R24,0xF
    02A2 9582      SWAP	R24
    02A3 2F48      MOV	R20,R24
    02A4 2F08      MOV	R16,R24
    02A5 DFDA      RCALL	_lcd_out
    02A6 940E03E1  CALL	pop_gset2
    02A8 9508      RET
_WR_control:
  s                    --> R20
  dat                  --> R22
    02A9 940E03F0  CALL	push_gset2
    02AB 2F60      MOV	R22,R16
    02AC 2F46      MOV	R20,R22
    02AD 7F40      ANDI	R20,0xF0
    02AE EF08      LDI	R16,0xF8
    02AF DFD0      RCALL	_lcd_out
    02B0 2F04      MOV	R16,R20
    02B1 DFCE      RCALL	_lcd_out
    02B2 2F46      MOV	R20,R22
    02B3 704F      ANDI	R20,0xF
    02B4 2F84      MOV	R24,R20
    02B5 708F      ANDI	R24,0xF
    02B6 9582      SWAP	R24
    02B7 2F48      MOV	R20,R24
    02B8 2F08      MOV	R16,R24
    02B9 DFC6      RCALL	_lcd_out
    02BA 940E03E1  CALL	pop_gset2
    02BC 9508      RET
_lcd_control:
    02BD E300      LDI	R16,0x30
    02BE DFEA      RCALL	_WR_control
    02BF E00C      LDI	R16,0xC
    02C0 DFE8      RCALL	_WR_control
    02C1 9508      RET
_lcd_clear:
  i                    --> R20
    02C2 940E03F2  CALL	push_gset1
    02C4 E001      LDI	R16,1
    02C5 DFE3      RCALL	_WR_control
    02C6 2744      CLR	R20
    02C7 2755      CLR	R21
    02C8 0000      NOP
    02C9 0000      NOP
    02CA 5F4F      SUBI	R20,0xFF
    02CB 4F5F      SBCI	R21,0xFF
    02CC 3848      CPI	R20,0x88
    02CD E1E3      LDI	R30,0x13
    02CE 075E      CPC	R21,R30
    02CF F3C4      BLT	0x02C8
    02D0 940E03F5  CALL	pop_gset1
    02D2 9508      RET
_LCD_address:
  address              --> R20
  y                    --> R22
  x                    --> R20
    02D3 940E03F0  CALL	push_gset2
    02D5 2F62      MOV	R22,R18
    02D6 2F40      MOV	R20,R16
    02D7 2755      CLR	R21
    02D8 3040      CPI	R20,0
    02D9 0745      CPC	R20,R21
    02DA F069      BEQ	0x02E8
    02DB 3041      CPI	R20,1
    02DC E0E0      LDI	R30,0
    02DD 075E      CPC	R21,R30
    02DE F061      BEQ	0x02EB
    02DF 3042      CPI	R20,2
    02E0 E0E0      LDI	R30,0
    02E1 075E      CPC	R21,R30
    02E2 F059      BEQ	0x02EE
    02E3 3043      CPI	R20,3
    02E4 E0E0      LDI	R30,0
    02E5 075E      CPC	R21,R30
    02E6 F051      BEQ	0x02F1
    02E7 C00C      RJMP	0x02F4
    02E8 2F46      MOV	R20,R22
    02E9 5840      SUBI	R20,0x80
    02EA C00B      RJMP	0x02F6
    02EB 2F46      MOV	R20,R22
    02EC 5740      SUBI	R20,0x70
    02ED C008      RJMP	0x02F6
    02EE 2F46      MOV	R20,R22
    02EF 5748      SUBI	R20,0x78
    02F0 C005      RJMP	0x02F6
    02F1 2F46      MOV	R20,R22
    02F2 5648      SUBI	R20,0x68
    02F3 C002      RJMP	0x02F6
    02F4 2F46      MOV	R20,R22
    02F5 5840      SUBI	R20,0x80
    02F6 2F04      MOV	R16,R20
    02F7 DFB1      RCALL	_WR_control
    02F8 940E03E1  CALL	pop_gset2
    02FA 9508      RET
_LCD_Write_string:
  s                    --> R20
  Y                    --> R10
  X                    --> R22
    02FB 940E03EE  CALL	push_gset3
    02FD 2EA2      MOV	R10,R18
    02FE 2F60      MOV	R22,R16
    02FF 814E      LDD	R20,Y+6
    0300 815F      LDD	R21,Y+7
    0301 2D2A      MOV	R18,R10
    0302 2F06      MOV	R16,R22
    0303 DFCF      RCALL	_LCD_address
    0304 C005      RJMP	0x030A
    0305 01FA      MOVW	R30,R20
    0306 8100      LDD	R16,Z+0
    0307 DF8D      RCALL	_WR_dat
    0308 5F4F      SUBI	R20,0xFF
    0309 4F5F      SBCI	R21,0xFF
    030A 01FA      MOVW	R30,R20
    030B 8020      LDD	R2,Z+0
    030C 2022      TST	R2
    030D F7B9      BNE	0x0305
    030E 940E03E4  CALL	pop_gset3
    0310 9508      RET
_BCD_ASCII:
  bcd                  --> R16
    0311 700F      ANDI	R16,0xF
    0312 E089      LDI	R24,0x9
    0313 1780      CP	R24,R16
    0314 F410      BCC	0x0317
    0315 5C09      SUBI	R16,0xC9
    0316 C001      RJMP	0x0318
    0317 5D00      SUBI	R16,0xD0
    0318 9508      RET

⌨️ 快捷键说明

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