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 + -
显示快捷键?