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

📄 stm8+

📁 STM8例程演示一个LED闪烁
💻
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
2801                     ; 9 void init_system_clock(void)
2801                     ; 10 {
2803                     	switch	.text
2804  0000               _init_system_clock:
2808                     ; 11 	CLK_SWCR =0x06;	
2810  0000 350650c5      	mov	_CLK_SWCR,#6
2811                     ; 19 	CLK_SWR = 0XB4;//HSE作为主时钟源
2813  0004 35b450c4      	mov	_CLK_SWR,#180
2814                     ; 21 	CLK_ICKR=0x07;
2816  0008 350750c0      	mov	_CLK_ICKR,#7
2817                     ; 31 	CLK_ECKR=0x01;
2819  000c 350150c1      	mov	_CLK_ECKR,#1
2820                     ; 39 	CLK_CKDIVR=0x00;
2822  0010 725f50c6      	clr	_CLK_CKDIVR
2823                     ; 44 	CLK_PCKENR1=0XFF;
2825  0014 35ff50c7      	mov	_CLK_PCKENR1,#255
2826                     ; 55 	CLK_PCKENR1=0XFF;
2828  0018 35ff50c7      	mov	_CLK_PCKENR1,#255
2829                     ; 66 	CLK_CSSR=0x05;
2831  001c 350550c8      	mov	_CLK_CSSR,#5
2832                     ; 74 	CLK_CCOR=0x1E;
2834  0020 351e50c9      	mov	_CLK_CCOR,#30
2835                     ; 81 	ITC_SPR1 &= 0XCF;//优先级2级
2837  0024 c67f70        	ld	a,_ITC_SPR1
2838  0027 a4cf          	and	a,#207
2839  0029 c77f70        	ld	_ITC_SPR1,a
2840                     ; 82 }
2843  002c 81            	ret
2870                     ; 84 @far @interrupt void System_Clock_IRQ (void)
2870                     ; 85 {
2872                     	switch	.text
2873  002d               f_System_Clock_IRQ:
2877                     ; 86 	if((CLK_SWCR & 0x08) == 0x08)//如果切换时钟发生
2879  002d c650c5        	ld	a,_CLK_SWCR
2880  0030 a408          	and	a,#8
2881  0032 a108          	cp	a,#8
2882  0034 260c          	jrne	L5002
2883                     ; 88 		 CLK_SWCR &= 0x05;//清除SWIF标志位,并且禁止切换时钟
2885  0036 c650c5        	ld	a,_CLK_SWCR
2886  0039 a405          	and	a,#5
2887  003b c750c5        	ld	_CLK_SWCR,a
2888                     ; 91 		 ceshi_CLK=1;
2890  003e 35010000      	mov	_ceshi_CLK,#1
2891  0042               L5002:
2892                     ; 93 	if((CLK_CSSR & 0x08) == 0x08)//如果HSE失效,使用HSI 16M
2894  0042 c650c8        	ld	a,_CLK_CSSR
2895  0045 a408          	and	a,#8
2896  0047 a108          	cp	a,#8
2897  0049 260c          	jrne	L7002
2898                     ; 95 		CLK_CSSR =0x05;//清除HSE失效标志位
2900  004b 350550c8      	mov	_CLK_CSSR,#5
2901                     ; 96 		CLK_CKDIVR = 0X00;
2903  004f 725f50c6      	clr	_CLK_CKDIVR
2904                     ; 101 		ceshi_CLK=2;
2906  0053 35020000      	mov	_ceshi_CLK,#2
2907  0057               L7002:
2908                     ; 103 }
2911  0057 80            	iret
2932                     	xdef	f_System_Clock_IRQ
2933                     	switch	.bss
2934  0000               _ceshi_CLK:
2935  0000 00            	ds.b	1
2936                     	xdef	_ceshi_CLK
2937                     	xdef	_init_system_clock
2957                     	end

⌨️ 快捷键说明

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