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

📄 main.lis

📁 我写的atmega16驱动的nrf24l01程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module main.c
                        .area vector(rom, abs)
                        .org 4
 0004 0C943501          jmp _INT_EX0
                        .org 36
 0024 0C94CB00          jmp _INT_Timer0
                        .org 32
 0020 0C94D400          jmp _INT_Timer1
                        .org 44
 002C 0C94E500          jmp _INT_USART_RX
                        .org 52
 0034 0C941201          jmp _INT_USART_TX
                        .org 40
 0028 0C943401          jmp _spi_stc_isr
                        .area eeprom(rom, con, rel)
 0000           _II2C_Test::
 0000 0000              .byte 0,0
 0002 0000              .byte 0,0
 0004 0000              .byte 0,0
 0006 0000              .byte 0,0
 0008 0000              .byte 0,0
 000A 0000              .byte 0,0
 000C 0000              .byte 0,0
 000E 00                .byte 0
 000F                   .dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/WDCT_02.h
 000F                   .dbsym e II2C_Test _II2C_Test A[15:15]c
 000F           _II2C_UserConfig::
 000F 0F0F              .byte 15,15
 0011 0103              .byte 1,3
 0013 0A40              .byte 10,64
 0015 0770              .byte 7,'p
 0017 0000              .byte 0,0
 0019 0000              .byte 0,0
 001B C3C4              .byte 195,196
 001D C5C6              .byte 197,198
 001F 0020              .byte 0,32
 0021 2020              .byte 32,32
 0023 2020              .byte 32,32
 0025 2000              .byte 32,0
 0027                   .dbsym e II2C_UserConfig _II2C_UserConfig A[24:24]c
 0027           _II2C_RxPipe0Addr::
 0027 0102              .byte 1,2
 0029 0304              .byte 3,4
 002B 05                .byte 5
 002C                   .dbsym e II2C_RxPipe0Addr _II2C_RxPipe0Addr A[5:5]c
 002C           _II2C_RxPipe1Addr::
 002C 0102              .byte 1,2
 002E 0304              .byte 3,4
 0030 06                .byte 6
 0031                   .dbsym e II2C_RxPipe1Addr _II2C_RxPipe1Addr A[5:5]c
 0031           _II2C_TxPipeAddr::
 0031 0102              .byte 1,2
 0033 0304              .byte 3,4
 0035 05                .byte 5
 0036                   .dbsym e II2C_TxPipeAddr _II2C_TxPipeAddr A[5:5]c
                        .area data(ram, con, rel)
 0000                   .dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/WDCT_02.h
                        .area text(rom, con, rel)
 0000                   .dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/WDCT_02.h
 0000                   .dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/init.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 9
 0000           ; 
 0000           ; #include "WDCT_02.h"  
 0000           ; #include "init.c"             
 0000           ; #include "key.c"          
 0000           ; #include "int.c"              
 0000           ; #include "nrf24l01.c"
 0000           ; #include "deal.c"
 0000           ;       
 0000           ; 
 0000                   .dbline 10
 0000           ; 
 0000 8FEE              ldi R24,239
 0002 88BB              out 0x18,R24
 0004                   .dbline 11
 0004           ; 
 0004 8BEB              ldi R24,187
 0006 87BB              out 0x17,R24
 0008                   .dbline 13
 0008           ; 
 0008           ; //--------------------------------------------------------
 0008 8FEF              ldi R24,255
 000A 85BB              out 0x15,R24
 000C                   .dbline 14
 000C           ; //--------------------------------------------------------
 000C 8EEF              ldi R24,254
 000E 84BB              out 0x14,R24
 0010                   .dbline 15
 0010           ; void main(void)
 0010 82BB              out 0x12,R24
 0012                   .dbline 16
 0012           ; {
 0012 8AEF              ldi R24,250
 0014 81BB              out 0x11,R24
 0016                   .dbline -2
 0016                   .dbline 17
 0016           ; unsigned char i;      
 0016           L1:
 0016                   .dbline 0 ; func end
 0016 0895              ret
 0018                   .dbend
 0018                   .dbfunc e watchdog_init _watchdog_init fV
                        .even
 0018           _watchdog_init::
 0018                   .dbline -1
 0018                   .dbline 27
 0018           ;       init_devices();
 0018           ;       
 0018           ;       SPI_MasterInit();
 0018           ; //    _ClrNRF_SS;
 0018           ; //    while(1);
 0018           ;       bSignal2Hz=0;
 0018           ;       bTest=0;
 0018           ;       ComRxCount=0;
 0018           ;       _ClrNRF_CE;//standby mode 
 0018           ;       nrf24l01_init();
 0018                   .dbline 28
 0018           ;       while(1)
 0018 A895              wdr
 001A                   .dbline 29
 001A           ;       {
 001A 88E0              ldi R24,8
 001C 81BD              out 0x21,R24
 001E                   .dbline -2
 001E                   .dbline 30
 001E           ; //    _ClrNRF_SS;
 001E           L2:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbend
 0020                   .dbfunc e SPI_MasterInit _SPI_MasterInit fV
                        .even
 0020           _SPI_MasterInit::
 0020                   .dbline -1
 0020                   .dbline 38
 0020           ;               if(bKeyGetted == dTrue) 
 0020           ;               {
 0020           ;                       switch (KeyValue)
 0020           ;                       {
 0020           ;                               case dKeyE:nrf24l01_init();;break;
 0020           ;                               case dKey5:ReadRegisters();break;
 0020           ;                               case dKey6:SendTest();break;
 0020           ;                               case dKey7:SetRxMode();break;
 0020                   .dbline 39
 0020           ;                               case dKey8:SetTxMode();break;
 0020 C39A              sbi 0x18,3
 0022                   .dbline 40
 0022           ;                               case dKeyD:ReadNextRegister();break;
 0022 0000              nop
 0024                   .dbline 40
 0024 0000              nop
 0026                   .dbline 40
 0026 0000              nop
 0028                   .dbline 41
 0028           ; //                            case dKeyE:ReadLastRegister();break;
 0028 87B3              in R24,0x17
 002A 886A              ori R24,168
 002C 87BB              out 0x17,R24
 002E                   .dbline 42
 002E           ;                               default:break;
 002E BE98              cbi 0x17,6
 0030                   .dbline 43
 0030           ;                       }
 0030 81E5              ldi R24,81
 0032 8DB9              out 0xd,R24
 0034                   .dbline -2
 0034                   .dbline 44
 0034           ; 
 0034           L3:
 0034                   .dbline 0 ; func end
 0034 0895              ret
 0036                   .dbend
 0036                   .dbfunc e InitInterrupt _InitInterrupt fV
                        .even
 0036           _InitInterrupt::
 0036                   .dbline -1
 0036                   .dbline 53
 0036           ; 
 0036           ;                       bKeyGetted = dFalse;    
 0036           ;               }
 0036           ;               if(bTime2ms==dTrue)
 0036           ;               {
 0036           ;                       FlashLed();
 0036           ;                       
 0036           ;                       if(bComRxing==dTrue)
 0036           ;                       {
 0036                   .dbline 54
 0036           ;                               ComRxingTimeLimited++;
 0036 80E8              ldi R24,128
 0038 80BD              out 0x20,R24
 003A                   .dbline 55
 003A           ;                               if(ComRxingTimeLimited>=50)//100ms没收到数据认为接受结束
 003A 86E8              ldi R24,134
 003C 80BD              out 0x20,R24
 003E                   .dbline 56
 003E           ;                               {
 003E 8FEC              ldi R24,207
 0040 89B9              out 0x9,R24
 0042                   .dbline 57
 0042           ;                                       bComRxing=dFalse;
 0042 86E8              ldi R24,134
 0044 80BD              out 0x20,R24
 0046                   .dbline 58
 0046           ;                                       bCom2Spi=dTrue;
 0046 8FEC              ldi R24,207
 0048 89B9              out 0x9,R24
 004A                   .dbline 60
 004A           ;                               }
 004A           ;                               
 004A 80E2              ldi R24,32
 004C 8BB9              out 0xb,R24
 004E                   .dbline 61
 004E           ;                       }
 004E 88ED              ldi R24,216
 0050 8AB9              out 0xa,R24
 0052                   .dbline 63
 0052           ;                       
 0052           ;                       bTime2ms=dFalse;        
 0052 80E8              ldi R24,128
 0054 80BD              out 0x20,R24
 0056                   .dbline 64
 0056           ;               }       
 0056 86E8              ldi R24,134
 0058 80BD              out 0x20,R24
 005A                   .dbline 65
 005A           ; //    _SetNRF_SS;
 005A 8FEC              ldi R24,207
 005C 89B9              out 0x9,R24
 005E                   .dbline 67
 005E           ;               
 005E           ;               if((bCom2Spi == dTrue) && (bSpiTxing == dFalse))
 005E 2224              clr R2
 0060 23BE              out 0x33,R2
 0062                   .dbline 68
 0062           ;               {
 0062 82E8              ldi R24,130
 0064 82BF              out 0x32,R24
 0066                   .dbline 69
 0066           ;                       ComDeal();
 0066 83E0              ldi R24,3
 0068 83BF              out 0x33,R24
 006A                   .dbline 71
 006A           ;               }
 006A           ;               
 006A 2EBC              out 0x2e,R2
 006C                   .dbline 72
 006C           ;               if(bEx0Interrupt == dTrue)
 006C 88EF              ldi R24,248
 006E 8DBD              out 0x2d,R24
 0070                   .dbline 73
 0070           ;               {
 0070 8FE2              ldi R24,47
 0072 8CBD              out 0x2c,R24
 0074                   .dbline 74
 0074           ;                       bEx0Interrupt = dFalse;
 0074 2FBC              out 0x2f,R2
 0076                   .dbline 75
 0076           ;                       Ex0Deal();
 0076 82E0              ldi R24,2
 0078 8EBD              out 0x2e,R24
 007A                   .dbline 77
 007A           ;               }
 007A           ;               WDR();
 007A 85BF              out 0x35,R24
 007C                   .dbline 78
 007C           ;       }
 007C 80E4              ldi R24,64
 007E 8BBF              out 0x3b,R24
 0080                   .dbline 79
 0080           ; }
 0080 85E0              ldi R24,5
 0082 89BF              out 0x39,R24
 0084                   .dbline -2
 0084                   .dbline 80
 0084           ; }
 0084           L4:
 0084                   .dbline 0 ; func end
 0084 0895              ret
 0086                   .dbend
 0086                   .dbfunc e init_devices _init_devices fV
                        .even
 0086           _init_devices::
 0086                   .dbline -1
 0086                   .dbline 88
 0086           ; }
 0086           ; }
 0086           ; }
 0086           ; }
 0086           ; }
 0086           ; }
 0086           ; }
 0086           ; }
 0086                   .dbline 90
 0086           ; }
 0086           ; }
 0086 F894              cli
 0088                   .dbline 91
 0088           ; }
 0088 BBDF              xcall _port_init
 008A                   .dbline 92
 008A           ; }
 008A C6DF              xcall _watchdog_init
 008C                   .dbline 93
 008C           ; }
 008C D4DF              xcall _InitInterrupt
 008E                   .dbline 95
 008E           ; }
 008E           ; }
 008E 82E0              ldi R24,2
 0090 85BF              out 0x35,R24
 0092                   .dbline 97
 0092           ; }
 0092           ; }
 0092 85E0              ldi R24,5
 0094 89BF              out 0x39,R24
 0096                   .dbline 98
 0096           ; }
 0096 7894              sei
 0098                   .dbline -2
 0098                   .dbline 100
 0098           ; }
 0098           ; }
 0098           L5:
 0098                   .dbline 0 ; func end
 0098 0895              ret
 009A                   .dbend
                        .area lit(rom, con, rel)
 0000           _KeycodeNum::
 0000 EE77              .byte 238,'w
 0002 B7D7              .byte 183,215
 0004 E77B              .byte 231,123
 0006 BBDB              .byte 187,219
 0008 EB7D              .byte 235,125
 000A BDDD              .byte 189,221
 000C ED7E              .byte 237,126
 000E BEDE              .byte 190,222
 0010                   .dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/key.c
 0010                   .dbsym e KeycodeNum _KeycodeNum A[16:16]kc
                        .area text(rom, con, rel)
 009A                   .dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/key.c
 009A                   .dbfunc e INT_KeyTest _INT_KeyTest fV
 009A           ;    KeyCodeTemp -> R16
 009A           ;              j -> R16
 009A           ;        KeyCode -> R18
 009A           ;              i -> R16
                        .even
 009A           _INT_KeyTest::
 009A                   .dbline -1
 009A                   .dbline 29

⌨️ 快捷键说明

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