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

📄 main.lss

📁 包内含有关于ipod mp3透反式1.46 tft液晶屏的avr示例程序和液晶屏转接板的protel原理图和pcb图。
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     cc8:	80 e0       	ldi	r24, 0x00	; 0
     cca:	0e 94 fa 04 	call	0x9f4
     cce:	85 ea       	ldi	r24, 0xA5	; 165
     cd0:	0e 94 fa 04 	call	0x9f4
     cd4:	80 e0       	ldi	r24, 0x00	; 0
     cd6:	0e 94 fa 04 	call	0x9f4
     cda:	89 e0       	ldi	r24, 0x09	; 9
     cdc:	0e 94 fa 04 	call	0x9f4
     ce0:	80 e0       	ldi	r24, 0x00	; 0
     ce2:	0e 94 fa 04 	call	0x9f4
     ce6:	85 e1       	ldi	r24, 0x15	; 21
     ce8:	0e 94 fa 04 	call	0x9f4
     cec:	80 e0       	ldi	r24, 0x00	; 0
     cee:	0e 94 fa 04 	call	0x9f4
     cf2:	81 e1       	ldi	r24, 0x11	; 17
     cf4:	0e 94 fa 04 	call	0x9f4
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     cf8:	c8 01       	movw	r24, r16
     cfa:	01 97       	sbiw	r24, 0x01	; 1
     cfc:	f1 f7       	brne	.-4      	; 0xcfa
     cfe:	81 ee       	ldi	r24, 0xE1	; 225
     d00:	0e 94 f2 04 	call	0x9e4
     d04:	80 e0       	ldi	r24, 0x00	; 0
     d06:	0e 94 fa 04 	call	0x9f4
     d0a:	80 e4       	ldi	r24, 0x40	; 64
     d0c:	0e 94 fa 04 	call	0x9f4
     d10:	80 e0       	ldi	r24, 0x00	; 0
     d12:	0e 94 fa 04 	call	0x9f4
     d16:	81 e2       	ldi	r24, 0x21	; 33
     d18:	0e 94 fa 04 	call	0x9f4
     d1c:	80 e0       	ldi	r24, 0x00	; 0
     d1e:	0e 94 fa 04 	call	0x9f4
     d22:	84 e6       	ldi	r24, 0x64	; 100
     d24:	0e 94 fa 04 	call	0x9f4
     d28:	80 e0       	ldi	r24, 0x00	; 0
     d2a:	0e 94 fa 04 	call	0x9f4
     d2e:	83 e1       	ldi	r24, 0x13	; 19
     d30:	0e 94 fa 04 	call	0x9f4
     d34:	80 e0       	ldi	r24, 0x00	; 0
     d36:	0e 94 fa 04 	call	0x9f4
     d3a:	83 ef       	ldi	r24, 0xF3	; 243
     d3c:	0e 94 fa 04 	call	0x9f4
     d40:	80 e0       	ldi	r24, 0x00	; 0
     d42:	0e 94 fa 04 	call	0x9f4
     d46:	8b e0       	ldi	r24, 0x0B	; 11
     d48:	0e 94 fa 04 	call	0x9f4
     d4c:	80 e0       	ldi	r24, 0x00	; 0
     d4e:	0e 94 fa 04 	call	0x9f4
     d52:	80 e0       	ldi	r24, 0x00	; 0
     d54:	0e 94 fa 04 	call	0x9f4
     d58:	80 e0       	ldi	r24, 0x00	; 0
     d5a:	0e 94 fa 04 	call	0x9f4
     d5e:	80 e0       	ldi	r24, 0x00	; 0
     d60:	0e 94 fa 04 	call	0x9f4
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     d64:	c8 01       	movw	r24, r16
     d66:	01 97       	sbiw	r24, 0x01	; 1
     d68:	f1 f7       	brne	.-4      	; 0xd66
     d6a:	89 e2       	ldi	r24, 0x29	; 41
     d6c:	0e 94 f2 04 	call	0x9e4
     d70:	8c ea       	ldi	r24, 0xAC	; 172
     d72:	0e 94 f2 04 	call	0x9e4
     d76:	85 e3       	ldi	r24, 0x35	; 53
     d78:	0e 94 f2 04 	call	0x9e4
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     d7c:	c8 01       	movw	r24, r16
     d7e:	01 97       	sbiw	r24, 0x01	; 1
     d80:	f1 f7       	brne	.-4      	; 0xd7e
     d82:	1f 91       	pop	r17
     d84:	0f 91       	pop	r16
     d86:	08 95       	ret

00000d88 <PutChar8x16>:
}






#if COLORDEPTH==262
void PutChar8x16(int x, int y, char pFont, uchar bkR, uchar bkG, uchar bkB,uchar ftR, uchar ftG, uchar ftB)
{
     d88:	2f 92       	push	r2
     d8a:	3f 92       	push	r3
     d8c:	4f 92       	push	r4
     d8e:	5f 92       	push	r5
     d90:	6f 92       	push	r6
     d92:	7f 92       	push	r7
     d94:	8f 92       	push	r8
     d96:	9f 92       	push	r9
     d98:	af 92       	push	r10
     d9a:	bf 92       	push	r11
     d9c:	cf 92       	push	r12
     d9e:	df 92       	push	r13
     da0:	ef 92       	push	r14
     da2:	ff 92       	push	r15
     da4:	0f 93       	push	r16
     da6:	1f 93       	push	r17
     da8:	cf 93       	push	r28
     daa:	df 93       	push	r29
     dac:	cd b7       	in	r28, 0x3d	; 61
     dae:	de b7       	in	r29, 0x3e	; 62
     db0:	22 97       	sbiw	r28, 0x02	; 2
     db2:	0f b6       	in	r0, 0x3f	; 63
     db4:	f8 94       	cli
     db6:	de bf       	out	0x3e, r29	; 62
     db8:	0f be       	out	0x3f, r0	; 63
     dba:	cd bf       	out	0x3d, r28	; 61
     dbc:	2c 01       	movw	r4, r24
     dbe:	3b 01       	movw	r6, r22
     dc0:	29 83       	std	Y+1, r18	; 0x01
     dc2:	0a 83       	std	Y+2, r16	; 0x02
     dc4:	2e 2c       	mov	r2, r14
     dc6:	3c 2c       	mov	r3, r12
     dc8:	9a 2c       	mov	r9, r10
    int i,j;
	unsigned char mask = 0x80;
	unsigned char tmp;
	const prog_uchar *ptr;
#if FONTTAB
	if(pFont<33)
	{
	    pFont = 33;
	}
	else if(pFont>65)
	{
	    pFont = 65;
	}
	pFont = pFont-33;              // for the font, I need to reduce 32 to get the right font point
	                                // 528 = 33*16;
#endif
    
	ptr = &ascii8x16[pFont];
     dca:	e4 2e       	mov	r14, r20
     dcc:	ff 24       	eor	r15, r15
     dce:	84 e0       	ldi	r24, 0x04	; 4
     dd0:	ee 0c       	add	r14, r14
     dd2:	ff 1c       	adc	r15, r15
     dd4:	8a 95       	dec	r24
     dd6:	e1 f7       	brne	.-8      	; 0xdd0
     dd8:	8a e7       	ldi	r24, 0x7A	; 122
     dda:	90 e0       	ldi	r25, 0x00	; 0
     ddc:	e8 0e       	add	r14, r24
     dde:	f9 1e       	adc	r15, r25

	for(j=0; j<16; j++)
     de0:	cc 24       	eor	r12, r12
     de2:	dd 24       	eor	r13, r13
	{
	    mask = 0x80;
     de4:	40 e8       	ldi	r20, 0x80	; 128
	    for(i=0; i<8; i++)
     de6:	20 e0       	ldi	r18, 0x00	; 0
     de8:	30 e0       	ldi	r19, 0x00	; 0
		{
		    tmp = pgm_read_byte(ptr);
     dea:	f7 01       	movw	r30, r14
     dec:	84 91       	lpm	r24, Z
		    
		    if( tmp&mask)
     dee:	84 23       	and	r24, r20
     df0:	f2 01       	movw	r30, r4
     df2:	e2 0f       	add	r30, r18
     df4:	f3 1f       	adc	r31, r19
     df6:	14 2f       	mov	r17, r20
     df8:	16 95       	lsr	r17
     dfa:	59 01       	movw	r10, r18
     dfc:	08 94       	sec
     dfe:	a1 1c       	adc	r10, r1
     e00:	b1 1c       	adc	r11, r1
     e02:	88 23       	and	r24, r24
     e04:	21 f0       	breq	.+8      	; 0xe0e
			{
			    PutPixel(x+i,y, ftR, ftG, ftB);
     e06:	08 2d       	mov	r16, r8
     e08:	29 2d       	mov	r18, r9
     e0a:	43 2d       	mov	r20, r3
     e0c:	03 c0       	rjmp	.+6      	; 0xe14
			}
			else
			{  
			    //if( !(bkcolor &0x8000) )        // if bkcolor<0, use the default bkcolor
				{
				    PutPixel(x+i, y, bkR, bkG, bkB);
     e0e:	02 2d       	mov	r16, r2
     e10:	2a 81       	ldd	r18, Y+2	; 0x02
     e12:	49 81       	ldd	r20, Y+1	; 0x01
     e14:	b3 01       	movw	r22, r6
     e16:	cf 01       	movw	r24, r30
     e18:	0e 94 21 05 	call	0xa42
			  
				}
			}
			mask>>=1;
     e1c:	41 2f       	mov	r20, r17
     e1e:	95 01       	movw	r18, r10
     e20:	28 30       	cpi	r18, 0x08	; 8
     e22:	31 05       	cpc	r19, r1
     e24:	14 f3       	brlt	.-60     	; 0xdea
			
		}
		y++;
     e26:	08 94       	sec
     e28:	61 1c       	adc	r6, r1
     e2a:	71 1c       	adc	r7, r1
		ptr++;
     e2c:	08 94       	sec
     e2e:	e1 1c       	adc	r14, r1
     e30:	f1 1c       	adc	r15, r1
     e32:	08 94       	sec
     e34:	c1 1c       	adc	r12, r1
     e36:	d1 1c       	adc	r13, r1
     e38:	f0 e1       	ldi	r31, 0x10	; 16
     e3a:	cf 16       	cp	r12, r31
     e3c:	d1 04       	cpc	r13, r1
     e3e:	94 f2       	brlt	.-92     	; 0xde4
     e40:	22 96       	adiw	r28, 0x02	; 2
     e42:	0f b6       	in	r0, 0x3f	; 63
     e44:	f8 94       	cli
     e46:	de bf       	out	0x3e, r29	; 62
     e48:	0f be       	out	0x3f, r0	; 63
     e4a:	cd bf       	out	0x3d, r28	; 61
     e4c:	df 91       	pop	r29
     e4e:	cf 91       	pop	r28
     e50:	1f 91       	pop	r17
     e52:	0f 91       	pop	r16
     e54:	ff 90       	pop	r15
     e56:	ef 90       	pop	r14
     e58:	df 90       	pop	r13
     e5a:	cf 90       	pop	r12
     e5c:	bf 90       	pop	r11
     e5e:	af 90       	pop	r10
     e60:	9f 90       	pop	r9
     e62:	8f 90       	pop	r8
     e64:	7f 90       	pop	r7
     e66:	6f 90       	pop	r6
     e68:	5f 90       	pop	r5
     e6a:	4f 90       	pop	r4
     e6c:	3f 90       	pop	r3
     e6e:	2f 90       	pop	r2
     e70:	08 95       	ret

00000e72 <PutString>:
	}
}

void PutString(int StartX, int StartY, char *pString, uchar bkR,uchar bkG, uchar bkB, uchar ftR, uchar ftG, uchar ftB)
{
     e72:	2f 92       	push	r2
     e74:	3f 92       	push	r3
     e76:	4f 92       	push	r4
     e78:	5f 92       	push	r5
     e7a:	6f 92       	push	r6
     e7c:	7f 92       	push	r7
     e7e:	8f 92       	push	r8
     e80:	9f 92       	push	r9
     e82:	af 92       	push	r10
     e84:	bf 92       	push	r11
     e86:	cf 92       	push	r12
     e88:	df 92       	push	r13
     e8a:	ef 92       	push	r14
     e8c:	ff 92       	push	r15
     e8e:	0f 93       	push	r16
     e90:	1f 93       	push	r17
     e92:	cf 93       	push	r28
     e94:	df 93       	push	r29
     e96:	cd b7       	in	r28, 0x3d	; 61
     e98:	de b7       	in	r29, 0x3e	; 62
     e9a:	21 97       	sbiw	r28, 0x01	; 1
     e9c:	0f b6       	in	r0, 0x3f	; 63
     e9e:	f8 94       	cli
     ea0:	de bf       	out	0x3e, r29	; 62
     ea2:	0f be       	out	0x3f, r0	; 63
     ea4:	cd bf       	out	0x3d, r28	; 61
     ea6:	1a 01       	movw	r2, r20
     ea8:	29 83       	std	Y+1, r18	; 0x01
     eaa:	90 2e       	mov	r9, r16
     eac:	be 2c       	mov	r11, r14
     eae:	dc 2c       	mov	r13, r12
     eb0:	fa 2c       	mov	r15, r10
     eb2:	18 2d       	mov	r17, r8
    int x,y;
	x = StartX;
     eb4:	3c 01       	movw	r6, r24
	y = StartY;
     eb6:	2b 01       	movw	r4, r22
    do
	{
	    PutChar8x16(x, y, *pString, bkR, bkG, bkB, ftR, ftG, ftB);
     eb8:	81 2e       	mov	r8, r17
     eba:	af 2c       	mov	r10, r15
     ebc:	cd 2c       	mov	r12, r13
     ebe:	eb 2c       	mov	r14, r11
     ec0:	09 2d       	mov	r16, r9
     ec2:	29 81       	ldd	r18, Y+1	; 0x01
     ec4:	f1 01       	movw	r30, r2
     ec6:	41 91       	ld	r20, Z+
     ec8:	1f 01       	movw	r2, r30
     eca:	b2 01       	movw	r22, r4
     ecc:	c3 01       	movw	r24, r6
     ece:	0e 94 c4 06 	call	0xd88
		x+=8;
     ed2:	88 e0       	ldi	r24, 0x08	; 8
     ed4:	90 e0       	ldi	r25, 0x00	; 0
     ed6:	68 0e       	add	r6, r24
     ed8:	79 1e       	adc	r7, r25
		pString++;
		if(x>=176)              
     eda:	90 eb       	ldi	r25, 0xB0	; 176
     edc:	69 16       	cp	r6, r25
     ede:	71 04       	cpc	r7, r1
     ee0:	64 f0       	brlt	.+24     	; 0xefa
		{
		    y+=16;
     ee2:	e0 e1       	ldi	r30, 0x10	; 16
     ee4:	f0 e0       	ldi	r31, 0x00	; 0
     ee6:	4e 0e       	add	r4, r30
     ee8:	5f 1e       	adc	r5, r31
			if(y>=132)             // 显示位置是从144开始,y方向累加是在子程序操作中
     eea:	f4 e8       	ldi	r31, 0x84	; 132
     eec:	4f 16       	cp	r4, r31
     eee:	51 04       	cpc	r5, r1
     ef0:	14 f0       	brlt	.+4      	; 0xef6
			{
			    x = 0;
				y = 0;
     ef2:	44 24       	eor	r4, r4
     ef4:	55 24       	eor	r5, r5
			}
			x = 0;
     ef6:	66 24       	eor	r6, r6
     ef8:	77 24       	eor	r7, r7
		}
	}while(*pString);
     efa:	f1 01       	movw	r30, r2
     efc:	80 81       	ld	r24, Z
     efe:	88 23       	and	r24, r24
     f00:	d9 f6       	brne	.-74     	; 0xeb8
     f02:	21 96       	adiw	r28, 0x01	; 1
     f04:	0f b6       	in	r0, 0x3f	; 63
     f06:	f8 94       	cli
     f08:	de bf       	out	0x3e, r29	; 62
     f0a:	0f be       	out	0x3f, r0	; 63
     f0c:	cd bf       	out	0x3d, r28	; 61
     f0e:	df 91       	pop	r29
     f10:	cf 91       	pop	r28
     f12:	1f 91       	pop	r17
     f14:	0f 91       	pop	r16
     f16:	ff 90       	pop	r15
     f18:	ef 90       	pop	r14
     f1a:	df 90       	pop	r13
     f1c:	cf 90       	pop	r12
     f1e:	bf 90       	pop	r11
     f20:	af 90       	pop	r10
     f22:	9f 90       	pop	r9
     f24:	8f 90       	pop	r8

⌨️ 快捷键说明

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