⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.ls

📁 STM8s
💻 LS
📖 第 1 页 / 共 2 页
字号:
   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 + -