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

📄 elevator.lst

📁 AVR ATmegal128开发的电梯控制系统
💻 LST
📖 第 1 页 / 共 5 页
字号:
 7bc:	a4 e0       	ldi	r26, 0x04	; 4
 7be:	03 c0       	rjmp	.+6      	; 0x7c6 <out_put+0xc8>
 7c0:	ab e0       	ldi	r26, 0x0B	; 11
 7c2:	01 c0       	rjmp	.+2      	; 0x7c6 <out_put+0xc8>
 7c4:	ac e0       	ldi	r26, 0x0C	; 12
			break;
			default:
			break;
           }
bin=a;
 7c6:	a0 93 fe 01 	sts	0x01FE, r26
*seg=fnd[bin];
 7ca:	e0 91 de 01 	lds	r30, 0x01DE
 7ce:	f0 91 df 01 	lds	r31, 0x01DF
 7d2:	bb 27       	eor	r27, r27
 7d4:	a0 50       	subi	r26, 0x00	; 0
 7d6:	bf 4f       	sbci	r27, 0xFF	; 255
 7d8:	8c 91       	ld	r24, X
 7da:	80 83       	st	Z, r24
 7dc:	08 95       	ret

000007de <initializemotor>:
}

//=============================================================
// 功能模块:	电机模块
// 实现功能:   实现电机的正转反转与加速减速
// 包含函数:   void initializemotor(void)  电机初始化,电机开始运转
//              SIGNAL(SIG_OVERFLOW0)    定义溢出中断0,用于控制电机运转
//              void go_step_1phase(void)   控制电机正转与反转 
//              SIGNAL(SIG_INTERRUPT0)    外部中断0控制电机加速
//              SIGNAL(SIG_INTERRUPT6)    外部中断6控制电机减速
//=============================================================
void initializemotor(void)
{EIMSK=0X41;
 7de:	81 e4       	ldi	r24, 0x41	; 65
 7e0:	89 bf       	out	0x39, r24	; 57
 EICRA=0X02;
 7e2:	82 e0       	ldi	r24, 0x02	; 2
 7e4:	80 93 6a 00 	sts	0x006A, r24
 EICRB=0X20;
 7e8:	80 e2       	ldi	r24, 0x20	; 32
 7ea:	8a bf       	out	0x3a, r24	; 58
 TCNT0=stepspeed;
 7ec:	80 91 11 01 	lds	r24, 0x0111
 7f0:	82 bf       	out	0x32, r24	; 50
 TCCR0=0X07;
 7f2:	87 e0       	ldi	r24, 0x07	; 7
 7f4:	83 bf       	out	0x33, r24	; 51
 TIMSK=0X01;
 7f6:	81 e0       	ldi	r24, 0x01	; 1
 7f8:	87 bf       	out	0x37, r24	; 55
 sei();
 7fa:	78 94       	sei
 7fc:	08 95       	ret

000007fe <display>:
 7fe:	4f 92       	push	r4
 800:	5f 92       	push	r5
 802:	6f 92       	push	r6
 804:	7f 92       	push	r7
 806:	8f 92       	push	r8
 808:	9f 92       	push	r9
 80a:	af 92       	push	r10
 80c:	bf 92       	push	r11
 80e:	cf 92       	push	r12
 810:	df 92       	push	r13
 812:	ef 92       	push	r14
 814:	ff 92       	push	r15
 816:	0f 93       	push	r16
 818:	1f 93       	push	r17
 81a:	cf 93       	push	r28
 81c:	df 93       	push	r29
 81e:	2c 01       	movw	r4, r24
 820:	3b 01       	movw	r6, r22
 822:	cc 24       	eor	r12, r12
 824:	21 e0       	ldi	r18, 0x01	; 1
 826:	82 2e       	mov	r8, r18
 828:	91 2c       	mov	r9, r1
 82a:	90 e8       	ldi	r25, 0x80	; 128
 82c:	a9 2e       	mov	r10, r25
 82e:	b1 2c       	mov	r11, r1
 830:	73 01       	movw	r14, r6
 832:	82 01       	movw	r16, r4
 834:	c0 e0       	ldi	r28, 0x00	; 0
 836:	d0 e0       	ldi	r29, 0x00	; 0
 838:	87 e0       	ldi	r24, 0x07	; 7
 83a:	d8 2e       	mov	r13, r24
 83c:	16 c0       	rjmp	.+44     	; 0x86a <display+0x6c>
 83e:	e0 91 e2 01 	lds	r30, 0x01E2
 842:	f0 91 e3 01 	lds	r31, 0x01E3
 846:	c4 01       	movw	r24, r8
 848:	0c 2e       	mov	r0, r28
 84a:	02 c0       	rjmp	.+4      	; 0x850 <display+0x52>
 84c:	88 0f       	add	r24, r24
 84e:	99 1f       	adc	r25, r25
 850:	0a 94       	dec	r0
 852:	e2 f7       	brpl	.-8      	; 0x84c <display+0x4e>
 854:	80 83       	st	Z, r24
 856:	66 e4       	ldi	r22, 0x46	; 70
 858:	70 e0       	ldi	r23, 0x00	; 0
 85a:	84 e6       	ldi	r24, 0x64	; 100
 85c:	90 e0       	ldi	r25, 0x00	; 0
 85e:	0e 94 ea 02 	call	0x5d4 <delay>
 862:	da 94       	dec	r13
 864:	21 96       	adiw	r28, 0x01	; 1
 866:	d7 fc       	sbrc	r13, 7
 868:	2a c0       	rjmp	.+84     	; 0x8be <display+0xc0>
 86a:	e0 91 f4 01 	lds	r30, 0x01F4
 86e:	f0 91 f5 01 	lds	r31, 0x01F5
 872:	d8 01       	movw	r26, r16
 874:	8d 91       	ld	r24, X+
 876:	8d 01       	movw	r16, r26
 878:	80 83       	st	Z, r24
 87a:	e0 91 f6 01 	lds	r30, 0x01F6
 87e:	f0 91 f7 01 	lds	r31, 0x01F7
 882:	d7 01       	movw	r26, r14
 884:	8d 91       	ld	r24, X+
 886:	7d 01       	movw	r14, r26
 888:	80 83       	st	Z, r24
 88a:	80 91 c8 01 	lds	r24, 0x01C8
 88e:	88 23       	and	r24, r24
 890:	b1 f2       	breq	.-84     	; 0x83e <display+0x40>
 892:	e0 91 e2 01 	lds	r30, 0x01E2
 896:	f0 91 e3 01 	lds	r31, 0x01E3
 89a:	c5 01       	movw	r24, r10
 89c:	0c 2e       	mov	r0, r28
 89e:	02 c0       	rjmp	.+4      	; 0x8a4 <display+0xa6>
 8a0:	95 95       	asr	r25
 8a2:	87 95       	ror	r24
 8a4:	0a 94       	dec	r0
 8a6:	e2 f7       	brpl	.-8      	; 0x8a0 <display+0xa2>
 8a8:	80 83       	st	Z, r24
 8aa:	66 e4       	ldi	r22, 0x46	; 70
 8ac:	70 e0       	ldi	r23, 0x00	; 0
 8ae:	84 e6       	ldi	r24, 0x64	; 100
 8b0:	90 e0       	ldi	r25, 0x00	; 0
 8b2:	0e 94 ea 02 	call	0x5d4 <delay>
 8b6:	da 94       	dec	r13
 8b8:	21 96       	adiw	r28, 0x01	; 1
 8ba:	d7 fe       	sbrs	r13, 7
 8bc:	d6 cf       	rjmp	.-84     	; 0x86a <display+0x6c>
 8be:	c3 94       	inc	r12
 8c0:	be e0       	ldi	r27, 0x0E	; 14
 8c2:	bc 15       	cp	r27, r12
 8c4:	08 f0       	brcs	.+2      	; 0x8c8 <display+0xca>
 8c6:	b4 cf       	rjmp	.-152    	; 0x830 <display+0x32>
 8c8:	df 91       	pop	r29
 8ca:	cf 91       	pop	r28
 8cc:	1f 91       	pop	r17
 8ce:	0f 91       	pop	r16
 8d0:	ff 90       	pop	r15
 8d2:	ef 90       	pop	r14
 8d4:	df 90       	pop	r13
 8d6:	cf 90       	pop	r12
 8d8:	bf 90       	pop	r11
 8da:	af 90       	pop	r10
 8dc:	9f 90       	pop	r9
 8de:	8f 90       	pop	r8
 8e0:	7f 90       	pop	r7
 8e2:	6f 90       	pop	r6
 8e4:	5f 90       	pop	r5
 8e6:	4f 90       	pop	r4
 8e8:	08 95       	ret

000008ea <move>:
 8ea:	ef 92       	push	r14
 8ec:	ff 92       	push	r15
 8ee:	0f 93       	push	r16
 8f0:	1f 93       	push	r17
 8f2:	cf 93       	push	r28
 8f4:	df 93       	push	r29
 8f6:	8c 01       	movw	r16, r24
 8f8:	70 e0       	ldi	r23, 0x00	; 0
 8fa:	37 e0       	ldi	r19, 0x07	; 7
 8fc:	36 1b       	sub	r19, r22
 8fe:	80 91 10 01 	lds	r24, 0x0110
 902:	48 2f       	mov	r20, r24
 904:	55 27       	eor	r21, r21
 906:	44 0f       	add	r20, r20
 908:	55 1f       	adc	r21, r21
 90a:	44 0f       	add	r20, r20
 90c:	55 1f       	adc	r21, r21
 90e:	44 0f       	add	r20, r20
 910:	55 1f       	adc	r21, r21
 912:	7a 01       	movw	r14, r20
 914:	e3 2f       	mov	r30, r19
 916:	ff 27       	eor	r31, r31
 918:	ea 52       	subi	r30, 0x2A	; 42
 91a:	fe 4f       	sbci	r31, 0xFE	; 254
 91c:	d8 01       	movw	r26, r16
 91e:	a7 0f       	add	r26, r23
 920:	b1 1d       	adc	r27, r1
 922:	8c 91       	ld	r24, X
 924:	80 83       	st	Z, r24
 926:	80 91 c8 01 	lds	r24, 0x01C8
 92a:	88 23       	and	r24, r24
 92c:	e9 f4       	brne	.+58     	; 0x968 <move+0x7e>
 92e:	cc ee       	ldi	r28, 0xEC	; 236
 930:	d1 e0       	ldi	r29, 0x01	; 1
 932:	f7 01       	movw	r30, r14
 934:	e1 59       	subi	r30, 0x91	; 145
 936:	fe 4f       	sbci	r31, 0xFE	; 254
 938:	a6 ed       	ldi	r26, 0xD6	; 214
 93a:	b1 e0       	ldi	r27, 0x01	; 1
 93c:	27 e0       	ldi	r18, 0x07	; 7
 93e:	8d 91       	ld	r24, X+
 940:	91 91       	ld	r25, Z+
 942:	89 2b       	or	r24, r25
 944:	89 93       	st	Y+, r24
 946:	21 50       	subi	r18, 0x01	; 1
 948:	27 ff       	sbrs	r18, 7
 94a:	f9 cf       	rjmp	.-14     	; 0x93e <move+0x54>
 94c:	1d c0       	rjmp	.+58     	; 0x988 <move+0x9e>
 94e:	e3 2f       	mov	r30, r19
 950:	ff 27       	eor	r31, r31
 952:	ea 52       	subi	r30, 0x2A	; 42
 954:	fe 4f       	sbci	r31, 0xFE	; 254
 956:	d8 01       	movw	r26, r16
 958:	a7 0f       	add	r26, r23
 95a:	b1 1d       	adc	r27, r1
 95c:	8c 91       	ld	r24, X
 95e:	80 83       	st	Z, r24
 960:	80 91 c8 01 	lds	r24, 0x01C8
 964:	88 23       	and	r24, r24
 966:	19 f3       	breq	.-58     	; 0x92e <move+0x44>
 968:	cc ee       	ldi	r28, 0xEC	; 236
 96a:	d1 e0       	ldi	r29, 0x01	; 1
 96c:	fa 01       	movw	r30, r20
 96e:	ea 58       	subi	r30, 0x8A	; 138
 970:	fe 4f       	sbci	r31, 0xFE	; 254
 972:	a6 ed       	ldi	r26, 0xD6	; 214
 974:	b1 e0       	ldi	r27, 0x01	; 1
 976:	27 e0       	ldi	r18, 0x07	; 7
 978:	8d 91       	ld	r24, X+
 97a:	90 81       	ld	r25, Z
 97c:	31 97       	sbiw	r30, 0x01	; 1
 97e:	89 2b       	or	r24, r25
 980:	89 93       	st	Y+, r24
 982:	21 50       	subi	r18, 0x01	; 1
 984:	27 ff       	sbrs	r18, 7
 986:	f8 cf       	rjmp	.-16     	; 0x978 <move+0x8e>
 988:	3f 5f       	subi	r19, 0xFF	; 255
 98a:	7f 5f       	subi	r23, 0xFF	; 255
 98c:	61 50       	subi	r22, 0x01	; 1
 98e:	f8 f6       	brcc	.-66     	; 0x94e <move+0x64>
 990:	df 91       	pop	r29
 992:	cf 91       	pop	r28
 994:	1f 91       	pop	r17
 996:	0f 91       	pop	r16
 998:	ff 90       	pop	r15
 99a:	ef 90       	pop	r14
 99c:	08 95       	ret

0000099e <matrix>:
 99e:	0f 93       	push	r16
 9a0:	1f 93       	push	r17
 9a2:	cf 93       	push	r28
 9a4:	8c 01       	movw	r16, r24
 9a6:	c0 e0       	ldi	r28, 0x00	; 0
 9a8:	6c 2f       	mov	r22, r28
 9aa:	c8 01       	movw	r24, r16
 9ac:	0e 94 75 04 	call	0x8ea <move>
 9b0:	6b ec       	ldi	r22, 0xCB	; 203
 9b2:	71 e0       	ldi	r23, 0x01	; 1
 9b4:	8c ee       	ldi	r24, 0xEC	; 236
 9b6:	91 e0       	ldi	r25, 0x01	; 1
 9b8:	0e 94 ff 03 	call	0x7fe <display>
 9bc:	cf 5f       	subi	r28, 0xFF	; 255
 9be:	c8 30       	cpi	r28, 0x08	; 8
 9c0:	98 f3       	brcs	.-26     	; 0x9a8 <matrix+0xa>
 9c2:	e6 ed       	ldi	r30, 0xD6	; 214
 9c4:	f1 e0       	ldi	r31, 0x01	; 1
 9c6:	c7 e0       	ldi	r28, 0x07	; 7
 9c8:	11 92       	st	Z+, r1
 9ca:	c1 50       	subi	r28, 0x01	; 1
 9cc:	c7 ff       	sbrs	r28, 7
 9ce:	fc cf       	rjmp	.-8      	; 0x9c8 <matrix+0x2a>
 9d0:	cf 91       	pop	r28
 9d2:	1f 91       	pop	r17
 9d4:	0f 91       	pop	r16
 9d6:	08 95       	ret

000009d8 <go_step_1phase>:
}

