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

📄 test_pc10_main.lis

📁 AVR单片机开发中
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .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 + -