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

📄 main.lis

📁 与GPS模块连接
💻 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 + -