📄 main.lst
字号:
437 000000 EXTERN ADC_DB3RH.w ; Data Buffer register 3 High
438
439 000000 EXTERN ADC_DB3RL.w ; Data Buffer register 3 Low
440
441 000000 EXTERN ADC_DB4RH.w ; Data Buffer register 4 High
442
443 000000 EXTERN ADC_DB4RL.w ; Data Buffer register 4 Low
444
445 000000 EXTERN ADC_DB5RH.w ; Data Buffer register 5 High
446
447 000000 EXTERN ADC_DB5RL.w ; Data Buffer register 5 Low
448
449 000000 EXTERN ADC_DB6RH.w ; Data Buffer register 6 High
450
451 000000 EXTERN ADC_DB6RL.w ; Data Buffer register 6 Low
452
453 000000 EXTERN ADC_DB7RH.w ; Data Buffer register 7 High
454
455 000000 EXTERN ADC_DB7RL.w ; Data Buffer register 7 Low
456
457 000000 EXTERN ADC_DB8RH.w ; Data Buffer register 8 High
458
459 000000 EXTERN ADC_DB8RL.w ; Data Buffer register 8 Low
460
461 000000 EXTERN ADC_DB9RH.w ; Data Buffer register 9 High
462
STMicroelectronics list file postprocessor v1.01 (C)2009-2011 Tue May 31 13:32:52 2011
Page 11 Assembler
f:\stm8\stm8实验\第五次课\复件 (2) ad单次\main.asm
463 000000 EXTERN ADC_DB9RL.w ; Data Buffer register 9 Low
464
465 000000 EXTERN ADC_CSR.w ; ADC Control/Status Register
466
467 000000 EXTERN ADC_CR1.w ; ADC Configuration Register 1
468
469 000000 EXTERN ADC_CR2.w ; ADC Configuration Register 2
470
471 000000 EXTERN ADC_CR3.w ; ADC Configuration Register 3
472
473 000000 EXTERN ADC_DRH.w ; Data bits High
474
475 000000 EXTERN ADC_DRL.w ; Data bits Low
476
477 000000 EXTERN ADC_TDRH.w ; Schmitt trigger disable High
478
479 000000 EXTERN ADC_TDRL.w ; Schmitt trigger disable Low
480
481 000000 EXTERN ADC_HTRH.w ; High Threshold Register High
482
483 000000 EXTERN ADC_HTRL.w ; High Threshold Register Low
484
485 000000 EXTERN ADC_LTRH.w ; Low Threshold Register High
486
487 000000 EXTERN ADC_LTRL.w ; Low Threshold Register Low
488
489 000000 EXTERN ADC_AWSRH.w ; Analog Watchdog Status
;register High
490
491 000000 EXTERN ADC_AWSRL.w ; Analog Watchdog Status
;register Low
492
493 000000 EXTERN ADC_AWCRH.w ; Analog Watchdog Control
;register High
494
495 000000 EXTERN ADC_AWCRL.w ; Analog Watchdog Control
;register Low
496
497 ; Global configuration register (CFG)
498 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;
499
500 000000 EXTERN CFG_GCR.w ; CFG Global configuration
;register
501
502 ; Interrupt Software Priority Register (ITC)
503 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;
504
505 000000 EXTERN ITC_SPR1.w ; Interrupt Software priority
;register 1
506
507 000000 EXTERN ITC_SPR2.w ; Interrupt Software priority
;register 2
508
509 000000 EXTERN ITC_SPR3.w ; Interrupt Software priority
;register 3
STMicroelectronics list file postprocessor v1.01 (C)2009-2011 Tue May 31 13:32:52 2011
Page 12 Assembler
f:\stm8\stm8实验\第五次课\复件 (2) ad单次\main.asm
510
511 000000 EXTERN ITC_SPR4.w ; Interrupt Software priority
;register 4
512
513 000000 EXTERN ITC_SPR5.w ; Interrupt Software priority
;register 5
514
515 000000 EXTERN ITC_SPR6.w ; Interrupt Software priority
;register 6
516
517 000000 EXTERN ITC_SPR7.w ; Interrupt Software priority
;register 7
518
519 000000 #endif ; __STM8S105C_S__
<END_OF_INCLUSION>
5 segment 'ram0'
6 000000 couter ds.b 1
7 000001 vol1 ds.b 1
8 000002 vol2 ds.b 1
9 000003 vol3 ds.b 1
10
11 000004 voltage ds.b 1
12
13 000005 r00 ds.b 1
14 000006 r01 ds.b 1
15 000007 r02 ds.b 1
16 000008 r03 ds.b 1
17 000009 r04 ds.b 1
18 00000A r05 ds.b 1
19
20 segment 'rom'
21 main.l
22 ; initialize SP
23 008080 AE07FF ldw X,#stack_end
24 008083 94 ldw SP,X
25
26 008084 #ifdef 1
27 ; clear RAM0
28 000000 ram0_start.b EQU $0
29 0000FF ram0_end.b EQU $FF
30 008084 AE0000 ldw X,#ram0_start
31 clear_ram0.l
32 008087 7F clr (X)
33 008088 5C incw X
34 008089 A300FF cpw X,#ram0_end
35 00808C 23F9 jrule clear_ram0
36 00808E #endif
37
38 00808E #ifdef 1
39 ; clear RAM1
40 000100 ram1_start.w EQU $100
41 0005FF ram1_end.w EQU $5FF
42 00808E AE0100 ldw X,#ram1_start
43 clear_ram1.l
44 008091 7F clr (X)
45 008092 5C incw X
46 008093 A305FF cpw X,#ram1_end
47 008096 23F9 jrule clear_ram1
STMicroelectronics list file postprocessor v1.01 (C)2009-2011 Tue May 31 13:32:52 2011
Page 13 Assembler
f:\stm8\stm8实验\第五次课\复件 (2) ad单次\main.asm
48 008098 #endif
49
50 ; clear stack
51 000600 stack_start.w EQU $600
52 0007FF stack_end.w EQU $7FF
53 008098 AE0600 ldw X,#stack_start
54 clear_stack.l
55 00809B 7F clr (X)
56 00809C 5C incw X
57 00809D A307FF cpw X,#stack_end
58 0080A0 23F9 jrule clear_stack
59
60 0080A2 intel
61 0080A2 35005244 mov UART2_CR1,#0
62 0080A6 35005245 mov UART2_CR2,#0
63 0080AA 35005246 mov UART2_CR3,#0
64 0080AE 35005243 mov UART2_BRR2,#0
65 0080B2 350D5242 mov UART2_BRR1,#0dh
66 0080B6 350C5245 mov UART2_CR2,#0ch
67
68 0080BA 35005402 mov ADC_CR2,#0 ; A/D结果数据左对齐
69
70 0080BE 5500005401 mov ADC_CR1,0 ; ADC时钟=主时钟/2=1MHZ
71
72 ; ADC转换模式=单次
73
74 ; 禁止ADC转换
75
76 0080C3 35085400 mov ADC_CSR,#8 ; 选择通道8
77
78 0080C7 35015406 mov ADC_TDRH,#1
79
80
81 0080CB 72105401 bset ADC_CR1,#0
82 0080CF A664 ld a,#100
83 WAIT_ADC_ON.L
84 0080D1 4A dec a
85 0080D2 26FD jrne WAIT_ADC_ON ;
;延时一段时间,至少7uS,保证ADC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -