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

📄 main.lss

📁 TG12864A引脚资料
💻 LSS
📖 第 1 页 / 共 3 页
字号:
 6ae:	60 e0       	ldi	r22, 0x00	; 0
 6b0:	81 2f       	mov	r24, r17
 6b2:	0e 94 14 04 	call	0x828	; 0x828 <write>
		write(i,32,&word_mode[1][i*32],32);
 6b6:	c0 58       	subi	r28, 0x80	; 128
 6b8:	df 4f       	sbci	r29, 0xFF	; 255
 6ba:	20 e2       	ldi	r18, 0x20	; 32
 6bc:	30 e0       	ldi	r19, 0x00	; 0
 6be:	ae 01       	movw	r20, r28
 6c0:	60 e2       	ldi	r22, 0x20	; 32
 6c2:	81 2f       	mov	r24, r17
 6c4:	0e 94 14 04 	call	0x828	; 0x828 <write>
        lcd_write_data(i,0,p,64);

    for (i=0; i<100 ;i++ ) _delay_ms(15);
    free(p);
    SELECT_LEFT;
    for (i=0 ; i<4 ; i++)
 6c8:	1f 5f       	subi	r17, 0xFF	; 255
 6ca:	c0 56       	subi	r28, 0x60	; 96
 6cc:	d0 40       	sbci	r29, 0x00	; 0
 6ce:	14 30       	cpi	r17, 0x04	; 4
 6d0:	59 f7       	brne	.-42     	; 0x6a8 <main+0x96>
        //lcd_write_data(i,32,&word_mode[1][i*32],32);
		write(i,0,&word_mode[0][i*32],32);
		write(i,32,&word_mode[1][i*32],32);
    }
    
    SELECT_RIGHT;
 6d2:	93 9a       	sbi	0x12, 3	; 18
 6d4:	94 98       	cbi	0x12, 4	; 18
 6d6:	c4 e5       	ldi	r28, 0x54	; 84
 6d8:	d1 e0       	ldi	r29, 0x01	; 1
 6da:	10 e0       	ldi	r17, 0x00	; 0
    for (i=0; i<4 ; i++ ) write(i,0,&word_mode[2][i*32],32);
 6dc:	20 e2       	ldi	r18, 0x20	; 32
 6de:	30 e0       	ldi	r19, 0x00	; 0
 6e0:	ae 01       	movw	r20, r28
 6e2:	60 e0       	ldi	r22, 0x00	; 0
 6e4:	81 2f       	mov	r24, r17
 6e6:	0e 94 14 04 	call	0x828	; 0x828 <write>
 6ea:	1f 5f       	subi	r17, 0xFF	; 255
 6ec:	a0 96       	adiw	r28, 0x20	; 32
 6ee:	14 30       	cpi	r17, 0x04	; 4
 6f0:	a9 f7       	brne	.-22     	; 0x6dc <main+0xca>
 6f2:	20 e0       	ldi	r18, 0x00	; 0
 6f4:	48 ec       	ldi	r20, 0xC8	; 200
 6f6:	5f ea       	ldi	r21, 0xAF	; 175
 6f8:	ca 01       	movw	r24, r20
 6fa:	01 97       	sbiw	r24, 0x01	; 1
 6fc:	f1 f7       	brne	.-4      	; 0x6fa <main+0xe8>
	//lcd_write_data(i,0,&word_mode[2][i*32],32);

    for (i=0; i<100 ; i++ ) _delay_ms(15);
 6fe:	2f 5f       	subi	r18, 0xFF	; 255
 700:	24 36       	cpi	r18, 0x64	; 100
 702:	d1 f7       	brne	.-12     	; 0x6f8 <main+0xe6>

    SELECT_ALL;
 704:	94 9a       	sbi	0x12, 4	; 18
 706:	93 9a       	sbi	0x12, 3	; 18
    lcd_write_cmd( 0xc0 + 32);
 708:	80 ee       	ldi	r24, 0xE0	; 224
 70a:	0e 94 c0 03 	call	0x780	; 0x780 <lcd_write_cmd>
 70e:	20 e0       	ldi	r18, 0x00	; 0
 710:	48 ec       	ldi	r20, 0xC8	; 200
 712:	5f ea       	ldi	r21, 0xAF	; 175
 714:	ca 01       	movw	r24, r20
 716:	01 97       	sbiw	r24, 0x01	; 1
 718:	f1 f7       	brne	.-4      	; 0x716 <main+0x104>
	for (i=0; i<100 ; i++ ) _delay_ms(15);
 71a:	2f 5f       	subi	r18, 0xFF	; 255
 71c:	24 36       	cpi	r18, 0x64	; 100
 71e:	d1 f7       	brne	.-12     	; 0x714 <main+0x102>
 720:	c4 ed       	ldi	r28, 0xD4	; 212
 722:	d1 e0       	ldi	r29, 0x01	; 1
 724:	10 e0       	ldi	r17, 0x00	; 0

	for (i=0;i<8 ;i++ )
	{
		SELECT_LEFT;
 726:	94 9a       	sbi	0x12, 4	; 18
 728:	93 98       	cbi	0x12, 3	; 18
		//lcd_write_data(i,0,&picture_mode[i*2*64],64);
		write(i,0,&picture_mode[i*2*64],64);
 72a:	20 e4       	ldi	r18, 0x40	; 64
 72c:	30 e0       	ldi	r19, 0x00	; 0
 72e:	ae 01       	movw	r20, r28
 730:	60 e0       	ldi	r22, 0x00	; 0
 732:	81 2f       	mov	r24, r17
 734:	0e 94 14 04 	call	0x828	; 0x828 <write>
		SELECT_RIGHT;
 738:	93 9a       	sbi	0x12, 3	; 18
 73a:	94 98       	cbi	0x12, 4	; 18
		//lcd_write_data(i,0,&picture_mode[(i*2+1)*64],64);
		write(i,0,&picture_mode[(i*2+1)*64],64);
 73c:	c0 5c       	subi	r28, 0xC0	; 192
 73e:	df 4f       	sbci	r29, 0xFF	; 255
 740:	20 e4       	ldi	r18, 0x40	; 64
 742:	30 e0       	ldi	r19, 0x00	; 0
 744:	ae 01       	movw	r20, r28
 746:	60 e0       	ldi	r22, 0x00	; 0
 748:	81 2f       	mov	r24, r17
 74a:	0e 94 14 04 	call	0x828	; 0x828 <write>

    SELECT_ALL;
    lcd_write_cmd( 0xc0 + 32);
	for (i=0; i<100 ; i++ ) _delay_ms(15);

	for (i=0;i<8 ;i++ )
 74e:	1f 5f       	subi	r17, 0xFF	; 255
 750:	c0 5c       	subi	r28, 0xC0	; 192
 752:	df 4f       	sbci	r29, 0xFF	; 255
 754:	18 30       	cpi	r17, 0x08	; 8
 756:	39 f7       	brne	.-50     	; 0x726 <main+0x114>
		write(i,0,&picture_mode[i*2*64],64);
		SELECT_RIGHT;
		//lcd_write_data(i,0,&picture_mode[(i*2+1)*64],64);
		write(i,0,&picture_mode[(i*2+1)*64],64);
	}
	SELECT_ALL;
 758:	94 9a       	sbi	0x12, 4	; 18
 75a:	93 9a       	sbi	0x12, 3	; 18
	lcd_write_cmd( 0xc0 + 0);
 75c:	80 ec       	ldi	r24, 0xC0	; 192
 75e:	0e 94 c0 03 	call	0x780	; 0x780 <lcd_write_cmd>
 762:	ff cf       	rjmp	.-2      	; 0x762 <main+0x150>

