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

📄 lcd2.lss

📁 CGG12864串行控制液晶 该液晶能修改参数显示为黑字与白字.能改变倒反显示方试
💻 LSS
📖 第 1 页 / 共 2 页
字号:
 37c:	3d 25       	eor	r19, r13
 37e:	27 3d       	cpi	r18, 0xD7	; 215
 380:	01 3d       	cpi	r16, 0xD1	; 209
 382:	25 27       	eor	r18, r21
 384:	3d 05       	cpc	r19, r13
	...

00000426 <__init>:
 426:	11 24       	eor	r1, r1
 428:	1f be       	out	0x3f, r1	; 63
 42a:	cf e5       	ldi	r28, 0x5F	; 95
 42c:	d4 e0       	ldi	r29, 0x04	; 4
 42e:	de bf       	out	0x3e, r29	; 62
 430:	cd bf       	out	0x3d, r28	; 61

00000432 <__do_copy_data>:
 432:	10 e0       	ldi	r17, 0x00	; 0
 434:	a0 e6       	ldi	r26, 0x60	; 96
 436:	b0 e0       	ldi	r27, 0x00	; 0
 438:	e8 e3       	ldi	r30, 0x38	; 56
 43a:	f5 e0       	ldi	r31, 0x05	; 5
 43c:	02 c0       	rjmp	.+4      	; 0x442 <.do_copy_data_start>

0000043e <.do_copy_data_loop>:
 43e:	05 90       	lpm	r0, Z+
 440:	0d 92       	st	X+, r0

00000442 <.do_copy_data_start>:
 442:	a0 36       	cpi	r26, 0x60	; 96
 444:	b1 07       	cpc	r27, r17
 446:	d9 f7       	brne	.-10     	; 0x43e <.do_copy_data_loop>

00000448 <__do_clear_bss>:
 448:	10 e0       	ldi	r17, 0x00	; 0
 44a:	a0 e6       	ldi	r26, 0x60	; 96
 44c:	b0 e0       	ldi	r27, 0x00	; 0
 44e:	01 c0       	rjmp	.+2      	; 0x452 <.do_clear_bss_start>

00000450 <.do_clear_bss_loop>:
 450:	1d 92       	st	X+, r1

00000452 <.do_clear_bss_start>:
 452:	a0 36       	cpi	r26, 0x60	; 96
 454:	b1 07       	cpc	r27, r17
 456:	e1 f7       	brne	.-8      	; 0x450 <.do_clear_bss_loop>
 458:	46 c0       	rjmp	.+140    	; 0x4e6 <main>

0000045a <__bad_interrupt>:
 45a:	d2 cd       	rjmp	.-1116   	; 0x0 <__vectors>

0000045c <s_spi>:
#define clk_l  com_out&=~clk
#define clk_h  com_out|=clk

void s_spi(uch data){
SPCR|=(1<<SPE);//使能SPI
 45c:	6e 9a       	sbi	0x0d, 6	; 13
SPDR=data;
 45e:	8f b9       	out	0x0f, r24	; 15
while(!(SPSR&(1<<SPIF))); 
 460:	77 9b       	sbis	0x0e, 7	; 14
 462:	fe cf       	rjmp	.-4      	; 0x460 <__stack+0x1>
 464:	08 95       	ret

00000466 <w_by>:

/*
  uch i;
  clk_l; 
  for(i=8;i!=0;i--)
    {
	 clk_l;
	 clk_l;
	 clk_l;
	 clk_l;
     if(data&0x80)sdo_h;else sdo_l;
     clk_h; 
     clk_h; 
     data<<=1;
    }	
	*/
}
void w_by(uch x){

A0H;
 466:	ad 9a       	sbi	0x15, 5	; 21
s_spi(x);
 468:	f9 df       	rcall	.-14     	; 0x45c <s_spi>
 46a:	08 95       	ret

0000046c <w_com>:

}
void w_com(uch x){

A0L; 
 46c:	ad 98       	cbi	0x15, 5	; 21
s_spi(x);
 46e:	f6 df       	rcall	.-20     	; 0x45c <s_spi>
 470:	08 95       	ret

00000472 <xyini>:
//CSH;
}
void xyini(uch x,uch y){//坐标设置
 472:	1f 93       	push	r17
 474:	18 2f       	mov	r17, r24
 476:	86 2f       	mov	r24, r22
uch i;
y&=0xf;
 478:	8f 70       	andi	r24, 0x0F	; 15
w_com(0xb0|y);
 47a:	80 6b       	ori	r24, 0xB0	; 176
 47c:	f7 df       	rcall	.-18     	; 0x46c <w_com>
i=(x>>4)|0x10;
 47e:	81 2f       	mov	r24, r17
 480:	82 95       	swap	r24
 482:	8f 70       	andi	r24, 0x0F	; 15
w_com(i);
 484:	80 61       	ori	r24, 0x10	; 16
 486:	f2 df       	rcall	.-28     	; 0x46c <w_com>

i=x&0xf;
 488:	1f 70       	andi	r17, 0x0F	; 15
i++;
w_com(i);
 48a:	81 2f       	mov	r24, r17
 48c:	8f 5f       	subi	r24, 0xFF	; 255
 48e:	ee df       	rcall	.-36     	; 0x46c <w_com>
 490:	1f 91       	pop	r17
 492:	08 95       	ret

00000494 <startline>:

}
void startline(uch x){//起始行设置
x|=0x40;
w_com(x);
 494:	80 64       	ori	r24, 0x40	; 64
 496:	ea df       	rcall	.-44     	; 0x46c <w_com>
 498:	08 95       	ret

0000049a <dis>:
}
void dis(const uch *px){
 49a:	0f 93       	push	r16
 49c:	1f 93       	push	r17
 49e:	cf 93       	push	r28
 4a0:	df 93       	push	r29
 4a2:	ec 01       	movw	r28, r24
uch x,y;
uch i;
for(y=0;y<8;y++){
 4a4:	00 e0       	ldi	r16, 0x00	; 0
   xyini(0,y);
 4a6:	60 2f       	mov	r22, r16
 4a8:	80 e0       	ldi	r24, 0x00	; 0
 4aa:	e3 df       	rcall	.-58     	; 0x472 <xyini>
   for(x=0;x<128;x++){
 4ac:	10 e0       	ldi	r17, 0x00	; 0
    i=pgm_read_byte(px);
 4ae:	fe 01       	movw	r30, r28
 4b0:	84 91       	lpm	r24, Z
	px++;
 4b2:	21 96       	adiw	r28, 0x01	; 1
	w_by(i);}
 4b4:	d8 df       	rcall	.-80     	; 0x466 <w_by>
 4b6:	1f 5f       	subi	r17, 0xFF	; 255
 4b8:	17 ff       	sbrs	r17, 7
 4ba:	f9 cf       	rjmp	.-14     	; 0x4ae <dis+0x14>
 4bc:	0f 5f       	subi	r16, 0xFF	; 255
 4be:	08 30       	cpi	r16, 0x08	; 8
 4c0:	90 f3       	brcs	.-28     	; 0x4a6 <dis+0xc>
 4c2:	df 91       	pop	r29
 4c4:	cf 91       	pop	r28
 4c6:	1f 91       	pop	r17
 4c8:	0f 91       	pop	r16
 4ca:	08 95       	ret

000004cc <ini>:
	}
}
void ini(void){		//初始化

	PORTC=0xff;DDRC=0xff;
 4cc:	8f ef       	ldi	r24, 0xFF	; 255
 4ce:	85 bb       	out	0x15, r24	; 21
 4d0:	84 bb       	out	0x14, r24	; 20
	DDRB=0xff;
 4d2:	87 bb       	out	0x17, r24	; 23
	DDRB|=(1<<PB3)|(1<<PB5);//设MOSI SCK 为输出
 4d4:	87 b3       	in	r24, 0x17	; 23
 4d6:	88 62       	ori	r24, 0x28	; 40
 4d8:	87 bb       	out	0x17, r24	; 23
    SPCR=(1<<MSTR);// |(1<<DORD)|(1<<CPOL)|(1<<CPHA)
 4da:	80 e1       	ldi	r24, 0x10	; 16
 4dc:	8d b9       	out	0x0d, r24	; 13
	SPSR=(1<<SPI2X);
 4de:	81 e0       	ldi	r24, 0x01	; 1
 4e0:	8e b9       	out	0x0e, r24	; 14
    SPCR|=(1<<SPE);//使能SPI
 4e2:	6e 9a       	sbi	0x0d, 6	; 13
 4e4:	08 95       	ret

000004e6 <main>:
}
/*
void dispaly(void){
 uch topline,liuid;
  uint daly;
  //jisuan();//算出各个参数的拆分值
  satline(0);
  openlcd();
  dis_tu(0,0,40,2,logo);
  dis_tu(0,2,64,2,set_t);
  dis_tu(0,5,64,2,dis_t);
            dis_tu(40,0,24,2,gantan);//故障
  xyini(0,0);
  for(topline=6;topline!=0;topline--)w_by(0x1,1);
            dis_tu(70,0,24,2,dian);//漏电
  xyini(30,0);
  for(topline=16;topline!=0;topline--)w_by(0x1,1);
  dis_tu(105,0,23,2,pentou);
  xyini(0,4);w_by(0xff,0);
  dis_tu(84,2,19,2,t_16);
  dis_tu(84,5,19,2,t_16);
  dis_tu(64,2,10,2,shu_16[sv_arry[1]]);//设定
  dis_tu(74,2,10,2,shu_16[sv_arry[0]]);//
  dis_tu(64,5,10,2,shu_16[t_arry[1]]);//温度
  dis_tu(74,5,10,2,shu_16[t_arry[0]]);
  dis_tu(106,2,16,2,&liu[1]);//流水
  for(topline=2;topline<8;topline++)
     {
     xyini(63,topline);
     w_by(0xff,1);}
  xyini(0,7);
  w_by(0xff,0);
//--------------------------------瞬时
    xyini(39,4);
  w_by(0xfc,1);
    xyini(39,5);
  w_by(0xff,1);
    xyini(39,6);
  w_by(0xff,1);
  
    xyini(61,4);
  w_by(0xfc,1);
    xyini(61,5);
  w_by(0xff,1);
    xyini(61,6);
  w_by(0xff,1);
  xyini(40,6);
  //-----------------
  wef(sun[2],1);
  wef(sun[1],1);
  w_by(0xc0,1);
  wef(sun[0],1);
  wef(10,1);
  //-------------------
  jindu_dis(7);
//----------------------------------//总累积
  xyini(1,7);
  w_by(0x80,0);
  wef(11,0);
  wef(12,0);
  for(topline=0;topline<7;topline++){
    wef(zonlei_arry[topline],0);
	}
  w_by(0xc0,0);
  wef(zonlei_arry[7],0);
  wef(10,0);
  for(topline=6;topline!=0;topline--)w_by(0x80,0);
  //-------------------------//本次累积
  xyini(0,7);
  for(topline=6;topline!=0;topline--)w_by(0x80,1);
  wef(13,1);
  wef(14,1);
  wef(15,1);
  w_by(0x80,1);
  w_by(0x80,1);
  w_by(0x80,1);
  w_by(0x80,1);
   wef(11,1);
   wef(12,1);
   wef(benlei_arry[3],1);
   wef(benlei_arry[2],1);
   wef(benlei_arry[1],1);
   w_by(0xc0,1);
   wef(benlei_arry[0],1);
   wef(10,1); w_by(0x80,1);
   w_by(0x80,1);
}
*/
int main(void){    //入口
 4e6:	cf e5       	ldi	r28, 0x5F	; 95
 4e8:	d4 e0       	ldi	r29, 0x04	; 4
 4ea:	de bf       	out	0x3e, r29	; 62
 4ec:	cd bf       	out	0x3d, r28	; 61
uch i;
RESL;RESL;RESL;RESL;RESL;RESL;RESL;RESL;
 4ee:	ac 98       	cbi	0x15, 4	; 21
 4f0:	ac 98       	cbi	0x15, 4	; 21
 4f2:	ac 98       	cbi	0x15, 4	; 21
 4f4:	ac 98       	cbi	0x15, 4	; 21
 4f6:	ac 98       	cbi	0x15, 4	; 21
 4f8:	ac 98       	cbi	0x15, 4	; 21
 4fa:	ac 98       	cbi	0x15, 4	; 21
 4fc:	ac 98       	cbi	0x15, 4	; 21
RESH;
 4fe:	ac 9a       	sbi	0x15, 4	; 21
 ini();
 500:	e5 df       	rcall	.-54     	; 0x4cc <ini>
 CSL;
 502:	ab 98       	cbi	0x15, 3	; 21
	    w_com(0xaf);       //ON DISPLAY
 504:	8f ea       	ldi	r24, 0xAF	; 175
 506:	b2 df       	rcall	.-156    	; 0x46c <w_com>
        w_com(0xa0);       //左右屏交换
 508:	80 ea       	ldi	r24, 0xA0	; 160
 50a:	b0 df       	rcall	.-160    	; 0x46c <w_com>
        w_com(0xa6);       //正反显
 50c:	86 ea       	ldi	r24, 0xA6	; 166
 50e:	ae df       	rcall	.-164    	; 0x46c <w_com>
        w_com(0xa4);       //CLEAR 
 510:	84 ea       	ldi	r24, 0xA4	; 164
 512:	ac df       	rcall	.-168    	; 0x46c <w_com>
        w_com(0xa3);       //1/9BIA
 514:	83 ea       	ldi	r24, 0xA3	; 163
 516:	aa df       	rcall	.-172    	; 0x46c <w_com>
        w_com(0xc8);       //正反选择,C0  C8
 518:	88 ec       	ldi	r24, 0xC8	; 200
 51a:	a8 df       	rcall	.-176    	; 0x46c <w_com>
        w_com(0x2f);       //POWER CONTROL
 51c:	8f e2       	ldi	r24, 0x2F	; 47
 51e:	a6 df       	rcall	.-180    	; 0x46c <w_com>
        w_com(0x81);       //VOLUM MODE SET
 520:	81 e8       	ldi	r24, 0x81	; 129
 522:	a4 df       	rcall	.-184    	; 0x46c <w_com>
        w_com(0x20);       //显示亮度   
 524:	80 e2       	ldi	r24, 0x20	; 32
 526:	a2 df       	rcall	.-188    	; 0x46c <w_com>
       	w_com(0xac);	   //static indicator off  
 528:	8c ea       	ldi	r24, 0xAC	; 172
 52a:	a0 df       	rcall	.-192    	; 0x46c <w_com>
        startline(32);
 52c:	80 e2       	ldi	r24, 0x20	; 32
 52e:	b2 df       	rcall	.-156    	; 0x494 <startline>
		

dis(logo);
 530:	86 e2       	ldi	r24, 0x26	; 38
 532:	90 e0       	ldi	r25, 0x00	; 0
 534:	b2 df       	rcall	.-156    	; 0x49a <dis>
   while(1);
 536:	ff cf       	rjmp	.-2      	; 0x536 <main+0x50>

⌨️ 快捷键说明

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