📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _PaTabel::
0000 .blkb 2
.area idata
0000 C0C0 .byte 192,192
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 C0C0 .byte 192,192
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 C0C0 .byte 192,192
.area data(ram, con, rel)
0006 .blkb 2
.area idata
0006 C0C0 .byte 192,192
.area data(ram, con, rel)
0008 .dbfile E:\学习基地\IMPORT~1\CC1100-RF-Design\M8_RF_CC1100开发系统光盘\驱动程序\M8_cc1100_receive\main.c
0008 .dbsym e PaTabel _PaTabel A[8:8]c
.area text(rom, con, rel)
0000 .dbfile E:\学习基地\IMPORT~1\CC1100-RF-Design\M8_RF_CC1100开发系统光盘\驱动程序\M8_cc1100_receive\main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 2197 sbiw R28,1
0002 .dbline -1
0002 .dbline 50
0002 ; /*C**************************************************************************
0002 ; * NAME: main.c
0002 ; *----------------------------------------------------------------------------
0002 ; * Copyright (c) 2006 endylu
0002 ; *----------------------------------------------------------------------------
0002 ; * RELEASE: M8-cc1100
0002 ; * REVISION: 1.0
0002 ; *----------------------------------------------------------------------------
0002 ; * PURPOSE:
0002 ; * This is the demonstration software for MAGE8L
0002 ; *****************************************************************************/
0002 ;
0002 ; /*_____ I N C L U D E S ____________________________________________________*/
0002 ;
0002 ; #include <iom8v.h>
0002 ; #include <macros.h>
0002 ; #include "main.h"
0002 ;
0002 ;
0002 ; /*_____ M A C R O S ________________________________________________________*/
0002 ;
0002 ;
0002 ; /*_____ D E F I N I T I O N ________________________________________________*/
0002 ;
0002 ; INT8U PaTabel[8] = {0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0};
0002 ; INT8U arrRx[50];
0002 ;
0002 ; INT8U length;
0002 ; INT8U flag_receive;
0002 ; /*_____ D E C L A R A T I O N ______________________________________________*/
0002 ;
0002 ;
0002 ; /*F**************************************************************************
0002 ; * NAME: main
0002 ; *----------------------------------------------------------------------------
0002 ; * PARAMS:
0002 ; *
0002 ; * return:
0002 ; *----------------------------------------------------------------------------
0002 ; * PURPOSE:
0002 ; * Main user routine
0002 ; *----------------------------------------------------------------------------
0002 ; * EXAMPLE:
0002 ; *----------------------------------------------------------------------------
0002 ; * NOTE:
0002 ; *----------------------------------------------------------------------------
0002 ; * REQUIREMENTS:
0002 ; *****************************************************************************/
0002 ; void main (void)
0002 ; {
0002 .dbline 51
0002 ; PORTD|=0X04; //GDO0上拉
0002 929A sbi 0x12,2
0004 .dbline 53
0004 ;
0004 ; DDRB|=1<<LED2;
0004 B99A sbi 0x17,1
0006 .dbline 54
0006 ; PORTB|=1<<LED2;
0006 C19A sbi 0x18,1
0008 .dbline 56
0008 ;
0008 ; CpuInit();
0008 00D0 rcall _CpuInit
000A .dbline 57
000A ; POWER_UP_RESET_CC1100();
000A 00D0 rcall _POWER_UP_RESET_CC1100
000C .dbline 58
000C ; halRfWriteRfSettings();
000C 00D0 rcall _halRfWriteRfSettings
000E .dbline 59
000E ; halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8);
000E 88E0 ldi R24,8
0010 8883 std y+0,R24
0012 20E0 ldi R18,<_PaTabel
0014 30E0 ldi R19,>_PaTabel
0016 0EE3 ldi R16,62
0018 00D0 rcall _halSpiWriteBurstReg
001A .dbline 60
001A ; PORTB&=~(1<<LED2);
001A C198 cbi 0x18,1
001C .dbline 62
001C ;
001C ; INT0_Init();
001C 06D0 rcall _INT0_Init
001E .dbline 63
001E ; asm("sei"); //开全局中断
001E 7894 sei
0020 .dbline 65
0020 ;
0020 ; halSpiStrobe(CCxxx0_SRX);
0020 04E3 ldi R16,52
0022 00D0 rcall _halSpiStrobe
0024 L2:
0024 .dbline 66
0024 L3:
0024 .dbline 66
0024 FFCF rjmp L2
0026 X0:
0026 .dbline -2
0026 L1:
0026 2196 adiw R28,1
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
002A .dbfunc e INT0_Init _INT0_Init fV
.even
002A _INT0_Init::
002A .dbline -1
002A .dbline 76
002A ; while(1);
002A ; }
002A ;
002A ; /*****************************************************************************************
002A ; //函数名:void INT0_Init(void)
002A ; //输入:无
002A ; //输出:无
002A ; //功能描述:外部中断0 初始化程序
002A ; /*****************************************************************************************/
002A ; void INT0_Init(void)
002A ; {
002A .dbline 77
002A ; MCUCR|=0x02; //falling_adge
002A 85B7 in R24,0x35
002C 8260 ori R24,2
002E 85BF out 0x35,R24
0030 .dbline 78
0030 ; GIFR=0X40;
0030 80E4 ldi R24,64
0032 8ABF out 0x3a,R24
0034 .dbline 79
0034 ; INT0_enable();
0034 .dbline 79
0034 8BB7 in R24,0x3b
0036 8064 ori R24,64
0038 8BBF out 0x3b,R24
003A .dbline 79
003A .dbline 79
003A .dbline -2
003A L5:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbend
.area vector(rom, abs)
.org 2
0002 1EC0 rjmp _int0
.area text(rom, con, rel)
003C .dbfile E:\学习基地\IMPORT~1\CC1100-RF-Design\M8_RF_CC1100开发系统光盘\驱动程序\M8_cc1100_receive\main.c
003C .dbfunc e int0 _int0 fV
003C ; status -> y+1
003C ; i -> R20
.even
003C _int0::
003C 00D0 rcall push_lset
003E 00D0 rcall push_gset1
0040 2397 sbiw R28,3
0042 .dbline -1
0042 .dbline 91
0042 ; }
0042 ;
0042 ;
0042 ; //*****************************************************************************************
0042 ; //函数名:
0042 ; //输入:
0042 ; //输出:
0042 ; //功能描述:中断接收
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -