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

📄 main.lss

📁 AVR做的打印机控制例子,基于AVR和CH375
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     33e:	6c 85       	ldd	r22, Y+12	; 0x0c
     340:	7d 85       	ldd	r23, Y+13	; 0x0d
     342:	8e 85       	ldd	r24, Y+14	; 0x0e
     344:	9f 85       	ldd	r25, Y+15	; 0x0f
     346:	0e 94 48 22 	call	0x4490	; 0x4490 <__mulsf3>
     34a:	dc 01       	movw	r26, r24
     34c:	cb 01       	movw	r24, r22
     34e:	89 8b       	std	Y+17, r24	; 0x11
     350:	9a 8b       	std	Y+18, r25	; 0x12
     352:	ab 8b       	std	Y+19, r26	; 0x13
     354:	bc 8b       	std	Y+20, r27	; 0x14
	if (__tmp < 1.0)
     356:	20 e0       	ldi	r18, 0x00	; 0
     358:	30 e0       	ldi	r19, 0x00	; 0
     35a:	40 e8       	ldi	r20, 0x80	; 128
     35c:	5f e3       	ldi	r21, 0x3F	; 63
     35e:	69 89       	ldd	r22, Y+17	; 0x11
     360:	7a 89       	ldd	r23, Y+18	; 0x12
     362:	8b 89       	ldd	r24, Y+19	; 0x13
     364:	9c 89       	ldd	r25, Y+20	; 0x14
     366:	0e 94 f8 21 	call	0x43f0	; 0x43f0 <__eqsf2>
     36a:	88 23       	and	r24, r24
     36c:	0c f0       	brlt	.+2      	; 0x370 <xWriteCH375Cmd+0x180>
     36e:	03 c0       	rjmp	.+6      	; 0x376 <xWriteCH375Cmd+0x186>
		__ticks = 1;
     370:	81 e0       	ldi	r24, 0x01	; 1
     372:	88 8b       	std	Y+16, r24	; 0x10
     374:	18 c0       	rjmp	.+48     	; 0x3a6 <xWriteCH375Cmd+0x1b6>
	else if (__tmp > 255)
     376:	20 e0       	ldi	r18, 0x00	; 0
     378:	30 e0       	ldi	r19, 0x00	; 0
     37a:	4f e7       	ldi	r20, 0x7F	; 127
     37c:	53 e4       	ldi	r21, 0x43	; 67
     37e:	69 89       	ldd	r22, Y+17	; 0x11
     380:	7a 89       	ldd	r23, Y+18	; 0x12
     382:	8b 89       	ldd	r24, Y+19	; 0x13
     384:	9c 89       	ldd	r25, Y+20	; 0x14
     386:	0e 94 fb 21 	call	0x43f6	; 0x43f6 <__gesf2>
     38a:	18 16       	cp	r1, r24
     38c:	0c f0       	brlt	.+2      	; 0x390 <xWriteCH375Cmd+0x1a0>
     38e:	02 c0       	rjmp	.+4      	; 0x394 <xWriteCH375Cmd+0x1a4>
		__ticks = 0;	/* i.e. 256 */
     390:	18 8a       	std	Y+16, r1	; 0x10
     392:	09 c0       	rjmp	.+18     	; 0x3a6 <xWriteCH375Cmd+0x1b6>
	else
		__ticks = (uint8_t)__tmp;
     394:	69 89       	ldd	r22, Y+17	; 0x11
     396:	7a 89       	ldd	r23, Y+18	; 0x12
     398:	8b 89       	ldd	r24, Y+19	; 0x13
     39a:	9c 89       	ldd	r25, Y+20	; 0x14
     39c:	0e 94 dd 21 	call	0x43ba	; 0x43ba <__fixsfsi>
     3a0:	dc 01       	movw	r26, r24
     3a2:	cb 01       	movw	r24, r22
     3a4:	88 8b       	std	Y+16, r24	; 0x10
     3a6:	88 89       	ldd	r24, Y+16	; 0x10
     3a8:	8b 87       	std	Y+11, r24	; 0x0b
     3aa:	8b 85       	ldd	r24, Y+11	; 0x0b
     3ac:	8a 95       	dec	r24
     3ae:	f1 f7       	brne	.-4      	; 0x3ac <xWriteCH375Cmd+0x1bc>
     3b0:	8b 87       	std	Y+11, r24	; 0x0b
     3b2:	80 e0       	ldi	r24, 0x00	; 0
     3b4:	90 e0       	ldi	r25, 0x00	; 0
     3b6:	a0 e8       	ldi	r26, 0x80	; 128
     3b8:	bf e3       	ldi	r27, 0x3F	; 63
     3ba:	8a 83       	std	Y+2, r24	; 0x02
     3bc:	9b 83       	std	Y+3, r25	; 0x03
     3be:	ac 83       	std	Y+4, r26	; 0x04
     3c0:	bd 83       	std	Y+5, r27	; 0x05
     3c2:	2a ef       	ldi	r18, 0xFA	; 250
     3c4:	3d ee       	ldi	r19, 0xED	; 237
     3c6:	4b e6       	ldi	r20, 0x6B	; 107
     3c8:	50 e4       	ldi	r21, 0x40	; 64
     3ca:	6a 81       	ldd	r22, Y+2	; 0x02
     3cc:	7b 81       	ldd	r23, Y+3	; 0x03
     3ce:	8c 81       	ldd	r24, Y+4	; 0x04
     3d0:	9d 81       	ldd	r25, Y+5	; 0x05
     3d2:	0e 94 48 22 	call	0x4490	; 0x4490 <__mulsf3>
     3d6:	dc 01       	movw	r26, r24
     3d8:	cb 01       	movw	r24, r22
     3da:	8f 83       	std	Y+7, r24	; 0x07
     3dc:	98 87       	std	Y+8, r25	; 0x08
     3de:	a9 87       	std	Y+9, r26	; 0x09
     3e0:	ba 87       	std	Y+10, r27	; 0x0a
     3e2:	20 e0       	ldi	r18, 0x00	; 0
     3e4:	30 e0       	ldi	r19, 0x00	; 0
     3e6:	40 e8       	ldi	r20, 0x80	; 128
     3e8:	5f e3       	ldi	r21, 0x3F	; 63
     3ea:	6f 81       	ldd	r22, Y+7	; 0x07
     3ec:	78 85       	ldd	r23, Y+8	; 0x08
     3ee:	89 85       	ldd	r24, Y+9	; 0x09
     3f0:	9a 85       	ldd	r25, Y+10	; 0x0a
     3f2:	0e 94 f8 21 	call	0x43f0	; 0x43f0 <__eqsf2>
     3f6:	88 23       	and	r24, r24
     3f8:	0c f0       	brlt	.+2      	; 0x3fc <xWriteCH375Cmd+0x20c>
     3fa:	03 c0       	rjmp	.+6      	; 0x402 <xWriteCH375Cmd+0x212>
     3fc:	81 e0       	ldi	r24, 0x01	; 1
     3fe:	8e 83       	std	Y+6, r24	; 0x06
     400:	18 c0       	rjmp	.+48     	; 0x432 <xWriteCH375Cmd+0x242>
     402:	20 e0       	ldi	r18, 0x00	; 0
     404:	30 e0       	ldi	r19, 0x00	; 0
     406:	4f e7       	ldi	r20, 0x7F	; 127
     408:	53 e4       	ldi	r21, 0x43	; 67
     40a:	6f 81       	ldd	r22, Y+7	; 0x07
     40c:	78 85       	ldd	r23, Y+8	; 0x08
     40e:	89 85       	ldd	r24, Y+9	; 0x09
     410:	9a 85       	ldd	r25, Y+10	; 0x0a
     412:	0e 94 fb 21 	call	0x43f6	; 0x43f6 <__gesf2>
     416:	18 16       	cp	r1, r24
     418:	0c f0       	brlt	.+2      	; 0x41c <xWriteCH375Cmd+0x22c>
     41a:	02 c0       	rjmp	.+4      	; 0x420 <xWriteCH375Cmd+0x230>
     41c:	1e 82       	std	Y+6, r1	; 0x06
     41e:	09 c0       	rjmp	.+18     	; 0x432 <xWriteCH375Cmd+0x242>
     420:	6f 81       	ldd	r22, Y+7	; 0x07
     422:	78 85       	ldd	r23, Y+8	; 0x08
     424:	89 85       	ldd	r24, Y+9	; 0x09
     426:	9a 85       	ldd	r25, Y+10	; 0x0a
     428:	0e 94 dd 21 	call	0x43ba	; 0x43ba <__fixsfsi>
     42c:	dc 01       	movw	r26, r24
     42e:	cb 01       	movw	r24, r22
     430:	8e 83       	std	Y+6, r24	; 0x06
     432:	8e 81       	ldd	r24, Y+6	; 0x06
     434:	89 83       	std	Y+1, r24	; 0x01
     436:	89 81       	ldd	r24, Y+1	; 0x01
     438:	8a 95       	dec	r24
     43a:	f1 f7       	brne	.-4      	; 0x438 <xWriteCH375Cmd+0x248>
     43c:	89 83       	std	Y+1, r24	; 0x01
     43e:	a9 96       	adiw	r28, 0x29	; 41
     440:	0f b6       	in	r0, 0x3f	; 63
     442:	f8 94       	cli
     444:	de bf       	out	0x3e, r29	; 62
     446:	0f be       	out	0x3f, r0	; 63
     448:	cd bf       	out	0x3d, r28	; 61
     44a:	df 91       	pop	r29
     44c:	cf 91       	pop	r28
     44e:	08 95       	ret

00000450 <xWriteCH375Data>:
/*	PORTB |= 0x08;  // 输出A0=1 
	PORTA = mCmd;  // 向CH375的并口输出数据 
	DDRA = 0xFF;  // 并口D0-D7输出 
	PORTB &= 0xF9;  // 输出有效写控制信号, 写CH375芯片的命令端口, A0=1; CS=0; WR=0; RD=1;
	DDRA = 0xFF;  // 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS 
	PORTB |= 0x07;  // 输出无效的控制信号, 完成操作CH375芯片, A0=1; CS=1; WR=1; RD=1; 
	DDRA = 0x00;  // 禁止数据输出 
	PORTB &= 0xF7;  // 输出A0=0; 可选操作 
*/
	mDelay1uS( ); 
	mDelay1uS( );  // 至少延时2uS 
}

void xWriteCH375Data( UINT8 mData )		/* 外部定义的被CH375程序库调用的子程序,向CH375写数据 */
{
     450:	cf 93       	push	r28
     452:	df 93       	push	r29
     454:	cd b7       	in	r28, 0x3d	; 61
     456:	de b7       	in	r29, 0x3e	; 62
     458:	a9 97       	sbiw	r28, 0x29	; 41
     45a:	0f b6       	in	r0, 0x3f	; 63
     45c:	f8 94       	cli
     45e:	de bf       	out	0x3e, r29	; 62
     460:	0f be       	out	0x3f, r0	; 63
     462:	cd bf       	out	0x3d, r28	; 61
     464:	89 a7       	std	Y+41, r24	; 0x29
     466:	80 e0       	ldi	r24, 0x00	; 0
     468:	90 e0       	ldi	r25, 0x00	; 0
     46a:	a0 e8       	ldi	r26, 0x80	; 128
     46c:	bf e3       	ldi	r27, 0x3F	; 63
     46e:	88 a3       	std	Y+32, r24	; 0x20
     470:	99 a3       	std	Y+33, r25	; 0x21
     472:	aa a3       	std	Y+34, r26	; 0x22
     474:	bb a3       	std	Y+35, r27	; 0x23
void
_delay_us(double __us)
{
	uint8_t __ticks;
	double __tmp = ((F_CPU) / 3e6) * __us;
     476:	2a ef       	ldi	r18, 0xFA	; 250
     478:	3d ee       	ldi	r19, 0xED	; 237
     47a:	4b e6       	ldi	r20, 0x6B	; 107
     47c:	50 e4       	ldi	r21, 0x40	; 64
     47e:	68 a1       	ldd	r22, Y+32	; 0x20
     480:	79 a1       	ldd	r23, Y+33	; 0x21
     482:	8a a1       	ldd	r24, Y+34	; 0x22
     484:	9b a1       	ldd	r25, Y+35	; 0x23
     486:	0e 94 48 22 	call	0x4490	; 0x4490 <__mulsf3>
     48a:	dc 01       	movw	r26, r24
     48c:	cb 01       	movw	r24, r22
     48e:	8d a3       	std	Y+37, r24	; 0x25
     490:	9e a3       	std	Y+38, r25	; 0x26
     492:	af a3       	std	Y+39, r26	; 0x27
     494:	b8 a7       	std	Y+40, r27	; 0x28
	if (__tmp < 1.0)
     496:	20 e0       	ldi	r18, 0x00	; 0
     498:	30 e0       	ldi	r19, 0x00	; 0
     49a:	40 e8       	ldi	r20, 0x80	; 128
     49c:	5f e3       	ldi	r21, 0x3F	; 63
     49e:	6d a1       	ldd	r22, Y+37	; 0x25
     4a0:	7e a1       	ldd	r23, Y+38	; 0x26
     4a2:	8f a1       	ldd	r24, Y+39	; 0x27
     4a4:	98 a5       	ldd	r25, Y+40	; 0x28
     4a6:	0e 94 f8 21 	call	0x43f0	; 0x43f0 <__eqsf2>
     4aa:	88 23       	and	r24, r24
     4ac:	0c f0       	brlt	.+2      	; 0x4b0 <xWriteCH375Data+0x60>
     4ae:	03 c0       	rjmp	.+6      	; 0x4b6 <xWriteCH375Data+0x66>
		__ticks = 1;
     4b0:	81 e0       	ldi	r24, 0x01	; 1
     4b2:	8c a3       	std	Y+36, r24	; 0x24
     4b4:	18 c0       	rjmp	.+48     	; 0x4e6 <xWriteCH375Data+0x96>
	else if (__tmp > 255)
     4b6:	20 e0       	ldi	r18, 0x00	; 0
     4b8:	30 e0       	ldi	r19, 0x00	; 0
     4ba:	4f e7       	ldi	r20, 0x7F	; 127
     4bc:	53 e4       	ldi	r21, 0x43	; 67
     4be:	6d a1       	ldd	r22, Y+37	; 0x25
     4c0:	7e a1       	ldd	r23, Y+38	; 0x26
     4c2:	8f a1       	ldd	r24, Y+39	; 0x27
     4c4:	98 a5       	ldd	r25, Y+40	; 0x28
     4c6:	0e 94 fb 21 	call	0x43f6	; 0x43f6 <__gesf2>
     4ca:	18 16       	cp	r1, r24
     4cc:	0c f0       	brlt	.+2      	; 0x4d0 <xWriteCH375Data+0x80>
     4ce:	02 c0       	rjmp	.+4      	; 0x4d4 <xWriteCH375Data+0x84>
		__ticks = 0;	/* i.e. 256 */
     4d0:	1c a2       	std	Y+36, r1	; 0x24
     4d2:	09 c0       	rjmp	.+18     	; 0x4e6 <xWriteCH375Data+0x96>
	else
		__ticks = (uint8_t)__tmp;
     4d4:	6d a1       	ldd	r22, Y+37	; 0x25
     4d6:	7e a1       	ldd	r23, Y+38	; 0x26
     4d8:	8f a1       	ldd	r24, Y+39	; 0x27
     4da:	98 a5       	ldd	r25, Y+40	; 0x28
     4dc:	0e 94 dd 21 	call	0x43ba	; 0x43ba <__fixsfsi>
     4e0:	dc 01       	movw	r26, r24
     4e2:	cb 01       	movw	r24, r22
     4e4:	8c a3       	std	Y+36, r24	; 0x24
     4e6:	8c a1       	ldd	r24, Y+36	; 0x24
     4e8:	8f 8f       	std	Y+31, r24	; 0x1f
     4ea:	8f 8d       	ldd	r24, Y+31	; 0x1f
     4ec:	8a 95       	dec	r24
     4ee:	f1 f7       	brne	.-4      	; 0x4ec <xWriteCH375Data+0x9c>
     4f0:	8f 8f       	std	Y+31, r24	; 0x1f
     4f2:	80 e0       	ldi	r24, 0x00	; 0
     4f4:	90 e0       	ldi	r25, 0x00	; 0
     4f6:	a0 e8       	ldi	r26, 0x80	; 128
     4f8:	bf e3       	ldi	r27, 0x3F	; 63
     4fa:	8e 8b       	std	Y+22, r24	; 0x16
     4fc:	9f 8b       	std	Y+23, r25	; 0x17
     4fe:	a8 8f       	std	Y+24, r26	; 0x18
     500:	b9 8f       	std	Y+25, r27	; 0x19
     502:	2a ef       	ldi	r18, 0xFA	; 250
     504:	3d ee       	ldi	r19, 0xED	; 237
     506:	4b e6       	ldi	r20, 0x6B	; 107
     508:	50 e4       	ldi	r21, 0x40	; 64
     50a:	6e 89       	ldd	r22, Y+22	; 0x16
     50c:	7f 89       	ldd	r23, Y+23	; 0x17
     50e:	88 8d       	ldd	r24, Y+24	; 0x18
     510:	99 8d       	ldd	r25, Y+25	; 0x19
     512:	0e 94 48 22 	call	0x4490	; 0x4490 <__mulsf3>
     516:	dc 01       	movw	r26, r24
     518:	cb 01       	movw	r24, r22
     51a:	8b 8f       	std	Y+27, r24	; 0x1b
     51c:	9c 8f       	std	Y+28, r25	; 0x1c
     51e:	ad 8f       	std	Y+29, r26	; 0x1d
     520:	be 8f       	std	Y+30, r27	; 0x1e
     522:	20 e0       	ldi	r18, 0x00	; 0
     524:	30 e0       	ldi	r19, 0x00	; 0
     526:	40 e8       	ldi	r20, 0x80	; 128
     528:	5f e3       	ldi	r21, 0x3F	; 63
     52a:	6b 8d       	ldd	r22, Y+27	; 0x1b
     52c:	7c 8d       	ldd	r23, Y+28	; 0x1c
     52e:	8d 8d       	ldd	r24, Y+29	; 0x1d
     530:	9e 8d       	ldd	r25, Y+30	; 0x1e
     532:	0e 94 f8 21 	call	0x43f0	; 0x43f0 <__eqsf2>
     536:	88 23       	and	r24, r24
     538:	0c f0       	brlt	.+2      	; 0x53c <xWriteCH375Data+0xec>
     53a:	03 c0       	rjmp	.+6      	; 0x542 <xWriteCH375Data+0xf2>
     53c:	81 e0       	ldi	r24, 0x01	; 1
     53e:	8a 8f       	std	Y+26, r24	; 0x1a
     540:	18 c0       	rjmp	.+48     	; 0x572 <xWriteCH375Data+0x122>
     542:	20 e0       	ldi	r18, 0x00	; 0
     544:	30 e0       	ldi	r19, 0x00	; 0
     546:	4f e7       	ldi	r20, 0x7F	; 127
     548:	53 e4       	ldi	r21, 0x43	; 67
     54a:	6b 8d       	ldd	r22, Y+27	; 0x1b
     54c:	7c 8d       	ldd	r23, Y+28	; 0x1c
     54e:	8d 8d       	ldd	r24, Y+29	; 0x1d
     550:	9e 8d       	ldd	r25, Y+30	; 0x1e
     552:	0e 94 fb 21 	call	0x43f6	; 0x43f6 <__gesf2>
     556:	18 16       	cp	r1, r24
     558:	0c f0       	brlt	.+2      	; 0x55c <xWriteCH375Data+0x10c>
     55a:	02 c0       	rjmp	.+4      	; 0x560 <xWriteCH375Data+0x110>
     55c:	1a 8e       	std	Y+26, r1	; 0x1a
     55e:	09 c0       	rjmp	.+18     	; 0x572 <xWriteCH375Data+0x122>
     560:	6b 8d       	ldd	r22, Y+27	; 0x1b
     562:	7c 8d       	ldd	r23, Y+28	; 0x1c
     564:	8d 8d       	ldd	r24, Y+29	; 0x1d
     566:	9e 8d       	ldd	r25, Y+30	; 0x1e

⌨️ 快捷键说明

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