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

📄 main.lst

📁 这个rt12864的驱动是我自己摸索了很久才做出来的,因为这块液晶的真正权威的能参考的绘图资料真的是太少了,所以我上传上来,算是做点贡献吧
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"main.c"
   2               		.arch atmega16
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	sendbyte
  20               	sendbyte:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LVL0:
  26 0000 482F      		mov r20,r24
  27               	.LM2:
  28 0002 8FEF      		ldi r24,lo8(-1)
  29               	.LVL1:
  30 0004 8ABB      		out 58-0x20,r24
  31               	.LM3:
  32 0006 DB9A      		sbi 59-0x20,3
  33               	.LM4:
  34 0008 D998      		cbi 59-0x20,1
  35 000a 20E0      		ldi r18,lo8(0)
  36 000c 30E0      		ldi r19,hi8(0)
  37               	.LVL2:
  38 000e E1E0      		ldi r30,lo8(1)
  39 0010 F0E0      		ldi r31,hi8(1)
  40               	.LVL3:
  41               	.L2:
  42               	.LM5:
  43 0012 47FF      		sbrs r20,7
  44 0014 00C0      		rjmp .L3
  45               	.LM6:
  46 0016 DA9A      		sbi 59-0x20,2
  47 0018 00C0      		rjmp .L5
  48               	.L3:
  49               	.LM7:
  50 001a DA98      		cbi 59-0x20,2
  51               	.L5:
  52               	.LBB72:
  53               	.LBB73:
  54               	.LBB74:
  55               	.LBB75:
  56               	.LM8:
  57 001c CF01      		movw r24,r30
  58               	.LVL4:
  59               	/* #APP */
  60 001e 0197      		1: sbiw r24,1
  61 0020 01F4      		brne 1b
  62               	/* #NOAPP */
  63               	.LBE75:
  64               	.LBE74:
  65               	.LBE73:
  66               	.LBE72:
  67               	.LM9:
  68 0022 D99A      		sbi 59-0x20,1
  69               	.LM10:
  70 0024 D998      		cbi 59-0x20,1
  71               	.LBB76:
  72               	.LBB77:
  73               	.LBB78:
  74               	.LBB79:
  75               	.LM11:
  76 0026 CF01      		movw r24,r30
  77               	.LVL5:
  78               	/* #APP */
  79 0028 0197      		1: sbiw r24,1
  80 002a 01F4      		brne 1b
  81               	/* #NOAPP */
  82               	.LBE79:
  83               	.LBE78:
  84               	.LBE77:
  85               	.LBE76:
  86               	.LM12:
  87 002c 2F5F      		subi r18,lo8(-(1))
  88 002e 3F4F      		sbci r19,hi8(-(1))
  89 0030 2830      		cpi r18,8
  90 0032 3105      		cpc r19,__zero_reg__
  91 0034 01F0      		breq .L6
  92               	.LM13:
  93 0036 440F      		lsl r20
  94 0038 00C0      		rjmp .L2
  95               	.L6:
  96               	.LM14:
  97 003a DB98      		cbi 59-0x20,3
  98               	/* epilogue: frame size=0 */
  99 003c 0895      		ret
 100               	/* epilogue end (size=1) */
 101               	/* function sendbyte size 35 (34) */
 102               	.LFE6:
 104               	.global	readByte
 106               	readByte:
 107               	.LFB7:
 108               	.LM15:
 109               	/* prologue: frame size=0 */
 110               	/* prologue end (size=0) */
 111               	.LVL6:
 112               	.LM16:
 113 003e 9FEF      		ldi r25,lo8(-1)
 114 0040 9ABB      		out 58-0x20,r25
 115               	.LM17:
 116 0042 0E94 0000 		call sendbyte
 117               	.LVL7:
 118               	.LM18:
 119 0046 DB9A      		sbi 59-0x20,3
 120               	.LM19:
 121 0048 D998      		cbi 59-0x20,1
 122               	.LM20:
 123 004a 8BEF      		ldi r24,lo8(-5)
 124 004c 8ABB      		out 58-0x20,r24
 125 004e 20E0      		ldi r18,lo8(0)
 126 0050 30E0      		ldi r19,hi8(0)
 127               	.LVL8:
 128 0052 60E0      		ldi r22,lo8(0)
 129               	.LVL9:
 130 0054 E0ED      		ldi r30,lo8(2000)
 131 0056 F7E0      		ldi r31,hi8(2000)
 132               	.LVL10:
 133               	.L10:
 134               	.LM21:
 135 0058 D99A      		sbi 59-0x20,1
 136               	.LBB80:
 137               	.LBB81:
 138               	.LBB82:
 139               	.LBB83:
 140               	.LM22:
 141 005a CF01      		movw r24,r30
 142               	.LVL11:
 143               	/* #APP */
 144 005c 0197      		1: sbiw r24,1
 145 005e 01F4      		brne 1b
 146               	/* #NOAPP */
 147               	.LBE83:
 148               	.LBE82:
 149               	.LBE81:
 150               	.LBE80:
 151               	.LM23:
 152 0060 CA99      		sbic 57-0x20,2
 153               	.LM24:
 154 0062 6160      		ori r22,lo8(1)
 155               	.L11:
 156               	.LM25:
 157 0064 660F      		lsl r22
 158               	.LM26:
 159 0066 D998      		cbi 59-0x20,1
 160               	.LBB84:
 161               	.LBB85:
 162               	.LBB86:
 163               	.LBB87:
 164               	.LM27:
 165 0068 CF01      		movw r24,r30
 166               	.LVL12:
 167               	/* #APP */
 168 006a 0197      		1: sbiw r24,1
 169 006c 01F4      		brne 1b
 170               	/* #NOAPP */
 171               	.LBE87:
 172               	.LBE86:
 173               	.LBE85:
 174               	.LBE84:
 175               	.LM28:
 176 006e 2F5F      		subi r18,lo8(-(1))
 177 0070 3F4F      		sbci r19,hi8(-(1))
 178 0072 2730      		cpi r18,7
 179 0074 3105      		cpc r19,__zero_reg__
 180 0076 01F4      		brne .L10
 181               	.LM29:
 182 0078 D99A      		sbi 59-0x20,1
 183               	.LM30:
 184 007a D998      		cbi 59-0x20,1
 185 007c 40E0      		ldi r20,lo8(0)
 186 007e 50E0      		ldi r21,hi8(0)
 187               	.LVL13:
 188 0080 20E0      		ldi r18,lo8(0)
 189               	.LVL14:
 190 0082 E0ED      		ldi r30,lo8(2000)
 191 0084 F7E0      		ldi r31,hi8(2000)
 192               	.LVL15:
 193               	.L14:
 194               	.LM31:
 195 0086 D99A      		sbi 59-0x20,1
 196               	.LBB88:
 197               	.LBB89:
 198               	.LBB90:
 199               	.LBB91:
 200               	.LM32:
 201 0088 CF01      		movw r24,r30
 202               	.LVL16:
 203               	/* #APP */
 204 008a 0197      		1: sbiw r24,1
 205 008c 01F4      		brne 1b
 206               	/* #NOAPP */
 207               	.LBE91:
 208               	.LBE90:
 209               	.LBE89:
 210               	.LBE88:
 211               	.LM33:
 212 008e CA99      		sbic 57-0x20,2
 213               	.LM34:
 214 0090 2160      		ori r18,lo8(1)
 215               	.L15:
 216               	.LM35:
 217 0092 220F      		lsl r18
 218               	.LM36:
 219 0094 D998      		cbi 59-0x20,1
 220               	.LBB92:
 221               	.LBB93:
 222               	.LBB94:
 223               	.LBB95:
 224               	.LM37:
 225 0096 CF01      		movw r24,r30
 226               	.LVL17:
 227               	/* #APP */
 228 0098 0197      		1: sbiw r24,1
 229 009a 01F4      		brne 1b
 230               	/* #NOAPP */
 231               	.LBE95:
 232               	.LBE94:
 233               	.LBE93:
 234               	.LBE92:
 235               	.LM38:
 236 009c 4F5F      		subi r20,lo8(-(1))
 237 009e 5F4F      		sbci r21,hi8(-(1))
 238 00a0 4730      		cpi r20,7
 239 00a2 5105      		cpc r21,__zero_reg__
 240 00a4 01F4      		brne .L14
 241               	.LM39:
 242 00a6 D99A      		sbi 59-0x20,1
 243               	.LM40:
 244 00a8 8FEF      		ldi r24,lo8(-1)
 245               	.LVL18:
 246 00aa 8ABB      		out 58-0x20,r24
 247               	.LM41:
 248 00ac DB98      		cbi 59-0x20,3
 249 00ae 607F      		andi r22,lo8(-16)
 250 00b0 2295      		swap r18
 251 00b2 2F70      		andi r18,0x0f
 252 00b4 262B      		or r18,r22
 253               	.LM42:
 254 00b6 822F      		mov r24,r18
 255 00b8 9927      		clr r25
 256               	/* epilogue: frame size=0 */
 257 00ba 0895      		ret
 258               	/* epilogue end (size=1) */
 259               	/* function readByte size 73 (72) */
 260               	.LFE7:
 262               	.global	busywait
 264               	busywait:
 265               	.LFB8:
 266               	.LM43:
 267               	/* prologue: frame size=0 */
 268               	/* prologue end (size=0) */
 269               	.L25:
 270               	.LM44:
 271 00bc 8CEF      		ldi r24,lo8(-4)
 272 00be 0E94 0000 		call readByte
 273               	.LM45:
 274 00c2 87FD      		sbrc r24,7
 275 00c4 00C0      		rjmp .L25
 276               	/* epilogue: frame size=0 */
 277 00c6 0895      		ret
 278               	/* epilogue end (size=1) */
 279               	/* function busywait size 6 (5) */
 280               	.LFE8:
 282               	.global	wr_comm_lcd
 284               	wr_comm_lcd:
 285               	.LFB9:
 286               	.LM46:
 287               	/* prologue: frame size=0 */
 288 00c8 1F93      		push r17
 289               	/* prologue end (size=1) */
 290               	.LVL19:
 291 00ca 182F      		mov r17,r24
 292               	.LM47:
 293 00cc 88EF      		ldi r24,lo8(-8)
 294               	.LVL20:
 295 00ce 0E94 0000 		call sendbyte
 296               	.LM48:
 297 00d2 812F      		mov r24,r17
 298 00d4 807F      		andi r24,lo8(-16)
 299 00d6 0E94 0000 		call sendbyte
 300               	.LM49:
 301 00da 812F      		mov r24,r17
 302 00dc 8295      		swap r24
 303 00de 807F      		andi r24,0xf0
 304 00e0 0E94 0000 		call sendbyte
 305               	/* epilogue: frame size=0 */
 306 00e4 1F91      		pop r17
 307 00e6 0895      		ret
 308               	/* epilogue end (size=2) */
 309               	/* function wr_comm_lcd size 16 (13) */
 310               	.LFE9:
 312               	.global	wr_data_lcd
 314               	wr_data_lcd:
 315               	.LFB10:
 316               	.LM50:
 317               	/* prologue: frame size=0 */
 318 00e8 1F93      		push r17
 319               	/* prologue end (size=1) */
 320               	.LVL21:
 321 00ea 182F      		mov r17,r24
 322               	.LM51:
 323 00ec 8AEF      		ldi r24,lo8(-6)
 324               	.LVL22:
 325 00ee 0E94 0000 		call sendbyte
 326               	.LM52:
 327 00f2 812F      		mov r24,r17
 328 00f4 807F      		andi r24,lo8(-16)
 329 00f6 0E94 0000 		call sendbyte
 330               	.LM53:
 331 00fa 812F      		mov r24,r17
 332 00fc 8295      		swap r24
 333 00fe 807F      		andi r24,0xf0
 334 0100 0E94 0000 		call sendbyte
 335               	/* epilogue: frame size=0 */
 336 0104 1F91      		pop r17
 337 0106 0895      		ret
 338               	/* epilogue end (size=2) */
 339               	/* function wr_data_lcd size 16 (13) */
 340               	.LFE10:
 342               	.global	init_lcd
 344               	init_lcd:
 345               	.LFB11:
 346               	.LM54:
 347               	/* prologue: frame size=0 */
 348 0108 0F93      		push r16
 349 010a 1F93      		push r17
 350               	/* prologue end (size=2) */
 351               	.LM55:
 352 010c D898      		cbi 59-0x20,0
 353               	.LBB96:
 354               	.LBB97:
 355               	.LBB98:
 356               	.LBB99:
 357               	.LM56:
 358 010e 00ED      		ldi r16,lo8(2000)
 359 0110 17E0      		ldi r17,hi8(2000)
 360 0112 C801      		movw r24,r16
 361               	.LVL23:
 362               	/* #APP */
 363 0114 0197      		1: sbiw r24,1
 364 0116 01F4      		brne 1b
 365               	/* #NOAPP */
 366               	.LBE99:
 367               	.LBE98:
 368               	.LBE97:
 369               	.LBE96:
 370               	.LM57:
 371 0118 D89A      		sbi 59-0x20,0
 372               	.LM58:
 373 011a 8FEF      		ldi r24,lo8(-1)
 374               	.LVL24:
 375 011c 8ABB      		out 58-0x20,r24
 376               	.LM59:
 377 011e 80E3      		ldi r24,lo8(48)
 378 0120 0E94 0000 		call wr_comm_lcd
 379               	.LBB100:
 380               	.LBB101:
 381               	.LBB102:
 382               	.LBB103:
 383               	.LM60:
 384 0124 C801      		movw r24,r16
 385               	.LVL25:
 386               	/* #APP */
 387 0126 0197      		1: sbiw r24,1

⌨️ 快捷键说明

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