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

📄 stm8s_exti.ls

📁 STM8-触摸例程
💻 LS
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   3                     ; Optimizer V4.2.8 - 03 Dec 2008
  33                     ; 63 void EXTI_DeInit(void)
  33                     ; 64 {
  35                     	switch	.text
  36  0000               _EXTI_DeInit:
  40                     ; 65   EXTI->CR1 = EXTI_CR1_RESET_VALUE;
  42  0000 725f50a0      	clr	20640
  43                     ; 66   EXTI->CR2 = EXTI_CR2_RESET_VALUE;
  45  0004 725f50a1      	clr	20641
  46                     ; 67 }
  49  0008 81            	ret	
 174                     ; 86 void EXTI_SetExtIntSensitivity(EXTI_Port_TypeDef Port, EXTI_Sensitivity_TypeDef SensitivityValue)
 174                     ; 87 {
 175                     	switch	.text
 176  0009               _EXTI_SetExtIntSensitivity:
 178  0009 89            	pushw	x
 179       00000000      OFST:	set	0
 182                     ; 90   assert_param(IS_EXTI_PORT_OK(Port));
 184                     ; 91   assert_param(IS_EXTI_SENSITIVITY_OK(SensitivityValue));
 186                     ; 94   switch (Port)
 188  000a 9e            	ld	a,xh
 190                     ; 116     default:
 190                     ; 117       break;
 191  000b 4d            	tnz	a
 192  000c 270e          	jreq	L12
 193  000e 4a            	dec	a
 194  000f 271a          	jreq	L32
 195  0011 4a            	dec	a
 196  0012 2725          	jreq	L52
 197  0014 4a            	dec	a
 198  0015 2731          	jreq	L72
 199  0017 4a            	dec	a
 200  0018 2745          	jreq	L13
 201  001a 2053          	jra	L311
 202  001c               L12:
 203                     ; 96     case EXTI_PORT_GPIOA:
 203                     ; 97       EXTI->CR1 &= (u8)(~EXTI_CR1_PAIS);
 205  001c c650a0        	ld	a,20640
 206  001f a4fc          	and	a,#252
 207  0021 c750a0        	ld	20640,a
 208                     ; 98       EXTI->CR1 |= (u8)(SensitivityValue);
 210  0024 c650a0        	ld	a,20640
 211  0027 1a02          	or	a,(OFST+2,sp)
 212                     ; 99       break;
 214  0029 202f          	jp	LC001
 215  002b               L32:
 216                     ; 100     case EXTI_PORT_GPIOB:
 216                     ; 101       EXTI->CR1 &= (u8)(~EXTI_CR1_PBIS);
 218  002b c650a0        	ld	a,20640
 219  002e a4f3          	and	a,#243
 220  0030 c750a0        	ld	20640,a
 221                     ; 102       EXTI->CR1 |= (u8)((u8)(SensitivityValue) << 2);
 223  0033 7b02          	ld	a,(OFST+2,sp)
 224  0035 48            	sll	a
 225  0036 48            	sll	a
 226                     ; 103       break;
 228  0037 201e          	jp	LC002
 229  0039               L52:
 230                     ; 104     case EXTI_PORT_GPIOC:
 230                     ; 105       EXTI->CR1 &= (u8)(~EXTI_CR1_PCIS);
 232  0039 c650a0        	ld	a,20640
 233  003c a4cf          	and	a,#207
 234  003e c750a0        	ld	20640,a
 235                     ; 106       EXTI->CR1 |= (u8)((u8)(SensitivityValue) << 4);
 237  0041 7b02          	ld	a,(OFST+2,sp)
 238  0043 97            	ld	xl,a
 239  0044 a610          	ld	a,#16
 240                     ; 107       break;
 242  0046 200d          	jp	LC003
 243  0048               L72:
 244                     ; 108     case EXTI_PORT_GPIOD:
 244                     ; 109       EXTI->CR1 &= (u8)(~EXTI_CR1_PDIS);
 246  0048 c650a0        	ld	a,20640
 247  004b a43f          	and	a,#63
 248  004d c750a0        	ld	20640,a
 249                     ; 110       EXTI->CR1 |= (u8)((u8)(SensitivityValue) << 6);
 251  0050 7b02          	ld	a,(OFST+2,sp)
 252  0052 97            	ld	xl,a
 253  0053 a640          	ld	a,#64
 254  0055               LC003:
 255  0055 42            	mul	x,a
 256  0056 9f            	ld	a,xl
 257  0057               LC002:
 258  0057 ca50a0        	or	a,20640
 259  005a               LC001:
 260  005a c750a0        	ld	20640,a
 261                     ; 111       break;
 263  005d 2010          	jra	L311
 264  005f               L13:
 265                     ; 112     case EXTI_PORT_GPIOE:
 265                     ; 113       EXTI->CR2 &= (u8)(~EXTI_CR2_PEIS);
 267  005f c650a1        	ld	a,20641
 268  0062 a4fc          	and	a,#252
 269  0064 c750a1        	ld	20641,a
 270                     ; 114       EXTI->CR2 |= (u8)(SensitivityValue);
 272  0067 c650a1        	ld	a,20641
 273  006a 1a02          	or	a,(OFST+2,sp)
 274  006c c750a1        	ld	20641,a
 275                     ; 115       break;
 277                     ; 116     default:
 277                     ; 117       break;
 279  006f               L311:
 280                     ; 119 }
 283  006f 85            	popw	x
 284  0070 81            	ret	
 342                     ; 134 void EXTI_SetTLISensitivity(EXTI_TLISensitivity_TypeDef SensitivityValue)
 342                     ; 135 {
 343                     	switch	.text
 344  0071               _EXTI_SetTLISensitivity:
 348                     ; 138   assert_param(IS_EXTI_TLISENSITIVITY_OK(SensitivityValue));
 350                     ; 141   EXTI->CR2 &= (u8)(~EXTI_CR2_TLIS);
 352  0071 721550a1      	bres	20641,#2
 353                     ; 142   EXTI->CR2 |= (u8)(SensitivityValue);
 355  0075 ca50a1        	or	a,20641
 356  0078 c750a1        	ld	20641,a
 357                     ; 144 }
 360  007b 81            	ret	
 406                     ; 161 EXTI_Sensitivity_TypeDef EXTI_GetExtIntSensitivity(EXTI_Port_TypeDef Port)
 406                     ; 162 {
 407                     	switch	.text
 408  007c               _EXTI_GetExtIntSensitivity:
 410  007c 88            	push	a
 411       00000001      OFST:	set	1
 414                     ; 164   u8 value = 0;
 416  007d 0f01          	clr	(OFST+0,sp)
 417                     ; 167   assert_param(IS_EXTI_PORT_OK(Port));
 419                     ; 169   switch (Port)
 422                     ; 186     default:
 422                     ; 187       break;
 423  007f 4d            	tnz	a
 424  0080 2710          	jreq	L341
 425  0082 4a            	dec	a
 426  0083 2712          	jreq	L541
 427  0085 4a            	dec	a
 428  0086 2718          	jreq	L741
 429  0088 4a            	dec	a
 430  0089 271b          	jreq	L151
 431  008b 4a            	dec	a
 432  008c 2722          	jreq	L351
 433  008e 7b01          	ld	a,(OFST+0,sp)
 434  0090 2023          	jra	LC004
 435  0092               L341:
 436                     ; 171     case EXTI_PORT_GPIOA:
 436                     ; 172       value = (u8)(EXTI->CR1 & EXTI_CR1_PAIS);
 438  0092 c650a0        	ld	a,20640
 439                     ; 173       break;
 441  0095 201c          	jp	LC005
 442  0097               L541:
 443                     ; 174     case EXTI_PORT_GPIOB:
 443                     ; 175       value = (u8)((EXTI->CR1 & EXTI_CR1_PBIS) >> 2);
 445  0097 c650a0        	ld	a,20640
 446  009a a40c          	and	a,#12
 447  009c 44            	srl	a
 448  009d 44            	srl	a
 449                     ; 176       break;
 451  009e 2015          	jp	LC004
 452  00a0               L741:
 453                     ; 177     case EXTI_PORT_GPIOC:
 453                     ; 178       value = (u8)((EXTI->CR1 & EXTI_CR1_PCIS) >> 4);
 455  00a0 c650a0        	ld	a,20640
 456  00a3 4e            	swap	a
 457                     ; 179       break;
 459  00a4 200d          	jp	LC005
 460  00a6               L151:
 461                     ; 180     case EXTI_PORT_GPIOD:
 461                     ; 181       value = (u8)((EXTI->CR1 & EXTI_CR1_PDIS) >> 6);
 463  00a6 c650a0        	ld	a,20640
 464  00a9 4e            	swap	a
 465  00aa a40c          	and	a,#12
 466  00ac 44            	srl	a
 467  00ad 44            	srl	a
 468                     ; 182       break;
 470  00ae 2003          	jp	LC005
 471  00b0               L351:
 472                     ; 183     case EXTI_PORT_GPIOE:
 472                     ; 184       value = (u8)(EXTI->CR2 & EXTI_CR2_PEIS);
 474  00b0 c650a1        	ld	a,20641
 475  00b3               LC005:
 476  00b3 a403          	and	a,#3
 477  00b5               LC004:
 478                     ; 185       break;
 480                     ; 186     default:
 480                     ; 187       break;
 482                     ; 190   return((EXTI_Sensitivity_TypeDef)value);
 486  00b5 5b01          	addw	sp,#1
 487  00b7 81            	ret	
 523                     ; 210 EXTI_TLISensitivity_TypeDef EXTI_GetTLISensitivity(void)
 523                     ; 211 {
 524                     	switch	.text
 525  00b8               _EXTI_GetTLISensitivity:
 527  00b8 88            	push	a
 528       00000001      OFST:	set	1
 531                     ; 216   value = (u8)(EXTI->CR2 & EXTI_CR2_TLIS);
 533  00b9 c650a1        	ld	a,20641
 534  00bc a404          	and	a,#4
 535                     ; 218   return((EXTI_TLISensitivity_TypeDef)value);
 539  00be 5b01          	addw	sp,#1
 540  00c0 81            	ret	
 553                     	xdef	_EXTI_GetTLISensitivity
 554                     	xdef	_EXTI_GetExtIntSensitivity
 555                     	xdef	_EXTI_SetTLISensitivity
 556                     	xdef	_EXTI_SetExtIntSensitivity
 557                     	xdef	_EXTI_DeInit
 576                     	end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -