?? 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
18 0001 _key:
19 0001 00 dc.b 0
73 ; 24 main()
73 ; 25 {
75 switch .text
76 0000 _main:
78 0000 5204 subw sp,#4
79 00000004 OFST: set 4
82 ; 26 unsigned long i=0;
84 0002 ae0000 ldw x,#0
85 0005 1f03 ldw (OFST-1,sp),x
86 0007 ae0000 ldw x,#0
87 000a 1f01 ldw (OFST-3,sp),x
88 ; 28 CLK_HSECmd(ENABLE);
90 000c a601 ld a,#1
91 000e cd0000 call _CLK_HSECmd
93 ; 29 CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);
95 0011 4b00 push #0
96 0013 4b00 push #0
97 0015 ae01b4 ldw x,#436
98 0018 cd0000 call _CLK_ClockSwitchConfig
100 001b 85 popw x
101 ; 31 GPIO_DeInit(GPIOD);
103 001c ae500f ldw x,#20495
104 001f cd0000 call _GPIO_DeInit
106 ; 33 GPIO_Init(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
108 0022 4be0 push #224
109 0024 4b0d push #13
110 0026 ae500f ldw x,#20495
111 0029 cd0000 call _GPIO_Init
113 002c 85 popw x
114 ; 35 UART2_DeInit();
116 002d cd0000 call _UART2_DeInit
118 ; 37 UART2_Init(38400,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TX_ENABLE);
120 0030 4b04 push #4
121 0032 4b80 push #128
122 0034 4b00 push #0
123 0036 4b00 push #0
124 0038 4b00 push #0
125 003a ae9600 ldw x,#38400
126 003d 89 pushw x
127 003e ae0000 ldw x,#0
128 0041 89 pushw x
129 0042 cd0000 call _UART2_Init
131 0045 5b09 addw sp,#9
132 ; 39 putStrLine("串口初始化完成.");
134 0047 ae004c ldw x,#L72
135 004a cd0000 call _putStrLine
137 ; 41 BEEP_DeInit();
139 004d cd0000 call _BEEP_DeInit
141 ; 43 BEEP_Init(BEEP_FREQUENCY_2KHZ);
143 0050 a640 ld a,#64
144 0052 cd0000 call _BEEP_Init
146 ; 45 BEEP_LSICalibrationConfig(16000000);
148 0055 ae2400 ldw x,#9216
149 0058 89 pushw x
150 0059 ae00f4 ldw x,#244
151 005c 89 pushw x
152 005d cd0000 call _BEEP_LSICalibrationConfig
154 0060 5b04 addw sp,#4
155 ; 46 putStrLine("蜂鳴器初始化完成.");
157 0062 ae003a ldw x,#L13
158 0065 cd0000 call _putStrLine
160 ; 49 TSL_Init();
162 0068 cd0000 call _TSL_Init
164 ; 50 putStrLine("觸摸服務初始化完成");
166 006b ae0027 ldw x,#L33
167 006e cd0000 call _putStrLine
169 ; 52 touchSensorEnable();
171 0071 ad0d call _touchSensorEnable
173 ; 53 putStrLine("觸摸鍵已使能");
175 0073 ae001a ldw x,#L53
176 0076 cd0000 call _putStrLine
178 0079 L73:
179 ; 58 xwopenTouchTask();
181 0079 ad5e call _xwopenTouchTask
183 ; 60 TSL_Action();
185 007b cd0000 call _TSL_Action
188 007e 20f9 jra L73
224 ; 64 void touchSensorEnable(void)
224 ; 65 {
225 switch .text
226 0080 _touchSensorEnable:
228 0080 88 push a
229 00000001 OFST: set 1
232 ; 68 for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
234 0081 0f01 clr (OFST+0,sp)
235 0083 L16:
236 ; 70 sSCKeyInfo[i].Setting.b.IMPLEMENTED = 1;
238 0083 7b01 ld a,(OFST+0,sp)
239 0085 97 ld xl,a
240 0086 a60f ld a,#15
241 0088 42 mul x,a
242 0089 e602 ld a,(_sSCKeyInfo+2,x)
243 008b aa01 or a,#1
244 008d e702 ld (_sSCKeyInfo+2,x),a
245 ; 71 sSCKeyInfo[i].Setting.b.ENABLED = 1;
247 008f 7b01 ld a,(OFST+0,sp)
248 0091 97 ld xl,a
249 0092 a60f ld a,#15
250 0094 42 mul x,a
251 0095 e602 ld a,(_sSCKeyInfo+2,x)
252 0097 aa02 or a,#2
253 0099 e702 ld (_sSCKeyInfo+2,x),a
254 ; 72 sSCKeyInfo[i].DxSGroup = 0x01; /* 0x00 = DxS disabled, other values = DxS enabled */
256 009b 7b01 ld a,(OFST+0,sp)
257 009d 97 ld xl,a
258 009e a60f ld a,#15
259 00a0 42 mul x,a
260 00a1 a601 ld a,#1
261 00a3 e704 ld (_sSCKeyInfo+4,x),a
262 ; 68 for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
264 00a5 0c01 inc (OFST+0,sp)
267 00a7 7b01 ld a,(OFST+0,sp)
268 00a9 a102 cp a,#2
269 00ab 25d6 jrult L16
270 ; 77 for (i = 0; i < NUMBER_OF_MULTI_CHANNEL_KEYS; i++)
272 00ad 0f01 clr (OFST+0,sp)
273 00af L76:
274 ; 79 sMCKeyInfo[i].Setting.b.IMPLEMENTED = 1;
276 00af 7b01 ld a,(OFST+0,sp)
277 00b1 97 ld xl,a
278 00b2 a630 ld a,#48
279 00b4 42 mul x,a
280 00b5 e602 ld a,(_sMCKeyInfo+2,x)
281 00b7 aa01 or a,#1
282 00b9 e702 ld (_sMCKeyInfo+2,x),a
283 ; 80 sMCKeyInfo[i].Setting.b.ENABLED = 1;
285 00bb 7b01 ld a,(OFST+0,sp)
286 00bd 97 ld xl,a
287 00be a630 ld a,#48
288 00c0 42 mul x,a
289 00c1 e602 ld a,(_sMCKeyInfo+2,x)
290 00c3 aa02 or a,#2
291 00c5 e702 ld (_sMCKeyInfo+2,x),a
292 ; 81 sMCKeyInfo[i].DxSGroup = 0x01; /* 0x00 = DxS disabled, other values = DxS enabled */
294 00c7 7b01 ld a,(OFST+0,sp)
295 00c9 97 ld xl,a
296 00ca a630 ld a,#48
297 00cc 42 mul x,a
298 00cd a601 ld a,#1
299 00cf e704 ld (_sMCKeyInfo+4,x),a
300 ; 77 for (i = 0; i < NUMBER_OF_MULTI_CHANNEL_KEYS; i++)
302 00d1 0c01 inc (OFST+0,sp)
305 00d3 0d01 tnz (OFST+0,sp)
306 00d5 27d8 jreq L76
307 ; 84 }
310 00d7 84 pop a
311 00d8 81 ret
348 ; 87 void xwopenTouchTask(void)
348 ; 88 {
349 switch .text
350 00d9 _xwopenTouchTask:
354 ; 89 if(key!=GPIO_ReadInputPin(GPIOD,GPIO_PIN_7))
356 00d9 4b80 push #128
357 00db ae500f ldw x,#20495
358 00de cd0000 call _GPIO_ReadInputPin
360 00e1 5b01 addw sp,#1
361 00e3 b101 cp a,_key
362 00e5 2732 jreq L501
363 ; 91 key=GPIO_ReadInputPin(GPIOD,GPIO_PIN_7);
365 00e7 4b80 push #128
366 00e9 ae500f ldw x,#20495
367 00ec cd0000 call _GPIO_ReadInputPin
369 00ef 5b01 addw sp,#1
370 00f1 b701 ld _key,a
371 ; 92 if(!key)
373 00f3 3d01 tnz _key
374 00f5 2615 jrne L701
375 ; 94 GPIO_WriteHigh(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3);
377 00f7 4b0d push #13
378 00f9 ae500f ldw x,#20495
379 00fc cd0000 call _GPIO_WriteHigh
381 00ff 84 pop a
382 ; 95 BEEP_Init(BEEP_FREQUENCY_2KHZ);
384 0100 a640 ld a,#64
385 0102 cd0000 call _BEEP_Init
387 ; 96 BEEP_Cmd(ENABLE);
389 0105 a601 ld a,#1
390 0107 cd0000 call _BEEP_Cmd
393 010a 200d jra L501
394 010c L701:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -