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

📄 spmc75_regs.h

📁 基于sunplus的16MCU产品,SPMC75的键盘和显示的例子,完整的工程,对单片机开发工程式师有一定的借鉴作用.
💻 H
📖 第 1 页 / 共 5 页
字号:
/* ========================================================================= */
/* File Name   : Spmc75_regs.h										     	 */	
/* Description : SPMC75 series register definition						     */
/* Processor   : SPMC75F													 */	
/* Author      : Sunplus SA7											     */
/* Date        : May 2004											     	 */
/* Tools	   : u'nSP IDE tools v1.15.x 								     */
/* Version     : 1.00 													     */	
/* Security    : Confidential Proprietary 							         */
/* Updata	   : 2004/6/28													 */
/* 			   : PDR Change													 */
/* ========================================================================= */
#ifndef	__SPMC75_REGS_H
#define	__SPMC75_REGS_H

#include "Spmc_typedef.h"

/*****************************************************************************/
/* Selection body name of SPMC75 family										 */
/*****************************************************************************/
#define SPMC75F2413A

/*****************************************************************************/
/* Register word and bit code debug mode definition, enable or not			 */
/*****************************************************************************/
//#define SPMC75_REG_DEBUG

/*****************************************************************************/
/*****************************************************************************/
/* A. CPU control register													 */
/*****************************************************************************/
/*****************************************************************************/
#define P_System_Option_ADDR			0x8000	
#define P_Wait_Enter_ADDR				0x700C
#define P_Stdby_Enter_ADDR				0x700E
#define P_Reset_Status_ADDR				0x7006
#define P_Clk_Ctrl_ADDR					0x7007
#define P_WatchDog_Ctrl_ADDR			0x700A
#define P_WatchDog_Clr_ADDR				0x700B
#define	P_Wakeup_Ctrl_ADDR				0x700F
#define P_INT_Status_ADDR				0x70A0
#define P_INT_Priority_ADDR				0x70A4
#define P_MisINT_Ctrl_ADDR				0x70A8

/*****************************************************************************/
/*****************************************************************************/
/* B. I/O Port register														 */
/*****************************************************************************/
/*****************************************************************************/
#define P_IOA_Data_ADDR					0x7060
#define P_IOA_Buffer_ADDR				0x7061
#define P_IOA_Dir_ADDR					0x7062
#define P_IOA_Attrib_ADDR				0x7063
#define P_IOA_Latch_ADDR				0x7064
#define P_IOA_SPE_ADDR					0x7080
#define	P_IOA_KCER_ADDR					0x7084

#define P_IOB_Data_ADDR					0x7068
#define P_IOB_Buffer_ADDR				0x7069
#define P_IOB_Dir_ADDR					0x706A
#define P_IOB_Attrib_ADDR				0x706B
#define P_IOB_SPE_ADDR					0x7081

#define P_IOC_Data_ADDR					0x7070
#define P_IOC_Buffer_ADDR				0x7071
#define P_IOC_Dir_ADDR					0x7072
#define P_IOC_Attrib_ADDR				0x7073
#define P_IOC_SPE_ADDR					0x7082

#define P_IOD_Data_ADDR					0x7078
#define P_IOD_Buffer_ADDR				0x7079
#define P_IOD_Dir_ADDR					0x707A
#define P_IOD_Attrib_ADDR				0x707B

/*****************************************************************************/
/*****************************************************************************/
/* C. Timer 0,Timer 1,Timer 2,Timer 3,Timer 4								 */
/*****************************************************************************/
/*****************************************************************************/
#define P_TMR0_Ctrl_ADDR			0x7400
#define P_TMR1_Ctrl_ADDR			0x7401
#define P_TMR2_Ctrl_ADDR			0x7402
#define P_TMR3_Ctrl_ADDR			0x7403
#define P_TMR4_Ctrl_ADDR			0x7404

#define P_TMR_LDOK_ADDR				0x740A

