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

📄 main.lss

📁 用超声波来测量距离
💻 LSS
📖 第 1 页 / 共 5 页
字号:
	       case 0:addr=0x80+x;break;
     61e:	32 2f       	mov	r19, r18
     620:	30 58       	subi	r19, 0x80	; 128
     622:	08 c0       	rjmp	.+16     	; 0x634 <locatexy_12864+0x3c>
		   case 1:addr=0x90+x;break;
     624:	32 2f       	mov	r19, r18
     626:	30 57       	subi	r19, 0x70	; 112
     628:	05 c0       	rjmp	.+10     	; 0x634 <locatexy_12864+0x3c>
		   case 2:addr=0x88+x;break;
     62a:	32 2f       	mov	r19, r18
     62c:	38 57       	subi	r19, 0x78	; 120
     62e:	02 c0       	rjmp	.+4      	; 0x634 <locatexy_12864+0x3c>
		   case 3:addr=0x98+x;break;
     630:	32 2f       	mov	r19, r18
     632:	38 56       	subi	r19, 0x68	; 104
		   default:break;
	    }	
	writecomm_12864(addr);
     634:	83 2f       	mov	r24, r19
     636:	0e 94 a9 02 	call	0x552 <writecomm_12864>
     63a:	08 95       	ret

0000063c <disonechar_12864>:
}
//*************函数部分***************/
/* 名字:disonechar_12864()          */
/* 功能:显示一个字符                */
/* 局部变量:x,y,char1              */
/* 全局变量:无                      */
/* 返回值:  无                      */
//************************************/
void disonechar_12864(uchar x,uchar y,uchar char1)
{
     63c:	cf 93       	push	r28
     63e:	c4 2f       	mov	r28, r20
    locatexy_12864(x,y);
     640:	0e 94 fc 02 	call	0x5f8 <locatexy_12864>
    writedata_12864(char1);
     644:	8c 2f       	mov	r24, r28
     646:	0e 94 c3 02 	call	0x586 <writedata_12864>
     64a:	cf 91       	pop	r28
     64c:	08 95       	ret

0000064e <distwochar_12864>:
}
//*************函数部分***************/
/* 名字:distwochar_12864()          */
/* 功能:显示两个字符即一个汉字      */
/* 局部变量:x,y,char1,char2        */
/* 全局变量:无                      */
/* 返回值:  无                      */
//************************************/
void distwochar_12864(uchar x,uchar y,uchar char1,uchar char2)
{
     64e:	cf 93       	push	r28
     650:	df 93       	push	r29
     652:	cd b7       	in	r28, 0x3d	; 61
     654:	de b7       	in	r29, 0x3e	; 62
     656:	22 97       	sbiw	r28, 0x02	; 2
     658:	0f b6       	in	r0, 0x3f	; 63
     65a:	f8 94       	cli
     65c:	de bf       	out	0x3e, r29	; 62
     65e:	0f be       	out	0x3f, r0	; 63
     660:	cd bf       	out	0x3d, r28	; 61
     662:	4a 83       	std	Y+2, r20	; 0x02
     664:	29 83       	std	Y+1, r18	; 0x01
    locatexy_12864(x,y); 
     666:	0e 94 fc 02 	call	0x5f8 <locatexy_12864>
    writedata_12864(char1);
     66a:	8a 81       	ldd	r24, Y+2	; 0x02
     66c:	0e 94 c3 02 	call	0x586 <writedata_12864>
	writedata_12864(char2);
     670:	89 81       	ldd	r24, Y+1	; 0x01
     672:	0e 94 c3 02 	call	0x586 <writedata_12864>
     676:	22 96       	adiw	r28, 0x02	; 2
     678:	0f b6       	in	r0, 0x3f	; 63
     67a:	f8 94       	cli
     67c:	de bf       	out	0x3e, r29	; 62
     67e:	0f be       	out	0x3f, r0	; 63
     680:	cd bf       	out	0x3d, r28	; 61
     682:	df 91       	pop	r29
     684:	cf 91       	pop	r28
     686:	08 95       	ret

00000688 <dispstr_12864>:
}
//*************函数部分***************/
/* 名字:dispstr_12864()             */
/* 功能:显示汉字字组                */
/* 局部变量:x,y,*pstr              */
/* 全局变量:无                      */
/* 返回值:  无                      */
//************************************/
void dispstr_12864(uchar x,uchar y,uchar *pstr)
{
     688:	cf 93       	push	r28
     68a:	df 93       	push	r29
     68c:	cd b7       	in	r28, 0x3d	; 61
     68e:	de b7       	in	r29, 0x3e	; 62
     690:	24 97       	sbiw	r28, 0x04	; 4
     692:	0f b6       	in	r0, 0x3f	; 63
     694:	f8 94       	cli
     696:	de bf       	out	0x3e, r29	; 62
     698:	0f be       	out	0x3f, r0	; 63
     69a:	cd bf       	out	0x3d, r28	; 61
     69c:	89 83       	std	Y+1, r24	; 0x01
     69e:	6a 83       	std	Y+2, r22	; 0x02
     6a0:	5c 83       	std	Y+4, r21	; 0x04
     6a2:	4b 83       	std	Y+3, r20	; 0x03
	locatexy_12864(x,y);
     6a4:	0e 94 fc 02 	call	0x5f8 <locatexy_12864>
    while(*pstr)
        {
		  writedata_12864(*pstr);
		  x+=1;
		  if(x==16)
		    {
			x=0;
			y++;
			if(y==4){y=0;}
			locatexy_12864(x,y);
			}
		  pstr++;	
     6a8:	eb 81       	ldd	r30, Y+3	; 0x03
     6aa:	fc 81       	ldd	r31, Y+4	; 0x04
     6ac:	80 81       	ld	r24, Z
     6ae:	88 23       	and	r24, r24
     6b0:	f1 f0       	breq	.+60     	; 0x6ee <dispstr_12864+0x66>
     6b2:	eb 81       	ldd	r30, Y+3	; 0x03
     6b4:	fc 81       	ldd	r31, Y+4	; 0x04
     6b6:	80 81       	ld	r24, Z
     6b8:	0e 94 c3 02 	call	0x586 <writedata_12864>
     6bc:	f9 81       	ldd	r31, Y+1	; 0x01
     6be:	ff 5f       	subi	r31, 0xFF	; 255
     6c0:	f9 83       	std	Y+1, r31	; 0x01
     6c2:	f0 31       	cpi	r31, 0x10	; 16
     6c4:	61 f4       	brne	.+24     	; 0x6de <dispstr_12864+0x56>
     6c6:	19 82       	std	Y+1, r1	; 0x01
     6c8:	8a 81       	ldd	r24, Y+2	; 0x02
     6ca:	8f 5f       	subi	r24, 0xFF	; 255
     6cc:	8a 83       	std	Y+2, r24	; 0x02
     6ce:	84 30       	cpi	r24, 0x04	; 4
     6d0:	11 f4       	brne	.+4      	; 0x6d6 <dispstr_12864+0x4e>
     6d2:	99 81       	ldd	r25, Y+1	; 0x01
     6d4:	9a 83       	std	Y+2, r25	; 0x02
     6d6:	6a 81       	ldd	r22, Y+2	; 0x02
     6d8:	89 81       	ldd	r24, Y+1	; 0x01
     6da:	0e 94 fc 02 	call	0x5f8 <locatexy_12864>
     6de:	eb 81       	ldd	r30, Y+3	; 0x03
     6e0:	fc 81       	ldd	r31, Y+4	; 0x04
     6e2:	31 96       	adiw	r30, 0x01	; 1
     6e4:	fc 83       	std	Y+4, r31	; 0x04
     6e6:	eb 83       	std	Y+3, r30	; 0x03
     6e8:	80 81       	ld	r24, Z
     6ea:	88 23       	and	r24, r24
     6ec:	11 f7       	brne	.-60     	; 0x6b2 <dispstr_12864+0x2a>
     6ee:	24 96       	adiw	r28, 0x04	; 4
     6f0:	0f b6       	in	r0, 0x3f	; 63
     6f2:	f8 94       	cli
     6f4:	de bf       	out	0x3e, r29	; 62
     6f6:	0f be       	out	0x3f, r0	; 63
     6f8:	cd bf       	out	0x3d, r28	; 61
     6fa:	df 91       	pop	r29
     6fc:	cf 91       	pop	r28
     6fe:	08 95       	ret

00000700 <drawpic_12864>:
		} 
}

/*=========================================*/
/* 函数:drawpic(uchar *pdraw);            */
/* 功能描述:画图形                        */
/* 参数接口:pdraw,是存放图形数据的表     */
/*=========================================*/
void drawpic_12864(uchar *pdraw,uchar i)
{   
     700:	cf 93       	push	r28
     702:	df 93       	push	r29
     704:	cd b7       	in	r28, 0x3d	; 61
     706:	de b7       	in	r29, 0x3e	; 62
     708:	2a 97       	sbiw	r28, 0x0a	; 10
     70a:	0f b6       	in	r0, 0x3f	; 63
     70c:	f8 94       	cli
     70e:	de bf       	out	0x3e, r29	; 62
     710:	0f be       	out	0x3f, r0	; 63
     712:	cd bf       	out	0x3d, r28	; 61
     714:	9a 83       	std	Y+2, r25	; 0x02
     716:	89 83       	std	Y+1, r24	; 0x01
     718:	6b 83       	std	Y+3, r22	; 0x03
    uchar x,y;
	long uint k=0;
     71a:	1d 82       	std	Y+5, r1	; 0x05
     71c:	1e 82       	std	Y+6, r1	; 0x06
     71e:	1f 82       	std	Y+7, r1	; 0x07
     720:	18 86       	std	Y+8, r1	; 0x08
    uchar yaddr=0x80;
     722:	80 e8       	ldi	r24, 0x80	; 128
     724:	89 87       	std	Y+9, r24	; 0x09
    writecomm_12864(0x30);//功能设置---8BIT控制界面,绘图显示OFF
     726:	80 e3       	ldi	r24, 0x30	; 48
     728:	0e 94 a9 02 	call	0x552 <writecomm_12864>
    writecomm_12864(0x34);//功能设置---8BIT控制界面,扩充指令集
     72c:	84 e3       	ldi	r24, 0x34	; 52
     72e:	0e 94 a9 02 	call	0x552 <writecomm_12864>
     732:	9f e1       	ldi	r25, 0x1F	; 31
     734:	9c 83       	std	Y+4, r25	; 0x04
    for(y=0;y<32;y++)
	    {
	        writecomm_12864(yaddr++);//设置绘图区的Y地址坐标
     736:	89 85       	ldd	r24, Y+9	; 0x09
     738:	a8 2f       	mov	r26, r24
     73a:	af 5f       	subi	r26, 0xFF	; 255
     73c:	a9 87       	std	Y+9, r26	; 0x09
     73e:	0e 94 a9 02 	call	0x552 <writecomm_12864>
	        writecomm_12864(0x80);  //设置绘图区的X地址坐标
     742:	80 e8       	ldi	r24, 0x80	; 128
     744:	0e 94 a9 02 	call	0x552 <writecomm_12864>
	        for(x=0;x<i;x++)
     748:	1a 86       	std	Y+10, r1	; 0x0a
     74a:	ba 85       	ldd	r27, Y+10	; 0x0a
     74c:	eb 81       	ldd	r30, Y+3	; 0x03
     74e:	be 17       	cp	r27, r30
     750:	70 f5       	brcc	.+92     	; 0x7ae <drawpic_12864+0xae>
		        {
		          writedata_12864(pdraw[k++]);
     752:	2d 81       	ldd	r18, Y+5	; 0x05
     754:	3e 81       	ldd	r19, Y+6	; 0x06
     756:	89 81       	ldd	r24, Y+1	; 0x01
     758:	9a 81       	ldd	r25, Y+2	; 0x02
     75a:	28 0f       	add	r18, r24
     75c:	39 1f       	adc	r19, r25
     75e:	8d 81       	ldd	r24, Y+5	; 0x05
     760:	9e 81       	ldd	r25, Y+6	; 0x06
     762:	af 81       	ldd	r26, Y+7	; 0x07
     764:	b8 85       	ldd	r27, Y+8	; 0x08
     766:	01 96       	adiw	r24, 0x01	; 1
     768:	a1 1d       	adc	r26, r1
     76a:	b1 1d       	adc	r27, r1
     76c:	8d 83       	std	Y+5, r24	; 0x05
     76e:	9e 83       	std	Y+6, r25	; 0x06
     770:	af 83       	std	Y+7, r26	; 0x07
     772:	b8 87       	std	Y+8, r27	; 0x08
     774:	d9 01       	movw	r26, r18
     776:	8c 91       	ld	r24, X
     778:	0e 94 c3 02 	call	0x586 <writedata_12864>
		          writedata_12864(pdraw[k++]);
     77c:	2d 81       	ldd	r18, Y+5	; 0x05
     77e:	3e 81       	ldd	r19, Y+6	; 0x06
     780:	e9 81       	ldd	r30, Y+1	; 0x01
     782:	fa 81       	ldd	r31, Y+2	; 0x02
     784:	2e 0f       	add	r18, r30
     786:	3f 1f       	adc	r19, r31
     788:	8d 81       	ldd	r24, Y+5	; 0x05
     78a:	9e 81       	ldd	r25, Y+6	; 0x06
     78c:	af 81       	ldd	r26, Y+7	; 0x07
     78e:	b8 85       	ldd	r27, Y+8	; 0x08
     790:	01 96       	adiw	r24, 0x01	; 1
     792:	a1 1d       	adc	r26, r1
     794:	b1 1d       	adc	r27, r1
     796:	8d 83       	std	Y+5, r24	; 0x05
     798:	9e 83       	std	Y+6, r25	; 0x06
     79a:	af 83       	std	Y+7, r26	; 0x07
     79c:	b8 87       	std	Y+8, r27	; 0x08
     79e:	d9 01       	movw	r26, r18
     7a0:	8c 91       	ld	r24, X
     7a2:	0e 94 c3 02 	call	0x586 <writedata_12864>
     7a6:	ba 85       	ldd	r27, Y+10	; 0x0a
     7a8:	bf 5f       	subi	r27, 0xFF	; 255
     7aa:	ba 87       	std	Y+10, r27	; 0x0a
     7ac:	cf cf       	rjmp	.-98     	; 0x74c <drawpic_12864+0x4c>
     7ae:	fc 81       	ldd	r31, Y+4	; 0x04
     7b0:	f1 50       	subi	r31, 0x01	; 1
     7b2:	fc 83       	std	Y+4, r31	; 0x04
     7b4:	f7 ff       	sbrs	r31, 7
     7b6:	bf cf       	rjmp	.-130    	; 0x736 <drawpic_12864+0x36>
		        }
	    }
    yaddr=0x80;
     7b8:	80 e8       	ldi	r24, 0x80	; 128
     7ba:	89 87       	std	Y+9, r24	; 0x09
     7bc:	9f e1       	ldi	r25, 0x1F	; 31
     7be:	9c 83       	std	Y+4, r25	; 0x04
    for(y=0;y<32;y++)
	    {	
	        writecomm_12864(yaddr++);//设置绘图区的Y地址坐标
     7c0:	89 85       	ldd	r24, Y+9	; 0x09
     7c2:	a8 2f       	mov	r26, r24
     7c4:	af 5f       	subi	r26, 0xFF	; 255
     7c6:	a9 87       	std	Y+9, r26	; 0x09
     7c8:	0e 94 a9 02 	call	0x552 <writecomm_12864>
	        writecomm_12864(0x88);   //设置绘图区的X地址坐标
     7cc:	88 e8       	ldi	r24, 0x88	; 136
     7ce:	0e 94 a9 02 	call	0x552 <writecomm_12864>
	        for(x=0;x<i;x++)
     7d2:	1a 86       	std	Y+10, r1	; 0x0a
     7d4:	ba 85       	ldd	r27, Y+10	; 0x0a
     7d6:	eb 81       	ldd	r30, Y+3	; 0x03
     7d8:	be 17       	cp	r27, r30
     7da:	70 f5       	brcc	.+92     	; 0x838 <drawpic_12864+0x138>
		        {
		            writedata_12864(pdraw[k++]);
     7dc:	2d 81       	ldd	r18, Y+5	; 0x05
     7de:	3e 81       	ldd	r19, Y+6	; 0x06
     7e0:	89 81       	ldd	r24, Y+1	; 0x01
     7e2:	9a 81       	ldd	r25, Y+2	; 0x02
     7e4:	28 0f       	add	r18, r24
     7e6:	39 1f       	adc	r19, r25
     7e8:	8d 81       	ldd	r24, Y+5	; 0x05
     7ea:	9e 81       	ldd	r25, Y+6	; 0x06
     7ec:	af 81       	ldd	r26, Y+7	; 0x07
     7ee:	b8 85       	ldd	r27, Y+8	; 0x08
     7f0:	01 96       	adiw	r24, 0x01	; 1
     7f2:	a1 1d       	adc	r26, r1
     7f4:	b1 1d       	adc	r27, r1
     7f6:	8d 83       	std	Y+5, r24	; 0x05
     7f8:	9e 83       	std	Y+6, r25	; 0x06
     7fa:	af 83       	std	Y+7, r26	; 0x07
     7fc:	b8 87       	std	Y+8, r27	; 0x08
     7fe:	d9 01       	movw	r26, r18
     800:	8c 91       	ld	r24, X
     802:	0e 94 c3 02 	call	0x586 <writedata_12864>
		            writedata_12864(pdraw[k++]);
     806:	2d 81       	ldd	r18, Y+5	; 0x05
     808:	3e 81       	ldd	r19, Y+6	; 0x06
     80a:	e9 81       	ldd	r30, Y+1	; 0x01
     80c:	fa 81       	ldd	r31, Y+2	; 0x02
     80e:	2e 0f       	add	r18, r30
     810:	3f 1f       	adc	r19, r31
     812:	8d 81       	ldd	r24, Y+5	; 0x05
     814:	9e 81       	ldd	r25, Y+6	; 0x06
     816:	af 81       	ldd	r26, Y+7	; 0x07
     818:	b8 85       	ldd	r27, Y+8	; 0x08
     81a:	01 96       	adiw	r24, 0x01	; 1
     81c:	a1 1d       	adc	r26, r1
     81e:	b1 1d       	adc	r27, r1
     820:	8d 83       	std	Y+5, r24	; 0x05
     822:	9e 83       	std	Y+6, r25	; 0x06
     824:	af 83       	std	Y+7, r

⌨️ 快捷键说明

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