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

📄 hardware1.inc

📁 本系统实现了一种具有语音播报、语音提示的高性能、高智能的实用型远距离多 路数据采集系统。 关键词: SPCE061A
💻 INC
字号:
//========================================================================================
// Progarm: The file be included by modules
// Arranged by: Andy Hsu
// Date: 	2000/06/23: first version
//		2000/07/24: modified
//		2000/10/20: modified for version 52A
//========================================================================================
//////////////////////////////////////////////////////////////////
// Definitions for I/O Port
//////////////////////////////////////////////////////////////////
.DEFINE	P_IOA_Data   		0x7000;        // Write Data into data register and read from IOA pad
.DEFINE P_IOA_Buffer        0x7001;        // Write Data into buffer register and read from buffer register
.DEFINE P_IOA_Dir           0x7002;        // Direction vector for IOA
.DEFINE P_IOA_Attrib        0x7003;        // Attribute vector for IOA
.DEFINE P_IOA_Latch         0x7004;        // Latch PortA data for key change wake-up

.DEFINE P_IOB_Data         	0x7005;        // Write Data into the data register and read from IOB pad
.DEFINE P_IOB_Buffer        0x7006;        // Write Data into buffer register and read from buffer register
.DEFINE P_IOB_Dir           0x7007;        // Direction vector for IOB
.DEFINE P_IOB_Attrib        0x7008;        // Attribute vector for IOB

.DEFINE P_FeedBack          0x7009;        // Clock form external R,C
.DEFINE P_TimerA_Data       0x700A;        // Data port for TimerA 
.DEFINE P_TimerA_Ctrl       0x700B;        // Control Port for TimerA
.DEFINE P_TimerB_Data       0x700C;        // Data port for TimerB
.DEFINE P_TimerB_Ctrl       0x700D;        // Control Port for TimerB
.DEFINE P_TimeBase_Setup    0x700E;        // TimerBase Freq. Set
.DEFINE P_TimeBase_Clear	0x700F;		   // Reset Timerbase counter
.DEFINE P_INT_Ctrl          0x7010;        // Control port for interrupt source
.DEFINE P_INT_Clear         0x7011;        // Clear interrupt source
.DEFINE P_Watchdog_Clear    0x7012;        // Watchdog Reset
.DEFINE P_SystemClock       0x7013;        // Change system clock frequency(include go to standby mode)

//... PA6442 Old version (for EC-02) ...........
//.DEFINE P_ADDA               0x7014;        //10-bit DA(W) AD(R)
//.DEFINE P_DAC1               0x7014;        //
//.DEFINE P_AD_Ctrl            0x7015;        //AD/DA control
//.DEFINE P_AD_Status          0x7015;        //AD status
//.DEFINE P_DAC2               0x7016;        //DAC channel 2
//.DEFINE P_PWM                0x7016;        //PWM output
//.DEFINE P_DA_Ctrl            0x7017;        //DAC latch control

//... PA6442 New version MC52A (For EC-03)....
.DEFINE P_ADC 	        	0x7014;        	// Data Port for AD
.DEFINE P_ADC_Ctrl          0x7015;        	// Control Port for AD control
.DEFINE P_ADC_Status        0x7015;        	// AD Port Status
.DEFINE P_DAC2              0x7016;        	// Data Port for DAC2
.DEFINE P_PWM               0x7016;        	// Data Port for PWM
.DEFINE P_DAC1	        	0x7017;        	// Data Port for DAC1
.DEFINE P_DAC_Ctrl			0x702A;			// Control Port for two DAC and audio output mode
//............................................

.DEFINE P_IR_Ctrl			0x7018;			// Control Port for IR
.DEFINE P_LVD_Ctrl          0x7019;        	// Control Port for LVD

.DEFINE P_SIO_Addr_Low		0x701B;			// Address Port low
.DEFINE P_SIO_Addr_Mid		0x701C;			// Address Port middle
.DEFINE P_SIO_Addr_High	 	0x701D;			// Address Port high
.DEFINE P_SIO_Ctrl			0x701E;			// Control Port
.DEFINE P_SIO_Start			0x701F;			// Start port for serial interface
.DEFINE P_SIO_Stop			0x7020;			// Stop port for serial interface

.DEFINE P_UART_Command1		 0x7021;		// Command1 Port for UART
.DEFINE P_UART_Command2		 0x7022;		// Command2 Port for UART
.DEFINE P_UART_Data			 0x7023; 		// Data Port for UART
.DEFINE	P_UART_BaudScalarLow 0x7024;		// Set Baud Rate scalar low
.DEFINE	P_UART_BaudScalarHigh 0x7025;		// Set Baud Rate scalar high


//... Definitions for P_INT_Ctrl ..............
.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

// Definitions for P_TimerA/B_Ctrl ............                               
.DEFINE	C_Fosc_2				0x0000;			// 
.DEFINE	C_Fosc_256		    	0x0001;			//
.DEFINE	C_32768Hz				0x0002;			//
.DEFINE	C_8192Hz				0x0003;			//
.DEFINE	C_4096Hz				0x0004;			//
.DEFINE	C_A1					0x0005;			//
.DEFINE C_A0					0x0006;			//
.DEFINE C_Ext1					0x0007;			//

.DEFINE	C_2048Hz				0x0000;			//
.DEFINE	C_1024Hz				0x0008;			//
.DEFINE	C_256Hz					0x0010;			//
.DEFINE	C_TMB1Hz				0x0018;			//
.DEFINE	C_4Hz					0x0020;			//
.DEFINE	C_2Hz					0x0028;			//
.DEFINE	C_B1					0x0030;			//
.DEFINE	C_Ext2					0x0038;			//

.DEFINE	C_Off					0x0000;			//
.DEFINE C_D1					0x0040;			//
.DEFINE C_D2					0x0080;			//
.DEFINE C_D3					0x00C0;			//
.DEFINE C_D4					0x0100;			//
.DEFINE C_D5					0x0140;			//
.DEFINE C_D6					0x0180;			//
.DEFINE C_D7					0x01C0;			//
.DEFINE C_D8					0x0200;			//
.DEFINE C_D9					0x0240;			//
.DEFINE C_D10					0x0280;			//
.DEFINE C_D11					0x02C0;			//
.DEFINE C_D12					0x0300;			//
.DEFINE C_D13					0x0340;			//
.DEFINE C_D14					0x0380;			//
.DEFINE C_TA_Div_2				0x03C0;			// Timer A
.DEFINE C_TB_Div_2				0x03C0;			// Timer B

//... Definition for P_SystemClock ............
.DEFINE C_Fosc					0x0000;			// b3..b0
.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;		 	//

.DEFINE	C_32K_Work				0x0000;			// b4
.DEFINE C_32K_Off				0x0000;			// 
.DEFINE C_StrongMode			0x0000;			// b5
.DEFINE C_AutoMode				0x0000;			//

//... Define for P_AD_Ctrl ....................
.DEFINE	C_AD					0x0001;			//
.DEFINE C_DA					0x0000;			//
.DEFINE C_MIC					0x0000;			//
.DEFINE C_LINE					0x0002;			//

//... Define for P_DA_Ctrl ....................
.DEFINE C_PushPull				0x0000;			// b0, (default) 
.DEFINE C_DoubleEnd				0x0001;			// b0
.DEFINE	C_DAC_Mode				0x0000;			// b1, (default)
.DEFINE C_PWM_Mode				0x0002;			// b1

.DEFINE	C_D1_Direct				0x0000;			// DAC1 latch
.DEFINE C_D1_LatchA				0x0008;			// 
.DEFINE C_D1_LatchB				0x0010;			//
.DEFINE C_D1_LatchAB			0x0018;			//

.DEFINE	C_D2_Direct				0x0000;			// DAC2 latch
.DEFINE C_D2_LatchA				0x0020;			// 
.DEFINE C_D2_LatchB				0x0040;			//
.DEFINE C_D2_LatchAB			0x00C0;			//

//... Define for P_LVD_Ctrl ...................
.DEFINE C_LVD24V				0x0000;			// LVD = 2.4V 
.DEFINE C_LVD28V				0x0001;			// LVD = 2.8V
.DEFINE C_LVD32V				0x0002;			// LVD = 3.2V
.DEFINE C_LVD36V				0x0003;			// LVD = 3.6V


.EXTERNAL	F_SP_Read_INT_Status;			// for further use
.EXTERNAL 	F_SP_Write_INT_Status;			// for further use
.EXTERNAL  	F_SP_Set_INT_Vector;			// for further use
.EXTERNAL	F_SP_Clear_INT_Vector;			// for further use

.EXTERNAL	F_SP_Send_Out;					//
.EXTERNAL	F_SP_Send_DAC1;					//
.EXTERNAL	F_SP_Send_DAC2;					//
.EXTERNAL	F_SP_Send_Two_DAC;				//
.EXTERNAL	F_SP_Init_HW;					//

.EXTERNAL	R_InterruptStatus;


.EXTERNAL 	F_SP_RampUpDAC1;
.EXTERNAL 	F_SP_RampDnDAC1;
.EXTERNAL 	F_SP_RampUpDAC2;
.EXTERNAL  	F_SP_RampDnDAC2;

.EXTERNAL 	F_SP_InitQueue;
.EXTERNAL 	F_SP_ReadQueue;
.EXTERNAL 	F_SP_WriteQueue;
.EXTERNAL 	F_SP_TestQueue;



.EXTERNAL	F_SP_Get_ADC

.EXTERNAL 	F_SP_Set_P_TimerA_Ctrl
.EXTERNAL 	F_SP_Set_P_TimerA_Data
.EXTERNAL 	F_SP_Set_P_TimerB_Ctrl
.EXTERNAL 	F_SP_Set_P_TimerB_Data
.EXTERNAL 	F_SP_Set_P_INT_Ctrl
.EXTERNAL 	F_SP_Set_P_INT_Clear
.EXTERNAL 	F_SP_Set_P_SystemClock
.EXTERNAL 	F_SP_Set_P_DAC_Ctrl
.EXTERNAL 	F_SP_Set_P_ADC_Ctrl

	

//--------------------------------------------
SACM_MACRO1: 	.MACRO
	
	.ENDM

SACM_MACRO2:	.MACRO
	
	.ENDM




//.define PC_Play_Enable_A2000		1    	// Enable the PC-Play function for SACM-A2000 module
//.define PC_Play_Enable_S480		1    	// Enable the PC-Play function for SACM-S480 module
//.define PC_Play_Enable_S240		1    	// Enable the PC-Play function for SACM-S240 module    
//.define PC_Play_Enable_MS01		1    	// Enable the PC-Play function for SACM-MS01 module



//========================================================================================        
// End of hardware.inc
//========================================================================================

⌨️ 快捷键说明

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