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

📄 essai.lss

📁 ds1302 and adc conversion test program on atmega device
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     230:	90 e0       	ldi	r25, 0x00	; 0
			PORTD&=~_BV(7);
     232:	97 98       	cbi	0x12, 7	; 18
return(RES);
}
     234:	08 95       	ret

00000236 <ecrit_instr_lcd>:
void ecrit_instr_lcd(unsigned char instr)
{

	unsigned char instr_tmp = 0x00;

	LCD&=~_BV(0);
     236:	a8 98       	cbi	0x15, 0	; 21
	LCD|=_BV(1);
     238:	a9 9a       	sbi	0x15, 1	; 21
	instr_tmp = instr;
	instr_tmp &= 0xF0;
     23a:	98 2f       	mov	r25, r24
     23c:	90 7f       	andi	r25, 0xF0	; 240
	instr_tmp = instr_tmp>>2;
     23e:	96 95       	lsr	r25
     240:	96 95       	lsr	r25
	instr_tmp |= 0x02;
	instr_tmp &= 0xFE;
     242:	92 60       	ori	r25, 0x02	; 2
	LCD = instr_tmp;
     244:	95 bb       	out	0x15, r25	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     246:	20 e9       	ldi	r18, 0x90	; 144
     248:	31 e0       	ldi	r19, 0x01	; 1
     24a:	f9 01       	movw	r30, r18
     24c:	31 97       	sbiw	r30, 0x01	; 1
     24e:	f1 f7       	brne	.-4      	; 0x24c <ecrit_instr_lcd+0x16>
	_delay_us(400);
	LCD&=~_BV(1);
     250:	a9 98       	cbi	0x15, 1	; 21

	instr_tmp=0x00;
	LCD&=~_BV(0);
     252:	a8 98       	cbi	0x15, 0	; 21
	LCD|=_BV(1);
     254:	a9 9a       	sbi	0x15, 1	; 21
	instr_tmp = instr;
	instr_tmp &= 0x0F;
     256:	8f 70       	andi	r24, 0x0F	; 15
	instr_tmp = instr_tmp<<2;
     258:	88 0f       	add	r24, r24
     25a:	88 0f       	add	r24, r24
	instr_tmp |= 0x02;
	instr_tmp &= 0xFE;
     25c:	82 60       	ori	r24, 0x02	; 2
	LCD = instr_tmp;
     25e:	85 bb       	out	0x15, r24	; 21
     260:	c9 01       	movw	r24, r18
     262:	01 97       	sbiw	r24, 0x01	; 1
     264:	f1 f7       	brne	.-4      	; 0x262 <ecrit_instr_lcd+0x2c>
	_delay_us(400);
	LCD&=~_BV(1);
     266:	a9 98       	cbi	0x15, 1	; 21

}
     268:	08 95       	ret

0000026a <lcd_goto>:




