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

📄 spce061v004.h

📁 1 系统简介 与本文档配套的超声波测距模组为 V2.0 版本。 1.1 基本特性与参数指标 超声波传感器谐振频率:40KHz; 模组传感器工作电压:4.5V~9V 模组接口电压:4
💻 H
📖 第 1 页 / 共 2 页
字号:
//========================================================================================
// Progarm: The file be included by modules
// Arranged by: Lanin Lin
// Date: 	2002/11/20: first version
// 			2002/11/27: 2nd version ,add SIO initial
//			2003/04/30: 3nd version ,remove IRQ and FIQ prototype	
//========================================================================================
#ifndef	__SPCE061_H__
#define	__SPCE061_H__

//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_IOA_Dir(unsigned int);
extern unsigned int Get_IOA_Dir(void);
extern void Set_IOA_Attrib(unsigned int);
extern unsigned int Get_IOA_Attrib(void);
extern void Set_IOA_Data(unsigned int);
extern unsigned int Get_IOA_Data(void);
extern void Set_IOA_Buffer(unsigned int);
extern unsigned int Get_IOA_Buffer(void);
extern void Get_IOA_Latch(void);
//-----------------------------------------------------------------------------------//
extern void Set_IOB_Dir(unsigned int);
extern unsigned int Get_IOB_Dir(void);
extern void Set_IOB_Attrib(unsigned int);
extern unsigned int Get_IOB_Attrib(void);
extern void Set_IOB_Data(unsigned int);
extern unsigned int Get_IOB_Data(void);
extern void Set_IOB_Buffer(unsigned int);
extern unsigned int Get_IOB_Buffer(void);
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//

//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_TimerA_Data(unsigned int);
extern unsigned int Get_TimerA_Data(void);
extern void Set_TimerA_Ctrl(unsigned int);
//----------------Default Value-----------------------------//
	#define		C_TimerADefault				0x0036			//			
//----------------TimerA TimeBase---------------------------//
	#define		C_SourceA_Fosc2				0x0000			//
	#define		C_SourceA_Fosc256		   	0x0001			//
	#define		C_SourceA_32768Hz			0x0002			//
	#define		C_SourceA_8192Hz			0x0003			//
	#define		C_SourceA_4096Hz			0x0004			//
	#define		C_SourceA_1					0x0005			//
	#define 	C_SourceA_0					0x0006			//*
	#define 	C_SourceA_Ext1				0x0007			//
//----------------------------------------------------------//
	#define		C_SourceB_2048Hz			0x0000 			//
	#define		C_SourceB_1024Hz			0x0008 			//
	#define		C_SourceB_256Hz				0x0010 			//
	#define		C_SourceB_TMB1				0x0018 			//
	#define		C_SourceB_4Hz				0x0020 			//
	#define		C_SourceB_2Hz				0x0028 			//
	#define		C_SourceB_1					0x0030 			//*
	#define		C_SourceB_Ext2				0x0038 			//
//-----------------------------------------------------------------------------------//
extern void Set_TimerB_Data(unsigned int);
extern unsigned int Get_TimerB_Data(void);
extern void Set_TimerB_Ctrl(unsigned int);
//----------------Default Value-----------------------------//
	#define		C_TimerBDefault				0x0006			//		
//----------------TimerB TimeBase----------------------------//
	#define		C_SourceC_Fosc2				0x0000 			//
	#define		C_SourceC_Fosc256		    0x0001 			//
	#define		C_SourceC_32768Hz			0x0002 			//
	#define		C_SourceC_8192Hz			0x0003 			//
	#define		C_SourceC_4096Hz			0x0004 			//
	#define		C_SourceC_1					0x0005 			//
	#define 	C_SourceC_0					0x0006 			//*
	#define 	C_SourceC_Ext1				0x0007 			//
//-----------------TimerA TimerB TimeBase--------------------------------------------//
	#define		C_DutyOff					0x0000 			//
	#define 	C_Duty1						0x0040 			//
	#define 	C_Duty2						0x0080 			//
	#define 	C_Duty3						0x00C0 			//
	#define 	C_Duty4						0x0100 			//
	#define 	C_Duty5						0x0140 			//
	#define 	C_Duty6						0x0180 			//
	#define 	C_Duty7						0x01C0 			//
	#define 	C_Duty8						0x0200 			//
	#define 	C_Duty9						0x0240 			//
	#define 	C_Duty10					0x0280 			//
	#define 	C_Duty11					0x02C0 			//
	#define 	C_Duty12					0x0300 			//
	#define 	C_Duty13					0x0340 			//
	#define 	C_Duty14					0x0380 			//
	#define 	C_Duty_Div_2				0x03C0 			// Timer A&B
