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

📄 stm8+

📁 STM8例程演示一个LED闪烁
💻
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
2813                     ; 66 void adc_init(void)
2813                     ; 67 {
2815                     	switch	.text
2816  0000               _adc_init:
2820                     ; 68 	AIN9_DDR=0;
2822  0000 721d5016      	bres	_AIN9_DDR
2823                     ; 69 	AIN9_CR1=0;
2825  0004 721d5017      	bres	_AIN9_CR1
2826                     ; 70 	AIN9_CR2=0;//PE6
2828  0008 721d5018      	bres	_AIN9_CR2
2829                     ; 71 	ADC_CR1=0X00;//关闭ADC
2831  000c 725f5401      	clr	_ADC_CR1
2832                     ; 73 	ADC_CSR=0x29;
2834  0010 35295400      	mov	_ADC_CSR,#41
2835                     ; 78 	ADC_CR1=0x42;
2837  0014 35425401      	mov	_ADC_CR1,#66
2838                     ; 81 	ADC_CR2=0x18;
2840  0018 35185402      	mov	_ADC_CR2,#24
2841                     ; 85 	ADC_CR3=0x80;
2843  001c 35805403      	mov	_ADC_CR3,#128
2844                     ; 87 	ADC_TDRH=0x00;
2846  0020 725f5406      	clr	_ADC_TDRH
2847                     ; 88 	ADC_TDRL=0x00;
2849  0024 725f5407      	clr	_ADC_TDRL
2850                     ; 89 	ITC_SPR6 |=0X04;//ADC中断一级
2852  0028 72147f75      	bset	_ITC_SPR6,#2
2853                     ; 90 }
2856  002c 81            	ret
2909                     ; 98 @far @interrupt void ADC_IRQHandler (void)
2909                     ; 99 {
2911                     	switch	.text
2912  002d               f_ADC_IRQHandler:
2916                     ; 100 	adc_data0 = ADC_DB0RL;              // 读出ADC结果的低8位
2918  002d c653e1        	ld	a,_ADC_DB0RL
2919  0030 5f            	clrw	x
2920  0031 97            	ld	xl,a
2921  0032 bf00          	ldw	_adc_data0,x
2922                     ; 101 	adc_data0 |=ADC_DB0RH<<8;					//读出结果高八位
2924  0034 c653e0        	ld	a,_ADC_DB0RH
2925  0037 5f            	clrw	x
2926  0038 97            	ld	xl,a
2927  0039 4f            	clr	a
2928  003a 02            	rlwa	x,a
2929  003b 01            	rrwa	x,a
2930  003c ba01          	or	a,_adc_data0+1
2931  003e 01            	rrwa	x,a
2932  003f ba00          	or	a,_adc_data0
2933  0041 01            	rrwa	x,a
2934  0042 bf00          	ldw	_adc_data0,x
2935                     ; 102 	adc_data1 = ADC_DB1RL;              // 读出ADC结果的低8位
2937  0044 c653e3        	ld	a,_ADC_DB1RL
2938  0047 5f            	clrw	x
2939  0048 97            	ld	xl,a
2940  0049 bf00          	ldw	_adc_data1,x
2941                     ; 103 	adc_data1 |=ADC_DB1RH<<8;					//读出结果高八位
2943  004b c653e2        	ld	a,_ADC_DB1RH
2944  004e 5f            	clrw	x
2945  004f 97            	ld	xl,a
2946  0050 4f            	clr	a
2947  0051 02            	rlwa	x,a
2948  0052 01            	rrwa	x,a
2949  0053 ba01          	or	a,_adc_data1+1
2950  0055 01            	rrwa	x,a
2951  0056 ba00          	or	a,_adc_data1
2952  0058 01            	rrwa	x,a
2953  0059 bf00          	ldw	_adc_data1,x
2954                     ; 104 	adc_data2 = ADC_DB2RL;              // 读出ADC结果的低8位
2956  005b c653e5        	ld	a,_ADC_DB2RL
2957  005e 5f            	clrw	x
2958  005f 97            	ld	xl,a
2959  0060 bf00          	ldw	_adc_data2,x
2960                     ; 105 	adc_data2 |=ADC_DB2RH<<8;					//读出结果高八位
2962  0062 c653e4        	ld	a,_ADC_DB2RH
2963  0065 5f            	clrw	x
2964  0066 97            	ld	xl,a
2965  0067 4f            	clr	a
2966  0068 02            	rlwa	x,a
2967  0069 01            	rrwa	x,a
2968  006a ba01          	or	a,_adc_data2+1
2969  006c 01            	rrwa	x,a
2970  006d ba00          	or	a,_adc_data2
2971  006f 01            	rrwa	x,a
2972  0070 bf00          	ldw	_adc_data2,x
2973                     ; 106 	adc_data3 = ADC_DB3RL;              // 读出ADC结果的低8位
2975  0072 c653e7        	ld	a,_ADC_DB3RL
2976  0075 5f            	clrw	x
2977  0076 97            	ld	xl,a
2978  0077 bf00          	ldw	_adc_data3,x
2979                     ; 107 	adc_data3 |=ADC_DB3RH<<8;					//读出结果高八位
2981  0079 c653e6        	ld	a,_ADC_DB3RH
2982  007c 5f            	clrw	x
2983  007d 97            	ld	xl,a
2984  007e 4f            	clr	a
2985  007f 02            	rlwa	x,a
2986  0080 01            	rrwa	x,a
2987  0081 ba01          	or	a,_adc_data3+1
2988  0083 01            	rrwa	x,a
2989  0084 ba00          	or	a,_adc_data3
2990  0086 01            	rrwa	x,a
2991  0087 bf00          	ldw	_adc_data3,x
2992                     ; 108 	adc_data4 = ADC_DB4RL;              // 读出ADC结果的低8位
2994  0089 c653e9        	ld	a,_ADC_DB4RL
2995  008c 5f            	clrw	x
2996  008d 97            	ld	xl,a
2997  008e bf00          	ldw	_adc_data4,x
2998                     ; 109 	adc_data4 |=ADC_DB4RH<<8;					//读出结果高八位
3000  0090 c653e8        	ld	a,_ADC_DB4RH
3001  0093 5f            	clrw	x
3002  0094 97            	ld	xl,a
3003  0095 4f            	clr	a
3004  0096 02            	rlwa	x,a
3005  0097 01            	rrwa	x,a
3006  0098 ba01          	or	a,_adc_data4+1
3007  009a 01            	rrwa	x,a
3008  009b ba00          	or	a,_adc_data4
3009  009d 01            	rrwa	x,a
3010  009e bf00          	ldw	_adc_data4,x
3011                     ; 110 	adc_data5 = ADC_DB5RL;              // 读出ADC结果的低8位
3013  00a0 c653eb        	ld	a,_ADC_DB5RL
3014  00a3 5f            	clrw	x
3015  00a4 97            	ld	xl,a
3016  00a5 bf00          	ldw	_adc_data5,x
3017                     ; 111 	adc_data5 |=ADC_DB5RH<<8;					//读出结果高八位
3019  00a7 c653ea        	ld	a,_ADC_DB5RH
3020  00aa 5f            	clrw	x
3021  00ab 97            	ld	xl,a
3022  00ac 4f            	clr	a
3023  00ad 02            	rlwa	x,a
3024  00ae 01            	rrwa	x,a
3025  00af ba01          	or	a,_adc_data5+1
3026  00b1 01            	rrwa	x,a
3027  00b2 ba00          	or	a,_adc_data5
3028  00b4 01            	rrwa	x,a
3029  00b5 bf00          	ldw	_adc_data5,x
3030                     ; 112 	adc_data6 = ADC_DB6RL;              // 读出ADC结果的低8位
3032  00b7 c653ed        	ld	a,_ADC_DB6RL
3033  00ba 5f            	clrw	x
3034  00bb 97            	ld	xl,a
3035  00bc bf00          	ldw	_adc_data6,x
3036                     ; 113 	adc_data6 |=ADC_DB6RH<<8;					//读出结果高八位
3038  00be c653ec        	ld	a,_ADC_DB6RH
3039  00c1 5f            	clrw	x
3040  00c2 97            	ld	xl,a
3041  00c3 4f            	clr	a
3042  00c4 02            	rlwa	x,a
3043  00c5 01            	rrwa	x,a
3044  00c6 ba01          	or	a,_adc_data6+1
3045  00c8 01            	rrwa	x,a
3046  00c9 ba00          	or	a,_adc_data6
3047  00cb 01            	rrwa	x,a
3048  00cc bf00          	ldw	_adc_data6,x
3049                     ; 114 	adc_data7 = ADC_DB7RL;              // 读出ADC结果的低8位
3051  00ce c653ef        	ld	a,_ADC_DB7RL
3052  00d1 5f            	clrw	x
3053  00d2 97            	ld	xl,a
3054  00d3 bf00          	ldw	_adc_data7,x
3055                     ; 115 	adc_data7 |=ADC_DB7RH<<8;					//读出结果高八位
3057  00d5 c653ee        	ld	a,_ADC_DB7RH
3058  00d8 5f            	clrw	x
3059  00d9 97            	ld	xl,a
3060  00da 4f            	clr	a
3061  00db 02            	rlwa	x,a
3062  00dc 01            	rrwa	x,a
3063  00dd ba01          	or	a,_adc_data7+1
3064  00df 01            	rrwa	x,a
3065  00e0 ba00          	or	a,_adc_data7
3066  00e2 01            	rrwa	x,a
3067  00e3 bf00          	ldw	_adc_data7,x
3068                     ; 116 	adc_data8 = ADC_DB8RL;              // 读出ADC结果的低8位
3070  00e5 c653f1        	ld	a,_ADC_DB8RL
3071  00e8 5f            	clrw	x
3072  00e9 97            	ld	xl,a
3073  00ea bf00          	ldw	_adc_data8,x
3074                     ; 117 	adc_data8 |=ADC_DB8RH<<8;					//读出结果高八位
3076  00ec c653f0        	ld	a,_ADC_DB8RH
3077  00ef 5f            	clrw	x
3078  00f0 97            	ld	xl,a
3079  00f1 4f            	clr	a
3080  00f2 02            	rlwa	x,a
3081  00f3 01            	rrwa	x,a
3082  00f4 ba01          	or	a,_adc_data8+1
3083  00f6 01            	rrwa	x,a
3084  00f7 ba00          	or	a,_adc_data8
3085  00f9 01            	rrwa	x,a
3086  00fa bf00          	ldw	_adc_data8,x
3087                     ; 118 	adc_data9 = ADC_DB9RL;              // 读出ADC结果的低8位
3089  00fc c653f3        	ld	a,_ADC_DB9RL
3090  00ff 5f            	clrw	x
3091  0100 97            	ld	xl,a
3092  0101 bf00          	ldw	_adc_data9,x
3093                     ; 119 	adc_data9 |=ADC_DB9RH<<8;					//读出结果高八位
3095  0103 c653f2        	ld	a,_ADC_DB9RH
3096  0106 5f            	clrw	x
3097  0107 97            	ld	xl,a
3098  0108 4f            	clr	a
3099  0109 02            	rlwa	x,a
3100  010a 01            	rrwa	x,a
3101  010b ba01          	or	a,_adc_data9+1
3102  010d 01            	rrwa	x,a
3103  010e ba00          	or	a,_adc_data9
3104  0110 01            	rrwa	x,a
3105  0111 bf00          	ldw	_adc_data9,x
3106                     ; 120 }
3109  0113 80            	iret
3153                     	xdef	f_ADC_IRQHandler
3154                     	xref.b	_adc_data9
3155                     	xref.b	_adc_data8
3156                     	xref.b	_adc_data7
3157                     	xref.b	_adc_data6
3158                     	xref.b	_adc_data5
3159                     	xref.b	_adc_data4
3160                     	xref.b	_adc_data3
3161                     	xref.b	_adc_data2
3162                     	xref.b	_adc_data1
3163                     	xref.b	_adc_data0
3164                     	xdef	_adc_init
3183                     	end

⌨️ 快捷键说明

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