00000764 <lcd_read_stat>:
    _delay_us(1);
    return ret;
}
*/
void lcd_read_stat(void)
{
 764:	14 ba       	out	0x14, r1	; 20
	LCD_DATA_DDR = 0x00;
	clr_LCD_E;
 766:	95 98       	cbi	0x12, 5	; 18
	set_LCD_RW;
 768:	96 9a       	sbi	0x12, 6	; 18
	clr_LCD_DI;
 76a:	97 98       	cbi	0x12, 7	; 18
	set_LCD_E;
 76c:	95 9a       	sbi	0x12, 5	; 18
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 76e:	82 e0       	ldi	r24, 0x02	; 2
 770:	8a 95       	dec	r24
 772:	f1 f7       	brne	.-4      	; 0x770 <lcd_read_stat+0xc>
	_delay_us(0.5);
	while(LCD_DATA_PIN&0X80);
 774:	9f 99       	sbic	0x13, 7	; 19
 776:	fe cf       	rjmp	.-4      	; 0x774 <lcd_read_stat+0x10>
	clr_LCD_E;
 778:	95 98       	cbi	0x12, 5	; 18
	LCD_DATA_DDR = 0Xff;
 77a:	8f ef       	ldi	r24, 0xFF	; 255
 77c:	84 bb       	out	0x14, r24	; 20
}
 77e:	08 95       	ret

00000780 <lcd_write_cmd>:
void lcd_write_cmd(unsigned char cmd)
{
 780:	1f 93       	push	r17
 782:	18 2f       	mov	r17, r24
	lcd_read_stat();
 784:	0e 94 b2 03 	call	0x764	; 0x764 <lcd_read_stat>
    clr_LCD_E;
 788:	95 98       	cbi	0x12, 5	; 18
    clr_LCD_RW;
 78a:	96 98       	cbi	0x12, 6	; 18
    clr_LCD_DI;
 78c:	97 98       	cbi	0x12, 7	; 18
    LCD_DATA = cmd;
 78e:	15 bb       	out	0x15, r17	; 21
    set_LCD_E;
 790:	95 9a       	sbi	0x12, 5	; 18
 792:	82 e0       	ldi	r24, 0x02	; 2
 794:	98 2f       	mov	r25, r24
 796:	9a 95       	dec	r25
 798:	f1 f7       	brne	.-4      	; 0x796 <lcd_write_cmd+0x16>
    _delay_us(0.5);
    clr_LCD_E;
 79a:	95 98       	cbi	0x12, 5	; 18
 79c:	8a 95       	dec	r24
 79e:	f1 f7       	brne	.-4      	; 0x79c <lcd_write_cmd+0x1c>
    _delay_us(0.5);
}
 7a0:	1f 91       	pop	r17
 7a2:	08 95       	ret

000007a4 <lcd_write_data>:

void lcd_write_data(unsigned char x, unsigned char y, 
                                unsigned char *buf, unsigned char lenth)
{
 7a4:	0f 93       	push	r16
 7a6:	1f 93       	push	r17
 7a8:	cf 93       	push	r28
 7aa:	df 93       	push	r29
 7ac:	16 2f       	mov	r17, r22
 7ae:	ea 01       	movw	r28, r20
 7b0:	02 2f       	mov	r16, r18
    lcd_write_cmd(0xb8+(x%8));
 7b2:	87 70       	andi	r24, 0x07	; 7
 7b4:	88 54       	subi	r24, 0x48	; 72
 7b6:	0e 94 c0 03 	call	0x780	; 0x780 <lcd_write_cmd>
    lcd_write_cmd(0x40+(y%64));
 7ba:	1f 73       	andi	r17, 0x3F	; 63
 7bc:	81 2f       	mov	r24, r17
 7be:	80 5c       	subi	r24, 0xC0	; 192
 7c0:	0e 94 c0 03 	call	0x780	; 0x780 <lcd_write_cmd>
 7c4:	12 e0       	ldi	r17, 0x02	; 2
 7c6:	0f c0       	rjmp	.+30     	; 0x7e6 <lcd_write_data+0x42>
    while (lenth--)
    {
		lcd_read_stat();
 7c8:	0e 94 b2 03 	call	0x764	; 0x764 <lcd_read_stat>
        clr_LCD_RW;
 7cc:	96 98       	cbi	0x12, 6	; 18
        set_LCD_DI;
 7ce:	97 9a       	sbi	0x12, 7	; 18
        LCD_DATA =*buf++;
 7d0:	89 91       	ld	r24, Y+
 7d2:	85 bb       	out	0x15, r24	; 21
        set_LCD_E;
 7d4:	95 9a       	sbi	0x12, 5	; 18
 7d6:	81 2f       	mov	r24, r17
 7d8:	8a 95       	dec	r24
 7da:	f1 f7       	brne	.-4      	; 0x7d8 <lcd_write_data+0x34>
        _delay_us(0.5);
        clr_LCD_E;
 7dc:	95 98       	cbi	0x12, 5	; 18
 7de:	81 2f       	mov	r24, r17
 7e0:	8a 95       	dec	r24
 7e2:	f1 f7       	brne	.-4      	; 0x7e0 <lcd_write_data+0x3c>
 7e4:	01 50       	subi	r16, 0x01	; 1
void lcd_write_data(unsigned char x, unsigned char y, 
                                unsigned char *buf, unsigned char lenth)
{
    lcd_write_cmd(0xb8+(x%8));
    lcd_write_cmd(0x40+(y%64));
    while (lenth--)
 7e6:	00 23       	and	r16, r16
 7e8:	79 f7       	brne	.-34     	; 0x7c8 <lcd_write_data+0x24>
        set_LCD_E;
        _delay_us(0.5);
        clr_LCD_E;
        _delay_us(0.5);
   }
}
 7ea:	df 91       	pop	r29
 7ec:	cf 91       	pop	r28
 7ee:	1f 91       	pop	r17
 7f0:	0f 91       	pop	r16
 7f2:	08 95       	ret

000007f4 <read_rom>:
uint8_t *read_rom(const prog_uchar *__data, uint16_t __size)
{
 7f4:	0f 93       	push	r16
 7f6:	1f 93       	push	r17
 7f8:	cf 93       	push	r28
 7fa:	df 93       	push	r29
 7fc:	8c 01       	movw	r16, r24
 7fe:	eb 01       	movw	r28, r22
    uint8_t  *__p, *__tmp;
    
    __p = (uint8_t *) malloc(__size);
 800:	cb 01       	movw	r24, r22
 802:	0e 94 31 04 	call	0x862	; 0x862 <malloc>
 806:	ac 01       	movw	r20, r24
 808:	dc 01       	movw	r26, r24
 80a:	06 c0       	rjmp	.+12     	; 0x818 <read_rom+0x24>
    __tmp = __p;
    while (__size--)
 80c:	f8 01       	movw	r30, r16
        *__tmp++ = pgm_read_byte(__data++);
 80e:	0f 5f       	subi	r16, 0xFF	; 255
 810:	1f 4f       	sbci	r17, 0xFF	; 255
 812:	e4 91       	lpm	r30, Z+
 814:	ed 93       	st	X+, r30
 816:	21 97       	sbiw	r28, 0x01	; 1
{
    uint8_t  *__p, *__tmp;
    
    __p = (uint8_t *) malloc(__size);
    __tmp = __p;
    while (__size--)

⌨️ 快捷键说明

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