//----------------Default Value-----------------------------//
	#define		C_TimeBaseDefault			0x0000			//		
//-----------------------------------------------------------------------------------//
extern void Set_TimeBase(unsigned int);
	#define 	C_TMB1_8Hz					0x0000 			//*
	#define 	C_TMB1_16Hz					0x0001 			//
	#define 	C_TMB1_32Hz					0x0002 			//
	#define 	C_TMB1_64Hz					0x0003 			//
	#define 	C_TMB2_128Hz				0x0000 			//*
	#define 	C_TMB2_256Hz				0x0004 			//
	#define 	C_TMB2_512Hz				0x0008 			//
	#define 	C_TMB2_1024Hz				0x000C 			//
extern void Clear_TimeBase(void);
	#define 	C_TMBCLR					0x5555 			//

//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_FeedBack(unsigned int);
	#define		C_FBKEN3		0x08	//Enable	IOB3 and IOB5 FeedBack2
	#define		C_FBKEN2		0x04	//Enable	IOB2 and IOB4 FeedBack1
	#define		C_IRTxEN		0x01	//Enable	IOB8 and IOB10 IRTx / Tx
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_INT_Ctrl(unsigned int);
extern unsigned int Get_INT_Ctrl(void);

extern void Set_INT_Mask(unsigned int);
extern unsigned int Get_INT_Mask(void);
extern void INT_Clear(unsigned int);
	#define 	C_IRQ6_TMB2             0x0001         	// Timer B IRQ6
	#define 	C_IRQ6_TMB1             0x0002         	// Timer A IRQ6
	#define 	C_IRQ5_2Hz              0x0004         	// 2Hz IRQ5
	#define 	C_IRQ5_4Hz              0x0008         	// 4Hz IRQ5
	#define 	C_IRQ4_1KHz             0x0010         	// 1024Hz IRQ4
	#define 	C_IRQ4_2KHz             0x0020         	// 2048Hz IRQ4
	#define 	C_IRQ4_4KHz             0x0040         	// 4096Hz IRQ4
	#define 	C_IRQ3_KEY              0x0080         	// Key Change IRQ3
	#define 	C_IRQ3_EXT1             0x0100         	// Ext1 IRQ3
	#define 	C_IRQ3_EXT2             0x0200         	// Ext2 IRQ3
	#define 	C_IRQ2_TMB              0x0400         	// Timer B IRQ2
	#define 	C_FIQ_TMB               0x0800         	// Timer B FIQ
	#define 	C_IRQ1_TMA              0x1000         	// Timer A IRQ1
	#define 	C_FIQ_TMA               0x2000         	// Timer A FIQ
	#define 	C_IRQ0_PWM              0x4000         	// PWM IRQ0
	#define 	C_FIQ_PWM               0x8000         	// PWM FIQ
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Watchdog_Clear(void);
	#define		C_WDTCLR				0x0001			//WDT CLR CMD
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_SystemClock(unsigned int);				//Std061SYS.asm
//... Definition for P_SystemClock ............
	#define		C_SystemClockDefalut	0x0013			// (default value)	
//B2..B0
	#define 	C_Fosc					0x0000 			// 
	#define 	C_Fosc_Div_2			0x0001 			//
	#define 	C_Fosc_Div_4			0x0002 			//
	#define 	C_Fosc_Div_8			0x0003 			// (default)
	#define 	C_Fosc_Div_16			0x0004 			//
	#define 	C_Fosc_Div_32			0x0005 			//
	#define 	C_Fosc_Div_64			0x0006 			//
	#define 	C_Sleep					0x0007 		 	//
//-----------------------------------------------------------------------------------//
//B4
	#define		C_32K_Work				0x0010 			// (default)
	#define 	C_32K_Off				0x0000 			// 
//B3
	#define 	C_StrongMode			0x0008 			// 
	#define 	C_AutoMode				0x0000 			// (default)
