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

📄 spce061a.h

📁 这段代码是关于用凌阳采集温度、并显示在数码管上的程序。
💻 H
📖 第 1 页 / 共 2 页
字号:
// ========================================================================= //
// File Name   : SPCE061A.h													 //	
// Description : SPCE061A register definitions								 //
// Processor   : SPCE061A													 //	
// Revision	   : v1.00, 2005-10-19											 //
// ========================================================================= //

//***************************************************************************//
//	Register definitions													 //
//***************************************************************************//

//	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			0x0004		// 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

⌨️ 快捷键说明

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