📄 usart3_step_lcd.lst
字号:
{speed=70;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_1phase(speed);
else {dir=1;break;}}
break;}
else if(data=='3')
{speed=80;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_1phase(speed);
else {dir=1;break;}}
break;}
else {TransmitByte('\r');TransmitByte('\n');break;}
break; }
else if((data=='\r')&&(data=='\n'))
{
TransmitByte('\r');
TransmitByte('\n');
break;
}
else break;
case 'b':
case 'B':TransmitByte(data);
print_Message((unsigned char *)M_SELECT);
data=ReceiveByte();
if(data=='1')
{ TransmitByte(data);
print_Message((unsigned char *)M_Backward_JIASU);
data=ReceiveByte();
if (data=='1')
{speed=50;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
break;}
else if(data=='2')
{speed=40;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
break;}
else if(data=='3')
{speed=30;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
break;}
else {TransmitByte('\r');TransmitByte('\n');break;}
break;}
else if(data=='2')
{TransmitByte(data);
print_Message((unsigned char *)M_Backward_JIANSU);
data=ReceiveByte();
if (data=='1')
{speed=60;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
break;}
else if(data=='2')
{speed=70;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
break;}
else if(data=='3')
{speed=80;TransmitByte(data);data=ReceiveByte();
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
break;}
else {TransmitByte('\r');TransmitByte('\n');break;}
break;}
else if((data=='\r')&&(data=='\n'))
{
TransmitByte('\r');
TransmitByte('\n');
break;
}
else break;
case 's':
case 'S':TransmitByte(data);delay(1000,1000);
print_Message((unsigned char *)M_SELECT1);
data=ReceiveByte();
if(data=='1')
{TransmitByte(data);
print_Message((unsigned char *)SPEED);
i=0;
data=ReceiveByte();array[0]=data;
TransmitByte(data);data=ReceiveByte();array[1]=data;
TransmitByte(data);data=ReceiveByte();array[2]=data;
TransmitByte(data);data=ReceiveByte();
for(j=0;j<3;j++){array[j]=To_Numeric(array[j]);}
speed=array[0]*100+array[1]*10+array[2];
while(1){if(dir)go_step_1phase(speed);
else {dir=1;break;}}
}
else if(data=='2')
{TransmitByte(data);
print_Message((unsigned char *)SPEED);
i=0;
data=ReceiveByte();array[0]=data;
TransmitByte(data);data=ReceiveByte();array[1]=data;
TransmitByte(data);data=ReceiveByte();array[2]=data;
TransmitByte(data);data=ReceiveByte();
for(j=0;j<3;j++){array[j]=To_Numeric(array[j]);}
speed=array[0]*100+array[1]*10+array[2];
while(1){if(dir)go_step_2phase(speed);
else {dir=1;break;}}
}
TransmitByte('\r');TransmitByte('\n');
print_prompt();
break;
case 't':
case 'T':TransmitByte(data);
print_Message((unsigned char *)M_SELECT1);
data=ReceiveByte();
if(data=='1')
{TransmitByte(data);
print_Message((unsigned char *)HOUR);
data=ReceiveByte();hour1=data;
TransmitByte(data);data=ReceiveByte();hour2=data;
TransmitByte(data);data=ReceiveByte();
print_Message((unsigned char *)MINUTE);
data=ReceiveByte();minute1=data;
TransmitByte(data);data=ReceiveByte();minute2=data;
TransmitByte(data);data=ReceiveByte();
print_Message((unsigned char *)SECOND);
data=ReceiveByte();second1=data;
TransmitByte(data);data=ReceiveByte();second2=To_Numeric(data)+1+'0';
TransmitByte(data);data=ReceiveByte();
print_Message((unsigned char *)SPEED);
i=0;
data=ReceiveByte();array[0]=data;
TransmitByte(data);data=ReceiveByte();array[1]=data;
TransmitByte(data);data=ReceiveByte();array[2]=data;
TransmitByte(data);data=ReceiveByte();
for(j=0;j<3;j++){array[j]=To_Numeric(array[j]);}
speed=array[0]*100+array[1]*10+array[2];
initialize_timer();
}
else if(data=='2')
{TransmitByte(data);
print_Message((unsigned char *)HOUR);
data=ReceiveByte();hour1=data;
TransmitByte(data);data=ReceiveByte();hour2=data;
TransmitByte(data);data=ReceiveByte();
print_Message((unsigned char *)MINUTE);
data=ReceiveByte();minute1=data;
TransmitByte(data);data=ReceiveByte();minute2=data;
TransmitByte(data);data=ReceiveByte();
print_Message((unsigned char *)SECOND);
data=ReceiveByte();second1=data;
TransmitByte(data);data=ReceiveByte();second2=To_Numeric(data)+1+'0';
TransmitByte(data);data=ReceiveByte();
print_Message((unsigned char *)SPEED);
i=0;
data=ReceiveByte();array[0]=data;
TransmitByte(data);data=ReceiveByte();array[1]=data;
TransmitByte(data);data=ReceiveByte();array[2]=data;
TransmitByte(data);data=ReceiveByte();
for(j=0;j<3;j++){array[j]=To_Numeric(array[j]);}
speed=array[0]*100+array[1]*10+array[2];
initialize_timer3();
}
TransmitByte('\r');TransmitByte('\n');
print_prompt();
break;
case 'h':
case 'H':TransmitByte(data);
print_Message((unsigned char *)M_Help);
print_prompt();
break;
case 'q':
case 'Q':TransmitByte(data);print_Message((unsigned char *)M_thank);
TransmitByte('\r');TransmitByte('\n');break;
default :TransmitByte(data);break;
}
}
}
void print_logo(void)
{
unsigned int i;
for(i=0;;i++)
{
if(PRG_RDB(logo+i)=='\0')
break;
TransmitByte(PRG_RDB(logo+i));
}
print_prompt();
}
void print_prompt(void)
{
unsigned int i;
for(i=0;;i++)
{
if(PRG_RDB(prompt+i)=='\0')
break;
TransmitByte(PRG_RDB(prompt+i));
}
}
void print_Message(unsigned char *message)
{unsigned int i;
for(i=0;;i++)
{if(PRG_RDB(message+i)=='\0')
break;
TransmitByte(PRG_RDB(message+i));
}
}
unsigned int To_Numeric(unsigned char in_data)
{if(in_data=='0')
494: 98 2f mov r25, r24
496: 80 33 cpi r24, 0x30 ; 48
498: 99 f0 breq .+38 ; 0x4c0 <To_Numeric+0x2c>
return 0;
else if((in_data<='9')&&(in_data>='1'))
49a: 81 53 subi r24, 0x31 ; 49
49c: 89 30 cpi r24, 0x09 ; 9
49e: 20 f4 brcc .+8 ; 0x4a8 <To_Numeric+0x14>
return(unsigned int)(in_data-'1'+1);
4a0: 89 2f mov r24, r25
4a2: 99 27 eor r25, r25
4a4: c0 97 sbiw r24, 0x30 ; 48
4a6: 08 95 ret
else if((in_data<='f')&&(in_data>='a'))
4a8: 89 2f mov r24, r25
4aa: 81 56 subi r24, 0x61 ; 97
4ac: 86 30 cpi r24, 0x06 ; 6
4ae: 58 f0 brcs .+22 ; 0x4c6 <To_Numeric+0x32>
return(unsigned int)(in_data-'a'+10);
else if((in_data<='F')&&(in_data>='A'))
4b0: 89 2f mov r24, r25
4b2: 81 54 subi r24, 0x41 ; 65
4b4: 86 30 cpi r24, 0x06 ; 6
4b6: 60 f4 brcc .+24 ; 0x4d0 <To_Numeric+0x3c>
return(unsigned int)(in_data-'A'+10);
4b8: 89 2f mov r24, r25
4ba: 99 27 eor r25, r25
4bc: c7 97 sbiw r24, 0x37 ; 55
4be: 08 95 ret
4c0: 80 e0 ldi r24, 0x00 ; 0
4c2: 90 e0 ldi r25, 0x00 ; 0
4c4: 08 95 ret
4c6: 89 2f mov r24, r25
4c8: 99 27 eor r25, r25
4ca: 87 55 subi r24, 0x57 ; 87
4cc: 90 40 sbci r25, 0x00 ; 0
4ce: 08 95 ret
else
return 0; }
4d0: 80 e0 ldi r24, 0x00 ; 0
4d2: 90 e0 ldi r25, 0x00 ; 0
4d4: 08 95 ret
000004d6 <__vector_16>:
4d6: 1f 92 push r1
4d8: 0f 92 push r0
4da: 0f b6 in r0, 0x3f ; 63
4dc: 0f 92 push r0
4de: 11 24 eor r1, r1
4e0: 1f 93 push r17
4e2: 2f 93 push r18
4e4: 3f 93 push r19
4e6: 4f 93 push r20
4e8: 5f 93 push r21
4ea: 6f 93 push r22
4ec: 7f 93 push r23
4ee: 8f 93 push r24
4f0: 9f 93 push r25
4f2: af 93 push r26
4f4: bf 93 push r27
4f6: ef 93 push r30
4f8: ff 93 push r31
4fa: 80 ef ldi r24, 0xF0 ; 240
4fc: 82 bf out 0x32, r24 ; 50
4fe: 80 91 00 01 lds r24, 0x0100
502: 80 33 cpi r24, 0x30 ; 48
504: 31 f0 breq .+12 ; 0x512 <__vector_16+0x3c>
506: 80 91 00 01 lds r24, 0x0100
50a: 81 50 subi r24, 0x01 ; 1
50c: 80 93 00 01 sts 0x0100, r24
510: b2 c0 rjmp .+356 ; 0x676 <__vector_16+0x1a0>
512: 80 91 00 01 lds r24, 0x0100
516: 80 33 cpi r24, 0x30 ; 48
518: 81 f1 breq .+96 ; 0x57a <__vector_16+0xa4>
51a: 80 91 00 01 lds r24, 0x0100
51e: 80 33 cpi r24, 0x30 ; 48
520: 09 f4 brne .+2 ; 0x524 <__vector_16+0x4e>
522: 96 c0 rjmp .+300 ; 0x650 <__vector_16+0x17a>
524: 80 91 00 01 lds r24, 0x0100
528: 80 33 cpi r24, 0x30 ; 48
52a: 09 f4 brne .+2 ; 0x52e <__vector_16+0x58>
52c: 72 c0 rjmp .+228 ; 0x612 <__vector_16+0x13c>
52e: 80 91 00 01 lds r24, 0x0100
532: 80 33 cpi r24, 0x30 ; 48
534: 09 f4 brne .+2 ; 0x538 <__vector_16+0x62>
536: 4d c0 rjmp .+154 ; 0x5d2 <__vector_16+0xfc>
538: 80 91 00 01 lds r24, 0x0100
53c: 80 33 cpi r24, 0x30 ; 48
53e: 51 f1 breq .+84 ; 0x594 <__vector_16+0xbe>
540: 80 e3 ldi r24, 0x30 ; 48
542: 80 93 00 01 sts 0x0100, r24
546: 80 91 00 01 lds r24, 0x0100
54a: 80 93 01 01 sts 0x0101, r24
54e: 80 91 01 01 lds r24, 0x0101
552: 80 93 02 01 sts 0x0102, r24
556: 80 91 02 01 lds r24, 0x0102
55a: 80 93 03 01 sts 0x0103, r24
55e: 80 91 03 01 lds r24, 0x0103
562: 80 93 04 01 sts 0x0104, r24
566: 80 91 04 01 lds r24, 0x0104
56a: 80 93 05 01 sts 0x0105, r24
56e: 80 91 11 01 lds r24, 0x0111
572: 99 27 eor r25, r25
574: 0e 94 1c 02 call 0x438 <go_step_1phase>
578: fa cf rjmp .-12 ; 0x56e <__vector_16+0x98>
57a: 80 91 01 01 lds r24, 0x0101
57e: 80 33 cpi r24, 0x30 ; 48
580: 61 f2 breq .-104 ; 0x51a <__vector_16+0x44>
582: 80 91 01 01 lds r24, 0x0101
586: 0e 94 4a 02 call 0x494 <To_Numeric>
58a: 81 5d subi r24, 0xD1 ; 209
58c: 80 93 01 01 sts 0x0101, r24
590: 89 e3 ldi r24, 0x39 ; 57
592: bc cf rjmp .-136 ; 0x50c <__vector_16+0x36>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -