📄 main.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.9.2 - 29 Jun 2010
3 ; Generator V4.3.5 - 02 Jul 2010
15 bsct
16 0000 _silder1:
17 0000 00 dc.b 0
71 ; 18 main()
71 ; 19 {
73 switch .text
74 0000 _main:
76 0000 5204 subw sp,#4
77 00000004 OFST: set 4
80 ; 20 unsigned long i=0;
82 0002 ae0000 ldw x,#0
83 0005 1f03 ldw (OFST-1,sp),x
84 0007 ae0000 ldw x,#0
85 000a 1f01 ldw (OFST-3,sp),x
86 ; 22 CLK_HSECmd(ENABLE);
88 000c a601 ld a,#1
89 000e cd0000 call _CLK_HSECmd
91 ; 23 CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);
93 0011 4b00 push #0
94 0013 4b00 push #0
95 0015 ae01b4 ldw x,#436
96 0018 cd0000 call _CLK_ClockSwitchConfig
98 001b 85 popw x
99 ; 25 GPIO_DeInit(GPIOD);
101 001c ae500f ldw x,#20495
102 001f cd0000 call _GPIO_DeInit
104 ; 27 GPIO_Init(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
106 0022 4be0 push #224
107 0024 4b0d push #13
108 0026 ae500f ldw x,#20495
109 0029 cd0000 call _GPIO_Init
111 002c 85 popw x
112 ; 29 UART2_DeInit();
114 002d cd0000 call _UART2_DeInit
116 ; 31 UART2_Init(38400,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TX_ENABLE);
118 0030 4b04 push #4
119 0032 4b80 push #128
120 0034 4b00 push #0
121 0036 4b00 push #0
122 0038 4b00 push #0
123 003a ae9600 ldw x,#38400
124 003d 89 pushw x
125 003e ae0000 ldw x,#0
126 0041 89 pushw x
127 0042 cd0000 call _UART2_Init
129 0045 5b09 addw sp,#9
130 ; 33 putStrLine("串口初始化完成.");
132 0047 ae004c ldw x,#L72
133 004a cd0000 call _putStrLine
135 ; 35 BEEP_DeInit();
137 004d cd0000 call _BEEP_DeInit
139 ; 37 BEEP_Init(BEEP_FREQUENCY_2KHZ);
141 0050 a640 ld a,#64
142 0052 cd0000 call _BEEP_Init
144 ; 39 BEEP_LSICalibrationConfig(16000000);
146 0055 ae2400 ldw x,#9216
147 0058 89 pushw x
148 0059 ae00f4 ldw x,#244
149 005c 89 pushw x
150 005d cd0000 call _BEEP_LSICalibrationConfig
152 0060 5b04 addw sp,#4
153 ; 40 putStrLine("蜂鸣器初始化完成.");
155 0062 ae003a ldw x,#L13
156 0065 cd0000 call _putStrLine
158 ; 43 TSL_Init();
160 0068 cd0000 call _TSL_Init
162 ; 44 putStrLine("触摸服务初始化完成");
164 006b ae0027 ldw x,#L33
165 006e cd0000 call _putStrLine
167 ; 46 touchSensorEnable();
169 0071 ad0d call _touchSensorEnable
171 ; 47 putStrLine("触摸键已使能");
173 0073 ae001a ldw x,#L53
174 0076 cd0000 call _putStrLine
176 0079 L73:
177 ; 52 xwopenTouchTask();
179 0079 ad5e call _xwopenTouchTask
181 ; 54 TSL_Action();
183 007b cd0000 call _TSL_Action
186 007e 20f9 jra L73
222 ; 58 void touchSensorEnable(void)
222 ; 59 {
223 switch .text
224 0080 _touchSensorEnable:
226 0080 88 push a
227 00000001 OFST: set 1
230 ; 62 for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
232 0081 0f01 clr (OFST+0,sp)
233 0083 L16:
234 ; 64 sSCKeyInfo[i].Setting.b.IMPLEMENTED = 1;
236 0083 7b01 ld a,(OFST+0,sp)
237 0085 97 ld xl,a
238 0086 a60f ld a,#15
239 0088 42 mul x,a
240 0089 e602 ld a,(_sSCKeyInfo+2,x)
241 008b aa01 or a,#1
242 008d e702 ld (_sSCKeyInfo+2,x),a
243 ; 65 sSCKeyInfo[i].Setting.b.ENABLED = 1;
245 008f 7b01 ld a,(OFST+0,sp)
246 0091 97 ld xl,a
247 0092 a60f ld a,#15
248 0094 42 mul x,a
249 0095 e602 ld a,(_sSCKeyInfo+2,x)
250 0097 aa02 or a,#2
251 0099 e702 ld (_sSCKeyInfo+2,x),a
252 ; 66 sSCKeyInfo[i].DxSGroup = 0x01; /* 0x00 = DxS disabled, other values = DxS enabled */
254 009b 7b01 ld a,(OFST+0,sp)
255 009d 97 ld xl,a
256 009e a60f ld a,#15
257 00a0 42 mul x,a
258 00a1 a601 ld a,#1
259 00a3 e704 ld (_sSCKeyInfo+4,x),a
260 ; 62 for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
262 00a5 0c01 inc (OFST+0,sp)
265 00a7 7b01 ld a,(OFST+0,sp)
266 00a9 a102 cp a,#2
267 00ab 25d6 jrult L16
268 ; 71 for (i = 0; i < NUMBER_OF_MULTI_CHANNEL_KEYS; i++)
270 00ad 0f01 clr (OFST+0,sp)
271 00af L76:
272 ; 73 sMCKeyInfo[i].Setting.b.IMPLEMENTED = 1;
274 00af 7b01 ld a,(OFST+0,sp)
275 00b1 97 ld xl,a
276 00b2 a630 ld a,#48
277 00b4 42 mul x,a
278 00b5 e602 ld a,(_sMCKeyInfo+2,x)
279 00b7 aa01 or a,#1
280 00b9 e702 ld (_sMCKeyInfo+2,x),a
281 ; 74 sMCKeyInfo[i].Setting.b.ENABLED = 1;
283 00bb 7b01 ld a,(OFST+0,sp)
284 00bd 97 ld xl,a
285 00be a630 ld a,#48
286 00c0 42 mul x,a
287 00c1 e602 ld a,(_sMCKeyInfo+2,x)
288 00c3 aa02 or a,#2
289 00c5 e702 ld (_sMCKeyInfo+2,x),a
290 ; 75 sMCKeyInfo[i].DxSGroup = 0x01; /* 0x00 = DxS disabled, other values = DxS enabled */
292 00c7 7b01 ld a,(OFST+0,sp)
293 00c9 97 ld xl,a
294 00ca a630 ld a,#48
295 00cc 42 mul x,a
296 00cd a601 ld a,#1
297 00cf e704 ld (_sMCKeyInfo+4,x),a
298 ; 71 for (i = 0; i < NUMBER_OF_MULTI_CHANNEL_KEYS; i++)
300 00d1 0c01 inc (OFST+0,sp)
303 00d3 0d01 tnz (OFST+0,sp)
304 00d5 27d8 jreq L76
305 ; 78 }
308 00d7 84 pop a
309 00d8 81 ret
344 ; 81 void xwopenTouchTask(void)
344 ; 82 {
345 switch .text
346 00d9 _xwopenTouchTask:
350 ; 83 if ((TSL_GlobalSetting.b.CHANGED) && (TSLState == TSL_IDLE_STATE))
352 00d9 b601 ld a,_TSL_GlobalSetting+1
353 00db a508 bcp a,#8
354 00dd 2772 jreq L501
356 00df b600 ld a,_TSLState
357 00e1 a101 cp a,#1
358 00e3 266c jrne L501
359 ; 85 TSL_GlobalSetting.b.CHANGED = 0;
361 00e5 72170001 bres _TSL_GlobalSetting+1,#3
362 ; 87 if (sSCKeyInfo[0].State.b.DETECTED) /* KEY 1 touched */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -