📄 test_pc10_main.lis
字号:
.module test_pc10_main.c
.area data(ram, con, rel)
0000 _char_len::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile H:\m128_test\test_pc10_main.c
0001 .dbsym e char_len _char_len c
0001 _rob_angle::
0001 .blkb 4
.area idata
0001 00000000 .word 0x0,0x0
.area data(ram, con, rel)
0005 .dbfile H:\m128_test\test_pc10_main.c
0005 .dbsym e rob_angle _rob_angle D
0005 _len_test::
0005 .blkb 2
.area idata
0005 0000 .word 0
.area data(ram, con, rel)
0007 .dbfile H:\m128_test\test_pc10_main.c
0007 .dbsym e len_test _len_test I
.area text(rom, con, rel)
0000 .dbfile H:\m128_test\test_pc10_main.c
0000 .dbfunc e delay_1us _delay_1us fV
.even
0000 _delay_1us::
0000 .dbline -1
0000 .dbline 48
0000 ; //ICC-AVR application builder : 2005-3-21 10:06:01
0000 ; // Target : M128
0000 ; // Crystal: 16.000Mhz
0000 ;
0000 ; #include <iom128v.h>
0000 ; #include <macros.h>
0000 ; #include <stdio.h>
0000 ;
0000 ;
0000 ;
0000 ; #define BUFF_SIZE 20
0000 ; #define EN_ADDR 7
0000 ; #define CLR_ADDR 6
0000 ; #define CH1 1
0000 ; #define CH2 2
0000 ; #define CH3 4
0000 ; #define DA1 8
0000 ; #define DA2 10
0000 ; #define LIGHT_CN 8
0000 ; #define OK 1
0000 ; #define PARAMETER_ERR 0
0000 ; #define HBYTE 1
0000 ; #define LBYTE 0
0000 ; #define CNT_BASE 0x270
0000 ; #define WRB_BASE 0x240
0000 ; #define FLIGHT_BASE 0x240
0000 ; #define GYRO_BASE 0x290
0000 ;
0000 ;
0000 ;
0000 ; union char_int{
0000 ; unsigned char half[2];
0000 ; unsigned int i1;
0000 ; };
0000 ; union char_int kk;
0000 ; unsigned char send_buffer[BUFF_SIZE]; //发宋缓冲区
0000 ; unsigned char rec0; // 接收到的字符
0000 ; unsigned char char_len=0;
0000 ; float rob_angle=0.0;
0000 ; int left,right;
0000 ; long len;
0000 ; int len_test=0;
0000 ; //SPI initialize
0000 ; // clock rate: 2000000hz
0000 ;
0000 ; //call this routine to initialize all peripherals
0000 ; void delay_1us(void) //1us延时函数
0000 ; {
0000 .dbline 49
0000 ; asm("nop");
0000 0000 nop
0002 .dbline 50
0002 ; asm("nop");
0002 0000 nop
0004 .dbline 51
0004 ; asm("nop");
0004 0000 nop
0006 .dbline 52
0006 ; asm("nop");
0006 0000 nop
0008 .dbline -2
0008 .dbline 53
0008 ; }
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e delay_nus _delay_nus fV
000A ; i -> R20,R21
000A ; n -> R22,R23
.even
000A _delay_nus::
000A 0E940000 xcall push_gset2
000E B801 movw R22,R16
0010 .dbline -1
0010 .dbline 56
0010 ;
0010 ; void delay_nus(unsigned int n) //N us延时函数
0010 ; {
0010 .dbline 57
0010 ; unsigned int i=0;
0010 4427 clr R20
0012 5527 clr R21
0014 .dbline 58
0014 ; for (i=0;i<n;i++)
0014 03C0 xjmp L6
0016 L3:
0016 .dbline 59
0016 F4DF xcall _delay_1us
0018 L4:
0018 .dbline 58
0018 4F5F subi R20,255 ; offset = 1
001A 5F4F sbci R21,255
001C L6:
001C .dbline 58
001C 4617 cp R20,R22
001E 5707 cpc R21,R23
0020 D0F3 brlo L3
0022 .dbline -2
0022 .dbline 60
0022 ; delay_1us();
0022 ; }
0022 L2:
0022 0E940000 xcall pop_gset2
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbsym r i 20 i
0028 .dbsym r n 22 i
0028 .dbend
0028 .dbfunc e delay_1ms _delay_1ms fV
0028 ; i -> R16,R17
.even
0028 _delay_1ms::
0028 .dbline -1
0028 .dbline 63
0028 ;
0028 ; void delay_1ms(void) //1ms延时函数
0028 ; {
0028 .dbline 65
0028 0027 clr R16
002A 1127 clr R17
002C 02C0 xjmp L11
002E L8:
002E .dbline 65
002E L9:
002E .dbline 65
002E 0F5F subi R16,255 ; offset = 1
0030 1F4F sbci R17,255
0032 L11:
0032 .dbline 65
0032 ; unsigned int i;
0032 ; for (i=0;i<1716;i++);
0032 043B cpi R16,180
0034 E6E0 ldi R30,6
0036 1E07 cpc R17,R30
0038 D0F3 brlo L8
003A .dbline -2
003A .dbline 66
003A ; }
003A L7:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbsym r i 16 i
003C .dbend
003C .dbfunc e delay_nms _delay_nms fV
003C ; i -> R20,R21
003C ; n -> R22,R23
.even
003C _delay_nms::
003C 0E940000 xcall push_gset2
0040 B801 movw R22,R16
0042 .dbline -1
0042 .dbline 69
0042 ;
0042 ; void delay_nms(unsigned int n) //N ms延时函数
0042 ; {
0042 .dbline 70
0042 ; unsigned int i=0;
0042 4427 clr R20
0044 5527 clr R21
0046 .dbline 71
0046 ; for (i=0;i<n;i++)
0046 03C0 xjmp L16
0048 L13:
0048 .dbline 72
0048 EFDF xcall _delay_1ms
004A L14:
004A .dbline 71
004A 4F5F subi R20,255 ; offset = 1
004C 5F4F sbci R21,255
004E L16:
004E .dbline 71
004E 4617 cp R20,R22
0050 5707 cpc R21,R23
0052 D0F3 brlo L13
0054 .dbline -2
0054 .dbline 73
0054 ; delay_1ms();
0054 ; }
0054 L12:
0054 0E940000 xcall pop_gset2
0058 .dbline 0 ; func end
0058 0895 ret
005A .dbsym r i 20 i
005A .dbsym r n 22 i
005A .dbend
005A .dbfunc e uart0_init _uart0_init fV
.even
005A _uart0_init::
005A .dbline -1
005A .dbline 80
005A ;
005A ; //////////////////////////////////////////////////////////////////////////////////
005A ; /////////////////////////////////////////////////////////////////////////////////
005A ; /////////////////////串口UCSR0
005A ; ////////////////////////////////////////////////////////////////////////////////
005A ; void uart0_init(void)
005A ; {
005A .dbline 81
005A ; UCSR0B = 0x00; //disable while setting baud rate
005A 2224 clr R2
005C 2AB8 out 0xa,R2
005E .dbline 82
005E ; UCSR0A = 0x00;
005E 2BB8 out 0xb,R2
0060 .dbline 83
0060 ; UCSR0C = 0x06;
0060 86E0 ldi R24,6
0062 80939500 sts 149,R24
0066 .dbline 84
0066 ; UBRR0L = 0x67; //set baud rate lo
0066 87E6 ldi R24,103
0068 89B9 out 0x9,R24
006A .dbline 85
006A ; UBRR0H = 0x00; //set baud rate hi
006A 20929000 sts 144,R2
006E .dbline 86
006E ; UCSR0B = 0x18;
006E 88E1 ldi R24,24
0070 8AB9 out 0xa,R24
0072 .dbline -2
0072 .dbline 89
0072 ;
0072 ;
0072 ; }
0072 L17:
0072 .dbline 0 ; func end
0072 0895 ret
0074 .dbend
0074 .dbfunc e USART_Transmit _USART_Transmit fV
0074 ; data -> R16
.even
0074 _USART_Transmit::
0074 .dbline -1
0074 .dbline 94
0074 ;
0074 ;
0074 ;
0074 ; void USART_Transmit( unsigned char data )
0074 ; {
0074 L19:
0074 .dbline 97
0074 L20:
0074 .dbline 97
0074 ;
0074 ;
0074 ; while ( !( UCSR0A & (1<<UDRE0)) );
0074 5D9B sbis 0xb,5
0076 FECF rjmp L19
0078 .dbline 99
0078 ;
0078 ; UDR0 = data;
0078 0CB9 out 0xc,R16
007A .dbline -2
007A .dbline 103
007A ;
007A ;
007A ;
007A ; }
007A L18:
007A .dbline 0 ; func end
007A 0895 ret
007C .dbsym r data 16 c
007C .dbend
007C .dbfunc e uart1_init _uart1_init fV
.even
007C _uart1_init::
007C .dbline -1
007C .dbline 108
007C ; //////////////////////////////////////////////////////////////////////////////////
007C ; /////////////////串口UCSR1
007C ; ///////////////////////////////////////////////////////////////////////////////////
007C ; void uart1_init(void)
007C ; {
007C .dbline 109
007C ; UCSR1B = 0x00; //disable while setting baud rate
007C 2224 clr R2
007E 20929A00 sts 154,R2
0082 .dbline 110
0082 ; UCSR1A = 0x00;
0082 20929B00 sts 155,R2
0086 .dbline 111
0086 ; UCSR1C = 0x06;
0086 86E0 ldi R24,6
0088 80939D00 sts 157,R24
008C .dbline 112
008C ; UBRR1L = 0x19; //set baud rate lo
008C 89E1 ldi R24,25
008E 80939900 sts 153,R24
0092 .dbline 113
0092 ; UBRR1H = 0x00; //set baud rate hi
0092 20929800 sts 152,R2
0096 .dbline 114
0096 ; UCSR1B = 0x1C;
0096 8CE1 ldi R24,28
0098 80939A00 sts 154,R24
009C .dbline -2
009C .dbline 115
009C ; }
009C L22:
009C .dbline 0 ; func end
009C 0895 ret
009E .dbend
009E .dbfunc e serial_send _serial_send fV
009E ; i -> R20
009E ; command -> R16
.even
009E _serial_send::
009E 0E940000 xcall push_gset1
00A2 .dbline -1
00A2 .dbline 120
00A2 ;
00A2 ;
00A2 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -