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

📄 st72324blk2.h

📁 基于ST72324设计的汽车防盗器源程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/* ST72324BLK2.h */

/* Copyright (c) 2003, 2004, 2005 STMicroelectronics */

#ifndef __ST72324BLK2__
#define __ST72324BLK2__

/* ST72324BLK2 */

	/* Check MCU name */
	#ifdef MCU_NAME
		#define ST72324BLK2 1
		#if (MCU_NAME != ST72324BLK2)
		#error "wrong include file ST72324BLK2.h for chosen MCU!"
		#endif
	#endif

	#define STVD7_EXTERN
	#ifdef __HIWARE__
	/* Required to avoid errors at link time, as the Metrowerks compiler   */
	/* prohibits multiple definitions of the same variable.                */
	/* In order to define once the registers, add                          */
	/* "#define __DEFINE_REGISTERS_STVD7_INCLUDE__"                        */
	/* before including this file in one of your application files.        */
		#ifndef __DEFINE_REGISTERS_STVD7_INCLUDE__
		#undef STVD7_EXTERN
		#define STVD7_EXTERN extern
		#endif
	#endif
/*generic define  */
#define BIT0 0X01
#define BIT1 0X02
#define BIT2 0X04
#define BIT3 0X08
#define BIT4 0X10
#define BIT5 0X20
#define BIT6 0X40
#define BIT7 0X80
/*****************************************************************/
/*FlagRX BIT*/ 

#define  IDCodeSerial   BIT0 
#define  CurrenIDCode   BIT1 
#define  ReceivedCode   BIT2 
#define	 Is400us        BIT3
#define	 PositivePulse  BIT4
#define	 ReceiveDelay   BIT5
#define  ContinueRX     BIT6
#define  EncrypCode     BIT7  

/*****************************************************************/
/*FlagLearn BIT*/
#define  Learn  BIT0 


/*****************************************************************/

typedef struct bits
{ 
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
} BITS;

typedef union bit_char 
{
	unsigned char byte;
	BITS b;
	} BIT_CHAR;

/*****************************************************************/
/*portc signal define*/

#define EMERGENCY_KEY BIT0
#define SIDE_TRIG BIT1
#define BRAKE     BIT4
#define BACK_TRIG BIT5
#define SENSOR    BIT6
#define ACC       BIT7 

/*portd signal define*/

#define Learn_Key BIT0
#define Engine    BIT1

/*portf signal define*/
#define BackDoor  BIT0
#define LED       BIT1
#define Light     BIT6

/*porta signal define*/
#define Voice_En  BIT3
#define Voice_A0  BIT4
#define Voice_A1  BIT6
#define Voice_A2  BIT7
/*porte/f signal define*/
#define LockOpen  BIT7
#define LockClose BIT1
/*UART  define*/
#define TDO  BIT0
#define RDI  BIT1



/* Port A */
/*****************************************************************/

/* Data Register */
STVD7_EXTERN volatile unsigned char PADR @0x00;

/* Data Direction Register */
STVD7_EXTERN volatile unsigned char PADDR @0x01;

/* Option Register */
STVD7_EXTERN volatile unsigned char PAOR @0x02;

/* Port B */
/*****************************************************************/

/* Data Register */
STVD7_EXTERN volatile unsigned char PBDR @0x03;

/* Data Direction Register */
STVD7_EXTERN volatile unsigned char PBDDR @0x04;

/* Option Register */
STVD7_EXTERN volatile unsigned char PBOR @0x05;

/* Port C */
/*****************************************************************/

/* Data Register */
STVD7_EXTERN volatile unsigned char PCDR @0x06;

/* Data Direction Register */
STVD7_EXTERN volatile unsigned char PCDDR @0x07;

/* Option Register */
STVD7_EXTERN volatile unsigned char PCOR @0x08;

/* Port D */
/*****************************************************************/

/* Data Register */
STVD7_EXTERN volatile unsigned char PDDR @0x09;

/* Data Direction Register */
STVD7_EXTERN volatile unsigned char PDDDR @0x0a;

/* Option Register */
STVD7_EXTERN volatile unsigned char PDOR @0x0b;

/* Port E */
/*****************************************************************/

/* Data Register */
STVD7_EXTERN volatile unsigned char PEDR @0x0c;

/* Data Direction Register */
STVD7_EXTERN volatile unsigned char PEDDR @0x0d;

/* Option Register */
STVD7_EXTERN volatile unsigned char PEOR @0x0e;

/* Port F */
/*****************************************************************/

/* Data Register */
STVD7_EXTERN volatile unsigned char PFDR @0x0f;

/* Data Direction Register */
STVD7_EXTERN volatile unsigned char PFDDR @0x10;

/* Option Register */
STVD7_EXTERN volatile unsigned char PFOR @0x11;

/* Serial Peripheral Interface (SPI) */
/*****************************************************************/

/* Data I/O Register */
STVD7_EXTERN volatile unsigned char SPIDR @0x21;

/* Control Register */
STVD7_EXTERN volatile unsigned char SPICR @0x22;
#define SPICR_SPR0	0		/* Baud Rate */
#define SPICR_SPR0_OR	(1 << SPICR_SPR0)
#define SPICR_SPR1	1		/* Baud Rate */
#define SPICR_SPR1_OR	(1 << SPICR_SPR1)
#define SPICR_SPR2	5		/* Baud Rate */
#define SPICR_SPR2_OR	(1 << SPICR_SPR2)
#define SPICR_SPR_OR	((1 << SPICR_SPR0)|(1 << SPICR_SPR1)\
		|(1 << SPICR_SPR2))
#define SPICR_CPHA	2		/* Clock Phase */
#define SPICR_CPHA_OR	(1 << SPICR_CPHA)
#define SPICR_CPOL	3		/* Clock Polarity */
#define SPICR_CPOL_OR	(1 << SPICR_CPOL)
#define SPICR_MSTR	4		/* Master Bit */
#define SPICR_MSTR_OR	(1 << SPICR_MSTR)
#define SPICR_SPE	6		/* Serial Peripheral Output */
#define SPICR_SPE_OR	(1 << SPICR_SPE)
#define SPICR_SPIE	7		/* Serial Peripheral Interrupt */
#define SPICR_SPIE_OR	(1 << SPICR_SPIE)

/* Control/Status Register */
STVD7_EXTERN volatile unsigned char SPICSR @0x23;
#define SPICSR_SSI	0		/* /SS Internal Mode */
#define SPICSR_SSI_OR	(1 << SPICSR_SSI)
#define SPICSR_SSM	1		/* /SS Mode Selection */
#define SPICSR_SSM_OR	(1 << SPICSR_SSM)
#define SPICSR_SOD	2		/* SPI Output Disable */
#define SPICSR_SOD_OR	(1 << SPICSR_SOD)
#define SPICSR_MODF	4		/* Mode Fault Flag */
#define SPICSR_MODF_OR	(1 << SPICSR_MODF)
#define SPICSR_OVR	5		/* SPI Overrun error */
#define SPICSR_OVR_OR	(1 << SPICSR_OVR)
#define SPICSR_WCOL	6		/* Write Collision Status */
#define SPICSR_WCOL_OR	(1 << SPICSR_WCOL)
#define SPICSR_SPIF	7		/* Data Transfer Flag */
#define SPICSR_SPIF_OR	(1 << SPICSR_SPIF)

/* Interrupt Software Priority (ITC) */
/*****************************************************************/

/* Interrupt Software Priority Register 0 */
STVD7_EXTERN volatile unsigned char ISPR0 @0x24;
#define ISPR0_I0_0	0		/* TLI IT Priority Level */
#define ISPR0_I0_0_OR	(1 << ISPR0_I0_0)
#define ISPR0_I1_0	1		/* TLI IT Priority Level */
#define ISPR0_I1_0_OR	(1 << ISPR0_I1_0)
#define ISPR0_I_0_OR	((1 << ISPR0_I0_0)|(1 << ISPR0_I1_0))
#define ISPR0_I0_1	2		/* MCC/RTS CSS IT Priority Level */
#define ISPR0_I0_1_OR	(1 << ISPR0_I0_1)
#define ISPR0_I1_1	3		/* MCC/RTS CSS IT Priority Level */
#define ISPR0_I1_1_OR	(1 << ISPR0_I1_1)
#define ISPR0_I_1_OR	((1 << ISPR0_I0_1)|(1 << ISPR0_I1_1))
#define ISPR0_I0_2	4		/* External IT 0 Priority Level */
#define ISPR0_I0_2_OR	(1 << ISPR0_I0_2)
#define ISPR0_I1_2	5		/* External IT 0 Priority Level */
#define ISPR0_I1_2_OR	(1 << ISPR0_I1_2)
#define ISPR0_I_2_OR	((1 << ISPR0_I0_2)|(1 << ISPR0_I1_2))
#define ISPR0_I0_3	6		/* External IT 1 Priority Level */
#define ISPR0_I0_3_OR	(1 << ISPR0_I0_3)
#define ISPR0_I1_3	7		/* External IT 1 Priority Level */
#define ISPR0_I1_3_OR	(1 << ISPR0_I1_3)
#define ISPR0_I_3_OR	((1 << ISPR0_I0_3)|(1 << ISPR0_I1_3))

