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

📄 bord_sel.h

📁 ATMEGA128自己用的BOOT程序
💻 H
字号:

#define  px_sel 1 //定义驱动板,如果是XC95144=1 如果是XO256=2

//#define  jpx_sel 1

#ifdef  px_sel

		//CPLD采用XO256的管脚定义程序

		#define INFF00  (*((volatile unsigned char *)0xff00))
		#define INFF01  (*((volatile unsigned char *)0xff01))
		#define INFF02  (*((volatile unsigned char *)0xff02))
		#define INFF03  (*((volatile unsigned char *)0xff03))
		#define INFF04  (*((volatile unsigned char *)0xff04))
		
		#define OUTFF11 (*((volatile unsigned char *)0xff11))
		#define OUTFF12 (*((volatile unsigned char *)0xff12))
		#define OUTFF13 (*((volatile unsigned char *)0xff13))
		#define OUTFF14 (*((volatile unsigned char *)0xff14))
      
		void port_init( void )//端口定义
		{			
					 PORTA = 0x00;
					 DDRA  = 0x00;
					 
					 PORTB = 0x7f;
					 DDRB  = 0x7f;
					 
					 PORTC = 0x00; 
					 DDRC  = 0x00;
					 
					 PORTD = 0x08;
					 DDRD  = 0x08;
					 
					 PORTE = 0x0e;
					 DDRE  = 0x0e;
					 
					 PORTF = 0x0f;
					 DDRF  = 0x0f;
					 
					 PORTG = 0x18;
					 DDRG  = 0x18;
					 
					 OUTFF11=0x0;
					 OUTFF12=0x0;
					 OUTFF13=0x0;
					 OUTFF14=0x0;
		}
     
			#define SEL_WAIBU_BUJIN_CLOCK       PORTB&=0XBF   
			#define SEL_NEIBU_BUJIN_CLOCK       PORTB|=0X40 
			
			#define BPQ_SPEED1_on     PORTB|= 0x20;TCCR1A = 0x0;TCCR1B = 0x0				   
			#define BPQ_SPEED1_off    PORTB&=~0x20;TCCR1A = 0x0;TCCR1B = 0x0
		
			#define HS_DIR_XB_off        PORTE|=0X04
			#define HS_DIR_XB_on       PORTE&=0XFB

			#define HS_DIR_XA_off        PORTF|=0X01
			#define HS_DIR_XA_on       PORTF&=0XFE

			
			#define HS_STARTstop_off     PORTE|=0X08
			#define HS_STARTstop_on    PORTE&=0XF7

			#define DYB_GX_off        PORTF|=0X02
			#define DYB_GX_on       PORTF&=0XFD
			
			#define DYB_KX_off        PORTF|=0X04
			#define DYB_KX_on       PORTF&=0XFB
			
			#define DYB_JX_off        PORTF|=0X08
			#define DYB_JX_on       PORTF&=0XF7
						
			#define JTB_UP_on        OUTFF11|=0X01
			#define JTB_UP_off       OUTFF11&=0XFE
			
			#define JTB_MID_on       OUTFF11|=0X02
			#define JTB_MID_off      OUTFF11&=0XFD
			
			#define JTB_LOW_off       (TCCR0=0x0);(PORTB|=0x10)//8.7
			#define JTB_LOW_on        (TCCR0=0x0);(PORTB&=~0x10)
			
			#define JTB_LOW_OUT_SING  Out_Jtb_Sing
			
			#define JTB_FSW_on        OUTFF13|=0X01 
			#define JTB_FSW_off       OUTFF13&=0XFE 
					
			#define JTB_DXQD_on      OUTFF13|=0X02 
			#define JTB_DXQD_off       OUTFF13&=0XFD
			
			#define JTB_XJIA_on       OUTFF13|=0X04
			#define JTB_XJIA_off      OUTFF13&=0XFB 

			#define JP_QIFA_on        OUTFF14|=0X01 
			#define JP_QIFA_off       OUTFF14&=0XFE 
					
			#define JP_SWZH_on      	OUTFF14|=0X10  
			#define JP_SWZH_off       OUTFF14&=0XEF
			
			#define JP_SPIAN_on       OUTFF14|=0X02 
			#define JP_SPIAN_off      OUTFF14&=0XFD 

			#define JP_DUANX_off      OUTFF14|=0X08 
			#define JP_DUANX_on      	OUTFF14&=0XF7 

			#define JP_485_off				OUTFF14|=0X04
			#define JP_485_on					OUTFF14&=0XFB


			#define Moto_XA_off   PORTB|=0X01
			#define Moto_XA_on  PORTB&=0XFE
			#define Moto_XA_CPL  PORTB^=0X01
			#define Moto_XA_Pin  (PORTB&0x01)
			
			#define Moto_XB_off   PORTB|=0X02
			#define Moto_XB_on  PORTB&=0XFD
			#define Moto_XB_CPL  (PORTB^=0X02)
			#define Moto_XB_Pin  (PORTB&0X02)
			
			#define Moto_YA_off   PORTB|=0X08
			#define Moto_YA_on  PORTB&=0XF7
			#define Moto_YA_CPL  (PORTB^=0X08)
			#define Moto_YA_Pin  (PORTB&0X08)
			
			#define Moto_YB_off   PORTG|=0X08
			#define Moto_YB_on  PORTG&=0XF7
			#define Moto_YB_CPL  (PORTG^=0X08)
			#define Moto_YB_Pin  (PORTG&0X08)
			
			#define BJDJ_X_YSL_off   PORTB|=0X04
			#define BJDJ_X_YSL_on  PORTB&=0XFB
			
			#define BJDJ_Y_YSL_off   PORTG|=0X10
			#define BJDJ_Y_YSL_on   PORTG&=0XEF
						
			
			#define BPQ_START_on    OUTFF12|=0X01
			#define BPQ_START_off   OUTFF12&=0XFE
			
			#define BPQ_SHAC_on     OUTFF12|=0X02
			#define BPQ_SHAC_off    OUTFF12&=0XFD
			
			#define RUN_lED_ON      OUTFF11|=0X04
			#define RUN_lED_OFF     OUTFF11&=0XFB 
			#define RUN_lED_CPL     OUTFF11^=0X04

#endif

#ifdef jpx_sel

//----------------------------------------------------------------------------
			#define INFF00  (*((volatile unsigned char *)0xff00))
			#define INFF01  (*((volatile unsigned char *)0xff01))
			#define INFF02  (*((volatile unsigned char *)0xff02))
			#define INFF03  (*((volatile unsigned char *)0xff03))
			#define INFF04  (*((volatile unsigned char *)0xff04))
			
			#define OUTFF11 (*((volatile unsigned char *)0xff11))
			#define OUTFF12 (*((volatile unsigned char *)0xff12))
			#define OUTFF13 (*((volatile unsigned char *)0xff13))
			#define OUTFF14 (*((volatile unsigned char *)0xff14))
      
			void port_init( void )//端口定义
			{			
					 PORTA = 0x00;
					 DDRA  = 0x00;
					 
					 PORTB = 0x7f;
					 DDRB  = 0x7f;
					 
					 PORTC = 0x00; 
					 DDRC  = 0x00;
					 
					 PORTD = 0x08;
					 DDRD  = 0x08;

					 PORTE = 0x0e;
					 DDRE  = 0x0e;
					 
					 PORTF = 0x0f;
					 DDRF  = 0x0f;
					 
					 PORTG = 0x18;
					 DDRG  = 0x18;
					 
					 OUTFF11=0x0;
					 OUTFF12=0x0;
					 OUTFF13=0x0;
					 OUTFF14=0x0; //2008-04-21增加
			}
      
			#define SEL_WAIBU_BUJIN_CLOCK       PORTB&=0XBF   
			#define SEL_NEIBU_BUJIN_CLOCK       PORTB|=0X40 
			
			#define BPQ_SPEED1_on     PORTB|= 0x20;TCCR1A = 0x0;TCCR1B = 0x0				   
			#define BPQ_SPEED1_off    PORTB&=~0x20;TCCR1A = 0x0;TCCR1B = 0x0
		
			//换色电机方向控制A,调试场地选择
			#define HS_DIR_XB_on        PORTE|=0X04
			#define HS_DIR_XB_off       PORTE&=0XFB

			#define HS_DIR_XA_on        PORTF|=0X01
			#define HS_DIR_XA_off       PORTF&=0XFE

			#define HS_STARTstop_on    PORTE|=0X08 //2008-04-21修改,on与off对调
			#define HS_STARTstop_off     PORTE&=0XF7

			#define DYB_GX_on        	PORTF|=0X02 //2008-04-21修改,on与off对调
			#define DYB_GX_off       	PORTF&=0XFD

			#define DYB_KX_on        PORTF|=0X04 //2008-04-21修改,on与off对调
			#define DYB_KX_off       	PORTF&=0XFB
			
			#define DYB_JX_on        PORTF|=0X08 //2008-04-21修改,on与off对调
			#define DYB_JX_off       	PORTF&=0XF7
										
			#define JTB_UP_on        OUTFF11|=0X01
			#define JTB_UP_off       OUTFF11&=0XFE
			
			#define JTB_MID_on       OUTFF11|=0X02
			#define JTB_MID_off      OUTFF11&=0XFD
			
			#define JTB_LOW_off       (TCCR0=0x0);(PORTB|=0x10)//8.7
			#define JTB_LOW_on        (TCCR0=0x0);(PORTB&=~0x10)
			
			#define JTB_LOW_OUT_SING  Out_Jtb_Sing
			
			#define JTB_FSW_on        OUTFF13|=0X01 
			#define JTB_FSW_off       OUTFF13&=0XFE 
					
			#define JTB_DXQD_on      	OUTFF13|=0X02 
			#define JTB_DXQD_off      OUTFF13&=0XFD
			
			#define JTB_XJIA_on       OUTFF13|=0X04
			#define JTB_XJIA_off      OUTFF13&=0XFB 
			
			#define JP_QIFA_on        OUTFF14|=0X01 
			#define JP_QIFA_off       OUTFF14&=0XFE 
					
			#define JP_SWZH_on      	OUTFF14|=0X10  
			#define JP_SWZH_off       OUTFF14&=0XEF
			
			#define JP_SPIAN_on       OUTFF14|=0X02 
			#define JP_SPIAN_off      OUTFF14&=0XFD 

			#define JP_DUANX_off      OUTFF14|=0X08 
			#define JP_DUANX_on      	OUTFF14&=0XF7 

			#define JP_485_off				OUTFF14|=0X04
			#define JP_485_on					OUTFF14&=0XFB

			#define Moto_XA_on   PORTB|=0X01 //2008-04-21修改,on与off对调
			#define Moto_XA_off  PORTB&=0XFE
			#define Moto_XA_CPL  PORTB^=0X01
			#define Moto_XA_Pin  (PORTB&0x01)
			
			#define Moto_XB_on   PORTB|=0X02 //2008-04-21修改,on与off对调
			#define Moto_XB_off  PORTB&=0XFD
			#define Moto_XB_CPL  (PORTB^=0X02)
			#define Moto_XB_Pin  (PORTB&0X02)
			
			#define Moto_YA_on    PORTB|=0X08 //2008-04-21修改,on与off对调
			#define Moto_YA_off   PORTB&=0XF7
			#define Moto_YA_CPL  (PORTB^=0X08)
			#define Moto_YA_Pin  (PORTB&0X08)
			
			#define Moto_YB_on   PORTG|=0X08 //2008-04-21修改,on与off对调
			#define Moto_YB_off  PORTG&=0XF7
			#define Moto_YB_CPL  (PORTG^=0X08)
			#define Moto_YB_Pin  (PORTG&0X08)
			
			#define BJDJ_X_YSL_on   PORTB|=0X04 //2008-04-21修改,on与off对调
			#define BJDJ_X_YSL_off  PORTB&=0XFB
			
			#define BJDJ_Y_YSL_on   PORTG|=0X10 //2008-04-21修改,on与off对调
			#define BJDJ_Y_YSL_off  PORTG&=0XEF
			
			#define BJDJ_LIMIT_XB ((INFF00&0X02)^0X02)
			#define BJDJ_LIMIT_XA ((INFF00&0X01)^0X01)
			
			#define BJDJ_LIMIT_YA ((INFF00&0X04)^0X04)
			#define BJDJ_LIMIT_YB ((INFF00&0X08)^0X08)
			
			
			
			#define BPQ_START_on    OUTFF12|=0X01
			#define BPQ_START_off   OUTFF12&=0XFE
			
			#define BPQ_SHAC_on     OUTFF12|=0X02
			#define BPQ_SHAC_off    OUTFF12&=0XFD
			
			#define RUN_lED_ON      OUTFF11|=0X04
			#define RUN_lED_OFF     OUTFF11&=0XFB 
			#define RUN_lED_CPL     OUTFF11^=0X04		
#endif


void cpuinit(void)
{
	port_init();

	JTB_LOW_on;
	JTB_UP_on;
    JTB_MID_on; 
    JTB_FSW_on;
    JTB_XJIA_on;
    JTB_DXQD_on;      

    BPQ_SHAC_off;
    BPQ_START_off;
    BPQ_SPEED1_off;

    BJDJ_X_YSL_off;
    BJDJ_Y_YSL_off;

    Moto_XA_off;
    Moto_XB_off;
    Moto_YA_off;
    Moto_YB_off;       

    JTB_UP_off;
    JTB_MID_off;
    JTB_LOW_off;       
    JP_485_on;					

    JTB_FSW_off;
    JTB_XJIA_off;
    JTB_DXQD_off;      

    DYB_JX_off;        
    DYB_KX_off;        
    DYB_GX_off;       

    HS_DIR_XB_off;
    HS_DIR_XA_off;
    HS_STARTstop_off;  
}

⌨️ 快捷键说明

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