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

📄 system.lss

📁 FM12864液晶驱动,单片机为ATMEGA48,GCC编译器开发,其中包含ADC和串口程序.
💻 LSS
📖 第 1 页 / 共 4 页
字号:
 8d2:	62 e0       	ldi	r22, 0x02	; 2
 8d4:	83 e0       	ldi	r24, 0x03	; 3
 8d6:	69 d1       	rcall	.+722    	; 0xbaa <display_character_int>
	display_character_int(3,3,character,18);
 8d8:	22 e1       	ldi	r18, 0x12	; 18
 8da:	44 e7       	ldi	r20, 0x74	; 116
 8dc:	50 e0       	ldi	r21, 0x00	; 0
 8de:	63 e0       	ldi	r22, 0x03	; 3
 8e0:	86 2f       	mov	r24, r22
 8e2:	63 d1       	rcall	.+710    	; 0xbaa <display_character_int>
	display_character_int(3,4,character,19);
 8e4:	23 e1       	ldi	r18, 0x13	; 19
 8e6:	44 e7       	ldi	r20, 0x74	; 116
 8e8:	50 e0       	ldi	r21, 0x00	; 0
 8ea:	64 e0       	ldi	r22, 0x04	; 4
 8ec:	83 e0       	ldi	r24, 0x03	; 3
 8ee:	5d d1       	rcall	.+698    	; 0xbaa <display_character_int>
	display_character_int(3,5,character,20);
 8f0:	24 e1       	ldi	r18, 0x14	; 20
 8f2:	44 e7       	ldi	r20, 0x74	; 116
 8f4:	50 e0       	ldi	r21, 0x00	; 0
 8f6:	65 e0       	ldi	r22, 0x05	; 5
 8f8:	83 e0       	ldi	r24, 0x03	; 3
 8fa:	57 d1       	rcall	.+686    	; 0xbaa <display_character_int>
	display_character_int(3,6,character,21);
 8fc:	25 e1       	ldi	r18, 0x15	; 21
 8fe:	44 e7       	ldi	r20, 0x74	; 116
 900:	50 e0       	ldi	r21, 0x00	; 0
 902:	66 e0       	ldi	r22, 0x06	; 6
 904:	83 e0       	ldi	r24, 0x03	; 3
 906:	51 d1       	rcall	.+674    	; 0xbaa <display_character_int>
	display_character_int(3,7,character,22);
 908:	26 e1       	ldi	r18, 0x16	; 22
 90a:	44 e7       	ldi	r20, 0x74	; 116
 90c:	50 e0       	ldi	r21, 0x00	; 0
 90e:	67 e0       	ldi	r22, 0x07	; 7
 910:	83 e0       	ldi	r24, 0x03	; 3
 912:	4b d1       	rcall	.+662    	; 0xbaa <display_character_int>
	display_character_int(3,8,character,23);
 914:	27 e1       	ldi	r18, 0x17	; 23
 916:	44 e7       	ldi	r20, 0x74	; 116
 918:	50 e0       	ldi	r21, 0x00	; 0
 91a:	68 e0       	ldi	r22, 0x08	; 8
 91c:	83 e0       	ldi	r24, 0x03	; 3
 91e:	45 d1       	rcall	.+650    	; 0xbaa <display_character_int>
	display_character_char(4,1,symbol,0);
 920:	20 e0       	ldi	r18, 0x00	; 0
 922:	44 e3       	ldi	r20, 0x34	; 52
 924:	50 e0       	ldi	r21, 0x00	; 0
 926:	61 e0       	ldi	r22, 0x01	; 1
 928:	84 e0       	ldi	r24, 0x04	; 4
 92a:	cc d1       	rcall	.+920    	; 0xcc4 <display_character_char>
	display_character_char(4,2,symbol,0);
 92c:	20 e0       	ldi	r18, 0x00	; 0
 92e:	44 e3       	ldi	r20, 0x34	; 52
 930:	50 e0       	ldi	r21, 0x00	; 0
 932:	62 e0       	ldi	r22, 0x02	; 2
 934:	84 e0       	ldi	r24, 0x04	; 4
 936:	c6 d1       	rcall	.+908    	; 0xcc4 <display_character_char>
	display_character_char(4,3,symbol,0);
 938:	20 e0       	ldi	r18, 0x00	; 0
 93a:	44 e3       	ldi	r20, 0x34	; 52
 93c:	50 e0       	ldi	r21, 0x00	; 0
 93e:	63 e0       	ldi	r22, 0x03	; 3
 940:	84 e0       	ldi	r24, 0x04	; 4
 942:	c0 d1       	rcall	.+896    	; 0xcc4 <display_character_char>
	display_character_char(4,4,symbol,0);
 944:	20 e0       	ldi	r18, 0x00	; 0
 946:	44 e3       	ldi	r20, 0x34	; 52
 948:	50 e0       	ldi	r21, 0x00	; 0
 94a:	64 e0       	ldi	r22, 0x04	; 4
 94c:	86 2f       	mov	r24, r22
 94e:	ba d1       	rcall	.+884    	; 0xcc4 <display_character_char>
	display_character_char(4,5,symbol,0);
 950:	20 e0       	ldi	r18, 0x00	; 0
 952:	44 e3       	ldi	r20, 0x34	; 52
 954:	50 e0       	ldi	r21, 0x00	; 0
 956:	65 e0       	ldi	r22, 0x05	; 5
 958:	84 e0       	ldi	r24, 0x04	; 4
 95a:	b4 d1       	rcall	.+872    	; 0xcc4 <display_character_char>
	display_character_char(4,6,symbol,0);
 95c:	20 e0       	ldi	r18, 0x00	; 0
 95e:	44 e3       	ldi	r20, 0x34	; 52
 960:	50 e0       	ldi	r21, 0x00	; 0
 962:	66 e0       	ldi	r22, 0x06	; 6
 964:	84 e0       	ldi	r24, 0x04	; 4
 966:	ae d1       	rcall	.+860    	; 0xcc4 <display_character_char>
	display_character_char(4,7,symbol,0);
 968:	20 e0       	ldi	r18, 0x00	; 0
 96a:	44 e3       	ldi	r20, 0x34	; 52
 96c:	50 e0       	ldi	r21, 0x00	; 0
 96e:	67 e0       	ldi	r22, 0x07	; 7
 970:	84 e0       	ldi	r24, 0x04	; 4
 972:	a8 d1       	rcall	.+848    	; 0xcc4 <display_character_char>
	display_character_char(4,8,symbol,0);
 974:	20 e0       	ldi	r18, 0x00	; 0
 976:	44 e3       	ldi	r20, 0x34	; 52
 978:	50 e0       	ldi	r21, 0x00	; 0
 97a:	68 e0       	ldi	r22, 0x08	; 8
 97c:	84 e0       	ldi	r24, 0x04	; 4
 97e:	a2 d1       	rcall	.+836    	; 0xcc4 <display_character_char>
	display_character_char(4,9,symbol,0);
 980:	20 e0       	ldi	r18, 0x00	; 0
 982:	44 e3       	ldi	r20, 0x34	; 52
 984:	50 e0       	ldi	r21, 0x00	; 0
 986:	69 e0       	ldi	r22, 0x09	; 9
 988:	84 e0       	ldi	r24, 0x04	; 4
 98a:	9c d1       	rcall	.+824    	; 0xcc4 <display_character_char>
	display_character_char(4,10,symbol,0);
 98c:	20 e0       	ldi	r18, 0x00	; 0
 98e:	44 e3       	ldi	r20, 0x34	; 52
 990:	50 e0       	ldi	r21, 0x00	; 0
 992:	6a e0       	ldi	r22, 0x0A	; 10
 994:	84 e0       	ldi	r24, 0x04	; 4
 996:	96 d1       	rcall	.+812    	; 0xcc4 <display_character_char>
	display_character_char(4,11,symbol,0);
 998:	20 e0       	ldi	r18, 0x00	; 0
 99a:	44 e3       	ldi	r20, 0x34	; 52
 99c:	50 e0       	ldi	r21, 0x00	; 0
 99e:	6b e0       	ldi	r22, 0x0B	; 11
 9a0:	84 e0       	ldi	r24, 0x04	; 4
 9a2:	90 d1       	rcall	.+800    	; 0xcc4 <display_character_char>
	display_character_char(4,12,symbol,0);
 9a4:	20 e0       	ldi	r18, 0x00	; 0
 9a6:	44 e3       	ldi	r20, 0x34	; 52
 9a8:	50 e0       	ldi	r21, 0x00	; 0
 9aa:	6c e0       	ldi	r22, 0x0C	; 12
 9ac:	84 e0       	ldi	r24, 0x04	; 4
 9ae:	8a d1       	rcall	.+788    	; 0xcc4 <display_character_char>
	display_character_char(4,13,symbol,0);
 9b0:	20 e0       	ldi	r18, 0x00	; 0
 9b2:	44 e3       	ldi	r20, 0x34	; 52
 9b4:	50 e0       	ldi	r21, 0x00	; 0
 9b6:	6d e0       	ldi	r22, 0x0D	; 13
 9b8:	84 e0       	ldi	r24, 0x04	; 4
 9ba:	84 d1       	rcall	.+776    	; 0xcc4 <display_character_char>
	display_character_char(4,14,symbol,0);
 9bc:	20 e0       	ldi	r18, 0x00	; 0
 9be:	44 e3       	ldi	r20, 0x34	; 52
 9c0:	50 e0       	ldi	r21, 0x00	; 0
 9c2:	6e e0       	ldi	r22, 0x0E	; 14
 9c4:	84 e0       	ldi	r24, 0x04	; 4
 9c6:	7e d1       	rcall	.+764    	; 0xcc4 <display_character_char>
	display_character_char(4,15,symbol,0);
 9c8:	20 e0       	ldi	r18, 0x00	; 0
 9ca:	44 e3       	ldi	r20, 0x34	; 52
 9cc:	50 e0       	ldi	r21, 0x00	; 0
 9ce:	6f e0       	ldi	r22, 0x0F	; 15
 9d0:	84 e0       	ldi	r24, 0x04	; 4
 9d2:	78 d1       	rcall	.+752    	; 0xcc4 <display_character_char>
	display_character_char(4,16,symbol,0);
 9d4:	20 e0       	ldi	r18, 0x00	; 0
 9d6:	44 e3       	ldi	r20, 0x34	; 52
 9d8:	50 e0       	ldi	r21, 0x00	; 0
 9da:	60 e1       	ldi	r22, 0x10	; 16
 9dc:	84 e0       	ldi	r24, 0x04	; 4
 9de:	72 d1       	rcall	.+740    	; 0xcc4 <display_character_char>
 9e0:	08 95       	ret

