model.lst

来自「移动机器人(小车)的物理坐标和逻辑坐标的转换源码」· LST 代码 · 共 1,693 行 · 第 1/5 页

LST
1,693
字号
     1DB 9380 010D STS	0x010D,R24
     1DD 9180 0109 LDS	R24,0x0109
     1DF 9190 010A LDS	R25,0x010A
     1E1 3480      CPI	R24,0x40
     1E2 E0E0      LDI	R30,0
     1E3 079E      CPC	R25,R30
     1E4 F431      BNE	0x01EB
     1E5 2422      CLR	R2
     1E6 2433      CLR	R3
     1E7 9230 010A STS	0x010A,R3
     1E9 9220 0109 STS	0x0109,R2
     1EB BEAF      OUT	0x3F,R10
(0221)     (
(0222)         if ((UARTTxBuffHead == UARTTxBuffTail) 
(0223)          && (UARTTxBuffCounter == 0))
(0224)         {
(0225)             SEI();
(0226)             return FALSE;
(0227)         }
(0228)         (*Data) = UARTTxBuff[UARTTxBuffHead++];
(0229)     
(0230)         UARTTxBuffCounter--;
(0231)     
(0232)         if (UARTTxBuffHead == SERIAL_TX_BUFF_SIZE)
(0233)         {
(0234)             UARTTxBuffHead = 0;
(0235)         }
(0236)     )		
(0237)     return TRUE;
     1EC E001      LDI	R16,1
     1ED 90A9      LD	R10,Y+
     1EE 9508      RET
_UARTPeekDataFromTxBuff:
  cflags0              --> R10
  pData                --> R16
     1EF 92AA      ST	R10,-Y
(0238) }
(0239) 
(0240) /***********************************************************
(0241) *   函数说明:首数据察看函数                               *
(0242) *   输入:    存储数据地址的指针                           *
(0243) *   输出:    取值是否成功                                 *
(0244) *   调用函数:五                                           *
(0245) ***********************************************************/
(0246) BOOL UARTPeekDataFromTxBuff(uint8 *pData)
(0247) {
(0248)     SAFE_CODE_PERFORMANCE
     1F0 B6AF      IN	R10,0x3F
     1F1 94F8      BCLR	7
     1F2 9020 010B LDS	R2,0x010B
     1F4 9030 010C LDS	R3,0x010C
     1F6 9040 0109 LDS	R4,0x0109
     1F8 9050 010A LDS	R5,0x010A
     1FA 1442      CP	R4,R2
     1FB 0453      CPC	R5,R3
     1FC F459      BNE	0x0208
     1FD 9020 010D LDS	R2,0x010D
     1FF 9030 010E LDS	R3,0x010E
     201 2022      TST	R2
     202 F429      BNE	0x0208
     203 2033      TST	R3
     204 F419      BNE	0x0208
     205 9478      BSET	7
     206 2700      CLR	R16
     207 C00D      RJMP	0x0215
     208 E785      LDI	R24,0x75
     209 E091      LDI	R25,1
     20A 91E0 0109 LDS	R30,0x0109
     20C 91F0 010A LDS	R31,0x010A
     20E 0FE8      ADD	R30,R24
     20F 1FF9      ADC	R31,R25
     210 8020      LDD	R2,Z+0
     211 01F8      MOVW	R30,R16
     212 8220      STD	Z+0,R2
     213 BEAF      OUT	0x3F,R10
(0249)     (
(0250)         if ((UARTTxBuffHead == UARTTxBuffTail) 
(0251)          && (UARTTxBuffCounter == 0))
(0252)         {
(0253)             SEI();
(0254)             return FALSE;
(0255)         }
(0256)         (*pData) = UARTTxBuff[UARTTxBuffHead];
(0257)     )		
(0258)     return TRUE;
     214 E001      LDI	R16,1
     215 90A9      LD	R10,Y+
     216 9508      RET
_UARTaddDataToTxBuff:
  cflags0              --> R10
  Data                 --> R16
     217 92AA      ST	R10,-Y
(0259) }
(0260) 
(0261) /***********************************************************
(0262) *  函数说明:向通讯输出缓冲区添加数据函数                  *
(0263) *  输入:    需要发送的数据                                *
(0264) *  输出:    无                                            *
(0265) *  调用函数:无                                            *
(0266) ***********************************************************/
(0267) BOOL UARTaddDataToTxBuff(uint8 Data)
(0268) {
(0269)     
(0270)     SAFE_CODE_PERFORMANCE
     218 B6AF      IN	R10,0x3F
     219 94F8      BCLR	7
     21A 9020 010B LDS	R2,0x010B
     21C 9030 010C LDS	R3,0x010C
     21E 9040 0109 LDS	R4,0x0109
     220 9050 010A LDS	R5,0x010A
     222 1442      CP	R4,R2
     223 0453      CPC	R5,R3
     224 F459      BNE	0x0230
     225 9180 010D LDS	R24,0x010D
     227 9190 010E LDS	R25,0x010E
     229 3480      CPI	R24,0x40
     22A E0E0      LDI	R30,0
     22B 079E      CPC	R25,R30
     22C F419      BNE	0x0230
     22D 9478      BSET	7
     22E 2700      CLR	R16
     22F C029      RJMP	0x0259
     230 9020 010B LDS	R2,0x010B
     232 9030 010C LDS	R3,0x010C
     234 01C1      MOVW	R24,R2
     235 9601      ADIW	R24,1
     236 9390 010C STS	0x010C,R25
     238 9380 010B STS	0x010B,R24
     23A E785      LDI	R24,0x75
     23B E091      LDI	R25,1
     23C 01F1      MOVW	R30,R2
     23D 0FE8      ADD	R30,R24
     23E 1FF9      ADC	R31,R25
     23F 8300      STD	Z+0,R16
     240 9180 010D LDS	R24,0x010D
     242 9190 010E LDS	R25,0x010E
     244 9601      ADIW	R24,1
     245 9390 010E STS	0x010E,R25
     247 9380 010D STS	0x010D,R24
     249 9180 010B LDS	R24,0x010B
     24B 9190 010C LDS	R25,0x010C
     24D 3480      CPI	R24,0x40
     24E E0E0      LDI	R30,0
     24F 079E      CPC	R25,R30
     250 F431      BNE	0x0257
     251 2422      CLR	R2
     252 2433      CLR	R3
     253 9230 010C STS	0x010C,R3
     255 9220 010B STS	0x010B,R2
     257 BEAF      OUT	0x3F,R10
(0271)     (
(0272)         if ((UARTTxBuffHead == UARTTxBuffTail) 
(0273)          && (UARTTxBuffCounter == SERIAL_TX_BUFF_SIZE))
(0274)         {
(0275)             SEI();
(0276)             return FALSE;
(0277)         }
(0278)         UARTTxBuff[UARTTxBuffTail++] = Data;
(0279)     
(0280)         UARTTxBuffCounter ++;
(0281)     
(0282)         if (UARTTxBuffTail == SERIAL_TX_BUFF_SIZE)
(0283)         {
(0284)             UARTTxBuffTail = 0;
(0285)         }
(0286) 	)	
(0287)     return TRUE;
     258 E001      LDI	R16,1
     259 90A9      LD	R10,Y+
     25A 9508      RET
_PROC_Serial_Transmitter:
  cflags0              --> R10
  cTransmitByte        --> Y,+0
     25B 92AA      ST	R10,-Y
     25C 9721      SBIW	R28,1
(0288) } 
(0289) 
(0290) #ifdef _USE_SERIAL_TX_TRANSMITTER_PROC
(0291) /***********************************************************
(0292) *   函数说明:串行发送进程                                 *
(0293) *   输入:    无                                           *
(0294) *   输出:    是否继续执行                                 *
(0295) *   调用函数:UARTgetDataFromTxBuff()                      *
(0296) ***********************************************************/
(0297) BOOL PROC_Serial_Transmitter(void)
(0298) {
(0299)     uint8 cTransmitByte = 0;
     25D 2422      CLR	R2
     25E 8228      STD	Y+0,R2
(0300)     
(0301)     SAFE_CODE_PERFORMANCE
     25F B6AF      IN	R10,0x3F
     260 94F8      BCLR	7
     261 9020 010F LDS	R2,g_bIfSerialTransmitCompleted
     263 2022      TST	R2
     264 F069      BEQ	0x0272
     265 018E      MOVW	R16,R28
     266 DF42      RCALL	_UARTgetDataFromTxBuff
     267 2300      TST	R16
     268 F419      BNE	0x026C
     269 BEAF      OUT	0x3F,R10
     26A E001      LDI	R16,1
     26B C008      RJMP	0x0274
     26C 2422      CLR	R2
     26D 9220 010F STS	g_bIfSerialTransmitCompleted,R2
     26F 8028      LDD	R2,Y+0
     270 9220 00C6 STS	0x00C6,R2
     272 BEAF      OUT	0x3F,R10
(0302)     (
(0303)         if (g_bIfSerialTransmitCompleted)
(0304)         {
(0305)             if (!UARTgetDataFromTxBuff(&cTransmitByte))
(0306)             {
(0307)                 EXIT_SAFE_CODE
(0308)                 SERIAL_DISABLE_WRITE
(0309)                 return TRUE;
(0310)             }
(0311)             else
(0312)             {
(0313)                 SERIAL_ENABLE_WRITE
(0314)             }
(0315)             g_bIfSerialTransmitCompleted = FALSE;
(0316)             UDR_PORT = cTransmitByte;
(0317)         }
(0318)     )
(0319)     
(0320)     
(0321)     return TRUE;
     273 E001      LDI	R16,1
     274 9621      ADIW	R28,1
     275 90A9      LD	R10,Y+
     276 9508      RET
FILE: E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\LIB_Config.c
(0001) /***********************************************************
(0002) *   声明库说明:库函数配置库                               *
(0003) *   版本:                                                 *
(0004) *   作者:                                                 *
(0005) *   创建日期:                                             *
(0006) * -------------------------------------------------------- *
(0007) *  [硬件说明]                                              *
(0008) *   处理器:                                               *
(0009) *   系统时钟:                                             *
(0010) * -------------------------------------------------------- *
(0011) *  [支 持 库]                                              *
(0012) *   支持库名称:LIB_Config.h                               *
(0013) *   需要版本:  -----                                      *
(0014) *   支持库说明:库函数配置声明库                           *
(0015) * -------------------------------------------------------- *
(0016) *  [版本更新]                                              *
(0017) *   修改:                                                 *
(0018) *   修改日期:                                             *
(0019) *   版本:                                                 *
(0020) * -------------------------------------------------------- *
(0021) *  [版本历史]                                              *
(0022) * -------------------------------------------------------- *
(0023) *  [使用说明]                                              *
(0024) ***********************************************************/
(0025) 
(0026) /********************
(0027) * 头 文 件 配 置 区 *
(0028) ********************/
(0029) # include "LIB_Config.h"
(0030) 
(0031) /********************
(0032) *   系 统 宏 定 义  *
(0033) ********************/
(0034) 
(0035) /*------------------*
(0036) *   常 数 宏 定 义  *
(0037) *------------------*/
(0038) 
(0039) /*------------------*
(0040) *   动 作 宏 定 义  *
(0041) *------------------*/
(0042) 
(0043) /********************
(0044) *  自定义类型声明区 *
(0045) ********************/
(0046) 
(0047) /********************
(0048) *  模块结构体定义区 *
(0049) ********************/
(0050) 
(0051) /********************
(0052) *   函 数 声 明 区  *
(0053) ********************/
(0054) void LIB_INIT(void);
(0055) 
(0056) /********************
(0057) *   模块函数声明区  *
(0058) ********************/
(0059) 
(0060) /********************
(0061) *   模块变量声明区  *
(0062) ********************/
(0063) 
(0064) /********************
(0065) *   全局变量声明区  *
(0066) ********************/
(0067) 
(0068) /***********************************************************
(0069) *   函数说明:库函数初始化函数                             *
(0070) *   输入:    无                                           *
(0071) *   输出:    无                                           *
(0072) *   调用函数:无                                           *
(0073) ***********************************************************/
(0074) void LIB_INIT(void)
(0075) {
(0076)     CMOS_INIT();
_LIB_INIT:
     277 DE23      RCALL	_CMOS_INIT
(0077)     //LED_Flash_Control_INIT();
(0078)     LCDInit();
     278 C01C      RJMP	_LCDInit
RD_LCD1602B.c:LCDDelay:
_LCDDelay:
  TimeCounter1         --> R20
  Time                 --> R10
     279 D635      RCALL	push_xgset300C
     27A 0158      MOVW	R10,R16
FILE: E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块测试版\Relative_Locate_Module\RD_LCD1602B.c
(0001) /***********************************************************
(0002) *   函数库说明:LCD1602B基本驱动函数库                     *
(0003) *   版本:      v2.11                                      *
(0004) *   作者:      傻孩子                                     *
(0005) *   创建日期:  2005年9月6日                               *
(0006) * -------------------------------------------------------- *
(0007) *  [支 持 库]                                              *
(0008) * -------------------------------------------------------- *
(0009) *  [版本更新]                                              *
(0010) *   修改:      傻孩子                                     *
(0011) *   修改日期:  2006年6月8日                               *
(0012) *   版本:      v2.11                                      *
(0013) * -------------------------------------------------------- *
(0014) *  [版本历史]                                              *
(0015) * -------------------------------------------------------- *
(0016) *  [使用说明]                                              *
(0017) *              1、需要底层硬件驱动函数支持                 *
(0018) *                 基本的宏定义:                           *

⌨️ 快捷键说明

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