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

📄 board.h

📁 ATMEL ATSAM7S64处理器部分控制程序。
💻 H
字号:
/*----------------------------------------------------------------------------
*         ATMEL Microcontroller Software Support  -  ROUSSET  -
*----------------------------------------------------------------------------
* The software is delivered "AS IS" without warranty or condition of any
* kind, either express, implied or statutory. This includes without
* limitation any warranty or condition with respect to merchantability or
* fitness for any particular purpose, or against the infringements of
* intellectual property rights of others.
*----------------------------------------------------------------------------
* File Name           : Board.h
* Object              : AT91SAM7S Evaluation Board Features Definition File.
*
* Creation            : JPP   16/Jun/2004
* modified            : Embest z.j.zheng 2005.05.12
*					  : Leds Definition, Push Buttons Definition modified 
*				      : 8 segment digital Definition added
*----------------------------------------------------------------------------
*/
#ifndef Board_h
#define Board_h

#include "AT91SAM7S64.h"
#define __inline inline
#include "lib_AT91SAM7S64.h"

#define true	-1
#define false	0


/*-------------------------------*/
/* SAM7Board Memories Definition */
/*-------------------------------*/
// The AT91SAM7S64 embeds a 16-Kbyte SRAM bank, and 64 K-Byte Flash

#define  INT_SARM           0x00200000
#define  INT_SARM_REMAP	    0x00000000

#define  INT_FLASH          0x00000000
#define  INT_FLASH_REMAP    0x01000000

#define  FLASH_PAGE_NB	    512
#define  FLASH_PAGE_LOCK    32
#define  FLASH_PAGE_SIZE    128

/*-----------------*/
/* Leds Definition */
/*-----------------*/
/*                                 PIO   Flash    PA    PB   PIN */

#define LED1            (1<<1)	/* PA1 / PGMEN1 & PWM1 TIOB0  47 */
#define LED2            (1<<2)	/* PA2          & PWM2 SCK0   44 */
#define LED3            (1<<3)	/* PA3          & TWD  NPCS3  43 */
#define NB_LEB			3

#define LED_MASK        (LED1|LED2|LED3)

/*-------------------------*/
/* Push Buttons Definition */
/*-------------------------*/
/*                                 PIO    Flash    PA    PB    PIN */
#define SW1_MASK        (1<<17)	/* PA17 / PGMM1   & TD   PCK1    9*/
#define SW2_MASK        (1<<18)	/* PA18 / PGMM2   & RD   PCK2    10*/
#define SW3_MASK        (1<<19)	/* PA19 / PGMM3   & RK   FIQ     13*/
#define SW4_MASK        (1<<20)	/* PA20           & RF   IRQ0    16*/
#define SW_MASK         (SW1_MASK|SW2_MASK|SW3_MASK|SW4_MASK)


#define SW1 	(1<<17)	// PA17
#define SW2 	(1<<18)	// PA18
#define SW3 	(1<<19)	// PA19
#define SW4 	(1<<20)	// PA20

/*------------------*/
/* USART Definition */
/*------------------*/
/* SUB-D 9 points J3 DBGU*/
#define DBGU_RXD		AT91C_PA9_DRXD	  /* JP11 must be close */
#define DBGU_TXD		AT91C_PA10_DTXD	  /* JP12 must be close */
#define AT91C_DBGU_BAUD	   115200   // Baud rate

#define US_RXD_PIN		AT91C_PA5_RXD0    /* JP9 must be close */
#define US_TXD_PIN		AT91C_PA6_TXD0    /* JP7 must be close */
#define US_RTS_PIN		AT91C_PA7_RTS0    /* JP8 must be close */
#define US_CTS_PIN		AT91C_PA8_CTS0    /* JP6 must be close */

/*--------------*/
/* Master Clock */
/*--------------*/

#define EXT_OC          18432000   // Exetrnal ocilator MAINCK
#define MCK             47923200   // MCK (PLLRC div by 2)
#define MCKKHz          (MCK/1000) //
/*--------------------------------*/
/* 8 segment digital Definition   */
/*--------------------------------*/
#define SEGMENT_A		  0x01	
#define SEGMENT_B		  0x02
#define SEGMENT_C		  0x04
#define SEGMENT_D		  0x08
#define SEGMENT_P		  0x10
#define SEGMENT_E		  0x20
#define SEGMENT_F		  0x80
#define SEGMENT_G		  0x40

#define DIGIT_F	(SEGMENT_A | SEGMENT_G | SEGMENT_E | SEGMENT_F)
#define DIGIT_E	(SEGMENT_A | SEGMENT_G | SEGMENT_E | SEGMENT_F | SEGMENT_D)
#define DIGIT_D	(SEGMENT_B | SEGMENT_C | SEGMENT_D | SEGMENT_G | SEGMENT_E)
#define DIGIT_C	(SEGMENT_A | SEGMENT_D | SEGMENT_E | SEGMENT_F)
#define DIGIT_B	(SEGMENT_C | SEGMENT_D | SEGMENT_F | SEGMENT_E | SEGMENT_G)
#define DIGIT_A	(SEGMENT_A | SEGMENT_B | SEGMENT_C | SEGMENT_F | SEGMENT_E | SEGMENT_G)
#define DIGIT_9	(SEGMENT_A | SEGMENT_B | SEGMENT_C | SEGMENT_F | SEGMENT_G)
#define DIGIT_8	(SEGMENT_A | SEGMENT_B | SEGMENT_C | SEGMENT_D | SEGMENT_F | SEGMENT_E | SEGMENT_G)
#define DIGIT_7	(SEGMENT_A | SEGMENT_B | SEGMENT_C)
#define DIGIT_6	(SEGMENT_A | SEGMENT_C | SEGMENT_D | SEGMENT_F | SEGMENT_E | SEGMENT_G)
#define DIGIT_5	(SEGMENT_A | SEGMENT_C | SEGMENT_D | SEGMENT_F | SEGMENT_G)
#define DIGIT_4	(SEGMENT_B | SEGMENT_C | SEGMENT_F | SEGMENT_G)
#define DIGIT_3	(SEGMENT_A | SEGMENT_B | SEGMENT_C | SEGMENT_D | SEGMENT_G)
#define DIGIT_2	(SEGMENT_A | SEGMENT_B | SEGMENT_D | SEGMENT_E | SEGMENT_G)
#define DIGIT_1	(SEGMENT_B | SEGMENT_C)
#define DIGIT_0	(SEGMENT_A | SEGMENT_B | SEGMENT_C | SEGMENT_D | SEGMENT_E | SEGMENT_F)


/*-----------------*/
/* LCds Definition */
/*-----------------*/
#define RS             (1<<21)	/* PA21  */                                 
#define RW             (1<<22)	/* PA22  */
#define ELCM           (1<<23)	/* PA23  */
#define LCM_CONTROL    (RS | RW | ELCM)


#define LCM_DB0        (1<<24)  /* PA24  */
#define LCM_DB1        (1<<25)  /* PA25  */
#define LCM_DB2        (1<<26)  /* PA26  */
#define LCM_DB3        (1<<27)  /* PA27  */
#define LCM_DB4        (1<<28)  /* PA28  */
#define LCM_DB5        (1<<29)  /* PA29  */
#define LCM_DB6        (1<<30)  /* PA30  */
#define LCM_DB7        (1<<31)  /* PA31  */

#define LCM_PORT      ( LCM_DB0 | LCM_DB1 | LCM_DB2 | LCM_DB3 |  LCM_DB4 | LCM_DB5 | LCM_DB6 | LCM_DB7)

#define Busy	0x80


#endif /* Board_h */



⌨️ 快捷键说明

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