#define P_TMR0_TCNT_ADDR			0x7430
#define P_TMR1_TCNT_ADDR			0x7431
#define P_TMR2_TCNT_ADDR			0x7432
#define P_TMR3_TCNT_ADDR			0x7433
#define P_TMR4_TCNT_ADDR			0x7434

#define P_TMR0_TGRA_ADDR			0x7440
#define P_TMR0_TGRB_ADDR			0x7441
#define P_TMR0_TGRC_ADDR			0x7442

#define P_TMR1_TGRA_ADDR			0x7443
#define P_TMR1_TGRB_ADDR			0x7444
#define P_TMR1_TGRC_ADDR			0x7445

#define P_TMR2_TGRA_ADDR			0x7446
#define P_TMR2_TGRB_ADDR			0x7447

#define P_TMR3_TGRA_ADDR			0x7448
#define P_TMR3_TGRB_ADDR			0x7449
#define P_TMR3_TGRC_ADDR			0x744A
#define P_TMR3_TGRD_ADDR			0x744B

#define P_TMR4_TGRA_ADDR			0x744C
#define P_TMR4_TGRB_ADDR			0x744D
#define P_TMR4_TGRC_ADDR			0x744E
#define P_TMR4_TGRD_ADDR			0x744F

#define P_TMR0_TPR_ADDR				0x7435
#define P_TMR1_TPR_ADDR				0x7436
#define P_TMR2_TPR_ADDR				0x7437
#define P_TMR3_TPR_ADDR				0x7438
#define P_TMR4_TPR_ADDR				0x7439

#define P_TMR0_TBRA_ADDR			0x7450
#define P_TMR0_TBRB_ADDR			0x7451
#define P_TMR0_TBRC_ADDR			0x7452

#define P_TMR1_TBRA_ADDR			0x7453
#define P_TMR1_TBRB_ADDR			0x7454
#define P_TMR1_TBRC_ADDR			0x7455

#define P_TMR2_TBRA_ADDR			0x7456
#define P_TMR2_TBRB_ADDR			0x7457

#define P_TMR3_TBRA_ADDR			0x7458
#define P_TMR3_TBRB_ADDR			0x7459
#define P_TMR3_TBRC_ADDR			0x745A

#define P_TMR4_TBRA_ADDR			0x745C
#define P_TMR4_TBRB_ADDR			0x745D
#define P_TMR4_TBRC_ADDR			0x745E

#define	P_TMR0_IOCtrl_ADDR			0x7410
#define	P_TMR1_IOCtrl_ADDR			0x7411
#define	P_TMR2_IOCtrl_ADDR			0x7412
#define	P_TMR3_IOCtrl_ADDR			0x7413
#define	P_TMR4_IOCtrl_ADDR			0x7414

#define P_TMR0_INT_ADDR				0x7420
#define P_TMR1_INT_ADDR				0x7421
#define P_TMR2_INT_ADDR				0x7422
#define P_TMR3_INT_ADDR				0x7423
#define P_TMR4_INT_ADDR				0x7424

#define P_TMR0_Status_ADDR			0x7425
#define P_TMR1_Status_ADDR			0x7426
#define P_TMR2_Status_ADDR			0x7427
#define P_TMR3_Status_ADDR			0x7428
#define P_TMR4_Status_ADDR			0x7429

#define P_TMR_Start_ADDR			0x7405
#define P_TMR_Output_ADDR			0x7406

#define P_TMR3_OutputCtrl_ADDR		0x7407
#define P_TMR4_OutputCtrl_ADDR		0x7408

#define	P_POS0_DectCtrl_ADDR		0x7462
#define	P_POS1_DectCtrl_ADDR		0x7463

#define	P_POS0_DectData_ADDR		0x7464
#define	P_POS1_DectData_ADDR		0x7465

#define	P_TMR3_DeadTime_ADDR		0x7460
#define	P_TMR4_DeadTime_ADDR		0x7461

#define	P_TPWM_Write_ADDR			0x7409

#define	P_Fault1_Ctrl_ADDR			0x7466
#define	P_Fault2_Ctrl_ADDR			0x7467

