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

📄 essai.lss

📁 adc conversion on atmega and lcd display (on avr studio)
💻 LSS
📖 第 1 页 / 共 2 页
字号:
	}
 164:	df 91       	pop	r29
 166:	cf 91       	pop	r28
 168:	1f 91       	pop	r17
 16a:	0f 91       	pop	r16
 16c:	08 95       	ret

0000016e <ecrit_data_lcd>:
void ecrit_data_lcd(unsigned char data)
	{

	unsigned char data_tmp = 0x00;

	LCD|=_BV(0);
 16e:	a8 9a       	sbi	0x15, 0	; 21
	LCD|=_BV(1);
 170:	a9 9a       	sbi	0x15, 1	; 21
	data_tmp = data;
	data_tmp &= 0xF0;
 172:	98 2f       	mov	r25, r24
 174:	90 7f       	andi	r25, 0xF0	; 240
	data_tmp = data_tmp>>2;
 176:	96 95       	lsr	r25
 178:	96 95       	lsr	r25
	data_tmp |= 0x03;
 17a:	93 60       	ori	r25, 0x03	; 3
	LCD = data_tmp;
 17c:	95 bb       	out	0x15, r25	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 17e:	95 e8       	ldi	r25, 0x85	; 133
 180:	29 2f       	mov	r18, r25
 182:	2a 95       	dec	r18
 184:	f1 f7       	brne	.-4      	; 0x182 <ecrit_data_lcd+0x14>
	_delay_us(100); //modif 10ms
	LCD&=~_BV(1);
 186:	a9 98       	cbi	0x15, 1	; 21

	data_tmp = 0x00;
	LCD|=_BV(0);
 188:	a8 9a       	sbi	0x15, 0	; 21
	LCD|=_BV(1);
 18a:	a9 9a       	sbi	0x15, 1	; 21
	data_tmp = data;
	data_tmp &= 0x0F;
 18c:	8f 70       	andi	r24, 0x0F	; 15
	data_tmp = data_tmp<<2;
 18e:	88 0f       	add	r24, r24
 190:	88 0f       	add	r24, r24
	data_tmp |= 0x03;
 192:	83 60       	ori	r24, 0x03	; 3
	LCD = data_tmp;
 194:	85 bb       	out	0x15, r24	; 21
 196:	9a 95       	dec	r25
 198:	f1 f7       	brne	.-4      	; 0x196 <ecrit_data_lcd+0x28>
	_delay_us(100);//modif 10ms
	LCD&=~_BV(1);
 19a:	a9 98       	cbi	0x15, 1	; 21

	}
 19c:	08 95       	ret

0000019e <lcd_init>:
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 19e:	80 e2       	ldi	r24, 0x20	; 32
 1a0:	9e e4       	ldi	r25, 0x4E	; 78
 1a2:	01 97       	sbiw	r24, 0x01	; 1
 1a4:	f1 f7       	brne	.-4      	; 0x1a2 <lcd_init+0x4>
void lcd_init(void)
	{

	_delay_ms(20);

	LCD&=~_BV(0);
 1a6:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 1a8:	91 e0       	ldi	r25, 0x01	; 1
 1aa:	89 2f       	mov	r24, r25
 1ac:	8a 95       	dec	r24
 1ae:	f1 f7       	brne	.-4      	; 0x1ac <lcd_init+0xe>
	_delay_us(1);
	LCD|=_BV(1);
 1b0:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0E;
 1b2:	8e e0       	ldi	r24, 0x0E	; 14
 1b4:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 1b6:	20 e1       	ldi	r18, 0x10	; 16
 1b8:	37 e2       	ldi	r19, 0x27	; 39
 1ba:	f9 01       	movw	r30, r18
 1bc:	31 97       	sbiw	r30, 0x01	; 1
 1be:	f1 f7       	brne	.-4      	; 0x1bc <lcd_init+0x1e>
	_delay_ms(10);
	LCD&=~_BV(1);
 1c0:	a9 98       	cbi	0x15, 1	; 21
 1c2:	e8 e8       	ldi	r30, 0x88	; 136
 1c4:	f3 e1       	ldi	r31, 0x13	; 19
 1c6:	31 97       	sbiw	r30, 0x01	; 1
 1c8:	f1 f7       	brne	.-4      	; 0x1c6 <lcd_init+0x28>

	_delay_ms(5);

	LCD&=~_BV(0);
 1ca:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 1cc:	49 2f       	mov	r20, r25
 1ce:	4a 95       	dec	r20
 1d0:	f1 f7       	brne	.-4      	; 0x1ce <lcd_init+0x30>
	_delay_us(1);
	LCD|=_BV(1);
 1d2:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0E;
 1d4:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 1d6:	f9 01       	movw	r30, r18
 1d8:	31 97       	sbiw	r30, 0x01	; 1
 1da:	f1 f7       	brne	.-4      	; 0x1d8 <lcd_init+0x3a>
	_delay_ms(10);
	LCD&=~_BV(1);
 1dc:	a9 98       	cbi	0x15, 1	; 21
 1de:	e8 ee       	ldi	r30, 0xE8	; 232
 1e0:	f3 e0       	ldi	r31, 0x03	; 3
 1e2:	31 97       	sbiw	r30, 0x01	; 1
 1e4:	f1 f7       	brne	.-4      	; 0x1e2 <lcd_init+0x44>

	_delay_ms(1);

	LCD&=~_BV(0);
 1e6:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 1e8:	49 2f       	mov	r20, r25
 1ea:	4a 95       	dec	r20
 1ec:	f1 f7       	brne	.-4      	; 0x1ea <lcd_init+0x4c>
	_delay_us(1);
	LCD|=_BV(1);
 1ee:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0E;
 1f0:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 1f2:	f9 01       	movw	r30, r18
 1f4:	31 97       	sbiw	r30, 0x01	; 1
 1f6:	f1 f7       	brne	.-4      	; 0x1f4 <lcd_init+0x56>
	_delay_ms(10);
	LCD&=~_BV(1);
 1f8:	a9 98       	cbi	0x15, 1	; 21

	LCD&=~_BV(0);
 1fa:	a8 98       	cbi	0x15, 0	; 21
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 1fc:	9a 95       	dec	r25
 1fe:	f1 f7       	brne	.-4      	; 0x1fc <lcd_init+0x5e>
	_delay_us(1);
	LCD|=_BV(1);
 200:	a9 9a       	sbi	0x15, 1	; 21
	LCD=0x0A;
 202:	8a e0       	ldi	r24, 0x0A	; 10
 204:	85 bb       	out	0x15, r24	; 21
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 206:	c9 01       	movw	r24, r18
 208:	01 97       	sbiw	r24, 0x01	; 1
 20a:	f1 f7       	brne	.-4      	; 0x208 <lcd_init+0x6a>
	_delay_ms(10);
	LCD&=~_BV(1);
 20c:	a9 98       	cbi	0x15, 1	; 21

	ecrit_instr_lcd(0x28);
 20e:	88 e2       	ldi	r24, 0x28	; 40
 210:	7d df       	rcall	.-262    	; 0x10c <ecrit_instr_lcd>
	ecrit_instr_lcd(0x06);
 212:	86 e0       	ldi	r24, 0x06	; 6
 214:	7b df       	rcall	.-266    	; 0x10c <ecrit_instr_lcd>
	ecrit_instr_lcd(0x0C);
 216:	8c e0       	ldi	r24, 0x0C	; 12
 218:	79 df       	rcall	.-270    	; 0x10c <ecrit_instr_lcd>
	ecrit_instr_lcd(0x01);
 21a:	81 e0       	ldi	r24, 0x01	; 1
 21c:	77 df       	rcall	.-274    	; 0x10c <ecrit_instr_lcd>
	}
 21e:	08 95       	ret

00000220 <lcd_clear>:

void lcd_clear(void)
	{
	ecrit_instr_lcd(0x01);
 220:	81 e0       	ldi	r24, 0x01	; 1
 222:	74 df       	rcall	.-280    	; 0x10c <ecrit_instr_lcd>
	}
 224:	08 95       	ret

00000226 <lcd_puts>:

void lcd_puts(char *str)
	{
 226:	cf 93       	push	r28
 228:	df 93       	push	r29
 22a:	ec 01       	movw	r28, r24
 22c:	02 c0       	rjmp	.+4      	; 0x232 <lcd_puts+0xc>
	while(*str != 0x00)
		{
		ecrit_data_lcd(*str++);
 22e:	21 96       	adiw	r28, 0x01	; 1
 230:	9e df       	rcall	.-196    	; 0x16e <ecrit_data_lcd>
	ecrit_instr_lcd(0x01);
	}

void lcd_puts(char *str)
	{
	while(*str != 0x00)
 232:	88 81       	ld	r24, Y
 234:	88 23       	and	r24, r24
 236:	d9 f7       	brne	.-10     	; 0x22e <lcd_puts+0x8>
		{
		ecrit_data_lcd(*str++);
		}
	}
 238:	df 91       	pop	r29
 23a:	cf 91       	pop	r28
 23c:	08 95       	ret

0000023e <main>:

double temperature;
char *temperature_str="00.0";

int main(void)
	{
 23e:	cf 93       	push	r28
 240:	df 93       	push	r29
	//DDRA=0xFE;
	//PORTA=0xFE;
	DDRD=0xFF;
 242:	8f ef       	ldi	r24, 0xFF	; 255
 244:	81 bb       	out	0x11, r24	; 17
	DDRB=0x00;
 246:	17 ba       	out	0x17, r1	; 23
	DDRC=0x3F;
 248:	8f e3       	ldi	r24, 0x3F	; 63
 24a:	84 bb       	out	0x14, r24	; 20
	//ADCSRA=0x85;
	lcd_init();
 24c:	a8 df       	rcall	.-176    	; 0x19e <lcd_init>
	lcd_clear();
 24e:	e8 df       	rcall	.-48     	; 0x220 <lcd_clear>
	ecrit_instr_lcd(0x80);
 250:	80 e8       	ldi	r24, 0x80	; 128
 252:	5c df       	rcall	.-328    	; 0x10c <ecrit_instr_lcd>
	//      ("L1-----------------+L3-0123456789ABCDEF+L2-0123456789ABCDEF+L4-0123456789ABCDEF+" );
//	while(1)
//	{

	lcd_puts("===MENU PRINCIPAL===____________________T:0.00癈    H:0.00   1-Setup      |08:00");
 254:	80 e8       	ldi	r24, 0x80	; 128
 256:	90 e0       	ldi	r25, 0x00	; 0
 258:	e6 df       	rcall	.-52     	; 0x226 <lcd_puts>
 25a:	c8 ee       	ldi	r28, 0xE8	; 232
 25c:	d3 e0       	ldi	r29, 0x03	; 3
		//if (CH==""){CHb="1";}
		//if (CH!=CHb){lcd_puts(CH); CHb="";}
		//lcd_goto(50);
		//CHb=CH;
unsigned char A = "";
A=getkey();
 25e:	01 df       	rcall	.-510    	; 0x62 <getkey>
if (A == "1") {lcd_puts("=======OPTION=======2-T Cons.   5-      1-Dat/Heu   4-      3-H Cons.   6-Retour");}
 260:	90 e0       	ldi	r25, 0x00	; 0
 262:	82 57       	subi	r24, 0x72	; 114
 264:	90 40       	sbci	r25, 0x00	; 0
 266:	19 f4       	brne	.+6      	; 0x26e <__stack+0xf>
 268:	81 ed       	ldi	r24, 0xD1	; 209
 26a:	90 e0       	ldi	r25, 0x00	; 0
 26c:	dc df       	rcall	.-72     	; 0x226 <lcd_puts>
 26e:	ce 01       	movw	r24, r28
 270:	01 97       	sbiw	r24, 0x01	; 1
 272:	f1 f7       	brne	.-4      	; 0x270 <__stack+0x11>
 274:	f4 cf       	rjmp	.-24     	; 0x25e <main+0x20>

00000276 <_exit>:
 276:	f8 94       	cli

00000278 <__stop_program>:
 278:	ff cf       	rjmp	.-2      	; 0x278 <__stop_program>

⌨️ 快捷键说明

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