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

📄 12864.s

📁 这是个lcd液晶显示屏12864的典型驱动程序
💻 S
📖 第 1 页 / 共 2 页
字号:
; 			k=row-8;
	mov R20,R14
	subi R20,8
	.dbline 204
; 			CLRBIT(PORTB,CSA);	//CSA=0,CSB=1,select rightwindow
	cbi 0x18,3
	.dbline 205
; 			SETBIT(PORTB,CSB);
	sbi 0x18,4
	.dbline 206
; 		}
L40:
	.dbline 207
;   		SetLine(pag+j);
	ldd R16,y+10
	add R16,R22
	xcall _SetLine
	.dbline 208
;  	 	SetColumn(k*8);
	ldi R24,8
	mul R24,R20
	mov R16,R0
	xcall _SetColumn
	.dbline 209
;   		for(i=0;i<8;i++)
	clr R10
	xjmp L44
L41:
	.dbline 210
	.dbline 211
	ldi R24,8
	mul R24,R22
	movw R30,R0
	mov R2,R10
	clr R3
	add R30,R2
	adc R31,R3
	add R30,R12
	adc R31,R13
	lpm R16,Z
	xcall _WriteByte
	.dbline 212
L42:
	.dbline 209
	inc R10
L44:
	.dbline 209
	mov R24,R10
	cpi R24,8
	brlo L41
	.dbline 213
L36:
	.dbline 193
	inc R22
L38:
	.dbline 193
	cpi R22,2
	brlo L35
	.dbline -2
L34:
	xcall pop_gset5
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r k 20 c
	.dbsym r j 22 c
	.dbsym r i 10 c
	.dbsym r bytek 12 pkc
	.dbsym r row 14 c
	.dbsym l pag 10 c
	.dbend
	.area lit(rom, con, rel)
_huan::
	.byte 4,52
	.byte 196,4
	.byte 196,60
	.byte 32,16
	.byte 15,232
	.byte 8,8
	.byte 40,24
	.byte 0,0
	.byte 16,8
	.byte 6,1
	.byte 130,140
	.byte 64,48
	.byte 12,3
	.byte 12,16
	.byte 96,192
	.byte 64,0
	.dbsym e huan _huan A[32:32]kc
_ying::
	.byte 64,'B
	.byte 'D,200
	.byte 0,252
	.byte 4,2
	.byte 130,252
	.byte 4,4
	.byte 4,254
	.byte 4,0
	.byte 0,64
	.byte 32,31
	.byte 32,'G
	.byte 'B,'A
	.byte 64,127
	.byte 64,'B
	.byte 'D,'c
	.byte 32,0
	.dbsym e ying _ying A[32:32]kc
_guang::
	.byte 64,64
	.byte 'B,'D
	.byte 'X,192
	.byte 64,127
	.byte 64,192
	.byte 'P,'H
	.byte 'F,'d
	.byte 64,0
	.byte 0,128
	.byte 64,32
	.byte 24,7
	.byte 0,0
	.byte 0,63
	.byte 64,64
	.byte 64,64
	.byte 'p,0
	.dbsym e guang _guang A[32:32]kc
_lin::
	.byte 0,252
	.byte 0,255
	.byte 64,32
	.byte 16,12
	.byte 43,'H
	.byte 200,8
	.byte 8,140
	.byte 8,0
	.byte 0,31
	.byte 0,255
	.byte 0,255
	.byte 'A,'A
	.byte 'A,127
	.byte 'A,'A
	.byte 'A,255
	.byte 1,0
	.dbsym e lin _lin A[32:32]kc
_tanhao::
	.byte 0,0
	.byte 0,248
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,51
	.byte 48,0
	.byte 0,0
	.dbsym e tanhao _tanhao A[16:16]kc
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
_jinghao::
	.blkb 2
	.area idata
	.byte 64,192
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 'x,64
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 192,'x
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 64,0
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 4,63
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 4,4
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 63,4
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.blkb 2
	.area idata
	.byte 4,0
	.area data(ram, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.dbsym e jinghao _jinghao A[16:16]c
	.area lit(rom, con, rel)
_w2::
	.byte 248,8
	.byte 0,248
	.byte 0,8
	.byte 248,0
	.byte 3,60
	.byte 7,0
	.byte 7,60
	.byte 3,0
	.dbsym e w2 _w2 A[16:16]kc
_w::
	.byte 128,128
	.byte 0,128
	.byte 0,128
	.byte 128,128
	.byte 15,48
	.byte 12,3
	.byte 12,48
	.byte 15,0
	.dbsym e w _w A[16:16]kc
_o2::
	.byte 224,16
	.byte 8,8
	.byte 8,16
	.byte 224,0
	.byte 15,16
	.byte 32,32
	.byte 32,16
	.byte 15,0
	.dbsym e o2 _o2 A[16:16]kc
_u::
	.byte 128,128
	.byte 0,0
	.byte 0,128
	.byte 128,0
	.byte 0,31
	.byte 32,32
	.byte 32,16
	.byte 63,32
	.dbsym e u _u A[16:16]kc
_r::
	.byte 128,128
	.byte 128,0
	.byte 128,128
	.byte 128,0
	.byte 32,32
	.byte 63,33
	.byte 32,0
	.byte 1,0
	.dbsym e r _r A[16:16]kc
_o::
	.byte 0,0
	.byte 128,128
	.byte 128,128
	.byte 0,0
	.byte 0,31
	.byte 32,32
	.byte 32,32
	.byte 31,0
	.dbsym e o _o A[16:16]kc
_e2::
	.byte 8,248
	.byte 136,136
	.byte 232,8
	.byte 16,0
	.byte 32,63
	.byte 32,32
	.byte 35,32
	.byte 24,0
	.dbsym e e2 _e2 A[16:16]kc
_a2::
	.byte 0,0
	.byte 192,56
	.byte 224,0
	.byte 0,0
	.byte 32,60
	.byte 35,2
	.byte 2,39
	.byte 56,32
	.dbsym e a2 _a2 A[16:16]kc
_v::
	.byte 128,128
	.byte 128,0
	.byte 0,128
	.byte 128,128
	.byte 0,1
	.byte 14,48
	.byte 8,6
	.byte 1,0
	.dbsym e v _v A[16:16]kc
_dot::
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,4
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.dbsym e dot _dot A[16:16]kc
_a::
	.byte 0,0
	.byte 128,128
	.byte 128,128
	.byte 0,0
	.byte 0,25
	.byte 36,34
	.byte 34,34
	.byte 63,32
	.dbsym e a _a A[16:16]kc
_c::
	.byte 0,0
	.byte 0,128
	.byte 128,128
	.byte 0,0
	.byte 0,14
	.byte 17,32
	.byte 32,32
	.byte 17,0
	.dbsym e c _c A[16:16]kc
_m::
	.byte 128,128
	.byte 128,128
	.byte 128,128
	.byte 128,0
	.byte 32,63
	.byte 32,0
	.byte 63,32
	.byte 0,63
	.dbsym e m _m A[16:16]kc
	.area text(rom, con, rel)
	.dbfile G:\test\lcd\3\12864.c
	.dbfunc e main_window _main_window fV
	.even
_main_window::
	sbiw R28,2
	.dbline -1
	.dbline 283
;     	{
;      		WriteByte(bytek[8*j+i]);
; 		}
;  	}
; }
; 
; flash char huan[]={//欢[16*16]下半列排
; 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10,
; 0x0F,0xE8,0x08,0x08,0x28,0x18,0x00,0x00,
; 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30,
; 0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00};
; flash char ying[]={//迎[16*16]下半列排
; 0x40,0x42,0x44,0xC8,0x00,0xFC,0x04,0x02,
; 0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00,
; 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41,
; 0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00};
; flash char guang[]={//光[16*16]下半列排
; 0x40,0x40,0x42,0x44,0x58,0xC0,0x40,0x7F,
; 0x40,0xC0,0x50,0x48,0x46,0x64,0x40,0x00,
; 0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,
; 0x00,0x3F,0x40,0x40,0x40,0x40,0x70,0x00};
; flash char lin[]={//临[16*16]下半列排
; 0x00,0xFC,0x00,0xFF,0x40,0x20,0x10,0x0C,
; 0x2B,0x48,0xC8,0x08,0x08,0x8C,0x08,0x00,
; 0x00,0x1F,0x00,0xFF,0x00,0xFF,0x41,0x41,
; 0x41,0x7F,0x41,0x41,0x41,0xFF,0x01,0x00};
; 
; flash char tanhao[]={0x00,0x00,0x00,0xf8,0x00,0x00,0x00,
; 			0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00};
; 
; char jinghao[]={0x40,0xc0,0x78,0x40,0xc0,0x78,0x40,0x00,
; 				0x04,0x3f,0x04,0x04,0x3f,0x04,0x04,0x00};
; 
; flash char w2[]={0xf8,0x08,0x00,0xf8,0x00,0x08,0xf8,0x00,
; 				0x03,0x3c,0x07,0x00,0x07,0x3c,0x03,0x00};
; 
; flash char w[]={0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,
; 				0x0f,0x30,0x0c,0x03,0x0c,0x30,0x0f,0x00};
; 
; flash char o2[]={0xe0,0x10,0x08,0x08,0x08,0x10,0xe0,0x00,
; 				0x0f,0x10,0x20,0x20,0x20,0x10,0x0f,0x00};
; 
; flash char u[]={0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,
; 				0x00,0x1f,0x20,0x20,0x20,0x10,0x3f,0x20};
; 
; flash char r[]={0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,
; 				0x20,0x20,0x3f,0x21,0x20,0x00,0x01,0x00};
; 
; flash char o[]={0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,
; 				0x00,0x1f,0x20,0x20,0x20,0x20,0x1f,0x00};
; 
; flash char e2[]={0x08,0xf8,0x88,0x88,0xe8,0x08,0x10,0x00,
; 				0x20,0x3f,0x20,0x20,0x23,0x20,0x18,0x00};
; 
; flash char a2[]={0x00,0x00,0xc0,0x38,0xe0,0x00,0x00,0x00,
; 				0x20,0x3c,0x23,0x02,0x02,0x27,0x38,0x20};
; 
; flash char v[]={0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,
; 				0x00,0x01,0x0e,0x30,0x08,0x06,0x01,0x00};
; 
; flash char dot[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 				0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00};
; 
; flash char 	a[]={0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,
; 				0x00,0x19,0x24,0x22,0x22,0x22,0x3f,0x20};
; 
; flash char c[]={0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
; 				0x00,0x0e,0x11,0x20,0x20,0x20,0x11,0x00};
; 
; flash char m[]={0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
; 				0x20,0x3f,0x20,0x00,0x3f,0x20,0x00,0x3f};
; 
; void main_window (void)
; { //分三行显示:欢迎光临	OurAvr	www.ouravr.com
	.dbline 284
; 	word_disp(1,2,huan);
	ldi R24,<_huan
	ldi R25,>_huan
	std y+1,R25
	std y+0,R24
	ldi R18,2
	ldi R16,1
	xcall _word_disp
	.dbline 285
; 	word_disp(1,3,ying);
	ldi R24,<_ying
	ldi R25,>_ying
	std y+1,R25
	std y+0,R24
	ldi R18,3
	ldi R16,1
	xcall _word_disp
	.dbline 286
; 	word_disp(1,4,guang);
	ldi R24,<_guang
	ldi R25,>_guang
	std y+1,R25
	std y+0,R24
	ldi R18,4
	ldi R16,1
	xcall _word_disp
	.dbline 287
; 	word_disp(1,5,lin);
	ldi R24,<_lin
	ldi R25,>_lin
	std y+1,R25
	std y+0,R24
	ldi R18,5
	ldi R16,1
	xcall _word_disp
	.dbline 288
;   	byte_disp(3,5,o2);
	ldi R24,<_o2
	ldi R25,>_o2
	std y+1,R25
	std y+0,R24
	ldi R18,5
	ldi R16,3
	xcall _byte_disp
	.dbline 289
;   	byte_disp(3,6,u);
	ldi R24,<_u
	ldi R25,>_u
	std y+1,R25
	std y+0,R24
	ldi R18,6
	ldi R16,3
	xcall _byte_disp
	.dbline 290
;   	byte_disp(3,7,r);
	ldi R24,<_r
	ldi R25,>_r
	std y+1,R25
	std y+0,R24
	ldi R18,7
	ldi R16,3
	xcall _byte_disp
	.dbline 291
;   	byte_disp(3,8,a2);
	ldi R24,<_a2
	ldi R25,>_a2
	std y+1,R25
	std y+0,R24
	ldi R18,8
	ldi R16,3
	xcall _byte_disp
	.dbline 292
;   	byte_disp(3,9,v);
	ldi R24,<_v
	ldi R25,>_v
	std y+1,R25
	std y+0,R24
	ldi R18,9
	ldi R16,3
	xcall _byte_disp
	.dbline 293
;   	byte_disp(3,10,r);
	ldi R24,<_r
	ldi R25,>_r
	std y+1,R25
	std y+0,R24
	ldi R18,10
	ldi R16,3
	xcall _byte_disp
	.dbline 294
;   	byte_disp(5,1,w);
	ldi R24,<_w
	ldi R25,>_w
	std y+1,R25
	std y+0,R24
	ldi R18,1
	ldi R16,5
	xcall _byte_disp
	.dbline 295
;   	byte_disp(5,2,w);
	ldi R24,<_w
	ldi R25,>_w
	std y+1,R25
	std y+0,R24
	ldi R18,2
	ldi R16,5
	xcall _byte_disp
	.dbline 296
;   	byte_disp(5,3,w);
	ldi R24,<_w
	ldi R25,>_w
	std y+1,R25
	std y+0,R24
	ldi R18,3
	ldi R16,5
	xcall _byte_disp
	.dbline 297
;   	byte_disp(5,4,dot);
	ldi R24,<_dot
	ldi R25,>_dot
	std y+1,R25
	std y+0,R24
	ldi R18,4
	ldi R16,5
	xcall _byte_disp
	.dbline 298
;   	byte_disp(5,5,o);
	ldi R24,<_o
	ldi R25,>_o
	std y+1,R25
	std y+0,R24
	ldi R18,5
	ldi R16,5
	xcall _byte_disp
	.dbline 299
;   	byte_disp(5,6,u);
	ldi R24,<_u
	ldi R25,>_u
	std y+1,R25
	std y+0,R24
	ldi R18,6
	ldi R16,5
	xcall _byte_disp
	.dbline 300
;   	byte_disp(5,7,r);
	ldi R24,<_r
	ldi R25,>_r
	std y+1,R25
	std y+0,R24
	ldi R18,7
	ldi R16,5
	xcall _byte_disp
	.dbline 301
;   	byte_disp(5,8,a);
	ldi R24,<_a
	ldi R25,>_a
	std y+1,R25
	std y+0,R24
	ldi R18,8
	ldi R16,5
	xcall _byte_disp
	.dbline 302
;   	byte_disp(5,9,v);
	ldi R24,<_v
	ldi R25,>_v
	std y+1,R25
	std y+0,R24
	ldi R18,9
	ldi R16,5
	xcall _byte_disp
	.dbline 303
;   	byte_disp(5,10,r);
	ldi R24,<_r
	ldi R25,>_r
	std y+1,R25
	std y+0,R24
	ldi R18,10
	ldi R16,5
	xcall _byte_disp
	.dbline 304
;   	byte_disp(5,11,dot);
	ldi R24,<_dot
	ldi R25,>_dot
	std y+1,R25
	std y+0,R24
	ldi R18,11
	ldi R16,5
	xcall _byte_disp
	.dbline 305
;   	byte_disp(5,12,c);
	ldi R24,<_c
	ldi R25,>_c
	std y+1,R25
	std y+0,R24
	ldi R18,12
	ldi R16,5
	xcall _byte_disp
	.dbline 306
;   	byte_disp(5,13,o);
	ldi R24,<_o
	ldi R25,>_o
	std y+1,R25
	std y+0,R24
	ldi R18,13
	ldi R16,5
	xcall _byte_disp
	.dbline 307
;   	byte_disp(5,14,m);
	ldi R24,<_m
	ldi R25,>_m
	std y+1,R25
	std y+0,R24
	ldi R18,14
	ldi R16,5
	xcall _byte_disp
	.dbline -2
L45:
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 311
; }
; 
; void main(void)
; {
	.dbline 312
;  	init_devices();
	xcall _init_devices
	.dbline 313
;  	init_lcd();
	xcall _init_lcd
	.dbline 314
;  	Clr_Scr();
	xcall _Clr_Scr
	.dbline 315
;  	main_window();
	xcall _main_window
L47:
	.dbline 318
	.dbline 319
	.dbline 320
L48:
	.dbline 317
	xjmp L47
X0:
	.dbline -2
L46:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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