Both_Way_Comm_SY8833/Project/Listings/led.lst

334 lines
14 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

C51 COMPILER V9.57.0.0 LED 06/14/2024 11:08:36 PAGE 1
C51 COMPILER V9.57.0.0, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN .\Objects\led.obj
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\UsrSrc\led\led.c ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE INCDIR(..\UsrIn
-c\adc;..\UsrInc\charger;..\UsrInc\discharge;..\UsrInc\gpio;..\UsrInc\hall;..\UsrInc\i2c_simu;..\UsrInc\inc;..\UsrInc\key
-;..\UsrInc\led;..\UsrInc\mtp;..\UsrInc\pwm;..\UsrInc\sleep;..\UsrInc\system;..\UsrInc\uart;..\UsrInc\userapp;..\UsrInc\v
-ox;..\UsrInc\vox_comm;..\UsrInc\watchdog;..\UsrInc\bat;..\UsrInc\timer) DEBUG OBJECTEXTEND CODE PRINT(.\Listings\led.lst
-) TABS(2) OBJECT(.\Objects\led.obj)
line level source
1 /*
2 ******************************************************************************
3 *
4 * @file led.c
5 * @brief led module
6 * @ic TP3102
7 *
8 * @version 1.0
9 * @date 2022/08/04 15:00:40
10 * @author Alex Xu
11 *
12 * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
13 * All Rights Reserved
14 *
15 * History:
16 * Revision Date Author Desc
17 * 1.0.0 2022/08/04 Alex build this file
18 ******************************************************************************/
19 /*_____ I N C L U D E S ____________________________________________________*/
20
21 #include "led.h"
22
23
24 #ifdef LED_DISPLAY
25
26 /******************************************************************************\
27 Macro definitions
28 \******************************************************************************/
29
30 /******************************************************************************\
31 Variables definitions
32 \******************************************************************************/
33 static idata TS_LED_INFO LED;
34
35 idata uint8_t Display_Sta = LED_OFF; // <20><>ʾ״̬
36
37 /******************************************************************************\
38 Functions definitions
39 \******************************************************************************/
40 #if 0
/*
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : LED_Init
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : LED<45><44>ʼ<EFBFBD><CABC>
* <20><> <20><> : NONE
* <20><><EFBFBD><EFBFBD>ֵ : NONE
*/
/******************************************************************************/
void LED_Init(void)
/******************************************************************************/
{
SFRADDR = P0_OE;
C51 COMPILER V9.57.0.0 LED 06/14/2024 11:08:36 PAGE 2
SFRDATA |= 0x08;
SFRADDR = P0_DRV;
SFRDATA = 0x0C;
pin_LED_1 = 0;
}
#endif
60 /*
61 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : LED_Set
62 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : LED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
63 * <20><> <20><> : State<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ / Period:<3A><>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><>ʣ<EFBFBD><CAA3><EFBFBD>λms) / Times:<3A><>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0xffʱ<66><CAB1>һ<EFBFBD>
-<2D><><EFBFBD><EFBFBD><EFBFBD>
64 * <20><><EFBFBD><EFBFBD>ֵ : NONE
65 */
66 /******************************************************************************/
67 void LED_Set(uint8_t State,uint8_t Period,uint8_t Times)
68 /******************************************************************************/
69 {
70 1 LED.State = State;
71 1 LED.Flash_Duty = Period / 2;
72 1 LED.Flash_Period = Period;
73 1 LED.Flash_Times = Times;
74 1 LED.Timer = 0;
75 1 }
76
77 /*
78 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : LED_Service
79 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : LED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100msʱ<73><CAB1>Ƭ<EFBFBD><C6AC>
80 * <20><> <20><> : NONE
81 * <20><><EFBFBD><EFBFBD>ֵ : NONE
82 */
83 /******************************************************************************/
84 void LED_Drv(void)
85 /******************************************************************************/
86 {
87 1 switch(LED.State)
88 1 {
89 2 case LED_ON:
90 2 LEDR_ON();
91 2 break;
92 2
93 2 case LED_OFF:
94 2 LEDR_OFF();
95 2 break;
96 2
97 2 case LED_FLASH:
98 2 if( LED.Timer < LED.Flash_Duty )
99 2 {
100 3 LEDR_ON();
101 3 }
102 2 else
103 2 {
104 3 LEDR_OFF();
105 3 }
106 2
107 2 if( LED.Timer >= LED.Flash_Period )//LED.Timer[i]<5D><>ʾ<EFBFBD>ۼӵ<DBBC>ʱ<EFBFBD><CAB1>
108 2 {
109 3 LED.Timer = 0;
110 3
111 3 if( LED.Flash_Times == 0xff )
112 3 {
C51 COMPILER V9.57.0.0 LED 06/14/2024 11:08:36 PAGE 3
113 4 //LED.State = LED_KEEP_FLASHING;
114 4 break;
115 4 }
116 3 else
117 3 {
118 4 if( LED.Flash_Times > 0 )
119 4 {
120 5 LED.Flash_Times--;
121 5 }
122 4
123 4 if( LED.Flash_Times == 0 )
124 4 {
125 5 LED.State = LED_OFF;
126 5 }
127 4 }
128 3 }
129 2
130 2 break;
131 2 #if 0
case LED_KEEP_FLASHING:
if( LED.Timer <= LED.Flash_Duty )
{
LEDR_ON();
}
else
{
LEDR_OFF();
}
if( LED.Timer >= LED.Flash_Period )
{
LED.Timer = 0;
}
break;
#endif
147 2 default:
148 2 LEDR_OFF();
149 2 break;
150 2
151 2 }
152 1
153 1 Display_Sta = LED.State; // <20><>ȡ<EFBFBD><C8A1>ǰLED<45><44><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
154 1
155 1 LED.Timer += LED_PLUS_TIME;
156 1 }
157
158 #endif
159
160
C51 COMPILER V9.57.0.0 LED 06/14/2024 11:08:36 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _LED_Set (BEGIN)
; SOURCE LINE # 67
;---- Variable 'Period' assigned to Register 'R5' ----
;---- Variable 'Times' assigned to Register 'R3' ----
;---- Variable 'State' assigned to Register 'R7' ----
; SOURCE LINE # 69
; SOURCE LINE # 70
0000 7800 R MOV R0,#LOW LED
0002 A607 MOV @R0,AR7
; SOURCE LINE # 71
0004 ED MOV A,R5
0005 C3 CLR C
0006 13 RRC A
0007 08 INC R0
0008 F6 MOV @R0,A
; SOURCE LINE # 72
0009 08 INC R0
000A A605 MOV @R0,AR5
; SOURCE LINE # 73
000C 08 INC R0
000D A603 MOV @R0,AR3
; SOURCE LINE # 74
000F E4 CLR A
0010 08 INC R0
0011 F6 MOV @R0,A
; SOURCE LINE # 75
0012 22 RET
; FUNCTION _LED_Set (END)
; FUNCTION LED_Drv (BEGIN)
; SOURCE LINE # 84
; SOURCE LINE # 86
; SOURCE LINE # 87
0000 7800 R MOV R0,#LOW LED
0002 E6 MOV A,@R0
0003 603D JZ ?C0013
0005 24FE ADD A,#0FEH
0007 6007 JZ ?C0005
0009 04 INC A
000A 7036 JNZ ?C0013
; SOURCE LINE # 88
; SOURCE LINE # 89
000C ?C0003:
; SOURCE LINE # 90
000C D283 SETB pin_LED_1
; SOURCE LINE # 91
000E 8034 SJMP ?C0002
; SOURCE LINE # 93
; SOURCE LINE # 97
0010 ?C0005:
; SOURCE LINE # 98
0010 7800 R MOV R0,#LOW LED+04H
0012 E6 MOV A,@R0
0013 FF MOV R7,A
0014 C3 CLR C
0015 7800 R MOV R0,#LOW LED+01H
0017 96 SUBB A,@R0
0018 5004 JNC ?C0006
; SOURCE LINE # 99
C51 COMPILER V9.57.0.0 LED 06/14/2024 11:08:36 PAGE 5
; SOURCE LINE # 100
001A D283 SETB pin_LED_1
; SOURCE LINE # 101
001C 8002 SJMP ?C0007
001E ?C0006:
; SOURCE LINE # 103
; SOURCE LINE # 104
001E C283 CLR pin_LED_1
; SOURCE LINE # 105
0020 ?C0007:
; SOURCE LINE # 107
0020 EF MOV A,R7
0021 C3 CLR C
0022 7800 R MOV R0,#LOW LED+02H
0024 96 SUBB A,@R0
0025 401D JC ?C0002
; SOURCE LINE # 108
; SOURCE LINE # 109
0027 E4 CLR A
0028 7800 R MOV R0,#LOW LED+04H
002A F6 MOV @R0,A
; SOURCE LINE # 111
002B 18 DEC R0
002C E6 MOV A,@R0
002D FF MOV R7,A
002E F4 CPL A
002F 6013 JZ ?C0002
; SOURCE LINE # 112
; SOURCE LINE # 114
; SOURCE LINE # 115
; SOURCE LINE # 117
; SOURCE LINE # 118
0031 EF MOV A,R7
0032 D3 SETB C
0033 9400 SUBB A,#00H
0035 4001 JC ?C0011
; SOURCE LINE # 119
; SOURCE LINE # 120
0037 16 DEC @R0
; SOURCE LINE # 121
0038 ?C0011:
; SOURCE LINE # 123
0038 7800 R MOV R0,#LOW LED+03H
003A E6 MOV A,@R0
003B 7007 JNZ ?C0002
; SOURCE LINE # 124
; SOURCE LINE # 125
003D 7800 R MOV R0,#LOW LED
003F F6 MOV @R0,A
; SOURCE LINE # 126
; SOURCE LINE # 127
; SOURCE LINE # 128
; SOURCE LINE # 130
0040 8002 SJMP ?C0002
; SOURCE LINE # 147
0042 ?C0013:
; SOURCE LINE # 148
0042 C283 CLR pin_LED_1
; SOURCE LINE # 149
; SOURCE LINE # 151
0044 ?C0002:
; SOURCE LINE # 153
C51 COMPILER V9.57.0.0 LED 06/14/2024 11:08:36 PAGE 6
0044 7800 R MOV R0,#LOW LED
0046 E6 MOV A,@R0
0047 7800 R MOV R0,#LOW Display_Sta
0049 F6 MOV @R0,A
; SOURCE LINE # 155
004A 18 DEC R0
004B 06 INC @R0
; SOURCE LINE # 156
004C 22 RET
; FUNCTION LED_Drv (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 96 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = 6 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)