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

📄 main.s

📁 LCD彩显驱动 nokia 6100 LCD
💻 S
📖 第 1 页 / 共 5 页
字号:
	sbrs R3,7
	rjmp L143
	.dbline 214
	.dbline 215
; 	DDRD=0xff;
	movw R16,R2
	rcall _RGBToChar
	.dbline 216
; 
	movw R18,R22
	movw R16,R20
	rcall _point
	.dbline 217
; 
L143:
	.dbline 218
;     csh;
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 219
; 	NOP();
	.dbline 220
; 	csl;//sbi(GLCD_CTRL_PORT, GLCD_CE_);
L139:
	.dbline 221
	lds R2,_glcd_Clip
	clr R3
	cp R10,R2
	cpc R11,R3
	brsh L145
	.dbline 221
	.dbline 221
	rjmp L129
L145:
	.dbline 221
; 	restl;
	.dbline 222
	lds R2,_glcd_Clip+2
	clr R3
	cp R2,R10
	cpc R3,R11
	brsh L147
	.dbline 222
	.dbline 222
	mov R10,R2
	clr R11
	.dbline 222
	rjmp L148
L147:
	.dbline 222
; 	glcdn_Delay(60000);
	.dbline 223
; 	resth;//sbi(GLCD_CTRL_PORT, GLCD_RES_);
	lds R2,_cfg
	lds R3,_cfg+1
	sbrs R3,7
	rjmp L151
	.dbline 223
	.dbline 224
; 	glcdn_Delay(60000);
	movw R16,R2
	rcall _RGBToChar
	.dbline 225
; 	sclkh;//sbi(GLCD_SER_PORT, GLCD_SCLK);
	movw R18,R22
	movw R16,R10
	rcall _point
	.dbline 226
; 	sdatah;//sbi(GLCD_SER_PORT, GLCD_MOSI);
L151:
	.dbline 227
; 	csh;
	movw R24,R10
	sbiw R24,1
	movw R10,R24
	.dbline 228
; glcdn_Delay(60000);
L148:
	.dbline 229
; 
	.dbline 230
; 	
	cp R10,R20
	cpc R11,R21
	brlo L155
	ldi R24,1
	ldi R25,0
	movw R12,R24
	rjmp L156
L155:
	clr R12
	clr R13
L156:
	lds R24,_cbk
	lds R25,_cbk+1
	andi R24,0
	andi R25,128
	ldd R2,y+15
	clr R3
	and R2,R24
	and R3,R25
	and R2,R12
	and R3,R13
	tst R2
	brne X7
	tst R3
	breq L153
X7:
	.dbline 230
	.dbline 231
; 	glcdn_WriteCommand(0x82);
	lds R16,_cbk
	lds R17,_cbk+1
	rcall _RGBToChar
	.dbline 232
; 	glcdn_WriteData(1);
	std y+2,R22
	std y+0,R10
	mov R18,R22
	mov R16,R20
	rcall _glcdDoFillRect
	.dbline 233
; 	glcdn_WriteData(0);
L153:
	.dbline 234
L130:
	.dbline -2
	.dbline 235
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
L129:
	adiw R28,3
	rcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym l fill 15 c
	.dbsym r y 22 i
	.dbsym r x2 10 i
	.dbsym r x1 20 i
	.dbend
	.dbfunc e glcdCircle _glcdCircle fV
;              r -> y+8
;              y -> R22
;              x -> R20
	.even
_glcdCircle::
	rcall push_gset2
	mov R22,R18
	mov R20,R16
	sbiw R28,4
	.dbline -1
	.dbline 237
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
	.dbline 239
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
	ldd R2,y+8
	clr R3
	std y+3,R3
	std y+2,R2
	clr R3
	std y+1,R3
	std y+0,R2
	mov R18,R22
	clr R19
	mov R16,R20
	clr R17
	rcall _glcdEllipse
	.dbline -2
	.dbline 240
; 	glcdn_WriteData(0);
L157:
	adiw R28,4
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym l r 8 c
	.dbsym r y 22 c
	.dbsym r x 20 c
	.dbend
	.dbfunc e glcdEllipse _glcdEllipse fV
;             bb -> y+15
;             aa -> y+20
;           fill -> y+19
;             xe -> R14,R15
;             xs -> y+17
;             ye -> R10,R11
;             er -> y+11
;             ys -> R12,R13
;             ir -> y+7
;             cr -> y+3
;              b -> y+38
;              a -> R10
;              y -> y+34
;              x -> y+32
	.even
_glcdEllipse::
	rcall push_arg4
	rcall push_gset5
	sbiw R28,22
	ldd R10,y+36
	.dbline -1
	.dbline 242
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
	.dbline 247
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
; 	glcdn_WriteData(0);
; 	
	clr R0
	inc R0
	std y+19,R0
	.dbline 248
; glcdn_WriteCommand(0xD1);
	tst R10
	brne L161
	ldi R24,1
	ldi R25,0
	movw R14,R24
	rjmp L162
L161:
	clr R14
	clr R15
L162:
	ldd R0,y+38
	tst R0
	brne L163
	ldi R24,1
	ldi R25,0
	movw R12,R24
	rjmp L164
L163:
	clr R12
	clr R13
L164:
	movw R2,R14
	or R2,R12
	or R3,R13
	tst R2
	brne X9
	tst R3
	breq L159
X9:
	.dbline 248
	.dbline 248
	rjmp L158
L159:
	.dbline 249
; glcdn_WriteCommand(0x94);
	ldi R24,180
	cp R24,R10
	brsh L167
	ldi R24,1
	ldi R25,0
	movw R14,R24
	rjmp L168
L167:
	clr R14
	clr R15
L168:
	ldi R24,180
	ldd R0,y+38
	cp R24,R0
	brsh L169
	ldi R24,1
	ldi R25,0
	movw R12,R24
	rjmp L170
L169:
	clr R12
	clr R13
L170:
	movw R2,R14
	or R2,R12
	or R3,R13
	tst R2
	brne X10
	tst R3
	breq L165
X10:
	.dbline 249
	.dbline 250
; 
	lds R2,_cbk
	lds R3,_cbk+1
	sbrs R3,7
	rjmp L158
	.dbline 250
	.dbline 251
; 
	movw R16,R2
	rcall _RGBToChar
	.dbline 252
; 
	ldi R24,131
	std y+2,R24
	std y+0,R24
	clr R18
	clr R16
	rcall _glcdFillRect
	.dbline 253
; glcdn_WriteCommand(0xA9);
	.dbline 254
; 
	rjmp L158
L165:
	.dbline 257
; glcdn_WriteCommand(0xCA);
; glcdn_WriteData(0b00001111);	
; glcdn_WriteData(0b00100000);	
	mul R10,R10
	std y+21,R1
	std y+20,R0
	.dbline 258
; glcdn_WriteData(0b00001111);	
	ldd R0,y+38
	mov R16,R0
	mul R0,R16
	std y+16,R1
	std y+15,R0
	.dbline 261
; glcdn_WriteData(0b00000001);	
; 
; glcdn_WriteCommand(0x20);
	movw R2,R0
	asr R3
	ror R2
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	std z+3,R2
	std z+4,R3
	std z+5,R4
	std z+6,R5
	.dbline 262
; glcdn_WriteData(0b00001111);	
	mov R2,R10
	clr R3
	mov R24,R2
	clr R25
	add R24,R2
	adc R25,R3
	sbiw R24,1
	movw R2,R24
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	ldd R6,z+3
	ldd R7,z+4
	ldd R8,z+5
	ldd R9,z+6
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	movw R16,R6
	movw R18,R8
	rcall empy32s
	movw R30,R28
	std z+3,R16
	std z+4,R17
	std z+5,R18
	std z+6,R19
	.dbline 263
; 
	ldd R2,y+20
	ldd R3,y+21
	asr R3
	ror R2
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	std z+7,R2
	std z+8,R3
	std z+9,R4
	std z+10,R5
	.dbline 264
; glcdn_WriteCommand(0x81);
	movw R30,R28
	ldd R16,z+7
	ldd R17,z+8
	ldd R18,z+9
	ldd R19,z+10
	rcall neg32
	movw R30,R28
	std z+7,R16
	std z+8,R17
	std z+9,R18
	std z+10,R19
	.dbline 265
; glcdn_WriteData(0b00001111);
	ldi R20,0
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	std z+11,R20
	std z+12,R21
	std z+13,R22
	std z+14,R23
	.dbline 267
; glcdn_WriteData(0b00000101);
; 
	ldd R2,y+32
	clr R3
	std y+18,R3
	std y+17,R2
	.dbline 268
; 	
	mov R2,R10
	clr R3
	ldd R0,y+17
	ldd R1,y+18
	sub R0,R2
	sbc R1,R3
	std y+18,R1
	std y+17,R0
	.dbline 269
; 	glcdn_WriteCommand(0xA7);
	ldd R14,y+32
	clr R15
	.dbline 270
; 	glcdn_WriteCommand(0xBC);
	clr R3
	add R14,R2
	adc R15,R3
	.dbline 271
; 		glcdn_WriteData(0b00000101);
	ldd R12,y+34
	clr R13
	.dbline 272
; 			glcdn_WriteData(0x00);
	mov R10,R12
	clr R11
	rjmp L174
L173:
	.dbline 273
; 				glcdn_WriteData(0b00000100);
	.dbline 274
; 	//glcdn_WriteCommand(0x12);
	ldi R24,1
	std y+2,R24
	std y+1,R13
	std y+0,R12
	movw R18,R14
	ldd R16,y+17
	ldd R17,y+18
	rcall _glcdDoPixelLine
	.dbline 275
; 	//glcdn_WriteCommand(GLCD_BSTRON);
	cp R12,R10
	cpc R13,R11
	breq L176
	.dbline 275
	.dbline 276
; 	glcdn_Delay(50000);
	ldi R24,1
	std y+2,R24
	std y+1,R11
	std y+0,R10
	movw R18,R14
	ldd R16,y+17
	ldd R17,y+18
	rcall _glcdDoPixelLine
	.dbline 277
; 	
L176:
	.dbline 278
; 	/*
	movw R24,R12
	sbiw R24,1
	movw R12,R24
	.dbline 279
; glcdn_WriteCommand(0x75);
	movw R24,R10
	adiw R24,1
	movw R10,R24
	.dbline 280
; glcdn_WriteData(1);
	ldd R2,y+20
	ldd R3,y+21
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	ldd R6,z+7
	ldd R7,z+8
	ldd R8,z+9
	ldd R9,z+10
	add R6,R2
	adc R7,R3
	adc R8,R4
	adc R9,R5
	movw R30,R28
	std z+7,R6
	std z+8,R7
	std z+9,R8
	std z+10,R9
	.dbline 281
; glcdn_WriteData(129);
	movw R30,R28
	ldd R2,z+7
	ldd R3,z+8
	ldd R4,z+9
	ldd R5,z+10
	movw R30,R28
	ldd R6,z+11
	ldd R7,z+12
	ldd R8,z+13
	ldd R9,z+14
	add R6,R2
	adc R7,R3
	adc R8,R4
	adc R9,R5
	movw R30,R28
	std z+11,R6
	std z+12,R7
	std z+13,R8
	std z+14,R9
	.dbline 282
; glcdn_WriteCommand(0x15);
	movw R30,R28
	ldd R2,z+11
	ldd R3,z+12
	ldd R4,z+13
	ldd R5,z+14
	ldi R20,2
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	movw R16,R20
	movw R18,R22
	rcall empy32s
	movw R30,R28
	ldd R2,z+3
	ldd R3,z+4
	ldd R4,z+5
	ldd R5,z+6
	cp R2,R16
	cpc R3,R17
	cpc R4,R18
	cpc R5,R19
	brlt X11
	rjmp L178
X11:
	.dbline 282
	.dbline 283
; glcdn_WriteData(1);
	movw R30,R28
	ldd R2,z+3
	ldd R3,z+4
	ldd R4,z+5
	ldd R5,z+6
	movw R30,R28
	ldd R6,z+11
	ldd R7,z+12
	ldd R8,z+13
	ldd R9,z+14
	sub R6,R2
	sbc R7,R3
	sbc R8,R4
	sbc R9,R5
	movw R30,R28
	std z+11,R6
	std z+12,R7
	std z+13,R8
	std z+14,R9
	.dbline 284
; glcdn_WriteData(129);
	ldd R2,y+15
	ldd R3,y+16
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	ldd R6,z+3
	ldd R7,z+4
	ldd R8,z+5
	ldd R9,z+6
	sub R6,R2
	sbc R7,R3
	sbc R8,R4
	sbc R9,R5
	movw R30,R28
	std z+3,R6
	std z+4,R7
	std z+5,R8
	std z+6,R9
	.dbline 285
; */
	ldd R24,y+17
	ldd R25,y+18
	adiw R24,1
	std y+18,R25
	std y+17,R24
	.dbline 286
; 
	movw R24,R14
	sbiw R24,1
	movw R14,R24
	.dbline 287
; 	glcdn_WriteCommand(0xBB);
L178:
	.dbline 288
L174:
	.dbline 273
	movw R30,R28
	ldd R2,z+7
	ldd R3,z+8
	ldd R4,z+9
	ldd R5,z+10
	movw R30,R28
	ldd R6,z+3
	ldd R7,z+4
	ldd R8,z+5
	ldd R9,z+6
	cp R6,R2
	cpc R7,R3
	cpc R8,R4
	cpc R9,R5
	brlt X12
	rjmp L173
X12:
	.dbline 290
; 	glcdn_WriteData(0b00000001);
; glcdn_WriteCommand(0xAF);
; 	
	ldd R2,y+20
	ldd R3,y+21
	asr R3
	ror R2
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	std z+3,R2
	std z+4,R3
	std z+5,R4
	std z+6,R5
	.dbline 291
; 	glcdn_WriteCommand(0xCE);
	ldd R2,y+38
	clr R3
	mov R24,R2
	clr R25
	add R24,R2
	adc R25,R3
	sbiw R24,1
	movw R2,R24
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	ldd R6,z+3
	ldd R7,z+4
	ldd R8,z+5
	ldd R9,z+6
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	movw R16,R6
	movw R18,R8
	rcall empy32s
	movw R30,R28
	std z+3,R16
	std z+4,R17
	std z+5,R18
	std z+6,R19
	.dbline 292
; 	
	ldd R2,y+15
	ldd R3,y+16
	asr R3
	ror R2
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	std z+7,R2
	std z+8,R3
	std z+9,R4
	std z+10,R5
	.dbline 293
; 
	movw R30,R28
	ldd R16,z+7
	ldd R17,z+8
	ldd R18,z+9
	ldd R19,z+10
	rcall neg32
	movw R30,R28
	std z+7,R16
	std z+8,R17
	std z+9,R18
	std z+10,R19
	.dbline 294
; 
	ldi R20,0
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	std z+11,R20
	std z+12,R21
	std z+13,R22
	std z+14,R23
	.dbline 296
; 	
; 	//glcdn_WriteCommand(0xBC);
	ldd R2,y+32
	clr R3
	std y+18,R3
	std y+17,R2
	.dbline 297
; 	
	ldd R14,y+32
	clr R15
	.dbline 298
; 	glcdn_WriteData(0x00);
	ldd R12,y+34
	clr R13
	.dbline 299
; 	glcdn_WriteData(0x02);
	ldd R2,y+38
	clr R3
	sub R12,R2
	sbc R13,R3
	.dbline 300
; 	glcdn_WriteData(0x04);
	ldd R10,y+34
	clr R11
	.dbline 301
; 	glcdn_WriteData(0x06);
	clr R3
	add R10,R2
	adc R11,R3
	.dbline 302
; 	glcdn_WriteData(0x09);
	clr R0
	inc R0
	std y+19,R0
	rjmp L181
L180:
	.dbline 303
; 	glcdn_WriteData(0x0B);
	.dbline 304
; 	glcdn_WriteData(0x0D);
	ldd R0,y+19
	std y+2,R0
	std y+1,R13
	std y+0,R12
	movw R18,R14
	ldd R16,y+17
	ldd R17,y+18
	rcall _glcdDoPixelLine
	.dbline 305
; 	glcdn_WriteData(0x0F);
	cp R12,R10
	cpc R13,R11
	breq L183
	.dbline 305
	.dbline 306
; 
	ldd R0,y+19
	std y+2,R0
	std y+1,R11
	std y+0,R10
	movw R18,R14
	ldd R16,y+17
	ldd R17,y+18
	rcall _glcdDoPixelLine
	.dbline 307
; 	glcdn_WriteData(0x00);
L183:
	.dbline 308
; 	glcdn_WriteData(0x02);
	clr R0
	std y+19,R0
	.dbline 309
; 	glcdn_WriteData(0x04);
	ldd R2,y+15
	ldd R3,y+16
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	ldd R6,z+7
	ldd R7,z+8
	ldd R8,z+9
	ldd R9,z+10
	add R6,R2
	adc R7,R3
	adc R8,R4
	adc R9,R5
	movw R30,R28
	std z+7,R6
	std z+8,R7
	std z+9,R8
	std z+10,R9
	.dbline 310
; 	glcdn_WriteData(0x06);
	movw R30,R28
	ldd R2,z+7
	ldd R3,z+8
	ldd R4,z+9
	ldd R5,z+10
	movw R30,R28
	ldd R6,z+11
	ldd R7,z+12
	ldd R8,z+13
	ldd R9,z+14
	add R6,R2
	adc R7,R3
	adc R8,R4
	adc R9,R5
	movw R30,R28
	std z+11,R6
	std z+12,R7
	std z+13,R8
	std z+14,R9
	.dbline 311
; 	glcdn_WriteData(0x09);
	movw R30,R28
	ldd R2,z+11
	ldd R3,z+12
	ldd R4,z+13
	ldd R5,z+14
	ldi R20,2
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	movw R16,R20
	movw R18,R22
	rcall empy32s
	movw R30,R28
	ldd R2,z+3
	ldd R3,z+4
	ldd R4,z+5
	ldd R5,z+6
	cp R2,R16
	cpc R3,R17
	cpc R4,R18
	cpc R5,R19
	brlt X13

⌨️ 快捷键说明

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