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

📄 spce061a.h

📁 这是在凌阳单片机,使用超级终端,显示的一个中文输入法.
💻 H
📖 第 1 页 / 共 2 页
字号:
//================================================================
//levension @SCUT                                                
//my blog: http://www.ednchina.com/blog/levension/               
//=================================================================

#ifndef	__SPCE061A_h__
#define	__SPCE061A_h__

//	IO port control registers
	#define		P_IOA_Data				(*(volatile unsigned int *)0x7000)
	#define		P_IOA_Buffer			(*(volatile unsigned int *)0x7001)
	#define		P_IOA_Dir				(*(volatile unsigned int *)0x7002)
	#define		P_IOA_Attrib			(*(volatile unsigned int *)0x7003)
	#define		P_IOA_Latch				(*(volatile unsigned int *)0x7004)

	#define		P_IOB_Data				(*(volatile unsigned int *)0x7005)
	#define		P_IOB_Buffer			(*(volatile unsigned int *)0x7006)
	#define		P_IOB_Dir				(*(volatile unsigned int *)0x7007)
	#define		P_IOB_Attrib			(*(volatile unsigned int *)0x7008)

//	Timer control registers
	#define		P_TimerA_Data			(*(volatile unsigned int *)0x700A)
	#define		P_TimerA_Ctrl			(*(volatile unsigned int *)0x700B)
	#define		P_TimerB_Data			(*(volatile unsigned int *)0x700C)
	#define		P_TimerB_Ctrl			(*(volatile unsigned int *)0x700D)

//	Timebase control registers
	#define		P_TimeBase_Setup		(*(volatile unsigned int *)0x700E)
	#define		P_Timebase_Setup		(*(volatile unsigned int *)0x700E)		// Same as P_TimeBase_Setup
	#define		P_TimeBase_Clear		(*(volatile unsigned int *)0x700F)
	#define		P_Timebase_Clear		(*(volatile unsigned int *)0x700F)		// Same as P_TimeBase_Clear

//	Interrupt control registers
	#define		P_INT_Ctrl				(*(volatile unsigned int *)0x7010)
	#define		P_INT_Clear				(*(volatile unsigned int *)0x7011)
	#define		P_INT_Mask				(*(volatile unsigned int *)0x702D)
	#define		P_INT_Ctrl_New			(*(volatile unsigned int *)0x702D)		// Same as P_INT_Mask

//	Analog functions control registers
	#define		P_ADC					(*(volatile unsigned int *)0x7014)
	#define		P_ADC_Ctrl				(*(volatile unsigned int *)0x7015)
	#define		P_ADC_MUX_Ctrl			(*(volatile unsigned int *)0x702B)
	#define		P_ADC_MUX_Data			(*(volatile unsigned int *)0x702C)
	#define		P_ADC_LINEIN_Data		(*(volatile unsigned int *)0x702C)		// Same as P_ADC_MUX_Data
	#define		P_ADC_LineIn_Data		(*(volatile unsigned int *)0x702C)		// Same as P_ADC_MUX_Data

	#define		P_DAC_Ctrl				(*(volatile unsigned int *)0x702A)
	#define		P_DAC1					(*(volatile unsigned int *)0x7017)
	#define		P_DAC2					(*(volatile unsigned int *)0x7016)

//	Serial	functions control registers
	#define		P_SIO_Data				(*(volatile unsigned int *)0x701A)
	#define		P_SIO_Addr_Low			(*(volatile unsigned int *)0x701B)
	#define		P_SIO_Addr_Mid			(*(volatile unsigned int *)0x701C)
	#define		P_SIO_Addr_High			(*(volatile unsigned int *)0x701D)
	#define		P_SIO_Ctrl				(*(volatile unsigned int *)0x701E)
	#define		P_SIO_Start				(*(volatile unsigned int *)0x701F)
	#define		P_SIO_Stop				(*(volatile unsigned int *)0x7020)

	#define		P_UART_Command1			(*(volatile unsigned int *)0x7021)
	#define		P_UART_Command2			(*(volatile unsigned int *)0x7022)
	#define		P_UART_Data				(*(volatile unsigned int *)0x7023)
	#define		P_UART_BaudScalarLow	(*(volatile unsigned int *)0x7024)
	#define		P_UART_BaudScalarHigh	(*(volatile unsigned int *)0x7025)