000009e2 <display_low_power>:
}
/***********************************************************************/
void display_low_power(void)
{
 9e2:	0f 93       	push	r16
 9e4:	1f 93       	push	r17
	display_character_char(4,16,symbol,2);
 9e6:	22 e0       	ldi	r18, 0x02	; 2
 9e8:	44 e3       	ldi	r20, 0x34	; 52
 9ea:	50 e0       	ldi	r21, 0x00	; 0
 9ec:	60 e1       	ldi	r22, 0x10	; 16
 9ee:	84 e0       	ldi	r24, 0x04	; 4
 9f0:	69 d1       	rcall	.+722    	; 0xcc4 <display_character_char>
	double __tmp = ((F_CPU) / 4e3) * __ms;
	if (__tmp < 1.0)
		__ticks = 1;
	else if (__tmp > 65535)
		__ticks = 0;	/* i.e. 65536 */
 9f2:	00 e0       	ldi	r16, 0x00	; 0
 9f4:	10 e0       	ldi	r17, 0x00	; 0
 9f6:	c8 01       	movw	r24, r16
 9f8:	01 97       	sbiw	r24, 0x01	; 1
 9fa:	f1 f7       	brne	.-4      	; 0x9f8 <display_low_power+0x16>
	_delay_ms(1000);
	_delay_ms(1000);
	_delay_ms(1000);
	_delay_ms(1000);
	_delay_ms(1000);
	display_character_char(4,16,symbol,3);
 9fc:	c8 01       	movw	r24, r16
 9fe:	01 97       	sbiw	r24, 0x01	; 1
 a00:	f1 f7       	brne	.-4      	; 0x9fe <display_low_power+0x1c>
 a02:	c8 01       	movw	r24, r16
 a04:	01 97       	sbiw	r24, 0x01	; 1
 a06:	f1 f7       	brne	.-4      	; 0xa04 <display_low_power+0x22>
 a08:	c8 01       	movw	r24, r16
 a0a:	01 97       	sbiw	r24, 0x01	; 1
 a0c:	f1 f7       	brne	.-4      	; 0xa0a <display_low_power+0x28>
 a0e:	c8 01       	movw	r24, r16
 a10:	01 97       	sbiw	r24, 0x01	; 1
 a12:	f1 f7       	brne	.-4      	; 0xa10 <display_low_power+0x2e>
 a14:	23 e0       	ldi	r18, 0x03	; 3
 a16:	44 e3       	ldi	r20, 0x34	; 52
 a18:	50 e0       	ldi	r21, 0x00	; 0
 a1a:	60 e1       	ldi	r22, 0x10	; 16
 a1c:	84 e0       	ldi	r24, 0x04	; 4
 a1e:	52 d1       	rcall	.+676    	; 0xcc4 <display_character_char>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 a20:	c8 01       	movw	r24, r16
 a22:	01 97       	sbiw	r24, 0x01	; 1
 a24:	f1 f7       	brne	.-4      	; 0xa22 <display_low_power+0x40>
	_delay_ms(1000);
	_delay_ms(1000);
	_delay_ms(1000);
	_delay_ms(1000);
	_delay_ms(1000);
}
/***********************************************************************/
unsigned int main(void)
{
 a26:	c8 01       	movw	r24, r16
 a28:	01 97       	sbiw	r24, 0x01	; 1
 a2a:	f1 f7       	brne	.-4      	; 0xa28 <display_low_power+0x46>
 a2c:	c8 01       	movw	r24, r16
 a2e:	01 97       	sbiw	r24, 0x01	; 1
 a30:	f1 f7       	brne	.-4      	; 0xa2e <display_low_power+0x4c>
 a32:	c8 01       	movw	r24, r16
 a34:	01 97       	sbiw	r24, 0x01	; 1
 a36:	f1 f7       	brne	.-4      	; 0xa34 <display_low_power+0x52>
 a38:	c8 01       	movw	r24, r16
 a3a:	01 97       	sbiw	r24, 0x01	; 1
 a3c:	f1 f7       	brne	.-4      	; 0xa3a <display_low_power+0x58>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 a3e:	1f 91       	pop	r17
 a40:	0f 91       	pop	r16
 a42:	08 95       	ret

00000a44 <main>:
 a44:	cf ef       	ldi	r28, 0xFF	; 255
 a46:	d2 e0       	ldi	r29, 0x02	; 2
 a48:	de bf       	out	0x3e, r29	; 62
 a4a:	cd bf       	out	0x3d, r28	; 61
	unsigned char buffer;
//	init_cpu();
//	init_lcd();
	sei();
 a4c:	78 94       	sei
//	open_adc(1);
	init_usart();
 a4e:	1f d2       	rcall	.+1086   	; 0xe8e <init_usart>
	while(1)
	{
		buffer = UCSR0A;
 a50:	80 91 c0 00 	lds	r24, 0x00C0
		if(buffer & 0x20)send_com(0x55);
 a54:	85 ff       	sbrs	r24, 5
 a56:	fc cf       	rjmp	.-8      	; 0xa50 <main+0xc>
 a58:	85 e5       	ldi	r24, 0x55	; 85
 a5a:	54 d2       	rcall	.+1192   	; 0xf04 <send_com>
 a5c:	f9 cf       	rjmp	.-14     	; 0xa50 <main+0xc>

00000a5e <set_data_port_output>:
#define data_pin PIND
/*******************************************/
void set_data_port_output()
{
	data_direction = 0xff;
 a5e:	8f ef       	ldi	r24, 0xFF	; 255
 a60:	8a b9       	out	0x0a, r24	; 10
 a62:	08 95       	ret

00000a64 <set_data_port_input>:
}
/*******************************************/
void set_data_port_input()
{
	data_direction = 0x00;
 a64:	1a b8       	out	0x0a, r1	; 10
 a66:	08 95       	ret

00000a68 <write_left_command>:
}
/*******************************************/
//左半屏写命令
unsigned char write_left_command(unsigned char cmd)
{
 a68:	1f 93       	push	r17
 a6a:	18 2f       	mov	r17, r24
	unsigned char Buffer = 0;
	set_data_port_input();
 a6c:	fb df       	rcall	.-10     	; 0xa64 <set_data_port_input>
	left_display_enable();//使能左半屏
 a6e:	28 9a       	sbi	0x05, 0	; 5
	right_display_disable();//禁用右半屏
 a70:	45 98       	cbi	0x08, 5	; 8
	set_reg_data_operation();//设置为寄存器操作
 a72:	42 98       	cbi	0x08, 2	; 8
	set_read();//设置为读
 a74:	2e 9a       	sbi	0x05, 6	; 5
	while((Buffer&0x80)!=0)
	{
		set_enable_high();
		Buffer = data_pin;
		set_enable_low();
	}
	set_data_port_output();
 a76:	f3 df       	rcall	.-26     	; 0xa5e <set_data_port_output>
	set_write();
 a78:	2e 98       	cbi	0x05, 6	; 5
	data_port = cmd;
 a7a:	1b b9       	out	0x0b, r17	; 11
	set_enable_high();
 a7c:	2f 9a       	sbi	0x05, 7	; 5
	set_enable_low();
 a7e:	2f 98       	cbi	0x05, 7	; 5
	return 1;
}
 a80:	81 e0       	ldi	r24, 0x01	; 1
 a82:	90 e0       	ldi	r25, 0x00	; 0
 a84:	1f 91       	pop	r17
 a86:	08 95       	ret

00000a88 <write_right_command>:
/*******************************************/
//左半屏写命令
unsigned char write_right_command(unsigned char cmd)
{
 a88:	1f 93       	push	r17
 a8a:	18 2f       	mov	r17, r24
	unsigned char Buffer = 0;
	set_data_port_input();
 a8c:	eb df       	rcall	.-42     	; 0xa64 <set_data_port_input>
	right_display_enable();//使能右半屏
 a8e:	45 9a       	sbi	0x08, 5	; 8
	left_display_disable();//禁用左半屏
 a90:	28 98       	cbi	0x05, 0	; 5
	set_reg_data_operation();//设置为寄存器操作
 a92:	42 98       	cbi	0x08, 2	; 8
	set_read();//设置为读
 a94:	2e 9a       	sbi	0x05, 6	; 5
	while((Buffer&0x80)!=0)
	{
		set_enable_high();
		Buffer = data_pin;
		set_enable_low();
	}
	set_data_port_output();
 a96:	e3 df       	rcall	.-58     	; 0xa5e <set_data_port_output>
	set_write();
 a98:	2e 98       	cbi	0x05, 6	; 5
	data_port = cmd;
 a9a:	1b b9       	out	0x0b, r17	; 11
	set_enable_high();
 a9c:	2f 9a       	sbi	0x05, 7	; 5
	set_enable_low();
 a9e:	2f 98       	cbi	0x05, 7	; 5
	return 1;
}
 aa0:	81 e0       	ldi	r24, 0x01	; 1
 aa2:	90 e0       	ldi	r25, 0x00	; 0
 aa4:	1f 91       	pop	r17
 aa6:	08 95       	ret

00000aa8 <write_left_data>:
/*******************************************/
unsigned char write_left_data(unsigned int Data)
{
 aa8:	0f 93       	push	r16
 aaa:	1f 93       	push	r17
 aac:	8c 01       	movw	r16, r24
	unsigned char Buffer = 0;
	set_data_port_input();
 aae:	da df       	rcall	.-76     	; 0xa64 <set_data_port_input>
	left_display_enable();//使能左半屏
 ab0:	28 9a       	sbi	0x05, 0	; 5
	right_display_disable();//禁用右半屏
 ab2:	45 98       	cbi	0x08, 5	; 8
	set_reg_data_operation();//设置为寄存器操作
 ab4:	42 98       	cbi	0x08, 2	; 8
	set_read();//设置为读
 ab6:	2e 9a       	sbi	0x05, 6	; 5
	while((Buffer&0x80)!=0)
	{
		set_enable_high();
		Buffer = data_pin;
		set_enable_low();
	}
	set_data_port_output();
 ab8:	d2 df       	rcall	.-92     	; 0xa5e <set_data_port_output>
	set_display_data_operation();//设置为显示数据操作
 aba:	42 9a       	sbi	0x08, 2	; 8
	set_write();
 abc:	2e 98       	cbi	0x05, 6	; 5
	data_port = Data;
 abe:	0b b9       	out	0x0b, r16	; 11
	set_enable_high();
 ac0:	2f 9a       	sbi	0x05, 7	; 5
	set_enable_low();
 ac2:	2f 98       	cbi	0x05, 7	; 5

⌨️ 快捷键说明

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