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

📄 ex_support.s

📁 移动机器人(小车)的物理坐标和逻辑坐标的转换源码
💻 S
📖 第 1 页 / 共 2 页
字号:
	.module EX_Support.c
	.area text(rom, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_s_wSystemDelayTimerCounter:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_wSystemTimer::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_chDataBuffer::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 16
	.area idata
	.word 0,0,0,0,0
	.byte 0,0,0,0,0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.dbsym e g_chDataBuffer _g_chDataBuffer A[17:17]c
_g_chCMDBuffer::
	.blkb 2
	.area idata
	.byte 170,17
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.blkb 2
	.area idata
	.byte 'U,170
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_bIfSendCMD::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_bIfStartCMD::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_bIfSendHead::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_chDataCounter::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_fAbsoluteX::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_fAbsoluteY::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_fAbsoluteAngle::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_fX::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_fY::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_fAngle::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_chXOR::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
_g_wCounter::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.area text(rom, con, rel)
	.dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\EX_Support.c
	.dbfunc e Driver_INIT _Driver_INIT fV
	.even
_Driver_INIT::
	.dbline -1
	.dbline 119
; /***********************************************************
; *   函数库说明:底层硬件初始化驱动函数库                   *
; *   版本:                                                 *
; *   作者:                                                 *
; *   创建日期:                                             *
; * -------------------------------------------------------- *
; *  [硬件说明]                                              *
; *   处理器:                                               *
; *   系统时钟:                                             *
; * -------------------------------------------------------- *
; *  [支 持 库]                                              *
; *   支持库名称:PF_Config.h                                *
; *   需要版本:  -----                                      *
; *   声明库说明:硬件平台配置声明库                         *
; *                                                          *
; *   支持库名称:EX_Support.h                               *
; *   需要版本:  -----                                      *
; *   声明库说明:底层硬件初始化驱动声明库                   *
; *                                                          *
; *   支持库名称:LIB_Config.h                               *
; *   需要版本:  -----                                      *
; *   支持库说明:库函数配置声明库                           *
; * -------------------------------------------------------- *
; *  [版本更新]                                              *
; *   修改:                                                 *
; *   修改日期:                                             *
; *   版本:                                                 *
; * -------------------------------------------------------- *
; *  [版本历史]                                              *
; * -------------------------------------------------------- *
; *  [使用说明]                                              *
; ***********************************************************/
; 
; /********************
; * 头 文 件 配 置 区 *
; ********************/
; # include "PF_Config.h"
; # include "EX_Support.h"
; # include "LIB_Config.h"
; # include "math.h"
; # include "Communication_LIB.h"
; /********************
; *   系 统 宏 定 义  *
; ********************/
; 
; /*------------------*
; *   常 数 宏 定 义  *
; *------------------*/
; 
; 
; /*------------------*
; *   动 作 宏 定 义  *
; *------------------*/
; 
; /********************
; *  模块结构体定义区 *
; ********************/
; 
; /********************
; *   函 数 声 明 区  *
; ********************/
; void Delay_MS(uint16 wTime);
; void Insert_Timer0_OVF_ISR_Code(void);
; void Driver_INIT(void);
; BOOL PROC_Get_Relative_Location(void);
; //double fMod(double fNumberA,double fNumberB);
; 
; 
; /********************
; *   模块函数声明区  *
; ********************/
; 
; 
; /********************
; *   模块变量声明区  *
; ********************/
; static uint16 s_wSystemDelayTimerCounter = 0;
; 
; /********************
; *   全局变量声明区  *
; ********************/
; uint16 g_wSystemTimer = 0;
; BYTE g_chDataBuffer[17] = {0};
; 
; BYTE g_chCMDBuffer[sizeof(g_chDataBuffer)+1] = 
;                     {
;                         0xAA,sizeof(g_chDataBuffer),0x00,
;                         0x00,0x00,0x00,0x00,
;                         0x00,0x00,0x00,0x00,
;                         0x00,0x00,0x00,0x00,
;                         0x00,0x55,0xAA
;                     };
; BOOL g_bIfSendCMD = FALSE;
; BOOL g_bIfStartCMD = FALSE;
; BOOL g_bIfSendHead = FALSE;
; 
; UINT8 g_chDataCounter = 0;
; 
; float g_fAbsoluteX = 0.0;
; float g_fAbsoluteY = 0.0;
; float g_fAbsoluteAngle = 0.0;
; float g_fX = 0.0;
; float g_fY = 0.0;
; float g_fAngle = 0.0;
; BYTE  g_chXOR = 0;
; UINT16 g_wCounter = 0;
; 
; /********************
; *  自定义类型声明区 *
; ********************/
; 
; /***********************************************************
; *   函数说明:软件驱动初始化函数                           *
; *   输入:    无                                           *
; *   输出:    无                                           *
; *   调用函数:无                                           *
; ***********************************************************/
; void Driver_INIT(void)
; {
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e fMod _fMod fD
;       fNumberB -> y+4
;       fNumberA -> y+0
	.even
_fMod::
	rcall push_arg4
	.dbline -1
	.dbline 131
; 
; }
; 
; 
; /***********************************************************
; *   函数说明:实数求模函数                                 *
; *   输入:    被除数,除数                                 *
; *   输出:    取模结果                                     *
; *   调用函数:无                                           *
; ***********************************************************/
; double fMod(double fNumberA,double fNumberB)
; {
	.dbline 132
;     if (fNumberB < 0)
	ldd R2,y+4
	ldd R3,y+5
	ldd R4,y+6
	ldd R5,y+7
	ldi R16,<L5
	ldi R17,>L5
	rcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	movw R16,R2
	movw R18,R4
	rcall fpcmp2
	brlt X10
	rjmp L3
X10:
X0:
	.dbline 133
;     {
	.dbline 134
;         if (fNumberA < 0)
	ldd R2,y+0
	ldd R3,y+1
	ldd R4,y+2
	ldd R5,y+3
	ldi R16,<L5
	ldi R17,>L5
	rcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	movw R16,R2
	movw R18,R4
	rcall fpcmp2
	brge L6
X1:
	.dbline 135
;         {
	rjmp L9
L8:
	.dbline 137
;             while(fNumberA < fNumberB)
;             {
	.dbline 138
;                 fNumberA -= fNumberB;
	ldd R16,y+0
	ldd R17,y+1
	ldd R18,y+2
	ldd R19,y+3
	movw R24,R28
	adiw R24,4
	st -y,R25
	st -y,R24
	rcall fpsub1
	std y+0,R16
	std y+1,R17
	std y+2,R18
	std y+3,R19
	.dbline 139
;             }
L9:
	.dbline 136
	ldd R16,y+0
	ldd R17,y+1
	ldd R18,y+2
	ldd R19,y+3
	movw R24,R28
	adiw R24,4
	st -y,R25
	st -y,R24
	rcall fpcmp1
	brlt L8
X2:
	.dbline 141
;         
;             return fNumberA;
	ldd R16,y+0
	ldd R17,y+1
	ldd R18,y+2
	ldd R19,y+3
	rjmp L2
L6:
	.dbline 143
;         }
;         else if (fNumberA > 0)
	movw R24,R28
	ldi R16,<L5
	ldi R17,>L5
	rcall lpm32
	st -y,R25
	st -y,R24
	rcall fpcmp1
	brge L11
X3:
	.dbline 144
;         {
	rjmp L14
L13:
	.dbline 146
;             while((fNumberA + fNumberB) > fNumberB)
;             {
	.dbline 147
;                 fNumberA += fNumberB;
	ldd R16,y+0
	ldd R17,y+1
	ldd R18,y+2
	ldd R19,y+3
	movw R24,R28
	adiw R24,4
	st -y,R25
	st -y,R24
	rcall fpadd1
	std y+0,R16
	std y+1,R17
	std y+2,R18
	std y+3,R19
	.dbline 148
;             }
L14:
	.dbline 145
	ldd R16,y+0
	ldd R17,y+1
	ldd R18,y+2
	ldd R19,y+3
	movw R24,R28
	adiw R24,4
	st -y,R25
	st -y,R24
	rcall fpadd1x
 ; stack offset 4
	ldd R16,y+8
	ldd R17,y+9
	ldd R18,y+10
	ldd R19,y+11
	rcall fpcmp2
	brlt L13
X4:
	.dbline 150
;             
;             return fNumberA;
	ldd R16,y+0
	ldd R17,y+1
	ldd R18,y+2
	ldd R19,y+3
	rjmp L2
L11:
	.dbline 153
;         }
;         else
;         {
	.dbline 154
;             return 0.0;
	ldi R16,<L5
	ldi R17,>L5
	rcall lpm32
	rjmp L2

⌨️ 快捷键说明

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