//-----------------------------------------------------------------------------------//
//B7..B5
	#define 	C_Fosc_24M				0x0000 			// (default)
	#define 	C_Fosc_20M				0x0020 			//
	#define 	C_Fosc_32M				0x0040 			//
	#define 	C_Fosc_40M				0x0060 			//
	#define 	C_Fosc_49M				0x0080 			//
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_ADC_Data(unsigned int);
extern unsigned int Get_ADC_Data(void);
//B15-B6  --> Data
extern void Set_ADC_Ctrl(unsigned int);
extern unsigned int Get_ADC_Ctrl(void);
//... Define for P_ADC_Ctrl ....................
	#define		C_ADCE					0x0001 			//B1	//Enable ADC
	#define		C_ADCN					0x0000			//B1	//Disable ADC&MIC
	#define 	C_MIC_DIS				0x0002 			//B2	//No Mic
	#define 	C_MIC_ENB				0x0000 			//B2	//Have MIC
	#define 	C_AGCE					0x0004 			//B3	//Have AGC
	#define 	C_AGCN					0x0000 			//B3	//No AGC
	#define 	C_DAC_OUT2mA			0x0040 			//B6	//DAC current 2mA
	#define 	C_DAC_OUT3mA			0x0000 			//B6	//DAC currect 3mA
	#define 	C_VEXTREF_ENB			0x0080 			//B7	//Have Ext REF Voltage
	#define 	C_VEXTREF_DIS			0x0000 			//B7	//No Ext REF Voltag
	#define 	C_V2VREFB_DIS			0x0100 			//B8	//No 2V Voltage
	#define 	C_V2VREFB_ENB			0x0000 			//B8	//Have 2V Voltage
	
//B15	-->	RDY
//-----------------------------------------------------------------------------------//
extern void Set_ADC_MUX_Ctrl(unsigned int);
extern unsigned int Get_ADC_MUX_Ctrl(void);
//B2..B0
	#define		C_ADC_CH_MICin			0x0000 			//
	#define		C_ADC_CH1				0x0001 			//IOA0
	#define		C_ADC_CH2				0x0002 			//IOA1
	#define		C_ADC_CH3				0x0003 			//IOA2
	#define		C_ADC_CH4				0x0004 			//IOA3
	#define		C_ADC_CH5				0x0005 			//IOA4
	#define		C_ADC_CH6				0x0006 			//IOA5
	#define		C_ADC_CH7				0x0007 			//IOA6
//B15	-->	RDY
//B14	--> Fail B
//-----------------------------------------------------------------------------------//
extern unsigned int Get_ADC_LineIn_Data(void);
//B15-B6  --> Data
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_DAC2_Data(unsigned int);
extern unsigned int Get_DAC2_Data(void);
//B15-B6  --> Data
extern void Set_DAC1_Data(unsigned int);
extern unsigned int Get_DAC1_Data(void);
//B15-B6  --> Data
extern void Set_DAC_Ctrl(unsigned int);
//B8..B7
	#define	C_DA1_Direct				0x0000 			// DAC1 latch
	#define C_DA1_LatchA				0x0080 			// 
	#define C_DA1_LatchB				0x0100 			//
	#define C_DA1_LatchAB				0x0180 			//
//B6..B5  
	#define	C_DA2_Direct				0x0000 			// DAC2 latch
	#define C_DA2_LatchA				0x0020 			// 
	#define C_DA2_LatchB				0x0040 			//
	#define C_DA2_LatchAB				0x0060 			//
//B4..B3
	#define C_AD_Direct					0x0000 			// A/D MIC_IN latch 
	#define C_AD_LatchA					0x0008 			//
	#define	C_AD_LatchB					0x0010 			//
	#define C_AD_LatchAB				0x0018 			//
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_LVD_Ctrl(unsigned int);
extern unsigned int Get_LVD_Ctrl(void);
//... Define for P_LVD_Ctrl ...................
	#define 	C_LVD24V				0x0000 			// LVD = 2.4V 	(default)
	#define 	C_LVD28V				0x0001 			// LVD = 2.8V
	#define 	C_LVD32V				0x0002 			// LVD = 3.2V
//B15	Result of LVD
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
extern void Set_SIO_Ctrl(unsigned int);
extern unsigned int Get_SIO_Ctrl(void);
//B1..B0
	#define 	C_SIO_Addr8				0x0002 			// Address  = 8 
	#define 	C_SIO_Addr16			0x0000 			// Address  = 16 	(default)
	#define 	C_SIO_Addr24			0x0003 			// Address  = 24
//B4..B3
	#define 	C_SIO_Clk_Div_16		0x0000 			// CPU CLK/16 		(default)
	#define 	C_SIO_Clk_Div_4			0x0008 			// CPU CLK/4
	#define 	C_SIO_Clk_Div_8			0x0010 			// CPU CLK/8
	#define 	C_SIO_Clk_Div_32		0x0018			// CPU CLK/32
//B5

⌨️ 快捷键说明

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