📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\RXTest\main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 .dbline -1
0000 .dbline 6
0000 ; #define Main_H
0000 ;
0000 ; #include "allheads.h"
0000 ;
0000 ; void main(void)
0000 ; {
0000 .dbline 7
0000 ; initialize(); //初始MEGA88 IO和寄存器
0000 00D0 rcall _initialize
0002 .dbline 9
0002 ;
0002 ; init_SPI(); //初始SPI端口
0002 00D0 rcall _init_SPI
0004 .dbline 11
0004 ;
0004 ; RF_Channel=8; //选择NRF24L01第8频道
0004 88E0 ldi R24,8
0006 80930000 sts _RF_Channel,R24
000A .dbline 12
000A ; RX_Mode(); //进入接收模式 (接收数组宽度8个字节)
000A 00D0 rcall _RX_Mode
000C .dbline 13
000C ; Init_Idx=INIT_0;
000C 2224 clr R2
000E 20920000 sts _Init_Idx,R2
0012 .dbline 14
0012 ; Idx_TCP=ctcp0;
0012 20920000 sts _Idx_TCP,R2
0016 .dbline 15
0016 ; Pulse_Data=60;
0016 8CE3 ldi R24,60
0018 80930000 sts _Pulse_Data,R24
001C .dbline 16
001C ; Count_2ms=1;
001C 81E0 ldi R24,1
001E 90E0 ldi R25,0
0020 90930100 sts _Count_2ms+1,R25
0024 80930000 sts _Count_2ms,R24
0028 .dbline 17
0028 ; Idx_Plus=0;
0028 20920000 sts _Idx_Plus,R2
002C .dbline 18
002C ; g_count=0;
002C 20920000 sts _g_count,R2
0030 .dbline 19
0030 ; read_Count=0; //串口解析数据计数
0030 3324 clr R3
0032 30920100 sts _read_Count+1,R3
0036 20920000 sts _read_Count,R2
003A .dbline 20
003A ; write_Count=0; //串口接受数据计数
003A 30920100 sts _write_Count+1,R3
003E 20920000 sts _write_Count,R2
0042 .dbline 21
0042 ; Fbit.Rx_f=FALSE;
0042 80910000 lds R24,_Fbit
0046 90910100 lds R25,_Fbit+1
004A 9F7E andi R25,239
004C 90930100 sts _Fbit+1,R25
0050 80930000 sts _Fbit,R24
0054 .dbline 22
0054 ; Fbit.Init_com=TRUE;
0054 8160 ori R24,1
0056 80930000 sts _Fbit,R24
005A .dbline 23
005A ; Fbit.En_Sms=FALSE;
005A 8F7B andi R24,191
005C 80930000 sts _Fbit,R24
0060 .dbline 24
0060 ; Fbit.En_Tcp=FALSE;
0060 8F77 andi R24,127
0062 80930000 sts _Fbit,R24
0066 .dbline 25
0066 ; Fbit.En_Rx=FALSE;
0066 9E7F andi R25,254
0068 90930100 sts _Fbit+1,R25
006C 80930000 sts _Fbit,R24
0070 .dbline 26
0070 ; Fbit.En_Tx=FALSE;
0070 9D7F andi R25,253
0072 90930100 sts _Fbit+1,R25
0076 80930000 sts _Fbit,R24
007A .dbline 27
007A ; Fbit.Close_tcp=FALSE;
007A 9B7F andi R25,251
007C 90930100 sts _Fbit+1,R25
0080 80930000 sts _Fbit,R24
0084 .dbline 28
0084 ; Fbit.En_SendData=FALSE;
0084 977F andi R25,247
0086 90930100 sts _Fbit+1,R25
008A 80930000 sts _Fbit,R24
008E .dbline 29
008E ; Fbit.Timer_Start=FALSE;
008E 9F7D andi R25,223
0090 90930100 sts _Fbit+1,R25
0094 80930000 sts _Fbit,R24
0098 .dbline 30
0098 ; Fbit.Timer_Stop=FALSE;
0098 9F7B andi R25,191
009A 90930100 sts _Fbit+1,R25
009E 80930000 sts _Fbit,R24
00A2 .dbline 31
00A2 ; Fbit.Sec_1s=FALSE;
00A2 9F77 andi R25,127
00A4 90930100 sts _Fbit+1,R25
00A8 80930000 sts _Fbit,R24
00AC .dbline 32
00AC ; Fbit.Send_GInfoFlag=FALSE;
00AC 80910200 lds R24,_Fbit+2
00B0 8E7F andi R24,254
00B2 80930200 sts _Fbit+2,R24
00B6 .dbline 33
00B6 ; LED1_OFF;
00B6 289A sbi 0x5,0
00B8 .dbline 34
00B8 ; LED2_OFF;
00B8 299A sbi 0x5,1
00BA .dbline 35
00BA ; LED3_OFF;
00BA 2A9A sbi 0x5,2
00BC .dbline 36
00BC ; LED4_OFF;
00BC 2B9A sbi 0x5,3
00BE 28C0 rjmp L12
00C0 L11:
00C0 .dbline 39
00C0 ;
00C0 ; while(1)
00C0 ; {
00C0 .dbline 40
00C0 ; Scan_Key();
00C0 00D0 rcall _Scan_Key
00C2 .dbline 41
00C2 ; Read_GpsData();
00C2 00D0 rcall _Read_GpsData
00C4 .dbline 42
00C4 ; Send_GpsInfo();
00C4 00D0 rcall _Send_GpsInfo
00C6 .dbline 43
00C6 ; Buf_Sub();
00C6 00D0 rcall _Buf_Sub
00C8 .dbline 44
00C8 ; Timer_Function();
00C8 00D0 rcall _Timer_Function
00CA .dbline 45
00CA ; Send_Data();
00CA 00D0 rcall _Send_Data
00CC .dbline 46
00CC ; if(Fbit.Rx_f) //如果接收到数据
00CC 20900000 lds R2,_Fbit
00D0 30900100 lds R3,_Fbit+1
00D4 34FE sbrs R3,4
00D6 06C0 rjmp L14
00D8 .dbline 47
00D8 ; {
00D8 .dbline 48
00D8 ; Fbit.Rx_f=FALSE; //清0接收标志位
00D8 C101 movw R24,R2
00DA 9F7E andi R25,239
00DC 90930100 sts _Fbit+1,R25
00E0 80930000 sts _Fbit,R24
00E4 .dbline 49
00E4 ; }
00E4 L14:
00E4 .dbline 50
00E4 ; if(Count_2ms>2000){Count_2ms=0;Pulse_Data=0;
00E4 80ED ldi R24,2000
00E6 97E0 ldi R25,7
00E8 20900000 lds R2,_Count_2ms
00EC 30900100 lds R3,_Count_2ms+1
00F0 8215 cp R24,R2
00F2 9305 cpc R25,R3
00F4 68F4 brsh L16
00F6 .dbline 50
00F6 .dbline 50
00F6 2224 clr R2
00F8 3324 clr R3
00FA 30920100 sts _Count_2ms+1,R3
00FE 20920000 sts _Count_2ms,R2
0102 .dbline 50
0102 20920000 sts _Pulse_Data,R2
0106 .dbline 51
0106 ; Get_Num=0;Data_Ptr();}
0106 30920100 sts _Get_Num+1,R3
010A 20920000 sts _Get_Num,R2
010E .dbline 51
010E 00D0 rcall _Data_Ptr
0110 .dbline 51
0110 L16:
0110 .dbline 52
0110 L12:
0110 .dbline 38
0110 D7CF rjmp L11
0112 X0:
0112 .dbline -2
0112 L9:
0112 .dbline 0 ; func end
0112 0895 ret
0114 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -