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

📄 elevator.lst

📁 AVR ATmegal128开发的电梯控制系统
💻 LST
📖 第 1 页 / 共 5 页
字号:
 a6e:	2f 91       	pop	r18
 a70:	0f 90       	pop	r0
 a72:	0f be       	out	0x3f, r0	; 63
 a74:	0f 90       	pop	r0
 a76:	1f 90       	pop	r1
 a78:	18 95       	reti

00000a7a <__vector_1>:
}

SIGNAL(SIG_INTERRUPT0)
{
 a7a:	1f 92       	push	r1
 a7c:	0f 92       	push	r0
 a7e:	0f b6       	in	r0, 0x3f	; 63
 a80:	0f 92       	push	r0
 a82:	11 24       	eor	r1, r1
 a84:	8f 93       	push	r24
 stepspeed=stepspeed+3;
 a86:	80 91 11 01 	lds	r24, 0x0111
 a8a:	8d 5f       	subi	r24, 0xFD	; 253
 a8c:	80 93 11 01 	sts	0x0111, r24
 a90:	8f 91       	pop	r24
 a92:	0f 90       	pop	r0
 a94:	0f be       	out	0x3f, r0	; 63
 a96:	0f 90       	pop	r0
 a98:	1f 90       	pop	r1
 a9a:	18 95       	reti

00000a9c <__vector_7>:
}

SIGNAL(SIG_INTERRUPT6)
{
 a9c:	1f 92       	push	r1
 a9e:	0f 92       	push	r0
 aa0:	0f b6       	in	r0, 0x3f	; 63
 aa2:	0f 92       	push	r0
 aa4:	11 24       	eor	r1, r1
 aa6:	8f 93       	push	r24
 stepspeed=stepspeed-3;
 aa8:	80 91 11 01 	lds	r24, 0x0111
 aac:	83 50       	subi	r24, 0x03	; 3
 aae:	80 93 11 01 	sts	0x0111, r24
 ab2:	8f 91       	pop	r24
 ab4:	0f 90       	pop	r0
 ab6:	0f be       	out	0x3f, r0	; 63
 ab8:	0f 90       	pop	r0
 aba:	1f 90       	pop	r1
 abc:	18 95       	reti

00000abe <lcd_control_wait>:
}

//=============================================================
// 功能模块:   TEXT LCD模块
// 实现功能:   实现TEXT LCD的显示
// 包含函数:   void initialize_text_lcd(void)     TEXT LCD初始化
//              void print_message(char *message)  TEXT LCD显示
//				void lcd_control_wait(void)   
// 				void lcd_data_wait(void)
//=============================================================
void initialize_text_lcd(void)
{lcd_control=TLCD_CTRL;
lcd_data=TLCD_DATA;

lcd_control_wait();

*lcd_control|=0x38;
lcd_control_wait();

*lcd_control|=0x02;
lcd_control_wait();

*lcd_control|=0x01;
lcd_control_wait();


*lcd_control|=0x06;
lcd_control_wait();

*lcd_control|=0x0c;
lcd_control_wait();
}

void print_message(char *message)
{unsigned char i;
for(i=0;;i++)
    {if(message[i]=='\0')   break;
     else if(message[i]=='\r')
          {*lcd_control=0xc0;
            lcd_control_wait();
          }
     else{*lcd_data=message[i];
             lcd_data_wait();
        }
    }
}

void lcd_control_wait(void)
{delay(40,35);}
 abe:	63 e2       	ldi	r22, 0x23	; 35
 ac0:	70 e0       	ldi	r23, 0x00	; 0
 ac2:	88 e2       	ldi	r24, 0x28	; 40
 ac4:	90 e0       	ldi	r25, 0x00	; 0
 ac6:	0e 94 ea 02 	call	0x5d4 <delay>
 aca:	08 95       	ret

00000acc <initialize_text_lcd>:
 acc:	80 e0       	ldi	r24, 0x00	; 0
 ace:	90 e7       	ldi	r25, 0x70	; 112
 ad0:	90 93 f9 01 	sts	0x01F9, r25
 ad4:	80 93 f8 01 	sts	0x01F8, r24
 ad8:	81 e0       	ldi	r24, 0x01	; 1
 ada:	90 e7       	ldi	r25, 0x70	; 112
 adc:	90 93 d4 01 	sts	0x01D4, r25
 ae0:	80 93 d3 01 	sts	0x01D3, r24
 ae4:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 ae8:	e0 91 f8 01 	lds	r30, 0x01F8
 aec:	f0 91 f9 01 	lds	r31, 0x01F9
 af0:	80 81       	ld	r24, Z
 af2:	88 63       	ori	r24, 0x38	; 56
 af4:	80 83       	st	Z, r24
 af6:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 afa:	e0 91 f8 01 	lds	r30, 0x01F8
 afe:	f0 91 f9 01 	lds	r31, 0x01F9
 b02:	80 81       	ld	r24, Z
 b04:	82 60       	ori	r24, 0x02	; 2
 b06:	80 83       	st	Z, r24
 b08:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 b0c:	e0 91 f8 01 	lds	r30, 0x01F8
 b10:	f0 91 f9 01 	lds	r31, 0x01F9
 b14:	80 81       	ld	r24, Z
 b16:	81 60       	ori	r24, 0x01	; 1
 b18:	80 83       	st	Z, r24
 b1a:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 b1e:	e0 91 f8 01 	lds	r30, 0x01F8
 b22:	f0 91 f9 01 	lds	r31, 0x01F9
 b26:	80 81       	ld	r24, Z
 b28:	86 60       	ori	r24, 0x06	; 6
 b2a:	80 83       	st	Z, r24
 b2c:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 b30:	e0 91 f8 01 	lds	r30, 0x01F8
 b34:	f0 91 f9 01 	lds	r31, 0x01F9
 b38:	80 81       	ld	r24, Z
 b3a:	8c 60       	ori	r24, 0x0C	; 12
 b3c:	80 83       	st	Z, r24
 b3e:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 b42:	08 95       	ret

00000b44 <lcd_data_wait>:

void lcd_data_wait(void)
{delay(10,10);}
 b44:	6a e0       	ldi	r22, 0x0A	; 10
 b46:	70 e0       	ldi	r23, 0x00	; 0
 b48:	cb 01       	movw	r24, r22
 b4a:	0e 94 ea 02 	call	0x5d4 <delay>
 b4e:	08 95       	ret

00000b50 <print_message>:
 b50:	ff 92       	push	r15
 b52:	0f 93       	push	r16
 b54:	1f 93       	push	r17
 b56:	cf 93       	push	r28
 b58:	8c 01       	movw	r16, r24
 b5a:	c0 e0       	ldi	r28, 0x00	; 0
 b5c:	f0 ec       	ldi	r31, 0xC0	; 192
 b5e:	ff 2e       	mov	r15, r31
 b60:	f8 01       	movw	r30, r16
 b62:	ec 0f       	add	r30, r28
 b64:	f1 1d       	adc	r31, r1
 b66:	80 81       	ld	r24, Z
 b68:	88 23       	and	r24, r24
 b6a:	d1 f0       	breq	.+52     	; 0xba0 <print_message+0x50>
 b6c:	8d 30       	cpi	r24, 0x0D	; 13
 b6e:	79 f0       	breq	.+30     	; 0xb8e <print_message+0x3e>
 b70:	e0 91 d3 01 	lds	r30, 0x01D3
 b74:	f0 91 d4 01 	lds	r31, 0x01D4
 b78:	80 83       	st	Z, r24
 b7a:	0e 94 a2 05 	call	0xb44 <lcd_data_wait>
 b7e:	cf 5f       	subi	r28, 0xFF	; 255
 b80:	f8 01       	movw	r30, r16
 b82:	ec 0f       	add	r30, r28
 b84:	f1 1d       	adc	r31, r1
 b86:	80 81       	ld	r24, Z
 b88:	88 23       	and	r24, r24
 b8a:	81 f7       	brne	.-32     	; 0xb6c <print_message+0x1c>
 b8c:	09 c0       	rjmp	.+18     	; 0xba0 <print_message+0x50>
 b8e:	e0 91 f8 01 	lds	r30, 0x01F8
 b92:	f0 91 f9 01 	lds	r31, 0x01F9
 b96:	f0 82       	st	Z, r15
 b98:	0e 94 5f 05 	call	0xabe <lcd_control_wait>
 b9c:	cf 5f       	subi	r28, 0xFF	; 255
 b9e:	f0 cf       	rjmp	.-32     	; 0xb80 <print_message+0x30>
 ba0:	cf 91       	pop	r28
 ba2:	1f 91       	pop	r17
 ba4:	0f 91       	pop	r16
 ba6:	ff 90       	pop	r15
 ba8:	08 95       	ret

00000baa <function>:
 baa:	f8 94       	cli
 bac:	0e 94 66 05 	call	0xacc <initialize_text_lcd>
 bb0:	e0 91 d3 01 	lds	r30, 0x01D3
 bb4:	f0 91 d4 01 	lds	r31, 0x01D4
 bb8:	80 91 fe 01 	lds	r24, 0x01FE
 bbc:	80 5d       	subi	r24, 0xD0	; 208
 bbe:	80 83       	st	Z, r24
 bc0:	8a e1       	ldi	r24, 0x1A	; 26
 bc2:	91 e0       	ldi	r25, 0x01	; 1
 bc4:	0e 94 a8 05 	call	0xb50 <print_message>
 bc8:	10 92 e1 01 	sts	0x01E1, r1
 bcc:	10 92 e0 01 	sts	0x01E0, r1
 bd0:	a0 91 fa 01 	lds	r26, 0x01FA
 bd4:	b0 91 fb 01 	lds	r27, 0x01FB
 bd8:	e0 91 e0 01 	lds	r30, 0x01E0
 bdc:	f0 91 e1 01 	lds	r31, 0x01E1
 be0:	e4 57       	subi	r30, 0x74	; 116
 be2:	ff 4f       	sbci	r31, 0xFF	; 255
 be4:	84 91       	lpm	r24, Z
 be6:	8c 93       	st	X, r24
 be8:	6e e1       	ldi	r22, 0x1E	; 30
 bea:	70 e0       	ldi	r23, 0x00	; 0
 bec:	8a e0       	ldi	r24, 0x0A	; 10
 bee:	90 e0       	ldi	r25, 0x00	; 0
 bf0:	0e 94 ea 02 	call	0x5d4 <delay>
 bf4:	80 91 e0 01 	lds	r24, 0x01E0
 bf8:	90 91 e1 01 	lds	r25, 0x01E1
 bfc:	01 96       	adiw	r24, 0x01	; 1
 bfe:	90 93 e1 01 	sts	0x01E1, r25
 c02:	80 93 e0 01 	sts	0x01E0, r24
 c06:	8b 59       	subi	r24, 0x9B	; 155
 c08:	94 40       	sbci	r25, 0x04	; 4
 c0a:	10 f3       	brcs	.-60     	; 0xbd0 <function+0x26>
 c0c:	08 95       	ret

