📄 stm8s_adc2.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.8.32.1 - 30 Mar 2010
3 ; Generator V4.3.4 - 23 Mar 2010
43 ; 65 void ADC2_DeInit(void)
43 ; 66 {
45 switch .text
46 0000 _ADC2_DeInit:
50 ; 67 ADC2->CSR = ADC2_CSR_RESET_VALUE;
52 0000 725f5400 clr 21504
53 ; 68 ADC2->CR1 = ADC2_CR1_RESET_VALUE;
55 0004 725f5401 clr 21505
56 ; 69 ADC2->CR2 = ADC2_CR2_RESET_VALUE;
58 0008 725f5402 clr 21506
59 ; 70 ADC2->TDRH = ADC2_TDRH_RESET_VALUE;
61 000c 725f5406 clr 21510
62 ; 71 ADC2->TDRL = ADC2_TDRL_RESET_VALUE;
64 0010 725f5407 clr 21511
65 ; 72 }
68 0014 81 ret
593 ; 107 void ADC2_Init(ADC2_ConvMode_TypeDef ADC2_ConversionMode, ADC2_Channel_TypeDef ADC2_Channel, ADC2_PresSel_TypeDef ADC2_PrescalerSelection, ADC2_ExtTrig_TypeDef ADC2_ExtTrigger, FunctionalState ADC2_ExtTrigState, ADC2_Align_TypeDef ADC2_Align, ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
593 ; 108 {
594 switch .text
595 0015 _ADC2_Init:
597 0015 89 pushw x
598 00000000 OFST: set 0
601 ; 111 assert_param(IS_ADC2_CONVERSIONMODE_OK(ADC2_ConversionMode));
603 ; 112 assert_param(IS_ADC2_CHANNEL_OK(ADC2_Channel));
605 ; 113 assert_param(IS_ADC2_PRESSEL_OK(ADC2_PrescalerSelection));
607 ; 114 assert_param(IS_ADC2_EXTTRIG_OK(ADC2_ExtTrigger));
609 ; 115 assert_param(IS_FUNCTIONALSTATE_OK(((ADC2_ExtTrigState))));
611 ; 116 assert_param(IS_ADC2_ALIGN_OK(ADC2_Align));
613 ; 117 assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
615 ; 118 assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
617 ; 123 ADC2_ConversionConfig(ADC2_ConversionMode, ADC2_Channel, ADC2_Align);
619 0016 7b08 ld a,(OFST+8,sp)
620 0018 88 push a
621 0019 9f ld a,xl
622 001a 97 ld xl,a
623 001b 7b02 ld a,(OFST+2,sp)
624 001d 95 ld xh,a
625 001e cd00fa call _ADC2_ConversionConfig
627 0021 84 pop a
628 ; 125 ADC2_PrescalerConfig(ADC2_PrescalerSelection);
630 0022 7b05 ld a,(OFST+5,sp)
631 0024 ad33 call _ADC2_PrescalerConfig
633 ; 130 ADC2_ExternalTriggerConfig(ADC2_ExtTrigger, ADC2_ExtTrigState);
635 0026 7b07 ld a,(OFST+7,sp)
636 0028 97 ld xl,a
637 0029 7b06 ld a,(OFST+6,sp)
638 002b 95 ld xh,a
639 002c cd0128 call _ADC2_ExternalTriggerConfig
641 ; 135 ADC2_SchmittTriggerConfig(ADC2_SchmittTriggerChannel, ADC2_SchmittTriggerState);
643 002f 7b0a ld a,(OFST+10,sp)
644 0031 97 ld xl,a
645 0032 7b09 ld a,(OFST+9,sp)
646 0034 95 ld xh,a
647 0035 ad35 call _ADC2_SchmittTriggerConfig
649 ; 138 ADC2->CR1 |= ADC2_CR1_ADON;
651 0037 72105401 bset 21505,#0
652 ; 140 }
655 003b 85 popw x
656 003c 81 ret
691 ; 157 void ADC2_Cmd(FunctionalState NewState)
691 ; 158 {
692 switch .text
693 003d _ADC2_Cmd:
697 ; 161 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
699 ; 163 if (NewState != DISABLE)
701 003d 4d tnz a
702 003e 2706 jreq L703
703 ; 165 ADC2->CR1 |= ADC2_CR1_ADON;
705 0040 72105401 bset 21505,#0
707 0044 2004 jra L113
708 0046 L703:
709 ; 169 ADC2->CR1 &= (u8)(~ADC2_CR1_ADON);
711 0046 72115401 bres 21505,#0
712 004a L113:
713 ; 172 }
716 004a 81 ret
751 ; 192 void ADC2_ITConfig(FunctionalState ADC2_ITEnable)
751 ; 193 {
752 switch .text
753 004b _ADC2_ITConfig:
757 ; 196 assert_param(IS_FUNCTIONALSTATE_OK(ADC2_ITEnable));
759 ; 198 if (ADC2_ITEnable != DISABLE)
761 004b 4d tnz a
762 004c 2706 jreq L133
763 ; 201 ADC2->CSR |= (u8)ADC2_CSR_EOCIE;
765 004e 721a5400 bset 21504,#5
767 0052 2004 jra L333
768 0054 L133:
769 ; 206 ADC2->CSR &= (u8)(~ADC2_CSR_EOCIE);
771 0054 721b5400 bres 21504,#5
772 0058 L333:
773 ; 209 }
776 0058 81 ret
812 ; 226 void ADC2_PrescalerConfig(ADC2_PresSel_TypeDef ADC2_Prescaler)
812 ; 227 {
813 switch .text
814 0059 _ADC2_PrescalerConfig:
816 0059 88 push a
817 00000000 OFST: set 0
820 ; 230 assert_param(IS_ADC2_PRESSEL_OK(ADC2_Prescaler));
822 ; 233 ADC2->CR1 &= (u8)(~ADC2_CR1_SPSEL);
824 005a c65401 ld a,21505
825 005d a48f and a,#143
826 005f c75401 ld 21505,a
827 ; 235 ADC2->CR1 |= (u8)(ADC2_Prescaler);
829 0062 c65401 ld a,21505
830 0065 1a01 or a,(OFST+1,sp)
831 0067 c75401 ld 21505,a
832 ; 237 }
835 006a 84 pop a
836 006b 81 ret
884 ; 257 void ADC2_SchmittTriggerConfig(ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
884 ; 258 {
885 switch .text
886 006c _ADC2_SchmittTriggerConfig:
888 006c 89 pushw x
889 00000000 OFST: set 0
892 ; 261 assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
894 ; 262 assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
896 ; 264 if (ADC2_SchmittTriggerChannel == ADC2_SCHMITTTRIG_ALL)
898 006d 9e ld a,xh
899 006e a11f cp a,#31
900 0070 2620 jrne L573
901 ; 266 if (ADC2_SchmittTriggerState != DISABLE)
903 0072 9f ld a,xl
904 0073 4d tnz a
905 0074 270a jreq L773
906 ; 268 ADC2->TDRL &= (u8)0x0;
908 0076 725f5407 clr 21511
909 ; 269 ADC2->TDRH &= (u8)0x0;
911 007a 725f5406 clr 21510
913 007e 2078 jra L304
914 0080 L773:
915 ; 273 ADC2->TDRL |= (u8)0xFF;
917 0080 c65407 ld a,21511
918 0083 aaff or a,#255
919 0085 c75407 ld 21511,a
920 ; 274 ADC2->TDRH |= (u8)0xFF;
922 0088 c65406 ld a,21510
923 008b aaff or a,#255
924 008d c75406 ld 21510,a
925 0090 2066 jra L304
926 0092 L573:
927 ; 277 else if (ADC2_SchmittTriggerChannel < ADC2_SCHMITTTRIG_CHANNEL8)
929 0092 7b01 ld a,(OFST+1,sp)
930 0094 a108 cp a,#8
931 0096 242f jruge L504
932 ; 279 if (ADC2_SchmittTriggerState != DISABLE)
934 0098 0d02 tnz (OFST+2,sp)
935 009a 2716 jreq L704
936 ; 281 ADC2->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel));
938 009c 7b01 ld a,(OFST+1,sp)
939 009e 5f clrw x
940 009f 97 ld xl,a
941 00a0 a601 ld a,#1
942 00a2 5d tnzw x
943 00a3 2704 jreq L02
944 00a5 L22:
945 00a5 48 sll a
946 00a6 5a decw x
947 00a7 26fc jrne L22
948 00a9 L02:
949 00a9 43 cpl a
950 00aa c45407 and a,21511
951 00ad c75407 ld 21511,a
953 00b0 2046 jra L304
954 00b2 L704:
955 ; 285 ADC2->TDRL |= (u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel);
957 00b2 7b01 ld a,(OFST+1,sp)
958 00b4 5f clrw x
959 00b5 97 ld xl,a
960 00b6 a601 ld a,#1
961 00b8 5d tnzw x
962 00b9 2704 jreq L42
963 00bb L62:
964 00bb 48 sll a
965 00bc 5a decw x
966 00bd 26fc jrne L62
967 00bf L42:
968 00bf ca5407 or a,21511
969 00c2 c75407 ld 21511,a
970 00c5 2031 jra L304
971 00c7 L504:
972 ; 290 if (ADC2_SchmittTriggerState != DISABLE)
974 00c7 0d02 tnz (OFST+2,sp)
975 00c9 2718 jreq L514
976 ; 292 ADC2->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC2_SchmittTriggerChannel - (u8)8)));
978 00cb 7b01 ld a,(OFST+1,sp)
979 00cd a008 sub a,#8
980 00cf 5f clrw x
981 00d0 97 ld xl,a
982 00d1 a601 ld a,#1
983 00d3 5d tnzw x
984 00d4 2704 jreq L03
985 00d6 L23:
986 00d6 48 sll a
987 00d7 5a decw x
988 00d8 26fc jrne L23
989 00da L03:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -