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

📄 testh.s

📁 薔介绍单片机的彩色液晶显示器开发里程。手把手
💻 S
📖 第 1 页 / 共 5 页
字号:
; void logoshow(void);//显示公司logo
; void main()
; {
; 
; 	MCUCR=0X80;//选择外部存储器
; 	DDRA=0XFF;
; 	PORTA=0X14;//将a口的第3、5口输出
; 	DDRC=0X00;
; 	PORTC=0XFF;//前面的几步都是在选择和初始化液晶
; 	clrall(0x07);//用白色清屏
; 	logoshow();
; 	delay(80);
; 	boat[1].log=10;
; 	boat[1].lang=-5;
; 	boat[1].d=0;
; 	boat[1].turn=15;//初始化船的数据,测试用
; 	clrall(0x02);//用绿色清屏
; 	cycle(120,120,119,1);//在(120,120)为圆心120为半径画蓝色的圆
; 	showsmallmun(25,110,a,7);//显示字符串a	
; 	juxing(30,0,39,239,1);//用蓝色画信息显示背景区
; 	juxing(30,56,39,72,7);//用白色显示信息空白
; 	juxing(30,88,39,104,7);
; 	juxing(30,120,39,136,7);
; 	juxing(30,152,39,168,7);
; 	juxing(30,184,39,200,7);
; 	juxing(30,216,39,232,7);
; 	showallhz();
; 	for(tempall=0;tempall<220;tempall+=40)
; 	{
; 	    line(tempall,0,tempall,239,7);//画维度线
; 	}
; 	displayboat(1);//显示编号为1的船
; 	
; 
; 
; }
; 
; void logoshow()
; {
; 	unsigned char i,j;
; 	const unsigned char *hz;
; 	hz=logo;
; 	for(j=0;j<32;j++)//一共有32行的点阵
; 	{
	.dbline 52
; 		for(i=0;i<4;i++)//每行有4个点位
; 		{
	ldi R24,255
	out 0x1a,R24
	.dbline 53
; 			hz_write(i+18,j+50,hz,1);//写入该点位的八个点
	sts 4378,R16
	.dbline 54
; 			hz++;//hz存放黑白字模的数组
	sts 4377,R18
	.dbline 55
; 		}
	ldd R0,y+0
	sts 4376,R0
	.dbline 56
; 	}
	ldd R0,y+2
	sts 4376,R0
	.dbline 57
; 	showchars(16,95,ais,5);
	ldd R0,y+4
	sts 4376,R0
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym l buffer3 4 c
	.dbsym l buffer2 2 c
	.dbsym l buffer1 0 c
	.dbsym r y 18 c
	.dbsym r x 16 c
	.dbend
	.dbfunc e read _read fV
;             b3 -> y+4
;             b2 -> y+2
;             b1 -> y+0
;              y -> R18
;              x -> R16
	.even
_read::
	.dbline -1
	.dbline 61
; 	hanzi(19,95,xi,5,2);
; 	hanzi(21,95,tong,5,2);
; 	hanzi(14,120,tai,1,2);
; 	hanzi(17,120,ke,1,2);
	.dbline 62
; 	hanzi(20,120,tong1,1,2);
	clr R2
	out 0x1a,R2
	.dbline 63
; 	hanzi(23,120,xin,1,2);
	sts 4378,R16
	.dbline 64
; 	showchars(12,145,qz,0);
	sts 4377,R18
	.dbline 65
; 	showchars(1,170,kaike,0);
	lds R2,4376
	ldd R30,y+0
	ldd R31,y+1
	std z+0,R2
	.dbline 66
; }
	lds R2,4376
	ldd R30,y+2
	ldd R31,y+3
	std z+0,R2
	.dbline 67
; }
	lds R2,4376
	ldd R30,y+4
	ldd R31,y+5
	std z+0,R2
	.dbline -2
L2:
	.dbline 0 ; func end
	ret
	.dbsym l b3 4 pc
	.dbsym l b2 2 pc
	.dbsym l b1 0 pc
	.dbsym r y 18 c
	.dbsym r x 16 c
	.dbend
	.dbfunc e point _point fV
;        buffer3 -> y+8
;        buffer2 -> y+7
;           temp -> R12,R13
;        buffer1 -> y+6
;          color -> R10
;              y -> R22
;              x -> R20,R21
	.even
_point::
	xcall push_gset4
	mov R22,R18
	movw R20,R16
	sbiw R28,9
	ldd R10,y+17
	.dbline -1
	.dbline 72
; }
; }
; }
; }
; }
	.dbline 74
; }
; }
	movw R24,R20
	andi R24,7
	andi R25,0
	movw R12,R24
	.dbline 75
; }
	movw R2,R20
	lsr R3
	ror R2
	lsr R3
	ror R2
	lsr R3
	ror R2
	movw R20,R2
	.dbline 76
; }
	movw R24,R28
	adiw R24,8
	std y+5,R25
	std y+4,R24
	movw R24,R28
	adiw R24,7
	std y+3,R25
	std y+2,R24
	movw R24,R28
	adiw R24,6
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R2
	xcall _read
	.dbline 78
; }
; }
	tst R12
	brne L4
	tst R13
	brne L4
X0:
	.dbline 79
; }
	.dbline 80
; }
	ldd R24,y+6
	andi R24,31
	std y+6,R24
	.dbline 81
; }
	mov R2,R10
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	mov R3,R24
	or R3,R2
	std y+6,R3
	.dbline 82
; }
	xjmp L5
L4:
	.dbline 83
; }
	movw R24,R12
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	brne L6
	.dbline 84
; }
	.dbline 85
; }
	ldd R24,y+6
	andi R24,227
	std y+6,R24
	.dbline 86
; }
	mov R2,R10
	lsl R2
	lsl R2
	mov R3,R24
	or R3,R2
	std y+6,R3
	.dbline 87
; }
	xjmp L7
L6:
	.dbline 88
; }
	movw R24,R12
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	brne L8
	.dbline 89
; }
	.dbline 90
; }
	ldd R24,y+6
	andi R24,252
	std y+6,R24
	.dbline 91
; }
	mov R2,R10
	lsr R2
	mov R3,R24
	or R3,R2
	std y+6,R3
	.dbline 92
; }
	ldd R24,y+7
	andi R24,127
	std y+7,R24
	.dbline 93
; }
	mov R2,R10
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	mov R3,R24
	or R3,R2
	std y+7,R3
	.dbline 94
; }
	xjmp L9
L8:
	.dbline 95
; }
	movw R24,R12
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	brne L10
	.dbline 96
; }
	.dbline 97
; }
	ldd R24,y+7
	andi R24,143
	std y+7,R24
	.dbline 98
; }
	mov R24,R10
	andi R24,#0x0F
	swap R24
	ldd R2,y+7
	or R2,R24
	std y+7,R2
	.dbline 99
; }
	xjmp L11
L10:
	.dbline 100
; }
	movw R24,R12
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	brne L12
	.dbline 101
; }
	.dbline 102
; }
	ldd R24,y+7
	andi R24,241
	std y+7,R24
	.dbline 103
; }
	mov R2,R10
	lsl R2
	mov R3,R24
	or R3,R2
	std y+7,R3
	.dbline 104
; }
	xjmp L13
L12:
	.dbline 105
; }
	movw R24,R12
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	brne L14
	.dbline 106
; }
	.dbline 107
; }
	ldd R24,y+7
	andi R24,254
	std y+7,R24
	.dbline 108
; }
	mov R2,R10
	lsr R2
	lsr R2
	mov R3,R24
	or R3,R2
	std y+7,R3
	.dbline 109
; }
	ldd R24,y+8
	andi R24,63
	std y+8,R24
	.dbline 110
; }
	mov R2,R10
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	mov R3,R24
	or R3,R2
	std y+8,R3
	.dbline 111
; }
	xjmp L15
L14:
	.dbline 112
; }
	movw R24,R12
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	brne L16
	.dbline 113
; }
	.dbline 114
; }
	ldd R24,y+8
	andi R24,199
	std y+8,R24
	.dbline 115
; }
	mov R2,R10
	lsl R2
	lsl R2
	lsl R2
	mov R3,R24
	or R3,R2
	std y+8,R3
	.dbline 116
; }
	xjmp L17
L16:
	.dbline 117
; }
	movw R24,R12
	cpi R24,7
	ldi R30,0
	cpc R25,R30
	brne L18
	.dbline 118
; }
	.dbline 119
; }
	ldd R24,y+8
	andi R24,248
	std y+8,R24
	.dbline 120
; }
	mov R2,R24
	or R2,R10
	std y+8,R2
	.dbline 121
; }
L18:
L17:
L15:
L13:
L11:
L9:
L7:
L5:
	.dbline 122
; }
	ldd R2,y+8
	std y+4,R2
	ldd R2,y+7
	std y+2,R2
	ldd R2,y+6
	std y+0,R2
	mov R18,R22
	mov R16,R20
	xcall _write
	.dbline -2
L3:
	adiw R28,9
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym l buffer3 8 c
	.dbsym l buffer2 7 c
	.dbsym r temp 12 i
	.dbsym l buffer1 6 c
	.dbsym r color 10 c
	.dbsym r y 22 c
	.dbsym r x 20 i
	.dbend
	.dbfunc e clrall _clrall fV
;        buffer3 -> R20
;        buffer1 -> R22
;        buffer2 -> R10
;              i -> R12
;              j -> R14
;          color -> R12
	.even
_clrall::
	xcall push_gset5
	mov R12,R16
	sbiw R28,5
	.dbline -1
	.dbline 131
; }
; }
; }
; }
; }
; }
; }
; }
; }
	.dbline 132
; }
	clr R22
	.dbline 132
	clr R10
	.dbline 132
	clr R20
	.dbline 134
; }
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	or R22,R2
	.dbline 135
; }
	mov R2,R12
	lsl R2
	lsl R2
	or R22,R2
	.dbline 136
; }
	mov R2,R12
	lsr R2
	or R22,R2
	.dbline 137
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	or R10,R2
	.dbline 138
; }
	mov R24,R12
	andi R24,#0x0F
	swap R24
	or R10,R24
	.dbline 139
; }
	mov R2,R12
	lsl R2
	or R10,R2
	.dbline 140
; }
	mov R2,R12
	lsr R2
	lsr R2
	or R10,R2
	.dbline 141
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	or R20,R2
	.dbline 142
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	or R20,R2
	.dbline 143
; }
	or R20,R12
	.dbline 144
; }
	clr R12
	xjmp L24
L21:
	.dbline 145
; }
	.dbline 146
; }
	clr R14
	xjmp L28
L25:
	.dbline 147
	.dbline 148
	std y+4,R20
	std y+2,R10
	std y+0,R22
	mov R18,R14
	mov R16,R12
	xcall _write
	.dbline 149
L26:
	.dbline 146
	inc R14
L28:
	.dbline 146
	mov R24,R14
	cpi R24,240
	brlo L25
	.dbline 150
L22:
	.dbline 144
	inc R12
L24:
	.dbline 144
	mov R24,R12
	cpi R24,40
	brlo L21
	.dbline -2
L20:
	adiw R28,5
	xcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym r buffer3 20 c
	.dbsym r buffer1 22 c
	.dbsym r buffer2 10 c
	.dbsym r i 12 c
	.dbsym r j 14 c
	.dbsym r color 12 c
	.dbend
	.dbfunc e juxing _juxing fV
;        buffer3 -> R20
;        buffer1 -> R22
;        buffer2 -> R10
;              i -> R12
;              j -> R14
;          color -> R12
;             y2 -> y+19
;             x2 -> y+17
;             y1 -> y+15
;             x1 -> R14
	.even
_juxing::
	st -y,r19
	st -y,r18
	xcall push_gset5
	mov R14,R16
	sbiw R28,5
	ldd R12,y+21
	.dbline -1
	.dbline 155
; }
; }
; }
; }
; }
; }
; }
; }
; }
	.dbline 156
; }
	clr R22
	.dbline 156
	clr R10
	.dbline 156
	clr R20
	.dbline 158
; }
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	or R22,R2
	.dbline 159
; }
	mov R2,R12
	lsl R2
	lsl R2
	or R22,R2
	.dbline 160
; }
	mov R2,R12
	lsr R2
	or R22,R2
	.dbline 161
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	or R10,R2
	.dbline 162
; }
	mov R24,R12
	andi R24,#0x0F
	swap R24
	or R10,R24
	.dbline 163
; }
	mov R2,R12
	lsl R2
	or R10,R2
	.dbline 164
; }
	mov R2,R12
	lsr R2
	lsr R2
	or R10,R2
	.dbline 165
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	lsl R2
	or R20,R2
	.dbline 166
; }
	mov R2,R12
	lsl R2
	lsl R2
	lsl R2
	or R20,R2
	.dbline 167
; }
	or R20,R12
	.dbline 168
; }
	mov R12,R14
	xjmp L33
L30:
	.dbline 169
; }
	.dbline 170
; }
	ldd R14,y+15
	xjmp L37
L34:
	.dbline 171
	.dbline 172
	std y+4,R20
	std y+2,R10
	std y+0,R22
	mov R18,R14
	mov R16,R12
	xcall _write
	.dbline 173
L35:
	.dbline 170
	inc R14
L37:
	.dbline 170
	ldd R0,y+19
	cp R0,R14
	brsh L34
	.dbline 174
L31:
	.dbline 168
	inc R12
L33:
	.dbline 168
	ldd R0,y+17
	cp R0,R12
	brsh L30
	.dbline -2
L29:
	adiw R28,5
	xcall pop_gset5
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbsym r buffer3 20 c
	.dbsym r buffer1 22 c
	.dbsym r buffer2 10 c
	.dbsym r i 12 c
	.dbsym r j 14 c
	.dbsym r color 12 c
	.dbsym l y2 19 c
	.dbsym l x2 17 c
	.dbsym l y1 15 c
	.dbsym r x1 14 c
	.dbend
	.dbfunc e line _line fV
;             dy -> R20,R21
;             dx -> R22,R23
;              x -> R10
;              y -> R12
;          color -> R14
;             y2 -> y+17
;             x2 -> y+15
;             y1 -> y+13
;             x1 -> y+11
	.even
_line::
	xcall push_arg4
	xcall push_gset5
	sbiw R28,1
	ldd R14,y+19
	.dbline -1
	.dbline 179
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 182
; 
; 
; 
	ldd R0,y+15
	ldd R16,y+11
	cp R0,R16
	brsh L39
	.dbline 183
; 
	.dbline 184
; 
	mov R10,R0
	.dbline 185
; 
	ldd R12,y+17
	.dbline 186
; 
	mov R0,R16
	std y+15,R0
	.dbline 187
; 
	ldd R0,y+13
	std y+17,R0
	.dbline 188
; 
	std y+11,R10
	.dbline 189
; 
	std y+13,R12
	.dbline 190
; 
L39:
	.dbline 191
; 
	std y+0,R14
	ldd R18,y+13
	ldd R16,y+11
	clr R17
	xcall _point
	.dbline 192
; 
	ldd R10,y+11
	.dbline 193
; 
	ldd R12,y+13
	.dbline 194
; 
	mov R2,R10
	clr R3
	ldd R22,y+15
	clr R23
	sub R22,R2
	sbc R23,R3
	.dbline 195
; 
	brne L41
X1:
	.dbline 196
; 
	.dbline 197
; 
	ldd R0,y+13
	ldd R16,y+17
	cp R0,R16
	brsh L52
	.dbline 198
; 
	.dbline 199
; 
	xjmp L48
L45:
	.dbline 200
	std y+0,R14
	mov R18,R12
	mov R16,R10
	clr R17
	xcall _point
L46:
	.dbline 199
	inc R12
L48:
	.dbline 199
	ldd R0,y+17
	cp R0,R12
	brsh L45
	.dbline 201
; 
; 
	xjmp L42
X2:
	.dbline 203
; 
; 
	.dbline 204
; 
L49:
	.dbline 205
	std y+0,R14
	mov R18,R12
	mov R16,R10
	clr R17
	xcall _point
L50:
	.dbline 204
	dec R12
L52:
	.dbline 204
	ldd R0,y+17
	cp R12,R0
	brsh L49
	.dbline 206
; 
; 
	.dbline 207
; 
	xjmp L42
L41:
	.dbline 208
; 
	ldd R0,y+13
	ldd R16,y+17
	cp R0,R16
	brne L53
	.dbline 209
; 
	.dbline 210
; 
	ldd R0,y+11
	cp R0,R10
	brsh L64
	.dbline 211
; 
	.dbline 212
; 
	xjmp L60
L57:
	.dbline 213
	std y+0,R14
	mov R18,R12
	mov R16,R10
	clr R17
	xcall _point
L58:
	.dbline 212
	inc R10
L60:
	.dbline 212
	ldd R0,y+15
	cp R0,R10
	brsh L57
	.dbline 214
; 
; 
	xjmp L54
X3:
	.dbline 216

⌨️ 快捷键说明

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