/* Interrupt Software Priority Register 1 */
STVD7_EXTERN volatile unsigned char ISPR1 @0x25;
#define ISPR1_I0_4	0		/* External IT 2 Priority Level */
#define ISPR1_I0_4_OR	(1 << ISPR1_I0_4)
#define ISPR1_I1_4	1		/* External IT 2 Priority Level */
#define ISPR1_I1_4_OR	(1 << ISPR1_I1_4)
#define ISPR1_I_4_OR	((1 << ISPR1_I0_4)|(1 << ISPR1_I1_4))
#define ISPR1_I0_5	2		/* External IT 3 Priority Level */
#define ISPR1_I0_5_OR	(1 << ISPR1_I0_5)
#define ISPR1_I1_5	3		/* External IT 3 Priority Level */
#define ISPR1_I1_5_OR	(1 << ISPR1_I1_5)
#define ISPR1_I_5_OR	((1 << ISPR1_I0_5)|(1 << ISPR1_I1_5))
#define ISPR1_I0_6	4		/* CAN IT Priority Level */
#define ISPR1_I0_6_OR	(1 << ISPR1_I0_6)
#define ISPR1_I1_6	5		/* CAN IT Priority Level */
#define ISPR1_I1_6_OR	(1 << ISPR1_I1_6)
#define ISPR1_I_6_OR	((1 << ISPR1_I0_6)|(1 << ISPR1_I1_6))
#define ISPR1_I0_7	6		/* SPI IT Priority Level */
#define ISPR1_I0_7_OR	(1 << ISPR1_I0_7)
#define ISPR1_I1_7	7		/* SPI IT Priority Level */
#define ISPR1_I1_7_OR	(1 << ISPR1_I1_7)
#define ISPR1_I_7_OR	((1 << ISPR1_I0_7)|(1 << ISPR1_I1_7))

/* Interrupt Software Priority Register 2 */
STVD7_EXTERN volatile unsigned char ISPR2 @0x26;
#define ISPR2_I0_8	0		/* Timer A IT Priority Level */
#define ISPR2_I0_8_OR	(1 << ISPR2_I0_8)
#define ISPR2_I1_8	1		/* Timer A IT Priority Level */
#define ISPR2_I1_8_OR	(1 << ISPR2_I1_8)
#define ISPR2_I_8_OR	((1 << ISPR2_I0_8)|(1 << ISPR2_I1_8))
#define ISPR2_I0_9	2		/* Timer B IT Priority Level */
#define ISPR2_I0_9_OR	(1 << ISPR2_I0_9)
#define ISPR2_I1_9	3		/* Timer B IT Priority Level */
#define ISPR2_I1_9_OR	(1 << ISPR2_I1_9)
#define ISPR2_I_9_OR	((1 << ISPR2_I0_9)|(1 << ISPR2_I1_9))
#define ISPR2_I0_10	4		/* SCI IT Priority Level */
#define ISPR2_I0_10_OR	(1 << ISPR2_I0_10)
#define ISPR2_I1_10	5		/* SCI IT Priority Level */
#define ISPR2_I1_10_OR	(1 << ISPR2_I1_10)
#define ISPR2_I_10_OR	((1 << ISPR2_I0_10)|(1 << ISPR2_I1_10))
#define ISPR2_I0_11	6		/* AVD IT Priority Level */
#define ISPR2_I0_11_OR	(1 << ISPR2_I0_11)
#define ISPR2_I1_11	7		/* AVD IT Priority Level */
#define ISPR2_I1_11_OR	(1 << ISPR2_I1_11)
#define ISPR2_I_11_OR	((1 << ISPR2_I0_11)|(1 << ISPR2_I1_11))

/* Interrupt Software Priority Register 3 */
STVD7_EXTERN volatile unsigned char ISPR3 @0x27;
#define ISPR3_I0_12	0		/* I2C IT Priority Level */
#define ISPR3_I0_12_OR	(1 << ISPR3_I0_12)
#define ISPR3_I1_12	1		/* I2C IT Priority Level */
#define ISPR3_I1_12_OR	(1 << ISPR3_I1_12)
#define ISPR3_I_12_OR	((1 << ISPR3_I0_12)|(1 << ISPR3_I1_12))
#define ISPR3_I0_13	2		/* PWM ART IT Priority Level */
#define ISPR3_I0_13_OR	(1 << ISPR3_I0_13)
#define ISPR3_I1_13	3		/* PWM ART IT Priority Level */
#define ISPR3_I1_13_OR	(1 << ISPR3_I1_13)
#define ISPR3_I_13_OR	((1 << ISPR3_I0_13)|(1 << ISPR3_I1_13))

/* External Interrupt Control Register */
STVD7_EXTERN volatile unsigned char EICR @0x28;
#define EICR_TLIE	0		/* TLI Enable */
#define EICR_TLIE_OR	(1 << EICR_TLIE)
#define EICR_TLIS	1		/* TLI Sensitivity */
#define EICR_TLIS_OR	(1 << EICR_TLIS)
#define EICR_IPA	2		/* Interrupt Polarity port A */
#define EICR_IPA_OR	(1 << EICR_IPA)
#define EICR_IS20	3		/* EI0/EI1 Sensitivity */
#define EICR_IS20_OR	(1 << EICR_IS20)
#define EICR_IS21	4		/* EI0/EI1 Sensitivity */
#define EICR_IS21_OR	(1 << EICR_IS21)
#define EICR_IS2_OR	((1 << EICR_IS20)|(1 << EICR_IS21))
#define EICR_IPB	5		/* Interrupt Polarity port B */
#define EICR_IPB_OR	(1 << EICR_IPB)
#define EICR_IS10	6		/* EI2/EI3 Sensitivity */
#define EICR_IS10_OR	(1 << EICR_IS10)
#define EICR_IS11	7		/* EI2/EI3 Sensitivity */
#define EICR_IS11_OR	(1 << EICR_IS11)
#define EICR_IS1_OR	((1 << EICR_IS10)|(1 << EICR_IS11))

/* Flash */
/*****************************************************************/

/* Flash Control/Status Register */
STVD7_EXTERN volatile unsigned char FCSR @0x29;

/* WatchDog Timer */
/*****************************************************************/

/* Control Register */
STVD7_EXTERN volatile unsigned char WDGCR @0x2a;
#define WDGCR_WDGA	7		/* Activation Bit */
#define WDGCR_WDGA_OR	(1 << WDGCR_WDGA)
#define WDGCR_T0	0		/* 7-bit Timer */
#define WDGCR_T0_OR	(1 << WDGCR_T0)
#define WDGCR_T1	1		/* 7-bit Timer */
#define WDGCR_T1_OR	(1 << WDGCR_T1)
#define WDGCR_T2	2		/* 7-bit Timer */
#define WDGCR_T2_OR	(1 << WDGCR_T2)
#define WDGCR_T3	3		/* 7-bit Timer */
#define WDGCR_T3_OR	(1 << WDGCR_T3)
#define WDGCR_T4	4		/* 7-bit Timer */
#define WDGCR_T4_OR	(1 << WDGCR_T4)
#define WDGCR_T5	5		/* 7-bit Timer */
#define WDGCR_T5_OR	(1 << WDGCR_T5)
#define WDGCR_T6	6		/* 7-bit Timer */
#define WDGCR_T6_OR	(1 << WDGCR_T6)
#define WDGCR_T_OR	((1 << WDGCR_T0)|(1 << WDGCR_T1)\
		|(1 << WDGCR_T2)|(1 << WDGCR_T3)|(1 << WDGCR_T4)|(1 << WDGCR_T5)\
		|(1 << WDGCR_T6))

/* Main Clock Control/Status Register (MCC) */
/*****************************************************************/

⌨️ 快捷键说明

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