#define	P_OL1_Ctrl_ADDR				0x7468
#define	P_OL2_Ctrl_ADDR				0x7469

#define	P_Fault1_Release_ADDR		0x746A
#define	P_Fault2_Release_ADDR		0x746B

/*****************************************************************************/
/*****************************************************************************/
/* D. 10-bit ADC converter register											 */
/*****************************************************************************/
/*****************************************************************************/
#define P_ADC_Setup_ADDR				0x7160
#define P_ADC_Ctrl_ADDR					0x7161
#define P_ADC_Data_ADDR					0x7162
#define P_ADC_Channel_ADDR				0x7166

/*****************************************************************************/
/*****************************************************************************/
/* E. Standard Peripheral Interface  SPI register							 */
/*****************************************************************************/
/*****************************************************************************/
#define P_SPI_Ctrl_ADDR					0x7140
#define P_SPI_TxStatus_ADDR				0x7141
#define P_SPI_TxBuf_ADDR				0x7142
#define P_SPI_RxStatus_ADDR				0x7143
#define P_SPI_RxBuf_ADDR				0x7144

/*****************************************************************************/
/*****************************************************************************/
/* F. Flash organization and control register								 */
/*****************************************************************************/
/*****************************************************************************/
#define P_Flash_RW_ADDR					0x704D	
#define P_Flash_Ctrl_ADDR				0x7555

/*****************************************************************************/
/*****************************************************************************/
/* G. UART Control Register													 */
/*****************************************************************************/
/*****************************************************************************/
#define P_UART_Data_ADDR				0x7100	
#define P_UART_RXStatus_ADDR			0x7101	
#define P_UART_Ctrl_ADDR				0x7102	
#define P_UART_BaudRate_ADDR			0x7103	
#define P_UART_Status_ADDR				0x7104	

/*****************************************************************************/
/*****************************************************************************/
/* H. Compare Match Timer Register											 */				
/*****************************************************************************/
/*****************************************************************************/
#define P_CMT_Start_ADDR				0x7500
#define P_CMT_Ctrl_ADDR					0x7501
#define P_CMT0_TCNT_ADDR				0x7508
#define P_CMT1_TCNT_ADDR				0x7509
#define P_CMT0_TPR_ADDR					0x7510
#define P_CMT1_TPR_ADDR					0x7511	

/*****************************************************************************/
/*****************************************************************************/
/* I. Time Base Register													 */				
/*****************************************************************************/
/*****************************************************************************/
#define P_TMB_Reset_ADDR				0x70B8
#define P_BZO_Ctrl_ADDR					0x70B9

/*****************************************************************************/
/* Geneic register structure declaration									 */
/*****************************************************************************/
typedef union
{
	UInt16	W;
	struct
	{
		UInt16	bit0		: 1;
		UInt16	bit1		: 1;
		UInt16	bit2		: 1;
		UInt16	bit3		: 1;
		UInt16	bit4		: 1;
		UInt16	bit5		: 1;
		UInt16	bit6		: 1;
		UInt16	bit7		: 1;
		UInt16	bit8		: 1;
		UInt16	bit9		: 1;
		UInt16	bit10		: 1;
		UInt16	bit11		: 1;
		UInt16	bit12		: 1;
		UInt16	bit13		: 1;
		UInt16	bit14		: 1;
		UInt16	bit15		: 1;
	} B;
} GEN_REG_DEF;

/*****************************************************************************/
/*****************************************************************************/
/* A. CPU Control Register						 							 */
/*****************************************************************************/
/*****************************************************************************/
typedef union
{
	UInt16	W;
	struct
	{
		UInt16	WaitCMD		: 16;
	} B;	
} P_Wait_Enter_DEF;

typedef union
{
	UInt16	W;
	struct
	{
		UInt16	StdbyCMD	: 16;
	} B;	
} P_Stdby_Enter_DEF;

/*****************************************************************************/
/*****************************************************************************/
/* B. IO Control Register						 							 */
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
/* IOA Special Functions Enable Control Register (P_IOA_SPE)				 */
/* bit 8 - 0    : Reserve													 */
/* bit 9    	: TIO2AEN, P_TMR2_TGRA CCP enable							 */											 
/* bit 10    	: TIO2BEN, P_TMR2_TGRB CCP enable							 */
/* bit 11		: TCLKAEN, External clock A input pin enable				 */
/* bit 12		: TCLKBEN, External clock B input pin enable				 */
/* bit 13		: TCLKCEN, External clock C input pin enable				 */
/* bit 14		: TCLKDEN, External clock D input pin enable				 */
/* bit 15 		: Reserve													 */
/*****************************************************************************/
typedef union
{
	UInt16	W;
	struct
	{
		UInt16	Reserve1	: 9;
		UInt16	TIO2AEN		: 1;
		UInt16	TIO2BEN		: 1;		
		UInt16	TCLKAEN		: 1;
		UInt16	TCLKBEN		: 1;
		UInt16	TCLKCEN		: 1;
		UInt16	TCLKDEN		: 1;
		UInt16	Reserve2	: 1;				
	} B;	
} P_IOA_SPE_DEF;

/*****************************************************************************/
/* IOB Special Functions Enable Control Register (P_IOB_SPE)				 */
/* bit 0    	: W1NEN,  W1N phase output enable							 */
/* bit 1    	: V1NEN,  V1N phase output enable							 */
/* bit 2    	: U1NEN,  U1N phase output enable							 */
/* bit 3    	: W1EN,  W1 phase output enable							 	 */
/* bit 4    	: V1EN,  V1 phase output enable							 	 */
/* bit 5    	: U1EN,  U1 phase output enable							 	 */
/* bit 6    	: FTIN1EN, External fault protection input 1 enable			 */										 
/* bit 7    	: OL1EN, Overload protection input 1 enable					 */
/* bit 8		: TIO0CEN, P_TMR0_TGRC CCP enable				 			 */
/* bit 9		: TIO0BEN, P_TMR0_TGRB CCP enable				 			 */
/* bit 10		: TIO0AEN, P_TMR0_TGRA CCP enable				 			 */
/* bit 15 - 11	: Reserve													 */
/*****************************************************************************/
typedef union
{
	UInt16	W;
	struct
	{
		UInt16	W1NEN		: 1;
		UInt16	V1NEN		: 1;
		UInt16	U1NEN		: 1;
		UInt16	W1EN		: 1;
		UInt16	V1EN		: 1;
		UInt16	U1EN		: 1;	
		UInt16	FTIN1EN		: 1;
		UInt16	OL1EN		: 1;		
		UInt16	TIO0CEN		: 1;
		UInt16	TIO0BEN		: 1;
		UInt16	TIO0AEN		: 1;
		UInt16	Reserve		: 5;				
	} B;	
} P_IOB_SPE_DEF;

/*****************************************************************************/
/* IOC Special Functions Enable Control Register (P_IOC_SPE)				 */
/* bit 1 - 0	: Reserve													 */
/* bit 2    	: EXINT0EN,  External interrupt input 0 enable 				 */
/* bit 3    	: EXINT1EN,  External interrupt input 1 enable				 */
/* bit 4    	: Reserve													 */
/* bit 5    	: TIO1AEN,  P_TMR1_TGRA	CCP enable						 	 */
/* bit 6    	: TIO1BEN,  P_TMR1_TGRB	CCP enable						 	 */
/* bit 7    	: TIO1CEN,  P_TMR1_TGRC	CCP enable						 	 */
/* bit 8    	: OL2EN,  Overload protection input 2 enable			 	 */
/* bit 9    	: FTIN2EN,  External fault protection input 2 enable	 	 */
/* bit 10    	: U2EN, U2 phase output enable								 */										 
/* bit 11    	: V2EN, V2 phase output enable								 */		
/* bit 12    	: W2EN, W2 phase output enable								 */		
/* bit 13    	: U2NEN, U2N phase output enable							 */										 

⌨️ 快捷键说明

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