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

📄 main.lsr

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

  48  000020 R 23F9                          jrule    clear_stack
  49                         
  50  000022                                 intel    
  51                         ;初始化PB,推挽输出,用于数码管段驱动;
  52  000022 X 35FF0000                      mov      PB_DDR,#0ffh
  53  000026 X 35FF0000                      mov      PB_CR1,#0ffh
  54  00002A X 35000000                      mov      PB_CR2,#0
  55                         ;初始化PA,推挽输出,用于数码管位驱动;	
  56  00002E X 35FF0000                      mov      PA_DDR,#0ffh
  57  000032 X 35FF0000                      mov      PA_CR1,#0ffh
  58  000036 X 35000000                      mov      PA_CR2,#0
  59  00003A X 35FF0000                      mov      PA_ODR,#0ffh  
  60                         
  61                         
  62  00003E X 35000000                      mov      UART2_CR1,#0
  63  000042 X 35000000                      mov      UART2_CR2,#0
  64  000046 X 35000000                      mov      UART2_CR3,#0
  65  00004A X 35000000                      mov      UART2_BRR2,#0
  66  00004E X 350D0000                      mov      UART2_BRR1,#0dh
  67  000052 X 350C0000                      mov      UART2_CR2,#0ch
  68                         
  69  000056 X 35000000                      mov      ADC_CR2,#0               ; A/D结果数据左对齐
  70                         
  71  00005A X 5500000000                    mov      ADC_CR1,0               ; ADC时钟=主时钟/2=1MHZ
  72                         
  73                                                          ; ADC转换模式=单次
  74                         
  75                                                          ; 禁止ADC转换
  76                         
  77  00005F X 35080000                      mov      ADC_CSR,#8               ; 选择通道0
  78                         
  79  000063 X 35010000                      mov      ADC_TDRH,#1
  80                                   
  81                                   
  82  000067 X 72100000                      bset     ADC_CR1,#0 
  83  00006B   A664                          ld       a,#100
  84                         WAIT_ADC_ON.L  
  85  00006D   4A                            dec      a
  86  00006E R 26FD                          jrne     WAIT_ADC_ON         ; 
                                                                ;延时一段时间,至少7uS,保证ADC

⌨️ 快捷键说明

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