📄 stm8s_adc1.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 ADC1_DeInit(void)
43 ; 66 {
45 switch .text
46 0000 _ADC1_DeInit:
50 ; 67 ADC1->CSR = ADC1_CSR_RESET_VALUE;
52 0000 725f5400 clr 21504
53 ; 68 ADC1->CR1 = ADC1_CR1_RESET_VALUE;
55 0004 725f5401 clr 21505
56 ; 69 ADC1->CR2 = ADC1_CR2_RESET_VALUE;
58 0008 725f5402 clr 21506
59 ; 70 ADC1->CR3 = ADC1_CR3_RESET_VALUE;
61 000c 725f5403 clr 21507
62 ; 71 ADC1->TDRH = ADC1_TDRH_RESET_VALUE;
64 0010 725f5406 clr 21510
65 ; 72 ADC1->TDRL = ADC1_TDRL_RESET_VALUE;
67 0014 725f5407 clr 21511
68 ; 73 ADC1->HTRH = ADC1_HTRH_RESET_VALUE;
70 0018 35035408 mov 21512,#3
71 ; 74 ADC1->HTRL = ADC1_HTRL_RESET_VALUE;
73 001c 35ff5409 mov 21513,#255
74 ; 75 ADC1->LTRH = ADC1_LTRH_RESET_VALUE;
76 0020 725f540a clr 21514
77 ; 76 ADC1->LTRL = ADC1_LTRL_RESET_VALUE;
79 0024 725f540b clr 21515
80 ; 77 ADC1->AWCRH = ADC1_AWCRH_RESET_VALUE;
82 0028 725f540e clr 21518
83 ; 78 ADC1->AWCRL = ADC1_AWCRL_RESET_VALUE;
85 002c 725f540f clr 21519
86 ; 79 }
89 0030 81 ret
614 ; 115 void ADC1_Init(ADC1_ConvMode_TypeDef ADC1_ConversionMode, ADC1_Channel_TypeDef ADC1_Channel, ADC1_PresSel_TypeDef ADC1_PrescalerSelection, ADC1_ExtTrig_TypeDef ADC1_ExtTrigger, FunctionalState ADC1_ExtTrigState, ADC1_Align_TypeDef ADC1_Align, ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState ADC1_SchmittTriggerState)
614 ; 116 {
615 switch .text
616 0031 _ADC1_Init:
618 0031 89 pushw x
619 00000000 OFST: set 0
622 ; 119 assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
624 ; 120 assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
626 ; 121 assert_param(IS_ADC1_PRESSEL_OK(ADC1_PrescalerSelection));
628 ; 122 assert_param(IS_ADC1_EXTTRIG_OK(ADC1_ExtTrigger));
630 ; 123 assert_param(IS_FUNCTIONALSTATE_OK(((ADC1_ExtTrigState))));
632 ; 124 assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
634 ; 125 assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
636 ; 126 assert_param(IS_FUNCTIONALSTATE_OK(ADC1_SchmittTriggerState));
638 ; 131 ADC1_ConversionConfig(ADC1_ConversionMode, ADC1_Channel, ADC1_Align);
640 0032 7b08 ld a,(OFST+8,sp)
641 0034 88 push a
642 0035 9f ld a,xl
643 0036 97 ld xl,a
644 0037 7b02 ld a,(OFST+2,sp)
645 0039 95 ld xh,a
646 003a cd013d call _ADC1_ConversionConfig
648 003d 84 pop a
649 ; 133 ADC1_PrescalerConfig(ADC1_PrescalerSelection);
651 003e 7b05 ld a,(OFST+5,sp)
652 0040 ad5a call _ADC1_PrescalerConfig
654 ; 138 ADC1_ExternalTriggerConfig(ADC1_ExtTrigger, ADC1_ExtTrigState);
656 0042 7b07 ld a,(OFST+7,sp)
657 0044 97 ld xl,a
658 0045 7b06 ld a,(OFST+6,sp)
659 0047 95 ld xh,a
660 0048 cd016b call _ADC1_ExternalTriggerConfig
662 ; 143 ADC1_SchmittTriggerConfig(ADC1_SchmittTriggerChannel, ADC1_SchmittTriggerState);
664 004b 7b0a ld a,(OFST+10,sp)
665 004d 97 ld xl,a
666 004e 7b09 ld a,(OFST+9,sp)
667 0050 95 ld xh,a
668 0051 ad5c call _ADC1_SchmittTriggerConfig
670 ; 146 ADC1->CR1 |= ADC1_CR1_ADON;
672 0053 72105401 bset 21505,#0
673 ; 148 }
676 0057 85 popw x
677 0058 81 ret
712 ; 165 void ADC1_Cmd(FunctionalState NewState)
712 ; 166 {
713 switch .text
714 0059 _ADC1_Cmd:
718 ; 169 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
720 ; 171 if (NewState != DISABLE)
722 0059 4d tnz a
723 005a 2706 jreq L703
724 ; 173 ADC1->CR1 |= ADC1_CR1_ADON;
726 005c 72105401 bset 21505,#0
728 0060 2004 jra L113
729 0062 L703:
730 ; 177 ADC1->CR1 &= (u8)(~ADC1_CR1_ADON);
732 0062 72115401 bres 21505,#0
733 0066 L113:
734 ; 180 }
737 0066 81 ret
772 ; 196 void ADC1_ScanModeCmd(FunctionalState NewState)
772 ; 197 {
773 switch .text
774 0067 _ADC1_ScanModeCmd:
778 ; 200 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
780 ; 202 if (NewState != DISABLE)
782 0067 4d tnz a
783 0068 2706 jreq L133
784 ; 204 ADC1->CR2 |= ADC1_CR2_SCAN;
786 006a 72125402 bset 21506,#1
788 006e 2004 jra L333
789 0070 L133:
790 ; 208 ADC1->CR2 &= (u8)(~ADC1_CR2_SCAN);
792 0070 72135402 bres 21506,#1
793 0074 L333:
794 ; 211 }
797 0074 81 ret
832 ; 227 void ADC1_DataBufferCmd(FunctionalState NewState)
832 ; 228 {
833 switch .text
834 0075 _ADC1_DataBufferCmd:
838 ; 231 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
840 ; 233 if (NewState != DISABLE)
842 0075 4d tnz a
843 0076 2706 jreq L353
844 ; 235 ADC1->CR3 |= ADC1_CR3_DBUF;
846 0078 721e5403 bset 21507,#7
848 007c 2004 jra L553
849 007e L353:
850 ; 239 ADC1->CR3 &= (u8)(~ADC1_CR3_DBUF);
852 007e 721f5403 bres 21507,#7
853 0082 L553:
854 ; 242 }
857 0082 81 ret
1006 ; 262 void ADC1_ITConfig(ADC1_IT_TypeDef ADC1_IT, FunctionalState ADC1_ITEnable)
1006 ; 263 {
1007 switch .text
1008 0083 _ADC1_ITConfig:
1010 0083 89 pushw x
1011 00000000 OFST: set 0
1014 ; 266 assert_param(IS_ADC1_IT_OK(ADC1_IT));
1016 ; 267 assert_param(IS_FUNCTIONALSTATE_OK(ADC1_ITEnable));
1018 ; 269 if (ADC1_ITEnable != DISABLE)
1020 0084 0d05 tnz (OFST+5,sp)
1021 0086 2709 jreq L144
1022 ; 272 ADC1->CSR |= (u8)ADC1_IT;
1024 0088 9f ld a,xl
1025 0089 ca5400 or a,21504
1026 008c c75400 ld 21504,a
1028 008f 2009 jra L344
1029 0091 L144:
1030 ; 277 ADC1->CSR &= (u8)(~ADC1_IT);
1032 0091 7b02 ld a,(OFST+2,sp)
1033 0093 43 cpl a
1034 0094 c45400 and a,21504
1035 0097 c75400 ld 21504,a
1036 009a L344:
1037 ; 280 }
1040 009a 85 popw x
1041 009b 81 ret
1077 ; 297 void ADC1_PrescalerConfig(ADC1_PresSel_TypeDef ADC1_Prescaler)
1077 ; 298 {
1078 switch .text
1079 009c _ADC1_PrescalerConfig:
1081 009c 88 push a
1082 00000000 OFST: set 0
1085 ; 301 assert_param(IS_ADC1_PRESSEL_OK(ADC1_Prescaler));
1087 ; 304 ADC1->CR1 &= (u8)(~ADC1_CR1_SPSEL);
1089 009d c65401 ld a,21505
1090 00a0 a48f and a,#143
1091 00a2 c75401 ld 21505,a
1092 ; 306 ADC1->CR1 |= (u8)(ADC1_Prescaler);
1094 00a5 c65401 ld a,21505
1095 00a8 1a01 or a,(OFST+1,sp)
1096 00aa c75401 ld 21505,a
1097 ; 308 }
1100 00ad 84 pop a
1101 00ae 81 ret
1149 ; 328 void ADC1_SchmittTriggerConfig(ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState ADC1_SchmittTriggerState)
1149 ; 329 {
1150 switch .text
1151 00af _ADC1_SchmittTriggerConfig:
1153 00af 89 pushw x
1154 00000000 OFST: set 0
1157 ; 332 assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
1159 ; 333 assert_param(IS_FUNCTIONALSTATE_OK(ADC1_SchmittTriggerState));
1161 ; 335 if (ADC1_SchmittTriggerChannel == ADC1_SCHMITTTRIG_ALL)
1163 00b0 9e ld a,xh
1164 00b1 a11f cp a,#31
1165 00b3 2620 jrne L505
1166 ; 337 if (ADC1_SchmittTriggerState != DISABLE)
1168 00b5 9f ld a,xl
1169 00b6 4d tnz a
1170 00b7 270a jreq L705
1171 ; 339 ADC1->TDRL &= (u8)0x0;
1173 00b9 725f5407 clr 21511
1174 ; 340 ADC1->TDRH &= (u8)0x0;
1176 00bd 725f5406 clr 21510
1178 00c1 2078 jra L315
1179 00c3 L705:
1180 ; 344 ADC1->TDRL |= (u8)0xFF;
1182 00c3 c65407 ld a,21511
1183 00c6 aaff or a,#255
1184 00c8 c75407 ld 21511,a
1185 ; 345 ADC1->TDRH |= (u8)0xFF;
1187 00cb c65406 ld a,21510
1188 00ce aaff or a,#255
1189 00d0 c75406 ld 21510,a
1190 00d3 2066 jra L315
1191 00d5 L505:
1192 ; 348 else if (ADC1_SchmittTriggerChannel < ADC1_SCHMITTTRIG_CHANNEL8)
1194 00d5 7b01 ld a,(OFST+1,sp)
1195 00d7 a108 cp a,#8
1196 00d9 242f jruge L515
1197 ; 350 if (ADC1_SchmittTriggerState != DISABLE)
1199 00db 0d02 tnz (OFST+2,sp)
1200 00dd 2716 jreq L715
1201 ; 352 ADC1->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel));
1203 00df 7b01 ld a,(OFST+1,sp)
1204 00e1 5f clrw x
1205 00e2 97 ld xl,a
1206 00e3 a601 ld a,#1
1207 00e5 5d tnzw x
1208 00e6 2704 jreq L42
1209 00e8 L62:
1210 00e8 48 sll a
1211 00e9 5a decw x
1212 00ea 26fc jrne L62
1213 00ec L42:
1214 00ec 43 cpl a
1215 00ed c45407 and a,21511
1216 00f0 c75407 ld 21511,a
1218 00f3 2046 jra L315
1219 00f5 L715:
1220 ; 356 ADC1->TDRL |= (u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel);
1222 00f5 7b01 ld a,(OFST+1,sp)
1223 00f7 5f clrw x
1224 00f8 97 ld xl,a
1225 00f9 a601 ld a,#1
1226 00fb 5d tnzw x
1227 00fc 2704 jreq L03
1228 00fe L23:
1229 00fe 48 sll a
1230 00ff 5a decw x
1231 0100 26fc jrne L23
1232 0102 L03:
1233 0102 ca5407 or a,21511
1234 0105 c75407 ld 21511,a
1235 0108 2031 jra L315
1236 010a L515:
1237 ; 361 if (ADC1_SchmittTriggerState != DISABLE)
1239 010a 0d02 tnz (OFST+2,sp)
1240 010c 2718 jreq L525
1241 ; 363 ADC1->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8)));
1243 010e 7b01 ld a,(OFST+1,sp)
1244 0110 a008 sub a,#8
1245 0112 5f clrw x
1246 0113 97 ld xl,a
1247 0114 a601 ld a,#1
1248 0116 5d tnzw x
1249 0117 2704 jreq L43
1250 0119 L63:
1251 0119 48 sll a
1252 011a 5a decw x
1253 011b 26fc jrne L63
1254 011d L43:
1255 011d 43 cpl a
1256 011e c45406 and a,21510
1257 0121 c75406 ld 21510,a
1259 0124 2015 jra L315
1260 0126 L525:
1261 ; 367 ADC1->TDRH |= (u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8));
1263 0126 7b01 ld a,(OFST+1,sp)
1264 0128 a008 sub a,#8
1265 012a 5f clrw x
1266 012b 97 ld xl,a
1267 012c a601 ld a,#1
1268 012e 5d tnzw x
1269 012f 2704 jreq L04
1270 0131 L24:
1271 0131 48 sll a
1272 0132 5a decw x
1273 0133 26fc jrne L24
1274 0135 L04:
1275 0135 ca5406 or a,21510
1276 0138 c75406 ld 21510,a
1277 013b L315:
1278 ; 371 }
1281 013b 85 popw x
1282 013c 81 ret
1339 ; 393 void ADC1_ConversionConfig(ADC1_ConvMode_TypeDef ADC1_ConversionMode, ADC1_Channel_TypeDef ADC1_Channel, ADC1_Align_TypeDef ADC1_Align)
1339 ; 394 {
1340 switch .text
1341 013d _ADC1_ConversionConfig:
1343 013d 89 pushw x
1344 00000000 OFST: set 0
1347 ; 397 assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
1349 ; 398 assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
1351 ; 399 assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
1353 ; 402 ADC1->CR2 &= (u8)(~ADC1_CR2_ALIGN);
1355 013e 72175402 bres 21506,#3
1356 ; 404 ADC1->CR2 |= (u8)(ADC1_Align);
1358 0142 c65402 ld a,21506
1359 0145 1a05 or a,(OFST+5,sp)
1360 0147 c75402 ld 21506,a
1361 ; 406 if (ADC1_ConversionMode == ADC1_CONVERSIONMODE_CONTINUOUS)
1363 014a 9e ld a,xh
1364 014b a101 cp a,#1
1365 014d 2606 jrne L755
1366 ; 409 ADC1->CR1 |= ADC1_CR1_CONT;
1368 014f 72125401 bset 21505,#1
1370 0153 2004 jra L165
1371 0155 L755:
1372 ; 414 ADC1->CR1 &= (u8)(~ADC1_CR1_CONT);
1374 0155 72135401 bres 21505,#1
1375 0159 L165:
1376 ; 418 ADC1->CSR &= (u8)(~ADC1_CSR_CH);
1378 0159 c65400 ld a,21504
1379 015c a4f0 and a,#240
1380 015e c75400 ld 21504,a
1381 ; 420 ADC1->CSR |= (u8)(ADC1_Channel);
1383 0161 c65400 ld a,21504
1384 0164 1a02 or a,(OFST+2,sp)
1385 0166 c75400 ld 21504,a
1386 ; 422 }
1389 0169 85 popw x
1390 016a 81 ret
1436 ; 444 void ADC1_ExternalTriggerConfig(ADC1_ExtTrig_TypeDef ADC1_ExtTrigger, FunctionalState ADC1_ExtTrigState)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -