fix:修复调光时间BUG
解决调光时间一样的情况下,调光亮与调光灭的实际调光时间不一致问题
This commit is contained in:
183
Listings/key.lst
Normal file
183
Listings/key.lst
Normal file
@@ -0,0 +1,183 @@
|
||||
C51 COMPILER V9.01 KEY 12/15/2025 20:45:04 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.01, COMPILATION OF MODULE KEY
|
||||
OBJECT MODULE PLACED IN .\Objects\key.obj
|
||||
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE key.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\key.l
|
||||
-st) OBJECT(.\Objects\key.obj)
|
||||
|
||||
line level source
|
||||
|
||||
1 #include "key.h"
|
||||
2 #include "GPIO.h"
|
||||
3 #include "timer.h"
|
||||
4 #include "string.h"
|
||||
5 #include "pwm_control.h"
|
||||
6 KEY_t g_Key;
|
||||
7
|
||||
8 void Key_Init(void)
|
||||
9 {
|
||||
10 1 GPIO_InitTypeDef GPIO_InitStructure1; //<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
||||
11 1 /***********************************1*******************************************/
|
||||
12 1 GPIO_InitStructure1.Pin = GPIO_Pin_4; //ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>IO 4
|
||||
13 1 GPIO_InitStructure1.Mode = GPIO_PullUp; //ָ<><D6B8>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ,GPIO_PullUp
|
||||
14 1 GPIO_Inilize(GPIO_P4,&GPIO_InitStructure1); //<2F><>ʼ<EFBFBD><CABC>
|
||||
15 1 memset(&g_Key, 0, sizeof(g_Key));
|
||||
16 1 }
|
||||
17
|
||||
18 void Key_ScanTask(void)
|
||||
19 {
|
||||
20 1 u8 i;
|
||||
21 1 static u32 update_10ms = 0;
|
||||
22 1
|
||||
23 1 if (systick_1ms - update_10ms > 10)
|
||||
24 1 {
|
||||
25 2 update_10ms = systick_1ms;
|
||||
26 2
|
||||
27 2 for (i = 0; i < KEY_CHN_MAX; i++)
|
||||
28 2 {
|
||||
29 3 switch (g_Key.KEY_STA[i])
|
||||
30 3 {
|
||||
31 4 case KEY_STA_S0:
|
||||
32 4 if ( P44 == KEY_PRESS )
|
||||
33 4 {
|
||||
34 5 if (g_Key.delayCnt[i] < KEY_DELAY_COUNT)
|
||||
35 5 {
|
||||
36 6 g_Key.delayCnt[i]++;
|
||||
37 6 }
|
||||
38 5 else
|
||||
39 5 {
|
||||
40 6 g_Key.KEY_STA[i] = KEY_STA_S1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
41 6 g_Key.key_time[i] = 0;
|
||||
42 6 g_Key.delayCnt[i] = 0;
|
||||
43 6 }
|
||||
44 5 }
|
||||
45 4 else
|
||||
46 4 {
|
||||
47 5 g_Key.delayCnt[i] = 0;
|
||||
48 5 g_Key.KEY_STA[i] = KEY_STA_S0;
|
||||
49 5 g_Key.key_val[i] = KEY_VAL_NOT;
|
||||
50 5 }
|
||||
51 4 break;
|
||||
52 4 case KEY_STA_S1:
|
||||
53 4 g_Key.key_time[i] ++;
|
||||
54 4 if ( g_Key.key_time[i] < KEY_DELAY_COUNT_LONG )
|
||||
C51 COMPILER V9.01 KEY 12/15/2025 20:45:04 PAGE 2
|
||||
|
||||
55 4 {
|
||||
56 5 if ( P44 == KEY_LOOSEN ) //<2F>ɿ<EFBFBD>
|
||||
57 5 {
|
||||
58 6 g_Key.key_val[i] = KEY_VAL_SHORT_PRESS; //<2F>̰<EFBFBD><CCB0>ɿ<EFBFBD>
|
||||
59 6 g_Key.key_time[i] = 0;
|
||||
60 6 g_Key.KEY_STA[i] = KEY_STA_S0;
|
||||
61 6 }
|
||||
62 5 }
|
||||
63 4 else
|
||||
64 4 {
|
||||
65 5 g_Key.KEY_STA[i] = KEY_STA_S2;
|
||||
66 5 g_Key.key_time[i] = 0;
|
||||
67 5 g_Key.key_longPress[i] = KEY_VAL_SINGLE_LONG_PRESS; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
68 5 g_Key.key_val[i] = KEY_VAL_CONT_LONG_PRESS; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
69 5 }
|
||||
70 4 break;
|
||||
71 4
|
||||
72 4 case KEY_STA_S2:
|
||||
73 4 g_Key.key_longPress[i] = KEY_VAL_NOT;
|
||||
74 4 if ( P44 == KEY_LOOSEN )
|
||||
75 4 {
|
||||
76 5 g_Key.KEY_STA[i] = KEY_STA_S0;
|
||||
77 5 g_Key.key_val[i] = KEY_VAL_LONG_PRESS_LOOSEN; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD>
|
||||
78 5 }
|
||||
79 4 break;
|
||||
80 4 }
|
||||
81 3 }
|
||||
82 2 }
|
||||
83 1 }
|
||||
84
|
||||
85
|
||||
86 void KEY_TEST(void)
|
||||
87 {
|
||||
88 1 u8 flag;
|
||||
89 1 if (g_Key.key_val[KEY_CH1] == KEY_VAL_SHORT_PRESS)
|
||||
90 1 {
|
||||
91 2 g_Key.key_val[KEY_CH1] = KEY_VAL_NOT;
|
||||
92 2 s_pwm.key_value++;
|
||||
93 2 switch (s_pwm.key_value)
|
||||
94 2 {
|
||||
95 3 case 1:
|
||||
96 3 s_pwm.currpwm[0] = 2000ul; //90%<25><><EFBFBD><EFBFBD>
|
||||
97 3 s_pwm.currvalue[0]=0x5A;
|
||||
98 3 break;
|
||||
99 3 case 2:
|
||||
100 3 s_pwm.currpwm[1] = 2000ul;
|
||||
101 3 s_pwm.currvalue[1]=0x5A;
|
||||
102 3 break;
|
||||
103 3 case 3:
|
||||
104 3 s_pwm.currpwm[2] = 2000ul;
|
||||
105 3 s_pwm.currvalue[2]=0x5A;
|
||||
106 3 break;
|
||||
107 3 case 4:
|
||||
108 3 s_pwm.currpwm[3] = 2000ul;
|
||||
109 3 s_pwm.currvalue[3]=0x5A;
|
||||
110 3 break;
|
||||
111 3 case 5:
|
||||
112 3 s_pwm.currpwm[4] = 2000ul;
|
||||
113 3 s_pwm.currvalue[4]=0x5A;
|
||||
114 3 break;
|
||||
115 3 case 6:
|
||||
116 3 s_pwm.currpwm[5] = 2000ul;
|
||||
C51 COMPILER V9.01 KEY 12/15/2025 20:45:04 PAGE 3
|
||||
|
||||
117 3 s_pwm.currvalue[5]=0x5A;
|
||||
118 3 break;
|
||||
119 3 case 7:
|
||||
120 3 s_pwm.currpwm[6] = 2000ul;
|
||||
121 3 s_pwm.currvalue[6]=0x5A;
|
||||
122 3 break;
|
||||
123 3 case 8:
|
||||
124 3 s_pwm.currpwm[7] = 2000ul;
|
||||
125 3 s_pwm.currvalue[7]=0x5A;
|
||||
126 3 break;
|
||||
127 3 case 9:
|
||||
128 3 s_pwm.currpwm[8] = 2000ul;
|
||||
129 3 s_pwm.currvalue[8]=0x5A;
|
||||
130 3 break;
|
||||
131 3 case 10:
|
||||
132 3 s_pwm.currpwm[9] = 2000ul;
|
||||
133 3 s_pwm.currvalue[9]=0x5A;
|
||||
134 3 break;
|
||||
135 3 case 11:
|
||||
136 3 s_pwm.currpwm[10] = 2000ul;
|
||||
137 3 s_pwm.currvalue[10]=0x5A;
|
||||
138 3 break;
|
||||
139 3 case 12:
|
||||
140 3 s_pwm.currpwm[11] = 2000ul;
|
||||
141 3 s_pwm.currvalue[11]=0x5A;
|
||||
142 3 break;
|
||||
143 3 case 13:
|
||||
144 3 for(flag=0;flag<12;flag++)
|
||||
145 3 {
|
||||
146 4 s_pwm.currpwm[flag] = PWM_MAX_VALUE;
|
||||
147 4 s_pwm.currvalue[flag]=0x00;
|
||||
148 4 }
|
||||
149 3 s_pwm.key_value = 0;
|
||||
150 3 break;
|
||||
151 3 default:
|
||||
152 3 break;
|
||||
153 3 }
|
||||
154 2 }
|
||||
155 1 }
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 553 ----
|
||||
CONSTANT SIZE = ---- ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = 10 2
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = ---- ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
||||
Reference in New Issue
Block a user