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

📄 init_54x.asm

📁 VC5402的MCBSP作为通用串口的程序
💻 ASM
字号:
***********************************************************************
* MODULE NAME:  init_54x.asm                                          *
*                                                                     *
                .mmregs
                .include "init_54x.inc" ;包含VC5402初始化的各个寄存器
                .include "mcbsp54x.inc" ;多通道缓冲串行口的各个寄存器
                .global  _McBSP_init
                .def     _init_54     
K_IPTR_init     .set  0080h
                .text
***************初始化系统***************************
_init_54:     
 				NOP
				LD 		#0, DP     ;复位数据页指针
****************使所有的中断无效******************************
				SSBX   INTM        ;屏蔽全局中断
				STM    #0x0000,IMR ;屏蔽所有的中断
				STM    #0x0FFFF,IFR ;清除中断标志寄存器
****************时钟方案选择**********************************
           		STM		#0, CLKMD	;DSP系统时钟的软件设置
				STM     #0,	CLKMD   
				STM		#0x9007,CLKMD ;设置VC5402 DSP时钟到5MHz
****************配置C5402系统寄存器*******************************
				STM		#0x7492,SWWSR ;I/O等待2个时钟,数据和程序空间无等待
				STM     #0x0000,BSCR  ;为块切换等待0个时钟
				STM     #0x1800,ST0
				STM		#0x2900,ST1
				STM		#0x0FFE0,PMST  ;0x0FFA0
****************改变中断向量表位置*****************************
			    LDM   PMST,        A
		   		AND   #7FH,        A 
		   		OR    #K_IPTR_init,     A 
		   		STLM  A,           		PMST
				RETD
				NOP
				NOP
****************多通道缓冲串行通信端口初始化*************************************
*(1)	设置SPRCR[1,2]中的XRST=RRST=FRST=0,如果马上离开复位状态这一步不需要。**
*(2)	只对需要的McBSP配置寄存器进行编程(不是数据寄存器)。
*(3)	等待2个位时钟。确保内部正确的同步。
*(4)	设置所需要的数据采集。
*(5)	设置XRST=RRST=1,使串行端口有效。注意这时写到SPCR[1,2]中的值只是复位的位变成1。剩下的的位域与上面的第二步的值相同。
*(6)	如果需要内部的产生帧同步信号,设置FRST=1。
*(7)	等待2个时钟用于使接收器和发送器有效。

_McBSP_init:
*********************串行端口复位******************************************
				STM		#SPCR10_SUBADDR,SPSA0 ;复位串行端口
				STM		#0000h,SPSD0        ;/RRST=0 ;控制寄存器1配置
				STM		#SPCR20_SUBADDR,SPSA0
				STM		#0000h,SPSD0        ;/XRST=0 ;控制寄存器2配置			
				RPT		#512
				NOP 

				
				STM		#PCR0_SUBADDR,SPSA0   
				STM		#3F25h,SPSD0   
				
				

				RPT		#512
				NOP
				
			.end

⌨️ 快捷键说明

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