334 lines
14 KiB
Plaintext
334 lines
14 KiB
Plaintext
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)
|