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

📄 main.lst

📁 STM8S实验 ASM源程序
💻 LST
📖 第 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 list file postprocessor v1.01   (C)2009-2012   Thu May 03 10:16:14 2012
Page 11  Assembler
                                               f:\单片机\stm\实验\stm8资料\stm8s实验 asm源程序\第一次课 更改时钟源\修改时钟源\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-2012   Thu May 03 10:16:14 2012
Page 12  Assembler
                                               f:\单片机\stm\实验\stm8资料\stm8s实验 asm源程序\第一次课 更改时钟源\修改时钟源\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                         
   6                         ;/******************** stm8单片机实验 ********************
   7                         ;文件名	: 修改时钟源
   8                         
   9                         
  10                         ;描述   : 修改stm8的时钟源为外部时钟 ,观察LD1灯的变化情况
  11                         ;*********************************************************
  12                         
  13                         ;***************************接线**************************
  14                         ;硬件:1、STM8s-discovery LED1
  15  000000                                 .FORM    72            
  16  000002                       lab       equ      2
  17  000003                       lab1      equ      3
  18                                   
  19                                   segment  word 'rom' 
  20                         main.l    
  21                                                          ; initialize SP
  22                                   
  23  008080   A606                          ld       a,#{lab mult lab1} 
  25  008082   AE07FF                        ldw      X,#stack_end
  26  008085   94                            ldw      SP,X
  27                         
  28  008086                                 #ifdef   1             
  29                                                          ; clear RAM0
  30  000000                       ram0_start.b  EQU      $0
  31  0000FF                       ram0_end.b  EQU      $FF
  32  008086   AE0000                        ldw      X,#ram0_start
  33                         clear_ram0.l  
  34  008089   7F                            clr      (X)
  35  00808A   5C                            incw     X
  36  00808B   A300FF                        cpw      X,#ram0_end   
  37  00808E   23F9                          jrule    clear_ram0
  38  008090                                 #endif   
  39                         
  40  008090                                 #ifdef   1
  41                                                          ; clear RAM1
  42  000100                       ram1_start.w  EQU      $100
  43  0005FF                       ram1_end.w  EQU      $5FF          
  44  008090   AE0100                        ldw      X,#ram1_start
  45                         clear_ram1.l  
  46  008093   7F                            clr      (X)
  47  008094   5C                            incw     X
  48  008095   A305FF                        cpw      X,#ram1_end   
  49  008098   23F9                          jrule    clear_ram1
  50  00809A                                 #endif   
  51                         
  52                                                          ; clear stack
  53  000600                       stack_start.w  EQU      $600
  54  0007FF                       stack_end.w  EQU      $7FF
  55  00809A   AE0600                        ldw      X,#stack_start
  56                         clear_stack.l  
STMicroelectronics list file postprocessor v1.01   (C)2009-2012   Thu May 03 10:16:14 2012
Page 13  Assembler
                                               f:\单片机\stm\实验\stm8资料\stm8s实验 asm源程序\第一次课 更改时钟源\修改时钟源\main.asm

  57  00809D   7F                            clr      (X)
  58  00809E   5C                            incw     X
  59  00809F   A307FF                        cpw      X,#stack_end  
  60  0080A2   23F9                          jrule    clear_stack
  61                                   
  62                                   
  63  0080A4                                 intel    
  64                         ;系统复位后,时钟为内部RC振荡器,16Mhz,8分频,实为2Mhz.
  65                         ;LD1闪烁10次
  66  0080A4   A60A                          ld       a,#10         ;10次	
  67  0080A6   72105011                      bset     PD_DDR,#0
  68  0080AA   72105012                      bset     PD_CR1,#0
  69  0080AE   72115013                      bres     PD_CR2,#0
  70                                   
  71                         next1     
  72  0080B2   7211500F                      bres     PD_ODR,#0
  73  0080B6   CD80F4                        call     delay
  74  0080B9   7210500F                      bset     PD_ODR,#0
  75  0080BD   CD80F4                        call     delay
  76  0080C0   4A                            dec      a
  77  0080C1   26EF                          jrne     next1
  78                                   
  79                         ;修改时钟为外部16Mhz时钟.
  80                         ;LD1闪烁10次
  81                         
  82  0080C3   350150C1                      mov      CLK_ECKR,#01h         ; 允许外部高速振荡器工作
  83                         wait_hse_ready  
  84  0080C7   C650C1                        ld       a,CLK_ECKR
  85  0080CA   A402                          and      a,#02h
  86  0080CC   27F9                          jreq     wait_hse_ready         ; 等待外部高速振荡器准备好
  87  0080CE   721050C8                      bset     CLK_CSSR,#0          ;CSEEN<-1,时钟安全系统使能
  88  0080D2   350250C5                      mov      CLK_SWCR,#02h          ; SWEN <- 1
  89  0080D6   35B450C4                      mov      CLK_SWR,#0b4h          ; 
                                                                ;选择芯片外部的高速振荡器为主时

⌨️ 快捷键说明

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