void lcd_goto(unsigned char cell)
	{
     26a:	0f 93       	push	r16
     26c:	1f 93       	push	r17
     26e:	cf 93       	push	r28
     270:	df 93       	push	r29
     272:	18 2f       	mov	r17, r24
	unsigned int i;
	ecrit_instr_lcd (0x02);
     274:	82 e0       	ldi	r24, 0x02	; 2
     276:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
     27a:	c1 e0       	ldi	r28, 0x01	; 1
     27c:	d0 e0       	ldi	r29, 0x00	; 0
	for (i = 1; i < cell; i++)
     27e:	01 2f       	mov	r16, r17
     280:	10 e0       	ldi	r17, 0x00	; 0
     282:	04 c0       	rjmp	.+8      	; 0x28c <lcd_goto+0x22>
		{
		ecrit_instr_lcd (0x14);
     284:	84 e1       	ldi	r24, 0x14	; 20
     286:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>

void lcd_goto(unsigned char cell)
	{
	unsigned int i;
	ecrit_instr_lcd (0x02);
	for (i = 1; i < cell; i++)
     28a:	21 96       	adiw	r28, 0x01	; 1
     28c:	c0 17       	cp	r28, r16
     28e:	d1 07       	cpc	r29, r17
     290:	c8 f3       	brcs	.-14     	; 0x284 <lcd_goto+0x1a>
		{
		ecrit_instr_lcd (0x14);
		}
	}
     292:	df 91       	pop	r29
     294:	cf 91       	pop	r28
     296:	1f 91       	pop	r17
     298:	0f 91       	pop	r16
     29a:	08 95       	ret

0000029c <ecrit_data_lcd>:
void ecrit_data_lcd(unsigned char data)
	{

	unsigned char data_tmp = 0x00;

	LCD|=_BV(0);
     29c:	a8 9a       	sbi	0x15, 0	; 21
	LCD|=_BV(1);
     29e:	a9 9a       	sbi	0x15, 1	; 21
	data_tmp = data;
	data_tmp &= 0xF0;
     2a0:	98 2f       	mov	r25, r24
     2a2:	90 7f       	andi	r25, 0xF0	; 240
	data_tmp = data_tmp>>2;
     2a4:	96 95       	lsr	r25
     2a6:	96 95       	lsr	r25
	data_tmp |= 0x03;
     2a8:	93 60       	ori	r25, 0x03	; 3
	LCD = data_tmp;
     2aa:	95 bb       	out	0x15, r25	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
     2ac:	95 e8       	ldi	r25, 0x85	; 133
     2ae:	29 2f       	mov	r18, r25
     2b0:	2a 95       	dec	r18
     2b2:	f1 f7       	brne	.-4      	; 0x2b0 <ecrit_data_lcd+0x14>
	_delay_us(100); //modif 10ms
	LCD&=~_BV(1);
     2b4:	a9 98       	cbi	0x15, 1	; 21

	data_tmp = 0x00;
	LCD|=_BV(0);
     2b6:	a8 9a       	sbi	0x15, 0	; 21
	LCD|=_BV(1);
     2b8:	a9 9a       	sbi	0x15, 1	; 21
	data_tmp = data;
	data_tmp &= 0x0F;
     2ba:	8f 70       	andi	r24, 0x0F	; 15
	data_tmp = data_tmp<<2;
     2bc:	88 0f       	add	r24, r24
     2be:	88 0f       	add	r24, r24
	data_tmp |= 0x03;
     2c0:	83 60       	ori	r24, 0x03	; 3
	LCD = data_tmp;
     2c2:	85 bb       	out	0x15, r24	; 21
     2c4:	9a 95       	dec	r25
     2c6:	f1 f7       	brne	.-4      	; 0x2c4 <ecrit_data_lcd+0x28>
	_delay_us(100);//modif 10ms
	LCD&=~_BV(1);
     2c8:	a9 98       	cbi	0x15, 1	; 21

	}
     2ca:	08 95       	ret

000002cc <lcd_init>:
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     2cc:	80 e2       	ldi	r24, 0x20	; 32
     2ce:	9e e4       	ldi	r25, 0x4E	; 78
     2d0:	01 97       	sbiw	r24, 0x01	; 1
     2d2:	f1 f7       	brne	.-4      	; 0x2d0 <lcd_init+0x4>
void lcd_init(void)
	{

	_delay_ms(20);

	LCD&=~_BV(0);
     2d4:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
     2d6:	91 e0       	ldi	r25, 0x01	; 1
     2d8:	89 2f       	mov	r24, r25
     2da:	8a 95       	dec	r24
     2dc:	f1 f7       	brne	.-4      	; 0x2da <lcd_init+0xe>
	_delay_us(1);
	LCD|=_BV(1);
     2de:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0E;
     2e0:	8e e0       	ldi	r24, 0x0E	; 14
     2e2:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     2e4:	20 e1       	ldi	r18, 0x10	; 16
     2e6:	37 e2       	ldi	r19, 0x27	; 39
     2e8:	f9 01       	movw	r30, r18
     2ea:	31 97       	sbiw	r30, 0x01	; 1
     2ec:	f1 f7       	brne	.-4      	; 0x2ea <lcd_init+0x1e>
	_delay_ms(10);
	LCD&=~_BV(1);
     2ee:	a9 98       	cbi	0x15, 1	; 21
     2f0:	e8 e8       	ldi	r30, 0x88	; 136
     2f2:	f3 e1       	ldi	r31, 0x13	; 19
     2f4:	31 97       	sbiw	r30, 0x01	; 1
     2f6:	f1 f7       	brne	.-4      	; 0x2f4 <lcd_init+0x28>

	_delay_ms(5);

	LCD&=~_BV(0);
     2f8:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
     2fa:	49 2f       	mov	r20, r25
     2fc:	4a 95       	dec	r20
     2fe:	f1 f7       	brne	.-4      	; 0x2fc <lcd_init+0x30>
	_delay_us(1);
	LCD|=_BV(1);
     300:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0E;
     302:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     304:	f9 01       	movw	r30, r18
     306:	31 97       	sbiw	r30, 0x01	; 1
     308:	f1 f7       	brne	.-4      	; 0x306 <lcd_init+0x3a>
	_delay_ms(10);
	LCD&=~_BV(1);
     30a:	a9 98       	cbi	0x15, 1	; 21
     30c:	e8 ee       	ldi	r30, 0xE8	; 232
     30e:	f3 e0       	ldi	r31, 0x03	; 3
     310:	31 97       	sbiw	r30, 0x01	; 1
     312:	f1 f7       	brne	.-4      	; 0x310 <lcd_init+0x44>

	_delay_ms(1);

	LCD&=~_BV(0);
     314:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
     316:	49 2f       	mov	r20, r25
     318:	4a 95       	dec	r20
     31a:	f1 f7       	brne	.-4      	; 0x318 <lcd_init+0x4c>
	_delay_us(1);
	LCD|=_BV(1);
     31c:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0E;
     31e:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     320:	f9 01       	movw	r30, r18
     322:	31 97       	sbiw	r30, 0x01	; 1
     324:	f1 f7       	brne	.-4      	; 0x322 <lcd_init+0x56>
	_delay_ms(10);
	LCD&=~_BV(1);
     326:	a9 98       	cbi	0x15, 1	; 21

	LCD&=~_BV(0);
     328:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
     32a:	9a 95       	dec	r25
     32c:	f1 f7       	brne	.-4      	; 0x32a <lcd_init+0x5e>
	_delay_us(1);
	LCD|=_BV(1);
     32e:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0A;
     330:	8a e0       	ldi	r24, 0x0A	; 10
     332:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     334:	c9 01       	movw	r24, r18
     336:	01 97       	sbiw	r24, 0x01	; 1
     338:	f1 f7       	brne	.-4      	; 0x336 <lcd_init+0x6a>
	_delay_ms(10);
	LCD&=~_BV(1);
     33a:	a9 98       	cbi	0x15, 1	; 21

	ecrit_instr_lcd(0x28);
     33c:	88 e2       	ldi	r24, 0x28	; 40
     33e:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
	ecrit_instr_lcd(0x06);
     342:	86 e0       	ldi	r24, 0x06	; 6
     344:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
	ecrit_instr_lcd(0x0C);
     348:	8c e0       	ldi	r24, 0x0C	; 12
     34a:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
	ecrit_instr_lcd(0x01);
     34e:	81 e0       	ldi	r24, 0x01	; 1
     350:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
	}
     354:	08 95       	ret

00000356 <lcd_clear>:

void lcd_clear(void)
	{
	ecrit_instr_lcd(0x01);
     356:	81 e0       	ldi	r24, 0x01	; 1
     358:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
	}
     35c:	08 95       	ret

⌨️ 快捷键说明

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