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

📄 hardware.asm

📁 基于凌阳61和pwm电机实现的智能车总程序
💻 ASM
字号:
.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_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 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_Data          0x701A
.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
.DEFINE P_ADC_MUX_Ctrl       0x702B;        //set/read adc mux ctrl/status
.DEFINE P_ADC_MUX_Data       0x702C;        //adc mux data 
.DEFINE P_INT_New            0x702D;        //INT MASK
.DEFINE P_FLASH_Ctrl         0x7555;        //FLASH Control Word 


// Define for P_INT_Ctrl 
.DEFINE C_IRQ_TMB2              0x0001;        //Timer B IRQ6
.DEFINE C_IRQ_TMB1              0x0002;        //Timer A IRQ6
.DEFINE C_IRQ_2Hz               0x0004;        //2Hz IRQ5
.DEFINE C_IRQ_4Hz               0x0008;        //4Hz IRQ5
.DEFINE C_IRQ_1024Hz            0x0010;        //1024Hz IRQ4
.DEFINE C_IRQ_2048Hz            0x0020;        //2048 IRQ4
.DEFINE C_IRQ_4096Hz            0x0040;        //4096 IRQ4
.DEFINE C_IRQ_KeyChange         0x0080;        //Key Change IRQ3
.DEFINE C_IRQ_Ext1              0x0100;        //Ext1 IRQ3
.DEFINE C_IRQ_Ext2              0x0200;        //Ext2 IRQ3
.DEFINE C_IRQ_TimerB            0x0400;        //Timer B IRQ2
.DEFINE C_FIQ_TimerB            0x0800;        //Timer B FIQ
.DEFINE C_IRQ_TimerA            0x1000;        //Timer A IRQ1
.DEFINE C_FIQ_TimerA            0x2000;        //Timer A FIQ
.DEFINE C_IRQ_PWM               0x4000;        //PWM IRQ0
.DEFINE C_FIQ_PWM               0x8000;        //PWM FIQ

// Define for P_TimerA_Ctrl, P_TimerB_Ctrl                               
.DEFINE	C_Fosc_2				0x0000;			// Timer A
.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

// Define 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 enthernet constent
.DEFINE C_IOB_DEFAULT            0x0070;
.DEFINE C_8279_A0               0x0040;
.DEFINE C_RD_STATUS             0x0060;
.DEFINE C_WR_CONTROL            0x0050;
.DEFINE C_WR_RAM                0x0010;
.DEFINE C_RD_FIFORAM            0x0020;
.DEFINE C_CAR_Dir               0x0040;
.DEFINE C_CAR_TurnLeft1         0xfff7
.DEFINE C_CAR_TurnLeft2         0xfffb
.DEFINE C_CAR_TurnRight1        0xfffd
.DEFINE C_CAR_TurnRight2        0xfffe
.DEFINE C_CAR_Forward           0xfff9
.DEFINE C_CAR_Backward          0xfff6
.DEFINE C_CAR_Round             0xfff
.DEFINE C_CAR_Stop              0x000f
.DEFINE C_CAR_ENA               0x0010
.DEFINE C_CAR_ENB               0x0020


//==================================================
//seg codes
.DEFINE C_SEG_0                  0x3F00;
.DEFINE C_SEG_1                  0x0600;
.DEFINE C_SEG_2                  0x5b00;
.DEFINE C_SEG_3                  0x4f00;
.DEFINE C_SEG_4                  0x6600;
.DEFINE C_SEG_5                  0x6d00;  
.DEFINE C_SEG_6                  0x7d00;
.DEFINE C_SEG_7                  0x0700;
.DEFINE C_SEG_8                  0x7f00;
.DEFINE C_SEG_9                  0x6f00;
.DEFINE C_SEG_A                  0x7700;
.DEFINE C_SEG_B                  0x7f00;
.DEFINE C_SEG_C                  0x3900;
.DEFINE C_SEG_D                  0x3f00;
.DEFINE C_SEG_d                  0x5e00;
.DEFINE C_SEG_E                  0x7900;
.DEFINE C_SEG_F                  0x7100;
.DEFINE C_SEG_g                  0x6f00;
.DEFINE C_SEG_o                  0x5c00;
.DEFINE C_SEG_dp                 0x8000;

 
.DEFINE		timepwm_1		0x0070; 	//脉宽选择1/6
.DEFINE		timepwm_2		0x00b0;	    //脉宽选择2/6
.DEFINE		timepwm_3		0x00f0;		//脉宽选择3/6
.DEFINE		timepwm_4		0x0130;		//脉宽选择4/6 		
.DEFINE		timepwm_5		0x0170;		//脉宽选择5/6 		 
.DEFINE		timepwm_6		0x01b0;		//脉宽选择6/6 		
.DEFINE		timepwm_7		0x01f0;		//脉宽选择7/6 	
.DEFINE		timepwm_8		0x0230;		//脉宽选择8/6 		
.DEFINE		timepwm_9		0x0270;		//脉宽选择9/6        
.DEFINE		timepwm_10		0x02b0;		//脉宽选择10/6 		
.DEFINE		timepwm_11		0x02f0;		//脉宽选择11/6 		
.DEFINE		timepwm_12		0x0330;		//脉宽选择12/6 		
.DEFINE		timepwm_13		0x0370;		//脉宽选择13/6 		
.DEFINE		timepwm_14		0x03b0;		//脉宽选择14/6

⌨️ 快捷键说明

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