📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile E:\RXTest\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 6
; #define Main_H
;
; #include "allheads.h"
;
; void main(void)
; {
.dbline 7
; initialize(); //初始MEGA88 IO和寄存器
rcall _initialize
.dbline 9
;
; init_SPI(); //初始SPI端口
rcall _init_SPI
.dbline 11
;
; RF_Channel=8; //选择NRF24L01第8频道
ldi R24,8
sts _RF_Channel,R24
.dbline 12
; RX_Mode(); //进入接收模式 (接收数组宽度8个字节)
rcall _RX_Mode
.dbline 13
; Init_Idx=INIT_0;
clr R2
sts _Init_Idx,R2
.dbline 14
; Idx_TCP=ctcp0;
sts _Idx_TCP,R2
.dbline 15
; Pulse_Data=60;
ldi R24,60
sts _Pulse_Data,R24
.dbline 16
; Count_2ms=1;
ldi R24,1
ldi R25,0
sts _Count_2ms+1,R25
sts _Count_2ms,R24
.dbline 17
; Idx_Plus=0;
sts _Idx_Plus,R2
.dbline 18
; g_count=0;
sts _g_count,R2
.dbline 19
; read_Count=0; //串口解析数据计数
clr R3
sts _read_Count+1,R3
sts _read_Count,R2
.dbline 20
; write_Count=0; //串口接受数据计数
sts _write_Count+1,R3
sts _write_Count,R2
.dbline 21
; Fbit.Rx_f=FALSE;
lds R24,_Fbit
lds R25,_Fbit+1
andi R25,239
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 22
; Fbit.Init_com=TRUE;
ori R24,1
sts _Fbit,R24
.dbline 23
; Fbit.En_Sms=FALSE;
andi R24,191
sts _Fbit,R24
.dbline 24
; Fbit.En_Tcp=FALSE;
andi R24,127
sts _Fbit,R24
.dbline 25
; Fbit.En_Rx=FALSE;
andi R25,254
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 26
; Fbit.En_Tx=FALSE;
andi R25,253
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 27
; Fbit.Close_tcp=FALSE;
andi R25,251
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 28
; Fbit.En_SendData=FALSE;
andi R25,247
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 29
; Fbit.Timer_Start=FALSE;
andi R25,223
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 30
; Fbit.Timer_Stop=FALSE;
andi R25,191
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 31
; Fbit.Sec_1s=FALSE;
andi R25,127
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 32
; Fbit.Send_GInfoFlag=FALSE;
lds R24,_Fbit+2
andi R24,254
sts _Fbit+2,R24
.dbline 33
; LED1_OFF;
sbi 0x5,0
.dbline 34
; LED2_OFF;
sbi 0x5,1
.dbline 35
; LED3_OFF;
sbi 0x5,2
.dbline 36
; LED4_OFF;
sbi 0x5,3
rjmp L12
L11:
.dbline 39
;
; while(1)
; {
.dbline 40
; Scan_Key();
rcall _Scan_Key
.dbline 41
; Read_GpsData();
rcall _Read_GpsData
.dbline 42
; Send_GpsInfo();
rcall _Send_GpsInfo
.dbline 43
; Buf_Sub();
rcall _Buf_Sub
.dbline 44
; Timer_Function();
rcall _Timer_Function
.dbline 45
; Send_Data();
rcall _Send_Data
.dbline 46
; if(Fbit.Rx_f) //如果接收到数据
lds R2,_Fbit
lds R3,_Fbit+1
sbrs R3,4
rjmp L14
.dbline 47
; {
.dbline 48
; Fbit.Rx_f=FALSE; //清0接收标志位
movw R24,R2
andi R25,239
sts _Fbit+1,R25
sts _Fbit,R24
.dbline 49
; }
L14:
.dbline 50
; if(Count_2ms>2000){Count_2ms=0;Pulse_Data=0;
ldi R24,2000
ldi R25,7
lds R2,_Count_2ms
lds R3,_Count_2ms+1
cp R24,R2
cpc R25,R3
brsh L16
.dbline 50
.dbline 50
clr R2
clr R3
sts _Count_2ms+1,R3
sts _Count_2ms,R2
.dbline 50
sts _Pulse_Data,R2
.dbline 51
; Get_Num=0;Data_Ptr();}
sts _Get_Num+1,R3
sts _Get_Num,R2
.dbline 51
rcall _Data_Ptr
.dbline 51
L16:
.dbline 52
L12:
.dbline 38
rjmp L11
X0:
.dbline -2
L9:
.dbline 0 ; func end
ret
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -