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

📄 1602.lst

📁 基于mega64的lcd1602驱动
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"1602.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__tmp_reg__ = 0
   6               	__zero_reg__ = 1
   7               		.global __do_copy_data
   8               		.global __do_clear_bss
  16               	.Ltext0:
  17               	.global	lcd_busy
  19               	lcd_busy:
  20               	.LFB7:
  21               	.LM1:
  22               	/* prologue: frame size=0 */
  23               	/* prologue end (size=0) */
  24               	.LM2:
  25 0000 12B8      		out 34-0x20,__zero_reg__
  26               	.LM3:
  27 0002 C19A      		sbi 56-0x20,1
  28               	.LM4:
  29 0004 C098      		cbi 56-0x20,0
  30               	.L2:
  31               	.LM5:
  32 0006 C298      		cbi 56-0x20,2
  33               	.LM6:
  34 0008 C29A      		sbi 56-0x20,2
  35 000a C29A      		sbi 56-0x20,2
  36 000c C29A      		sbi 56-0x20,2
  37 000e C29A      		sbi 56-0x20,2
  38               	.LM7:
  39 0010 0F99      		sbic 33-0x20,7
  40 0012 00C0      		rjmp .L2
  41               	.LM8:
  42 0014 8FEF      		ldi r24,lo8(-1)
  43 0016 82B9      		out 34-0x20,r24
  44               	/* epilogue: frame size=0 */
  45 0018 0895      		ret
  46               	/* epilogue end (size=1) */
  47               	/* function lcd_busy size 13 (12) */
  48               	.LFE7:
  50               	.global	lcd_wrcmd
  52               	lcd_wrcmd:
  53               	.LFB8:
  54               	.LM9:
  55               	/* prologue: frame size=0 */
  56 001a 1F93      		push r17
  57               	/* prologue end (size=1) */
  58               	.LVL0:
  59 001c 182F      		mov r17,r24
  60               	.LM10:
  61 001e 6623      		tst r22
  62 0020 01F0      		breq .L8
  63               	.LVL1:
  64               	.LM11:
  65 0022 0E94 0000 		call lcd_busy
  66               	.LVL2:
  67 0026 00C0      		rjmp .L10
  68               	.LVL3:
  69               	.L8:
  70               	.LBB48:
  71               	.LBB49:
  72               	.LBB50:
  73               	.LBB51:
  74               	.LM12:
  75 0028 8AE6      		ldi r24,lo8(106)
  76               	.LVL4:
  77               	/* #APP */
  78 002a 8A95      		1: dec r24
  79 002c 01F4      		brne 1b
  80               	/* #NOAPP */
  81               	.L10:
  82               	.LBE51:
  83               	.LBE50:
  84               	.LBE49:
  85               	.LBE48:
  86               	.LM13:
  87 002e C098      		cbi 56-0x20,0
  88 0030 C198      		cbi 56-0x20,1
  89               	.LM14:
  90 0032 13B9      		out 35-0x20,r17
  91               	.LM15:
  92 0034 C29A      		sbi 56-0x20,2
  93 0036 C298      		cbi 56-0x20,2
  94               	/* epilogue: frame size=0 */
  95 0038 1F91      		pop r17
  96 003a 0895      		ret
  97               	/* epilogue end (size=2) */
  98               	/* function lcd_wrcmd size 19 (16) */
  99               	.LFE8:
 101               	.global	lcd_wrdata
 103               	lcd_wrdata:
 104               	.LFB9:
 105               	.LM16:
 106               	/* prologue: frame size=0 */
 107 003c 1F93      		push r17
 108               	/* prologue end (size=1) */
 109               	.LVL5:
 110 003e 182F      		mov r17,r24
 111               	.LM17:
 112 0040 0E94 0000 		call lcd_busy
 113               	.LVL6:
 114               	.LM18:
 115 0044 C198      		cbi 56-0x20,1
 116 0046 C09A      		sbi 56-0x20,0
 117               	.LM19:
 118 0048 13B9      		out 35-0x20,r17
 119               	.LM20:
 120 004a C29A      		sbi 56-0x20,2
 121 004c C298      		cbi 56-0x20,2
 122               	/* epilogue: frame size=0 */
 123 004e 1F91      		pop r17
 124 0050 0895      		ret
 125               	/* epilogue end (size=2) */
 126               	/* function lcd_wrdata size 11 (8) */
 127               	.LFE9:
 129               	.global	lcd_xy
 131               	lcd_xy:
 132               	.LFB10:
 133               	.LM21:
 134               	/* prologue: frame size=0 */
 135               	/* prologue end (size=0) */
 136               	.LVL7:
 137               	.LM22:
 138 0052 6623      		tst r22
 139 0054 01F4      		brne .L15
 140               	.LM23:
 141 0056 8058      		subi r24,lo8(-(-128))
 142               	.LVL8:
 143 0058 00C0      		rjmp .L17
 144               	.LVL9:
 145               	.L15:
 146               	.LM24:
 147 005a 8054      		subi r24,lo8(-(-64))
 148               	.LVL10:
 149               	.L17:
 150               	.LM25:
 151 005c 61E0      		ldi r22,lo8(1)
 152               	.LVL11:
 153 005e 0E94 0000 		call lcd_wrcmd
 154               	.LVL12:
 155               	/* epilogue: frame size=0 */
 156 0062 0895      		ret
 157               	/* epilogue end (size=1) */
 158               	/* function lcd_xy size 9 (8) */
 159               	.LFE10:
 161               	.global	lcd_char
 163               	lcd_char:
 164               	.LFB11:
 165               	.LM26:
 166               	/* prologue: frame size=0 */
 167 0064 1F93      		push r17
 168               	/* prologue end (size=1) */
 169               	.LVL13:
 170 0066 142F      		mov r17,r20
 171               	.LM27:
 172 0068 0E94 0000 		call lcd_xy
 173               	.LVL14:
 174               	.LM28:
 175 006c 812F      		mov r24,r17
 176 006e 0E94 0000 		call lcd_wrdata
 177               	/* epilogue: frame size=0 */
 178 0072 1F91      		pop r17
 179 0074 0895      		ret
 180               	/* epilogue end (size=2) */
 181               	/* function lcd_char size 9 (6) */
 182               	.LFE11:
 184               	.global	lcd_string
 186               	lcd_string:
 187               	.LFB12:
 188               	.LM29:
 189               	/* prologue: frame size=0 */
 190 0076 CF93      		push r28
 191 0078 DF93      		push r29
 192               	/* prologue end (size=2) */
 193               	.LVL15:
 194 007a EA01      		movw r28,r20
 195               	.LM30:
 196 007c 0E94 0000 		call lcd_xy
 197               	.LVL16:
 198 0080 00C0      		rjmp .L22
 199               	.L23:
 200               	.LM31:
 201 0082 0E94 0000 		call lcd_wrdata
 202               	.LM32:
 203 0086 2196      		adiw r28,1
 204               	.L22:
 205               	.LM33:
 206 0088 8881      		ld r24,Y
 207 008a 8823      		tst r24
 208 008c 01F4      		brne .L23
 209               	/* epilogue: frame size=0 */
 210 008e DF91      		pop r29
 211 0090 CF91      		pop r28
 212 0092 0895      		ret
 213               	/* epilogue end (size=3) */
 214               	/* function lcd_string size 15 (10) */
 215               	.LFE12:
 217               	.global	lcd_cls
 219               	lcd_cls:
 220               	.LFB13:
 221               	.LM34:
 222               	/* prologue: frame size=0 */
 223               	/* prologue end (size=0) */
 224               	.LM35:
 225 0094 61E0      		ldi r22,lo8(1)
 226 0096 81E0      		ldi r24,lo8(1)
 227 0098 0E94 0000 		call lcd_wrcmd
 228               	.LBB52:
 229               	.LBB53:
 230               	.LBB54:
 231               	.LBB55:
 232               	.LM36:
 233 009c 80E2      		ldi r24,lo8(20000)
 234 009e 9EE4      		ldi r25,hi8(20000)
 235               	.LVL17:
 236               	/* #APP */
 237 00a0 0197      		1: sbiw r24,1
 238 00a2 01F4      		brne 1b
 239               	/* #NOAPP */
 240               	.LBE55:
 241               	.LBE54:
 242               	.LBE53:
 243               	.LBE52:
 244               	/* epilogue: frame size=0 */
 245 00a4 0895      		ret
 246               	/* epilogue end (size=1) */
 247               	/* function lcd_cls size 11 (10) */
 248               	.LFE13:
 250               	.global	lcd_init
 252               	lcd_init:
 253               	.LFB14:
 254               	.LM37:
 255               	/* prologue: frame size=0 */
 256 00a6 0F93      		push r16
 257 00a8 1F93      		push r17
 258               	/* prologue end (size=2) */
 259               	.LM38:
 260 00aa 8FEF      		ldi r24,lo8(-1)
 261 00ac 87BB      		out 55-0x20,r24
 262               	.LM39:
 263 00ae 82B9      		out 34-0x20,r24
 264               	.LBB56:
 265               	.LBB57:
 266               	.LBB58:
 267               	.LBB59:
 268               	.LM40:
 269 00b0 80E3      		ldi r24,lo8(30000)
 270 00b2 95E7      		ldi r25,hi8(30000)
 271               	.LVL18:
 272               	/* #APP */
 273 00b4 0197      		1: sbiw r24,1

⌨️ 快捷键说明

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