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

📄 main.lsr

📁 STM8S实验 ASM源程序
💻 LSR
📖 第 1 页 / 共 4 页
字号:
 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 assembler v4.52   (C)1987-2011   Tue May 31 13:55:18 2011
Page 11  Assembler
                                               f:\stm8\stm8实验\第五次课\led 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 assembler v4.52   (C)1987-2011   Tue May 31 13:55:18 2011
Page 12  Assembler
                                               f:\stm8\stm8实验\第五次课\led 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  00000B                       temp      ds.b     1
  21                         
  22                                   segment  'rom'
  23                         main.l    
  24                                                          ; initialize SP
  25  000000   AE07FF                        ldw      X,#stack_end
  26  000003   94                            ldw      SP,X
  27                         
  28  000004                                 #ifdef   1             
  29                                                          ; clear RAM0
  30  000000                       ram0_start.b  EQU      $0
  31  0000FF                       ram0_end.b  EQU      $FF
  32  000004   AE0000                        ldw      X,#ram0_start
  33                         clear_ram0.l  
  34  000007   7F                            clr      (X)
  35  000008   5C                            incw     X
  36  000009   A300FF                        cpw      X,#ram0_end   
  37  00000C R 23F9                          jrule    clear_ram0
  38  00000E                                 #endif   
  39                         
  40  00000E                                 #ifdef   1
  41                                                          ; clear RAM1
  42  000100                       ram1_start.w  EQU      $100
  43  0005FF                       ram1_end.w  EQU      $5FF          
  44  00000E   AE0100                        ldw      X,#ram1_start
  45                         clear_ram1.l  
  46  000011   7F                            clr      (X)
  47  000012   5C                            incw     X
STMicroelectronics assembler v4.52   (C)1987-2011   Tue May 31 13:55:18 2011
Page 13  Assembler
                                               f:\stm8\stm8实验\第五次课\led ad单次\main.asm

  48  000013   A305FF                        cpw      X,#ram1_end   
  49  000016 R 23F9                          jrule    clear_ram1
  50  000018                                 #endif   
  51                         
  52                                                          ; clear stack
  53  000600                       stack_start.w  EQU      $600
  54  0007FF                       stack_end.w  EQU      $7FF
  55  000018   AE0600                        ldw      X,#stack_start
  56                         clear_stack.l  
  57  00001B   7F                            clr      (X)
  58  00001C   5C                            incw     X
  59  00001D   A307FF                        cpw      X,#stack_end  
  60  000020 R 23F9                          jrule    clear_stack
  61                         
  62  000022                                 intel    
  63                         ;初始化PB,推挽输出,用于数码管段驱动;
  64  000022 X 35FF0000                      mov      PB_DDR,#0ffh
  65  000026 X 35FF0000                      mov      PB_CR1,#0ffh
  66  00002A X 35000000                      mov      PB_CR2,#0
  67                         ;初始化PA,推挽输出,用于数码管位驱动;	
  68  00002E X 35FF0000                      mov      PA_DDR,#0ffh
  69  000032 X 35FF0000                      mov      PA_CR1,#0ffh
  70  000036 X 35000000                      mov      PA_CR2,#0
  71  00003A X 35FF0000                      mov      PA_ODR,#0ffh  
  72                                   
  73                                   
  74                                   
  75  00003E X 35000000                      mov      UART2_CR1,#0
  76  000042 X 35000000                      mov      UART2_CR2,#0
  77  000046 X 35000000                      mov      UART2_CR3,#0
  78  00004A X 35000000                      mov      UART2_BRR2,#0
  79  00004E X 350D0000                      mov      UART2_BRR1,#0dh
  80  000052 X 350C0000                      mov      UART2_CR2,#0ch
  81                         
  82  000056 X 35000000                      mov      ADC_CR2,#0               ; A/D结果数据左对齐
  83                         
  84  00005A X 5500000000                    mov      ADC_CR1,0               ; ADC时钟=主时钟/2=1MHZ
  85                         
  86                                                          ; ADC转换模式=单次
  87                         
  88                                                          ; 禁止ADC转换
  89                         
  90  00005F X 35080000                      mov      ADC_CSR,#8               ; 选择通道8
  91                         
  92  000063 X 35010000                      mov      ADC_TDRH,#1
  93                                   
  94                                   
  95  000067 X 72100000                      bset     ADC_CR1,#0 
  96  00006B   A664                          ld       a,#100
  97                         WAIT_ADC_ON.L  
  98  00006D   4A                            dec      a
  99  00006E R 26FD                          jrne     WAIT_ADC_ON         ; 
                                                                ;延时一段时间,至少7uS,保证ADC

⌨️ 快捷键说明

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