📄 stm8s_adc2.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Generator V4.2.8 - 03 Dec 2008
32 ; 46 void ADC2_DeInit(void)
32 ; 47 {
34 switch .text
35 0000 _ADC2_DeInit:
39 ; 48 ADC2->CSR = ADC2_CSR_RESET_VALUE;
41 0000 725f5400 clr 21504
42 ; 49 ADC2->CR1 = ADC2_CR1_RESET_VALUE;
44 0004 725f5401 clr 21505
45 ; 50 ADC2->CR2 = ADC2_CR2_RESET_VALUE;
47 0008 725f5402 clr 21506
48 ; 51 ADC2->TDRH = ADC2_TDRH_RESET_VALUE;
50 000c 725f5406 clr 21510
51 ; 52 ADC2->TDRL = ADC2_TDRL_RESET_VALUE;
53 0010 725f5407 clr 21511
54 ; 53 }
57 0014 81 ret
583 ; 75 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_ExtTriggerState, ADC2_Align_TypeDef ADC2_Align, ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
583 ; 76 {
584 switch .text
585 0015 _ADC2_Init:
587 0015 89 pushw x
588 00000000 OFST: set 0
591 ; 79 assert_param(IS_ADC2_CONVERSIONMODE_OK(ADC2_ConversionMode));
593 ; 80 assert_param(IS_ADC2_CHANNEL_OK(ADC2_Channel));
595 ; 81 assert_param(IS_ADC2_PRESSEL_OK(ADC2_PrescalerSelection));
597 ; 82 assert_param(IS_ADC2_EXTTRIG_OK(ADC2_ExtTrigger));
599 ; 83 assert_param(IS_FUNCTIONALSTATE_OK(((ADC2_ExtTriggerState))));
601 ; 84 assert_param(IS_ADC2_ALIGN_OK(ADC2_Align));
603 ; 85 assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
605 ; 86 assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
607 ; 91 ADC2_ConversionConfig(ADC2_ConversionMode, ADC2_Channel, ADC2_Align);
609 0016 7b08 ld a,(OFST+8,sp)
610 0018 88 push a
611 0019 9f ld a,xl
612 001a 97 ld xl,a
613 001b 7b02 ld a,(OFST+2,sp)
614 001d 95 ld xh,a
615 001e cd00fa call _ADC2_ConversionConfig
617 0021 84 pop a
618 ; 93 ADC2_PrescalerConfig(ADC2_PrescalerSelection);
620 0022 7b05 ld a,(OFST+5,sp)
621 0024 ad33 call _ADC2_PrescalerConfig
623 ; 98 ADC2_ExternalTriggerConfig(ADC2_ExtTrigger, ADC2_ExtTriggerState);
625 0026 7b07 ld a,(OFST+7,sp)
626 0028 97 ld xl,a
627 0029 7b06 ld a,(OFST+6,sp)
628 002b 95 ld xh,a
629 002c cd0128 call _ADC2_ExternalTriggerConfig
631 ; 103 ADC2_SchmittTriggerConfig(ADC2_SchmittTriggerChannel, ADC2_SchmittTriggerState);
633 002f 7b0a ld a,(OFST+10,sp)
634 0031 97 ld xl,a
635 0032 7b09 ld a,(OFST+9,sp)
636 0034 95 ld xh,a
637 0035 ad35 call _ADC2_SchmittTriggerConfig
639 ; 106 ADC2->CR1 |= ADC2_CR1_ADON;
641 0037 72105401 bset 21505,#0
642 ; 108 }
645 003b 85 popw x
646 003c 81 ret
681 ; 116 void ADC2_Cmd(FunctionalState NewState)
681 ; 117 {
682 switch .text
683 003d _ADC2_Cmd:
687 ; 120 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
689 ; 122 if (NewState != DISABLE)
691 003d 4d tnz a
692 003e 2706 jreq L703
693 ; 124 ADC2->CR1 |= ADC2_CR1_ADON;
695 0040 72105401 bset 21505,#0
697 0044 2004 jra L113
698 0046 L703:
699 ; 128 ADC2->CR1 &= (u8)(~ADC2_CR1_ADON);
701 0046 72115401 bres 21505,#0
702 004a L113:
703 ; 131 }
706 004a 81 ret
741 ; 138 void ADC2_ITConfig(FunctionalState NewState)
741 ; 139 {
742 switch .text
743 004b _ADC2_ITConfig:
747 ; 142 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
749 ; 144 if (NewState != DISABLE)
751 004b 4d tnz a
752 004c 2706 jreq L133
753 ; 147 ADC2->CSR |= (u8)ADC2_CSR_EOCIE;
755 004e 721a5400 bset 21504,#5
757 0052 2004 jra L333
758 0054 L133:
759 ; 152 ADC2->CSR &= (u8)(~ADC2_CSR_EOCIE);
761 0054 721b5400 bres 21504,#5
762 0058 L333:
763 ; 155 }
766 0058 81 ret
802 ; 163 void ADC2_PrescalerConfig(ADC2_PresSel_TypeDef ADC2_Prescaler)
802 ; 164 {
803 switch .text
804 0059 _ADC2_PrescalerConfig:
806 0059 88 push a
807 00000000 OFST: set 0
810 ; 167 assert_param(IS_ADC2_PRESSEL_OK(ADC2_Prescaler));
812 ; 170 ADC2->CR1 &= (u8)(~ADC2_CR1_SPSEL);
814 005a c65401 ld a,21505
815 005d a48f and a,#143
816 005f c75401 ld 21505,a
817 ; 172 ADC2->CR1 |= (u8)(ADC2_Prescaler);
819 0062 c65401 ld a,21505
820 0065 1a01 or a,(OFST+1,sp)
821 0067 c75401 ld 21505,a
822 ; 174 }
825 006a 84 pop a
826 006b 81 ret
873 ; 185 void ADC2_SchmittTriggerConfig(ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState NewState)
873 ; 186 {
874 switch .text
875 006c _ADC2_SchmittTriggerConfig:
877 006c 89 pushw x
878 00000000 OFST: set 0
881 ; 189 assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
883 ; 190 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
885 ; 192 if (ADC2_SchmittTriggerChannel == ADC2_SCHMITTTRIG_ALL)
887 006d 9e ld a,xh
888 006e a11f cp a,#31
889 0070 2620 jrne L573
890 ; 194 if (NewState != DISABLE)
892 0072 9f ld a,xl
893 0073 4d tnz a
894 0074 270a jreq L773
895 ; 196 ADC2->TDRL &= (u8)0x0;
897 0076 725f5407 clr 21511
898 ; 197 ADC2->TDRH &= (u8)0x0;
900 007a 725f5406 clr 21510
902 007e 2078 jra L304
903 0080 L773:
904 ; 201 ADC2->TDRL |= (u8)0xFF;
906 0080 c65407 ld a,21511
907 0083 aaff or a,#255
908 0085 c75407 ld 21511,a
909 ; 202 ADC2->TDRH |= (u8)0xFF;
911 0088 c65406 ld a,21510
912 008b aaff or a,#255
913 008d c75406 ld 21510,a
914 0090 2066 jra L304
915 0092 L573:
916 ; 205 else if (ADC2_SchmittTriggerChannel < ADC2_SCHMITTTRIG_CHANNEL8)
918 0092 7b01 ld a,(OFST+1,sp)
919 0094 a108 cp a,#8
920 0096 242f jruge L504
921 ; 207 if (NewState != DISABLE)
923 0098 0d02 tnz (OFST+2,sp)
924 009a 2716 jreq L704
925 ; 209 ADC2->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel));
927 009c 7b01 ld a,(OFST+1,sp)
928 009e 5f clrw x
929 009f 97 ld xl,a
930 00a0 a601 ld a,#1
931 00a2 5d tnzw x
932 00a3 2704 jreq L02
933 00a5 L22:
934 00a5 48 sll a
935 00a6 5a decw x
936 00a7 26fc jrne L22
937 00a9 L02:
938 00a9 43 cpl a
939 00aa c45407 and a,21511
940 00ad c75407 ld 21511,a
942 00b0 2046 jra L304
943 00b2 L704:
944 ; 213 ADC2->TDRL |= (u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel);
946 00b2 7b01 ld a,(OFST+1,sp)
947 00b4 5f clrw x
948 00b5 97 ld xl,a
949 00b6 a601 ld a,#1
950 00b8 5d tnzw x
951 00b9 2704 jreq L42
952 00bb L62:
953 00bb 48 sll a
954 00bc 5a decw x
955 00bd 26fc jrne L62
956 00bf L42:
957 00bf ca5407 or a,21511
958 00c2 c75407 ld 21511,a
959 00c5 2031 jra L304
960 00c7 L504:
961 ; 218 if (NewState != DISABLE)
963 00c7 0d02 tnz (OFST+2,sp)
964 00c9 2718 jreq L514
965 ; 220 ADC2->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC2_SchmittTriggerChannel - (u8)8)));
967 00cb 7b01 ld a,(OFST+1,sp)
968 00cd a008 sub a,#8
969 00cf 5f clrw x
970 00d0 97 ld xl,a
971 00d1 a601 ld a,#1
972 00d3 5d tnzw x
973 00d4 2704 jreq L03
974 00d6 L23:
975 00d6 48 sll a
976 00d7 5a decw x
977 00d8 26fc jrne L23
978 00da L03:
979 00da 43 cpl a
980 00db c45406 and a,21510
981 00de c75406 ld 21510,a
983 00e1 2015 jra L304
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -