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

📄 vc33.inc

📁 TMS320VC33的应用程序 、TMS320VC33的应用程序
💻 INC
📖 第 1 页 / 共 3 页
字号:
*********************************************************************************
*  VC33.inc	v1.00								*
*  版权(c) 	2003-9-23		北京合众达电子技术有限责任公司			*
*  设计者:	刘宁								*
*  功能:	VC33片上资源声明						*
*********************************************************************************
*
*	'C3x CPU Registers
*
*		R0-R7			;Extended-precision register
*
*		AR0-AR7 		;Auxiliary register
*
*		DP			;Data-page pointer
*		IR0-IR1 		;Index register
*		BK			;Block-size register
*		SP			;System stack pointer
*
*		ST			;Status register
*		IE			;CPU/DMA interrupt enable
*		IF			;CPU interrupt flags
*		IOF			;I/O flags
*
*		RS			;Repeat start address
*		RE			;Repeat end address
*		RC			;Repeat counter
*
*	'C3x Memory-map Registers
*
*		DMA0_CTRL		;808000H  DMA0 Global Control
*		DMA0_SA 		;808004H  DMA0 Source Address
*		DMA0_DA 		;808006H  DMA0 Destination Address
*		DMA0_CT 		;808008H  DMA0 Transfer Counter
*					;Only for 'C32
*		DMA1_CTRL		;808010H  DMA1 Global Control
*		DMA1_SA 		;808014H  DMA1 Source Address
*		DMA1_DA 		;808016H  DMA1 Destination Address
*		DMA1_CT 		;808018H  DMA1 Transfer Counter
*
*		TIM0_CTRL		;808020H  Timer0 Global Control
*		TIM0_CT 		;808024H  Timer0 Counter
*		TIM0_PD 		;808028H  Timer0 Period
*					;
*		TIM1_CTRL		;808030H  Timer1 Global Control
*		TIM1_CT 		;808034H  Timer1 Counter
*		TIM1_PD 		;808038H  Timer1 Period
*
*		SIP0_CTRL		;808040H  Serial0 Global Control
*		SIP0_XPC		;808042H  Serial0 FSX/DX/CLKX Port Control
*		SIP0_RPC		;808043H  Serial0 FSR/DR/CLKR Port Control
*		SIP0_TCN		;808044H  Serial0 R/X Timer Control
*		SIP0_TCT		;808045H  Serial0 R/X Timer Counter
*		SIP0_TPD		;808046H  Serial0 R/X Timer Peroid
*		SIP0_DX 		;808048H  Serial0 Data Transmit
*		SIP0_DR 		;80804CH  Serial0 Data Receive
*					;Except of 'C32
*		SIP1_CTRL		;808050H  Serial1 Global Control
*		SIP1_XPC		;808052H  Serial1 FSX/DX/CLKX Port Control
*		SIP1_RPC		;808053H  Serial1 FSR/DR/CLKR Port Control
*		SIP1_TCN		;808054H  Serial1 R/X Timer Control
*		SIP1_TCT		;808055H  Serial1 R/X Timer Counter
*		SIP1_TPD		;808056H  Serial1 R/X Timer Peroid
*		SIP1_DX 		;808058H  Serial1 Data Transmit
*		SIP1_DR 		;80805CH  Serial1 Data Receive
*
*		IOSTRB			;808060H  IOSTRB Control
*		STRB0			;808064H  STRB0 Control
*		STRB1			;808068H  STRB1 Control
*
*	'C30/'C31 on-chip Memory
*
*		RAMB0			;809800H-809BFFH 1K*32-bit
*		RAMB1			;809C00H-809FFFH 1K*32-bit
*
*	'C32 on-chip Memory
*
*		RAMB0			;87FE00H-87FEFFH 256*32-bit
*		RAMB1			;87FF00H-87FFFFH 256*32-bit
*
*	'VC33 on-chip Memory
*
*		RAMB0			;809800H-809BFFH 1K*32-bit
*		RAMB1			;809C00H-809FFFH 1K*32-bit
*		RAMB2			;800000H-803FFFH 16K*32-bit
*		RAMB3			;804000H-807FFFH 16K*32-bit
*
**
* On-chip Peripheral
C3x_MMR		.set	808000H 	;808000H
DMA0_CTRL	.set	00H
DMA0_SA 	.set	04H
DMA0_DA 	.set	06H
DMA0_CT 	.set	08H
DMA1_CTRL	.set	10H
DMA1_SA 	.set	14H
DMA1_DA 	.set	16H
DMA1_CT 	.set	18H
TIM0_CTRL	.set	20H
TIM0_CT 	.set	24H
TIM0_PD 	.set	28H
TIM1_CTRL	.set	30H
TIM1_CT 	.set	34H
TIM1_PD 	.set	38H
SIP0_CTRL	.set	40H
SIP0_XPC	.set	42H
SIP0_RPC	.set	43H
SIP0_TCN	.set	44H
SIP0_TCT	.set	45H
SIP0_TPD	.set	46H
SIP0_DX 	.set	48H
SIP0_DR 	.set	4CH
SIP1_CTRL	.set	50H
SIP1_XPC	.set	52H
SIP1_RPC	.set	53H
SIP1_TCN	.set	54H
SIP1_TCT	.set	55H
SIP1_TPD	.set	56H
SIP1_DX 	.set	58H
SIP1_DR 	.set	5CH
PBCR        .set    64H
;IOSTRB		.set	60H
;STRB0		.set	64H
;STRB1		.set	68H
* On-chip SRAM
C3x_RAMB0	.set	809800H 	;809800H-809BFFH 1K*32-bit
C3x_RAMB1	.set	809C00H 	;809C00H-809FFFH 1K*32-bit
VC33_RAMB2	.set	800000H		;800000H-803FFFH 16K*32-bit
VC33_RAMB3	.set	804000H		;804000H-807FFFH 16K*32-bit
C32_RAMB0	.set	87FE00H		;87FE00H-87FEFFH 256*32-bit
C32_RAMB1	.set	87FF00H		;87FF00H-87FFFFH 256*32-bit
*
* 'C3x编程技巧
* 'C3x寻址方式:①立即数寻址:立即数长度为16位;
*          ②直接寻址:24位地址由8位数据页指针DP和16位直接地址组成,在DP不变时,直接寻址最大寻址范围64K。
*          ③间接寻址:24位地址由辅助寄存器ARn提供,可以寻址整个存储空间。
* 如果常数≤16位时,直接用立即数寻址方式访问。如果常数长度>16位时,首先将常数用.word或.float等汇编伪指令放到某1存储单元,再用直接寻址方式访问。
* 地址指针为24位,所以也要首先将其用.word伪指令存放到某1存储单元中,然后再用直接寻址方式访问,将其装入辅助寄存器ARn中,最后用间接寻址访问。
* 直接寻址时,首先要装DP指针,为了避免每次直接寻址均修改DP指针,将常数和地址指针(它们的数量≤64K)存放在一起,并从64K边界开始,这样整个程序只需
* 装1次DP指针即可,既简单有高效。
*
* 'C3x片上资源的初始化
* ①.初始化数据页指针DP
* ②.初始化堆栈指针SP
* ③.中断向量重定位IF('C32仅有)
* ④.初始化总线控制寄存器STRB0、STRB1和IOSTRB
* ⑤.初始化定时器(如果使用)
* ⑥.初始化同步串口(如果使用)
* ⑦.初始化DMA(如果使用)
* ⑧.使能相应的中断IE
* ⑨.设置中断触发方式('C32仅有)和开全局中断
*
*
*****************************************************************************************************************************************
*																	*
* 'C3x状态寄存器ST:各字段的宏定义,用于设置全局中断控制、中断触发方式									*
*																	*
*  31-16      15       14     13    12   11   10   9    8     7     6    5    4    3   2   1   0					*
*  ----------------------------------------------------------------------------------------------					*
* |  xx  | PRGW ST | INTCFG | GIE | CC | CE | CF | xx | RM | OVM | LUF | LV | UF | N | Z | V | C |					*
*  ----------------------------------------------------------------------------------------------					*
*             R        R/W    R/W  R/W  R/W  R/W       R/W   R/W   R/W   R/W R/W  R/W R/W R/W R/W  ← 操作				*
*                       0      0    0    0    0         0     0     0     0   0    0   0   0   0   ← 复位值				*
*																	*
*****************************************************************************************************************************************
GIE		.set	 1 << 13	; 'C3x全局中断使能,0:关全局中断;1:开全局中断
INTCFG		.set	 1 << 14	; ('C32仅有)中断触发方式选择,0:电平触发;1:下降沿触发

*****************************************************************************************************************************************
*																	*
* 'C3x中断使能寄存器IE:各字段的宏定义,用于使能相应的中断											*
*																	*
*   31   30   29   28   27    26       25       24	 23	  22	   21	    20	    19	    18	    17	    16			*
*  ----------------------------------------------------------------------------------------------------------------------		*
* | xx | xx | xx | xx | xx | EDINT | ETINT1 | ETINT0 | ERINT1 | EXINT1 | ERINT0 | EXINT0 | EINT3 | EINT2 | EINT1 | EINT0 |←'C30/'C31	*
* |    |    |    |    |    | (DMA) | (DMA)  | (DMA)  | (DMA)  | (DMA)  | (DMA)  | (DMA)  | (DMA) | (DMA) | (DMA) | (DMA) |		*
*  ----------------------------------------------------------------------------------------------------------------------		*
*                             R/W     R/W      R/W      R/W      R/W      R/W      R/W      R/W     R/W     R/W     R/W	  ← 操作	*
*			       0       0        0        0        0        0        0        0       0       0       0    ← 复位值	*
*																	*
*   15   14   13   12   11    10       9        8	 7	  6	   5	    4	     3	     2	     1	     0			*
*  ----------------------------------------------------------------------------------------------------------------------		*
* | xx | xx | xx | xx | xx | EDINT | ETINT1 | ETINT0 | ERINT1 | EXINT1 | ERINT0 | EXINT0 | EINT3 | EINT2 | EINT1 | EINT0 |←'C30/'C31	*
* |    |    |    |    |    | (CPU) | (CPU)  | (CPU)  | (CPU)  | (CPU)  | (CPU)  | (CPU)  | (CPU) | (CPU) | (CPU) | (CPU) |		*
*  ----------------------------------------------------------------------------------------------------------------------		*
*                             R/W     R/W      R/W      R/W      R/W      R/W      R/W      R/W     R/W     R/W     R/W	  ← 操作	*
*			       0       0        0        0        0        0        0        0       0       0       0    ← 复位值	*
*																	*
*    31     30     29     28     27     26     25     24     23	    22	   21	  20	 19	18     17     16			*
*  ---------------------------------------------------------------------------------------------------------------			*
* |EINT3 |EINT2 |EINT1 |EINT0 |EDINT0|EDINT1|ETINT1|ETINT0|ETINT1|ETINT0|ERINT0|EXINT0| EINT3| EINT2| EINT1| EINT0|←'C32		*
* |(DMA1)|(DMA1)|(DMA1)|(DMA1)|(DMA1)|(DMA0)|(DMA0)|(DMA0)|(DMA1)|(DMA1)|(DMA1)|(DMA0)|(DMA0)|(DMA0)|(DMA0)|(DMA0)|			*
*  ---------------------------------------------------------------------------------------------------------------			*
*   R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W    R/W   ← 操作		*
*    0      0	   0      0      0      0      0      0      0      0      0      0      0      0      0      0    ← 复位值		*
*																	*
*    15     14     13     12     11     10     9      8      7	    6	   5	  4	  3	 2      1      0			*
*  ---------------------------------------------------------------------------------------------------------------			*
* |  xx  |  xx  |  xx  |  xx  |EDINT1|EDINT0|ETINT1|ETINT0|  xx  |  xx  |ERINT0|EXINT0| EINT3| EINT2| EINT1| EINT0|←'C32		*
* |      |      |      |      |(CPU) |(CPU) |(CPU) |(CPU) |      |      |(CPU) |(CPU) |(CPU) |(CPU) |(CPU) |(CPU) |			*
*  ---------------------------------------------------------------------------------------------------------------			*
*   	   	    	        R/W    R/W    R/W    R/W    	    	  R/W    R/W    R/W    R/W    R/W    R/W   ← 操作		*
*    				 0      0      0      0      		   0      0      0      0      0      0    ← 复位值		*
*																	*
*****************************************************************************************************************************************
EINT0_CPU	.set	 1 << 0		; (中断CPU)外部中断0使能,0:屏蔽;1:使能
EINT1_CPU	.set	 1 << 1		; (中断CPU)外部中断1使能,0:屏蔽;1:使能
EINT2_CPU	.set	 1 << 2		; (中断CPU)外部中断2使能,0:屏蔽;1:使能
EINT3_CPU	.set	 1 << 3		; (中断CPU)外部中断3使能,0:屏蔽;1:使能
EXINT0_CPU	.set	 1 << 4		; (中断CPU)同步串口0发送中断使能,0:屏蔽;1:使能
ERINT0_CPU	.set	 1 << 5		; (中断CPU)同步串口0接收中断使能,0:屏蔽;1:使能
EXINT1_CPU	.set	 1 << 6		; (中断CPU)同步串口1发送中断使能,0:屏蔽;1:使能('C30仅有)
ERINT1_CPU	.set	 1 << 7		; (中断CPU)同步串口1接收中断使能,0:屏蔽;1:使能('C30仅有)
ETINT0_CPU	.set	 1 << 8		; (中断CPU)定时器0中断使能,0:屏蔽;1:使能
ETINT1_CPU	.set	 1 << 9		; (中断CPU)定时器1中断使能,0:屏蔽;1:使能
EDINT_CPU	.set	 1 << 10	; (中断CPU)DMA中断使能,0:屏蔽;1:使能('C30/'C31仅有)
EDINT0_CPU	.set	 1 << 10	; (中断CPU)DMA0中断使能,0:屏蔽;1:使能('C32仅有)
EDINT1_CPU	.set	 1 << 11	; (中断CPU)DMA1中断使能,0:屏蔽;1:使能('C32仅有)

EINT0_DMA	.set	 1 << 16	; (中断DMA)外部中断0使能,0:屏蔽;1:使能('C30/'C31仅有)
EINT1_DMA	.set	 1 << 17	; (中断DMA)外部中断1使能,0:屏蔽;1:使能('C30/'C31仅有)
EINT2_DMA	.set	 1 << 18	; (中断DMA)外部中断2使能,0:屏蔽;1:使能('C30/'C31仅有)

⌨️ 快捷键说明

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