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

📄 main.ls

📁 STM8L的tim4定时器使用
💻 LS
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Parser V4.9.10 - 10 Feb 2011
   3                     ; Generator (Limited) V4.3.6 - 15 Feb 2011
  44                     ; 13 void gpio_config(void)
  44                     ; 14 {
  46                     	switch	.text
  47  0000               _gpio_config:
  51                     ; 15 	GPIO_Init(LED1_PORT,LED1_PIN,GPIO_Mode_Out_PP_Low_Fast);
  53  0000 4be0          	push	#224
  54  0002 4b80          	push	#128
  55  0004 ae5014        	ldw	x,#20500
  56  0007 cd0000        	call	_GPIO_Init
  58  000a 85            	popw	x
  59                     ; 16 }
  62  000b 81            	ret
  87                     ; 18 void clk_config(void)
  87                     ; 19 {
  88                     	switch	.text
  89  000c               _clk_config:
  93                     ; 20 	CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
  95  000c 4f            	clr	a
  96  000d cd0000        	call	_CLK_SYSCLKDivConfig
  98                     ; 21 	CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, ENABLE);
 100  0010 ae0201        	ldw	x,#513
 101  0013 cd0000        	call	_CLK_PeripheralClockConfig
 103                     ; 22 }
 106  0016 81            	ret
 134                     ; 24 void TIM4_Init(void)
 134                     ; 25 {
 135                     	switch	.text
 136  0017               _TIM4_Init:
 140                     ; 26 	TIM4_TimeBaseInit(TIM4_Prescaler_128, 124);
 142  0017 ae077c        	ldw	x,#1916
 143  001a cd0000        	call	_TIM4_TimeBaseInit
 145                     ; 28    TIM4_ClearFlag(TIM4_FLAG_Update);
 147  001d a601          	ld	a,#1
 148  001f cd0000        	call	_TIM4_ClearFlag
 150                     ; 30    TIM4_ITConfig(TIM4_IT_Update, ENABLE);
 152  0022 ae0101        	ldw	x,#257
 153  0025 cd0000        	call	_TIM4_ITConfig
 155                     ; 32    enableInterrupts();
 158  0028 9a            rim
 160                     ; 35    TIM4_Cmd(ENABLE);
 163  0029 a601          	ld	a,#1
 164  002b cd0000        	call	_TIM4_Cmd
 166                     ; 36 }
 169  002e 81            	ret
 197                     ; 37 void main(void)
 197                     ; 38 {
 198                     	switch	.text
 199  002f               _main:
 203                     ; 39   clk_config();
 205  002f addb          	call	_clk_config
 207                     ; 40   gpio_config();
 209  0031 adcd          	call	_gpio_config
 211                     ; 41 	TIM4_Init(); 
 213  0033 ade2          	call	_TIM4_Init
 215  0035               L15:
 216                     ; 46 	  delay_ms(1000);
 218  0035 ae03e8        	ldw	x,#1000
 219  0038 89            	pushw	x
 220  0039 ae0000        	ldw	x,#0
 221  003c 89            	pushw	x
 222  003d ad0d          	call	_delay_ms
 224  003f 5b04          	addw	sp,#4
 225                     ; 47     GPIO_ToggleBits(LED1_PORT,LED1_PIN);
 227  0041 4b80          	push	#128
 228  0043 ae5014        	ldw	x,#20500
 229  0046 cd0000        	call	_GPIO_ToggleBits
 231  0049 84            	pop	a
 233  004a 20e9          	jra	L15
 268                     ; 56 void delay_ms(__IO uint32_t nTime)
 268                     ; 57 {
 269                     	switch	.text
 270  004c               _delay_ms:
 272       00000000      OFST:	set	0
 275                     ; 58    TimingDelay = nTime;
 277  004c 1e05          	ldw	x,(OFST+5,sp)
 278  004e bf02          	ldw	_TimingDelay+2,x
 279  0050 1e03          	ldw	x,(OFST+3,sp)
 280  0052 bf00          	ldw	_TimingDelay,x
 282  0054               L77:
 283                     ; 60    while (TimingDelay != 0);
 285  0054 ae0000        	ldw	x,#_TimingDelay
 286  0057 cd0000        	call	c_lzmp
 288  005a 26f8          	jrne	L77
 289                     ; 61 }
 292  005c 81            	ret
 317                     ; 67 void TimingDelay_Decrement(void)
 317                     ; 68 {
 318                     	switch	.text
 319  005d               _TimingDelay_Decrement:
 323                     ; 69    if (TimingDelay != 0x00)
 325  005d ae0000        	ldw	x,#_TimingDelay
 326  0060 cd0000        	call	c_lzmp
 328  0063 2708          	jreq	L311
 329                     ; 71      TimingDelay--;
 331  0065 ae0000        	ldw	x,#_TimingDelay
 332  0068 a601          	ld	a,#1
 333  006a cd0000        	call	c_lgsbc
 335  006d               L311:
 336                     ; 73 }
 339  006d 81            	ret
 363                     	xdef	_main
 364                     	xdef	_TIM4_Init
 365                     	xdef	_clk_config
 366                     	xdef	_gpio_config
 367                     	xdef	_TimingDelay_Decrement
 368                     	xdef	_delay_ms
 369                     	switch	.ubsct
 370  0000               _TimingDelay:
 371  0000 00000000      	ds.b	4
 372                     	xdef	_TimingDelay
 373                     	xref	_TIM4_ClearFlag
 374                     	xref	_TIM4_ITConfig
 375                     	xref	_TIM4_Cmd
 376                     	xref	_TIM4_TimeBaseInit
 377                     	xref	_GPIO_ToggleBits
 378                     	xref	_GPIO_Init
 379                     	xref	_CLK_PeripheralClockConfig
 380                     	xref	_CLK_SYSCLKDivConfig
 400                     	xref	c_lgsbc
 401                     	xref	c_lzmp
 402                     	end

⌨️ 快捷键说明

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