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

📄 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
  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 + -