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

📄 sysinit.asm

📁 DSP关于F240的实例程序
💻 ASM
字号:
 .global _SYSINIT
 .include "x240x.h"
 .text
_SYSINIT: 

           
          LDP   #0
          SETC	INTM                       ;关总中断
          ;配置系统中断
          SPLK	#02H,IMR                   ;INT2 INT3 INT5
          SPLK	#0FFFFH,IFR                ;向该位写1清除中断请求
            
          LDP	#0E0H          
          ;配置系统时钟
          SPLK	#000cH,SCSR1               ;CLKOUT=WDCLK,CPUCLK=4*CLKin,EVA,EVB CLK ENABLE
          SPLK	#000aH,SCSR2               ;这好象是2812芯片要求的,BOOTEN=1,SARAM被映射到
                                           ;数据空间,可以不初始化,按复位值
          ;配置看门狗 
          SPLK	#068H,WDCR                 ;禁止WDT,这一步很重要
          
          ;配置外部总线速度
          ;SPLK  #0038H,WSGR                    ;外部数据总线速度7分频                              
                                 
          ;配置串行外围接口(SPI)寄存器
          ;SPLK  #0H,SPICCR
          ;SPLK  #0H,SPICTL 
          ;SPLK  #0H,SPISTS
          ;SPLK  #0H,SPIBRR
          ;SPLK  #0H,SPIDAT
          ;SPLK  #0H,SPIPRI
          

          ;配置串行通信接口(SCI)寄存器
          SPLK  #0027H,SCICCR           ;奇校验,停止位一位,数据位8位,空闲模式
          SPLK  #006fH,SCICTL1          ;使能接收错误中断,允许接收、发送
          SPLK  #01H,SCIHBAUD           ;波特率19200bps
          SPLK  #03H,SCILBAUD
          SPLK  #00C3H,SCICTL2          ;使能接受发送中断
          SPLK  #0070H,SCIPRI           ;低优先级 INT5
          
          
          ;配置外部中断寄存器
          ;SPLK  #0H,XINT1CR
          ;SPLK  #0H,XINT2CR
          
          LDP   #0E1H
          ;配置I/O控制寄存器                                                              
          SPLK  #0FC0h,MCRA                ;配置(PWM1,PWM2,PWM3,PWM4,)PWM5,PWM6
          SPLK  #0H,MCRB
          SPLK  #0060H,MCRC
          ;SPLK  #0H,PADATDIR
          ;SPLK  #0H,PBDATDIR
          SPLK  #0C0C0H,PCDATDIR           
          ;SPLK  #0H,PDDATDIR 如果配置成I/O口则要指出数据方向
          ;SPLK  #0H,PEDATDIR
          ;SPLK  #0H,PFDATDIR
          
          ;配置ADC模数转换积存器
          ;SPLK  #0H,ADCTRL1
          ;SPLK  #0H,ADCTRL2
          ;SPLK  #0H,MAXCONV
          ;SPLK  #0H,CHSELSEQ1
          ;SPLK  #0H,CHSELSEQ2
          ;SPLK  #0H,CHSELSEQ3
          ;SPLK  #0H,CHSELSEQ4
          ;SPLK  #0H,CALIBRATION


          LDP	#0E8h         
          ;配置通用定时器-事件管理器A
          SPLK  #004aH,GPTCONA
          SPLK  #1,T1CNT                 ;移相120度
          ;SPLK  #0H,T1CMPR
          SPLK	#1000,T1PR                 ;周期寄存器赋初值 开关频率20kHz                   
          ;SPLK	#0000H,T1CON
          ;SPLK  #0H,T2CNT
          ;SPLK  #400,T2CMPR
          ;SPLK  #800,T2PR                  ;开关频率25kHz
          ;SPLK  #1082H,T2CON
          
          ;配置比较单元寄存器-事件管理器A
          SPLK	#8000H,COMCONA             ;周期和下溢装载
          SPLK	#0666H,ACTRA               ;PWM1,3,5 为高 
          SPLK  #05e8H,DBTCONA             ;死区控制0.5us
          SPLK	#500,CMPR1                 ;比较寄存器赋初值 
          SPLK	#500,CMPR2                 ;比较寄存器赋初值
          SPLK	#500,CMPR3                 ;比较寄存器赋初值
          
          ;配置捕捉和正交编码寄存器-事件管理器A
          ;SPLK  #0H,CAPCONA
          ;SPLK  #0H,CAPFIFOA
          ;SPLK  #0H,CAP1FIFO
          ;SPLK  #0H,CAP2FIFO
          ;SPLK  #0H,CAP3FIFO
          ;SPLK  #0H,CAP1FBOT
          ;SPLK  #0H,CAP2FBOT
          ;SPLK  #0H,CAP3FBOT
          
          ;配置事件管理器中断控制寄存器
            ;事件管理器A
          SPLK  #0200h,EVAIMRA              ; 
          ;SPLK  #0004H,EVAIMRB
          ;SPLK  #0H,EVAIMRC
          SPLK  #0FFFFH,EVAIFRA
          ;SPLK  #0FFFFH,EVAIFRB
          ;SPLK  #0FFFFH,EVAIFRC          
            ;事件管理器B
          ;SPLK  #200H,EVBIMRA
          ;SPLK  #00H,EVBIMRB
          ;SPLK  #0H,EVBIMRC
          SPLK  #0FFFFH,EVBIFRA
          ;SPLK  #0FFFFH,EVBIFRB
          ;SPLK  #0FFFFH,EVBIFRC
          
          
          LDP   #0EAH
          ;配置通用定时器-事件管理器B
          ;SPLK  #004aH,GPTCONB
          ;SPLK  #200,T3CNT
          ;SPLK  #0H,T3CMPR
          ;SPLK  #2000,T3PR
          ;SPLK  #0000H,T3CON
          ;SPLK  #0H,T4CNT
          ;SPLK  #0H,T4CMPR
          ;SPLK  #0H,T4PR
          ;SPLK  #0H,T4CON
          
          ;配置比较单元寄存器-事件管理器B
          ;SPLK  #8000H,COMCONB
          ;SPLK  #0666H,ACTRB
          ;SPLK  #05e8H,DBTCONB
          ;SPLK  #0H,CMPR4
          ;SPLK  #0H,CMPR5
          ;SPLK  #1000H,CMPR6
          
          ;配置捕捉和正交编码寄存器-事件管理器B
          ;SPLK  #0H,CAPCONB
          ;SPLK  #0H,CAPFIFOB
          ;SPLK  #0H,CAP4FIFO
          ;SPLK  #0H,CAP5FIFO
          ;SPLK  #0H,CAP6FIFO
          ;SPLK  #0H,CAP4FBOT
          ;SPLK  #0H,CAP5FBOT
          ;SPLK  #0H,CAP6FBOT
          
          LDP  #0E8H
          SPLK	#0840H,T1CON               ;定时器1开始计数
          SPLK  #8200H,COMCONA             ;比较输出          
          ;LDP  #0EAH
          ;SPLK  #0840H,T3CON
          ;SPLK  #8200H,COMCONB
                                                        
          CLRC	INTM                       ;开总中断
          RET 

⌨️ 快捷键说明

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