SIGNAL(SIG_OVERFLOW0)
{ go_step_1phase();
  TCNT0=stepspeed;}
 
void go_step_1phase(void)
{if(!dir)
 9d8:	80 91 c8 01 	lds	r24, 0x01C8
 9dc:	88 23       	and	r24, r24
 9de:	99 f4       	brne	.+38     	; 0xa06 <go_step_1phase+0x2e>
   {PORTD=(one_phase1[phase_pnt1++]<<4);phase_pnt1&=0x03;}
 9e0:	90 91 ca 01 	lds	r25, 0x01CA
 9e4:	e9 2f       	mov	r30, r25
 9e6:	ff 27       	eor	r31, r31
 9e8:	ea 5e       	subi	r30, 0xEA	; 234
 9ea:	fe 4f       	sbci	r31, 0xFE	; 254
 9ec:	80 81       	ld	r24, Z
 9ee:	82 95       	swap	r24
 9f0:	80 7f       	andi	r24, 0xF0	; 240
 9f2:	9f 5f       	subi	r25, 0xFF	; 255
 9f4:	90 93 ca 01 	sts	0x01CA, r25
 9f8:	82 bb       	out	0x12, r24	; 18
 9fa:	80 91 ca 01 	lds	r24, 0x01CA
 9fe:	83 70       	andi	r24, 0x03	; 3
 a00:	80 93 ca 01 	sts	0x01CA, r24
 a04:	08 95       	ret
 else 
   {PORTD=(one_phase2[phase_pnt2++]<<4);phase_pnt2&=0x03;}
 a06:	90 91 c9 01 	lds	r25, 0x01C9
 a0a:	e9 2f       	mov	r30, r25
 a0c:	ff 27       	eor	r31, r31
 a0e:	ee 5e       	subi	r30, 0xEE	; 238
 a10:	fe 4f       	sbci	r31, 0xFE	; 254
 a12:	80 81       	ld	r24, Z
 a14:	82 95       	swap	r24
 a16:	80 7f       	andi	r24, 0xF0	; 240
 a18:	9f 5f       	subi	r25, 0xFF	; 255
 a1a:	90 93 c9 01 	sts	0x01C9, r25
 a1e:	82 bb       	out	0x12, r24	; 18
 a20:	80 91 c9 01 	lds	r24, 0x01C9
 a24:	83 70       	andi	r24, 0x03	; 3
 a26:	80 93 c9 01 	sts	0x01C9, r24
 a2a:	08 95       	ret

00000a2c <__vector_16>:
 a2c:	1f 92       	push	r1
 a2e:	0f 92       	push	r0
 a30:	0f b6       	in	r0, 0x3f	; 63
 a32:	0f 92       	push	r0
 a34:	11 24       	eor	r1, r1
 a36:	2f 93       	push	r18
 a38:	3f 93       	push	r19
 a3a:	4f 93       	push	r20
 a3c:	5f 93       	push	r21
 a3e:	6f 93       	push	r22
 a40:	7f 93       	push	r23
 a42:	8f 93       	push	r24
 a44:	9f 93       	push	r25
 a46:	af 93       	push	r26
 a48:	bf 93       	push	r27
 a4a:	ef 93       	push	r30
 a4c:	ff 93       	push	r31
 a4e:	0e 94 ec 04 	call	0x9d8 <go_step_1phase>
 a52:	80 91 11 01 	lds	r24, 0x0111
 a56:	82 bf       	out	0x32, r24	; 50
 a58:	ff 91       	pop	r31
 a5a:	ef 91       	pop	r30
 a5c:	bf 91       	pop	r27
 a5e:	af 91       	pop	r26
 a60:	9f 91       	pop	r25
 a62:	8f 91       	pop	r24
 a64:	7f 91       	pop	r23
 a66:	6f 91       	pop	r22
 a68:	5f 91       	pop	r21
 a6a:	4f 91       	pop	r20
 a6c:	3f 91       	pop	r19

⌨️ 快捷键说明

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