00000c0e <main>:
 c0e:	cf ef       	ldi	r28, 0xFF	; 255
 c10:	d0 e1       	ldi	r29, 0x10	; 16
 c12:	de bf       	out	0x3e, r29	; 62
 c14:	cd bf       	out	0x3d, r28	; 61
 c16:	c1 e0       	ldi	r28, 0x01	; 1
 c18:	ec 2e       	mov	r14, r28
 c1a:	ce 2d       	mov	r28, r14
 c1c:	dd 24       	eor	r13, r13
 c1e:	85 b7       	in	r24, 0x35	; 53
 c20:	80 68       	ori	r24, 0x80	; 128
 c22:	85 bf       	out	0x35, r24	; 53
 c24:	80 ef       	ldi	r24, 0xF0	; 240
 c26:	81 bb       	out	0x11, r24	; 17
 c28:	0e 94 b2 02 	call	0x564 <initialize_ppi>
 c2c:	0e 94 66 05 	call	0xacc <initialize_text_lcd>
 c30:	e0 91 de 01 	lds	r30, 0x01DE
 c34:	f0 91 df 01 	lds	r31, 0x01DF
 c38:	80 91 00 01 	lds	r24, 0x0100
 c3c:	80 83       	st	Z, r24
 c3e:	8d e4       	ldi	r24, 0x4D	; 77
 c40:	91 e0       	ldi	r25, 0x01	; 1
 c42:	0e 94 a8 05 	call	0xb50 <print_message>
 c46:	aa 24       	eor	r10, r10
 c48:	bb 24       	eor	r11, r11
 c4a:	0a c0       	rjmp	.+20     	; 0xc60 <main+0x52>
 c4c:	4d 15       	cp	r20, r13
 c4e:	d8 f1       	brcs	.+118    	; 0xcc6 <main+0xb8>
 c50:	41 30       	cpi	r20, 0x01	; 1
 c52:	09 f4       	brne	.+2      	; 0xc56 <main+0x48>
 c54:	5d c0       	rjmp	.+186    	; 0xd10 <main+0x102>
 c56:	67 eb       	ldi	r22, 0xB7	; 183
 c58:	71 e0       	ldi	r23, 0x01	; 1
 c5a:	cb 01       	movw	r24, r22
 c5c:	0e 94 ff 03 	call	0x7fe <display>
 c60:	62 e3       	ldi	r22, 0x32	; 50
 c62:	70 e0       	ldi	r23, 0x00	; 0
 c64:	cb 01       	movw	r24, r22
 c66:	0e 94 ea 02 	call	0x5d4 <delay>
 c6a:	0e 94 fd 02 	call	0x5fa <key_scan>
 c6e:	80 93 d5 01 	sts	0x01D5, r24
 c72:	88 23       	and	r24, r24
 c74:	81 f3       	breq	.-32     	; 0xc56 <main+0x48>
 c76:	88 38       	cpi	r24, 0x88	; 136
 c78:	71 f3       	breq	.-36     	; 0xc56 <main+0x48>
 c7a:	0e 94 7f 03 	call	0x6fe <out_put>
 c7e:	40 91 fe 01 	lds	r20, 0x01FE
 c82:	d4 16       	cp	r13, r20
 c84:	18 f7       	brcc	.-58     	; 0xc4c <main+0x3e>
 c86:	0e 94 66 05 	call	0xacc <initialize_text_lcd>
 c8a:	8c e3       	ldi	r24, 0x3C	; 60
 c8c:	91 e0       	ldi	r25, 0x01	; 1
 c8e:	0e 94 a8 05 	call	0xb50 <print_message>
 c92:	0e 94 ef 03 	call	0x7de <initializemotor>
 c96:	80 91 c8 01 	lds	r24, 0x01C8
 c9a:	81 30       	cpi	r24, 0x01	; 1
 c9c:	09 f4       	brne	.+2      	; 0xca0 <main+0x92>
 c9e:	15 c1       	rjmp	.+554    	; 0xeca <main+0x2bc>
 ca0:	10 92 c8 01 	sts	0x01C8, r1
 ca4:	d0 90 fe 01 	lds	r13, 0x01FE
 ca8:	4d 2d       	mov	r20, r13
 caa:	ff 24       	eor	r15, r15
 cac:	8d 2d       	mov	r24, r13
 cae:	99 27       	eor	r25, r25
 cb0:	0c 2f       	mov	r16, r28
 cb2:	11 27       	eor	r17, r17
 cb4:	80 1b       	sub	r24, r16
 cb6:	91 0b       	sbc	r25, r17
 cb8:	a8 16       	cp	r10, r24
 cba:	b9 06       	cpc	r11, r25
 cbc:	0c f4       	brge	.+2      	; 0xcc0 <main+0xb2>
 cbe:	74 c0       	rjmp	.+232    	; 0xda8 <main+0x19a>
 cc0:	ce 2d       	mov	r28, r14
 cc2:	4d 15       	cp	r20, r13
 cc4:	28 f6       	brcc	.-118    	; 0xc50 <main+0x42>
 cc6:	0e 94 66 05 	call	0xacc <initialize_text_lcd>
 cca:	8c e3       	ldi	r24, 0x3C	; 60
 ccc:	91 e0       	ldi	r25, 0x01	; 1
 cce:	0e 94 a8 05 	call	0xb50 <print_message>
 cd2:	0e 94 ef 03 	call	0x7de <initializemotor>
 cd6:	80 91 c8 01 	lds	r24, 0x01C8
 cda:	88 23       	and	r24, r24
 cdc:	29 f4       	brne	.+10     	; 0xce8 <main+0xda>
 cde:	80 91 10 01 	lds	r24, 0x0110
 ce2:	82 50       	subi	r24, 0x02	; 2
 ce4:	80 93 10 01 	sts	0x0110, r24
 ce8:	81 e0       	ldi	r24, 0x01	; 1
 cea:	80 93 c8 01 	sts	0x01C8, r24
 cee:	d0 90 fe 01 	lds	r13, 0x01FE
 cf2:	4d 2d       	mov	r20, r13
 cf4:	ff 24       	eor	r15, r15
 cf6:	0c 2f       	mov	r16, r28
 cf8:	11 27       	eor	r17, r17
 cfa:	c8 01       	movw	r24, r16
 cfc:	8d 19       	sub	r24, r13
 cfe:	91 09       	sbc	r25, r1
 d00:	a8 16       	cp	r10, r24
 d02:	b9 06       	cpc	r11, r25
 d04:	0c f4       	brge	.+2      	; 0xd08 <main+0xfa>
 d06:	96 c0       	rjmp	.+300    	; 0xe34 <main+0x226>
 d08:	ce 2d       	mov	r28, r14
 d0a:	41 30       	cpi	r20, 0x01	; 1
 d0c:	09 f0       	breq	.+2      	; 0xd10 <main+0x102>
 d0e:	a3 cf       	rjmp	.-186    	; 0xc56 <main+0x48>
 d10:	10 92 c8 01 	sts	0x01C8, r1
 d14:	0e 94 66 05 	call	0xacc <initialize_text_lcd>
 d18:	8c e3       	ldi	r24, 0x3C	; 60
 d1a:	91 e0       	ldi	r25, 0x01	; 1
 d1c:	0e 94 a8 05 	call	0xb50 <print_message>
 d20:	0e 94 ef 03 	call	0x7de <initializemotor>
 d24:	ff 24       	eor	r15, r15
 d26:	0c 2f       	mov	r16, r28
 d28:	11 27       	eor	r17, r17
 d2a:	80 91 fe 01 	lds	r24, 0x01FE
 d2e:	98 01       	movw	r18, r16
 d30:	28 1b       	sub	r18, r24
 d32:	31 09       	sbc	r19, r1
 d34:	a2 16       	cp	r10, r18
 d36:	b3 06       	cpc	r11, r19
 d38:	0c f4       	brge	.+2      	; 0xd3c <main+0x12e>
 d3a:	b7 c0       	rjmp	.+366    	; 0xeaa <main+0x29c>
 d3c:	0e 94 d5 05 	call	0xbaa <functi

⌨️ 快捷键说明

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