//	Other control registers
	#define		P_Feedback				(*(volatile unsigned int *)0x7009)
	#define		P_SystemClock			(*(volatile unsigned int *)0x7013)
	#define		P_Watchdog_Clear		(*(volatile unsigned int *)0x7012)
	#define		P_LVD_Ctrl				(*(volatile unsigned int *)0x7019)
	#define		P_Flash_Ctrl			(*(volatile unsigned int *)0x7555)


//***************************************************************************//
//	Constant definitions													 //
//***************************************************************************//
//	Constants for interrupt
	#define		C_FIQ_PWM				0x8000		// P_INT_Ctrl
	#define		C_FIQ_TMA				0x2000		// P_INT_Ctrl
	#define		C_FIQ_TMB				0x0800		// P_INT_Ctrl
	#define		C_IRQ0_PWM				0x4000		// P_INT_Ctrl
	#define		C_IRQ1_TMA				0x1000		// P_INT_Ctrl
	#define		C_IRQ2_TMB				0x0400		// P_INT_Ctrl
	#define		C_IRQ3_KEY				0x0080		// P_INT_Ctrl
	#define		C_IRQ3_EXT1				0x0100		// P_INT_Ctrl
	#define		C_IRQ3_EXT2				0x0200		// P_INT_Ctrl
	#define		C_IRQ4_1KHz				0x0010		// P_INT_Ctrl
	#define		C_IRQ4_2KHz				0x0020		// P_INT_Ctrl
	#define		C_IRQ4_4KHz				0x0040		// P_INT_Ctrl
	#define		C_IRQ5_2Hz				0x0004		// P_INT_Ctrl
	#define		C_IRQ5_4Hz				0x0008		// P_INT_Ctrl
	#define		C_IRQ6_TMB1				0x0002		// P_INT_Ctrl
	#define		C_IRQ6_TMB2				0x0001		// P_INT_Ctrl

//	Constants for TimerA & TimerB
	#define		C_TMA1_FOSC_2			0x0000		// P_TimerA_Ctrl
	#define		C_TMA1_FOSC_256			0x0001		// P_TimerA_Ctrl
	#define		C_TMA1_32KHz			0x0002		// P_TimerA_Ctrl
	#define		C_TMA1_8KHz				0x0003		// P_TimerA_Ctrl
	#define		C_TMA1_4KHz				0x0004		// P_TimerA_Ctrl
	#define		C_TMA1_1				0x0005		// P_TimerA_Ctrl
	#define		C_TMA1_0				0x0006		// P_TimerA_Ctrl
	#define		C_TMA1_EXT1				0x0007		// P_TimerA_Ctrl
	#define		C_TMA2_2KHz				0x0000		// P_TimerA_Ctrl
	#define		C_TMA2_1KHz				0x0008		// P_TimerA_Ctrl
	#define		C_TMA2_256Hz			0x0010		// P_TimerA_Ctrl
	#define		C_TMA2_TMB1				0x0018		// P_TimerA_Ctrl
	#define		C_TMA2_4Hz				0x0020		// P_TimerA_Ctrl
	#define		C_TMA2_2Hz				0x0028		// P_TimerA_Ctrl
	#define		C_TMA2_1				0x0030		// P_TimerA_Ctrl
	#define		C_TMA2_EXT2				0x0038		// P_TimerA_Ctrl
	#define		C_TMA_PWM_OFF			0x0000		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D1			0x0040		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D2			0x0080		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D3			0x00C0		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D4			0x0100		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D5			0x0140		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D6			0x0180		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D7			0x01C0		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D8			0x0200		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D9			0x0240		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D10			0x0280		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D11			0x02C0		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D12			0x0300		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D13			0x0340		// P_TimerA_Ctrl
	#define		C_TMA_PWM_D14			0x0380		// P_TimerA_Ctrl
	#define		C_TMA_PWM_TA			0x03C0		// P_TimerA_Ctrl
									    
	#define		C_TMB_FOSC_2			0x0000		// P_TimerB_Ctrl
	#define		C_TMB_FOSC_256			0x0001		// P_TimerB_Ctrl
	#define		C_TMB_32KHz				0x0002		// P_TimerB_Ctrl
	#define		C_TMB_8KHz				0x0003		// P_TimerB_Ctrl
	#define		C_TMB_4KHz				0x0004		// P_TimerB_Ctrl
	#define		C_TMB_1					0x0005		// P_TimerB_Ctrl
	#define		C_TMB_0					0x0006		// P_TimerB_Ctrl
	#define		C_TMB_EXT1				0x0007		// P_TimerB_Ctrl
	#define		C_TMB_PWM_OFF			0x0000		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D1			0x0040		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D2			0x0080		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D3			0x00C0		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D4			0x0100		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D5			0x0140		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D6			0x0180		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D7			0x01C0		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D8			0x0200		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D9			0x0240		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D10			0x0280		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D11			0x02C0		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D12			0x0300		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D13			0x0340		// P_TimerB_Ctrl
	#define		C_TMB_PWM_D14			0x0380		// P_TimerB_Ctrl
	#define		C_TMB_PWM_TB			0x03C0		// P_TimerB_Ctrl

//	Constants for TimeBase
	#define		C_TMB1_8Hz				0x0000		// P_Timebase_Setup
	#define		C_TMB1_16Hz				0x0001		// P_Timebase_Setup
	#define		C_TMB1_32Hz				0x0002		// P_Timebase_Setup
	#define		C_TMB1_64Hz				0x0003		// P_Timebase_Setup
	#define		C_TMB2_128Hz			0x0000		// P_Timebase_Setup
	#define		C_TMB2_256Hz			0x0004		// P_Timebase_Setup
	#define		C_TMB2_512Hz			0x0008		// P_Timebase_Setup
	#define		C_TMB2_1024Hz			0x000c		// P_Timebase_Setup

//	Constants for system clock
	#define		C_Fosc_49M				0x0080		// P_SystemClock
	#define		C_Fosc_40M				0x0060		// P_SystemClock
	#define		C_Fosc_32M				0x0040		// P_SystemClock
	#define		C_Fosc_24M				0x0000		// P_SystemClock
	#define		C_Fosc_20M				0x0020		// P_SystemClock
									    
	#define		C_Fosc					0x0000		// P_SystemClock
	#define		C_Fosc_Div_2			0x0001		// P_SystemClock
	#define		C_Fosc_Div_4			0x0002		// P_SystemClock
	#define		C_Fosc_Div_8			0x0003		// P_SystemClock
	#define		C_Fosc_Div_16			0x0004		// P_SystemClock
	#define		C_Fosc_Div_32			0x0005		// P_SystemClock
	#define		C_Fosc_Div_64			0x0006		// P_SystemClock
	#define		C_Sleep					0x0007		// P_SystemClock

	#define		C_StrongMode			0x0008		// P_SystemClock
	#define		C_AutoMode				0x0000		// P_SystemClock
	#define		C_32K_Work				0x0010		// P_SystemClock
	#define		C_32K_Off				0x0000		// P_SystemClock

//	Constants for ADC & DAC
	#define		C_ADC_EN				0x0001		// P_ADC_Ctrl
	#define		C_ADC_DIS				0x0000		// P_ADC_Ctrl
	#define		C_MIC_RDY				0x8000		// P_ADC_Ctrl
	#define		C_MIC_EN				0x0000		// P_ADC_Ctrl
	#define		C_MIC_DIS				0x0002		// P_ADC_Ctrl
	#define		C_MIC_AGC_EN			0x0000		// P_ADC_Ctrl
	#define		C_MIC_AGC_DIS			0x0000		// P_ADC_Ctrl
	#define		C_VEXTREF_EN			0x0080		// P_ADC_Ctrl
	#define		C_VEXTREF_DIS			0x0000		// P_ADC_Ctrl
	#define		C_2V_EN					0x0100		// P_ADC_Ctrl
	#define		C_2V_DIS				0x0000		// P_ADC_Ctrl
	#define		C_DAC_3mA				0x0040		// P_ADC_Ctrl
	#define		C_DAC_2mA				0x0000		// P_ADC_Ctrl

⌨️ 快捷键说明

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