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

📄 lpc2294.h

📁 对显示器LCD的读写和I2C的控制程序
💻 H
📖 第 1 页 / 共 3 页
字号:
/* CAN Acceptance Filter RAM */
#define CANAFRAM        (*((volatile unsigned long *) 0xE0038000))


/* Timer 0 */
/* 定时器0的特殊寄存器 */
#define T0IR            (*((volatile unsigned long *) 0xE0004000))
#define T0TCR           (*((volatile unsigned long *) 0xE0004004))
#define T0TC            (*((volatile unsigned long *) 0xE0004008))
#define T0PR            (*((volatile unsigned long *) 0xE000400C))
#define T0PC            (*((volatile unsigned long *) 0xE0004010))
#define T0MCR           (*((volatile unsigned long *) 0xE0004014))
#define T0MR0           (*((volatile unsigned long *) 0xE0004018))
#define T0MR1           (*((volatile unsigned long *) 0xE000401C))
#define T0MR2           (*((volatile unsigned long *) 0xE0004020))
#define T0MR3           (*((volatile unsigned long *) 0xE0004024))
#define T0CCR           (*((volatile unsigned long *) 0xE0004028))
#define T0CR0           (*((volatile unsigned long *) 0xE000402C))
#define T0CR1           (*((volatile unsigned long *) 0xE0004030))
#define T0CR2           (*((volatile unsigned long *) 0xE0004034))
#define T0CR3           (*((volatile unsigned long *) 0xE0004038))
#define T0EMR           (*((volatile unsigned long *) 0xE000403C))

/* Timer 1 */
/* 定时器1的特殊寄存器 */
#define T1IR            (*((volatile unsigned long *) 0xE0008000))
#define T1TCR           (*((volatile unsigned long *) 0xE0008004))
#define T1TC            (*((volatile unsigned long *) 0xE0008008))
#define T1PR            (*((volatile unsigned long *) 0xE000800C))
#define T1PC            (*((volatile unsigned long *) 0xE0008010))
#define T1MCR           (*((volatile unsigned long *) 0xE0008014))
#define T1MR0           (*((volatile unsigned long *) 0xE0008018))
#define T1MR1           (*((volatile unsigned long *) 0xE000801C))
#define T1MR2           (*((volatile unsigned long *) 0xE0008020))
#define T1MR3           (*((volatile unsigned long *) 0xE0008024))
#define T1CCR           (*((volatile unsigned long *) 0xE0008028))
#define T1CR0           (*((volatile unsigned long *) 0xE000802C))
#define T1CR1           (*((volatile unsigned long *) 0xE0008030))
#define T1CR2           (*((volatile unsigned long *) 0xE0008034))
#define T1CR3           (*((volatile unsigned long *) 0xE0008038))
#define T1EMR           (*((volatile unsigned long *) 0xE000803C))

/* Pulse Width Modulator (PWM) */
/* 脉宽调制器的特殊寄存器 */
#define PWMIR           (*((volatile unsigned long *) 0xE0014000))
#define PWMTCR          (*((volatile unsigned long *) 0xE0014004))
#define PWMTC           (*((volatile unsigned long *) 0xE0014008))
#define PWMPR           (*((volatile unsigned long *) 0xE001400C))
#define PWMPC           (*((volatile unsigned long *) 0xE0014010))
#define PWMMCR          (*((volatile unsigned long *) 0xE0014014))
#define PWMMR0          (*((volatile unsigned long *) 0xE0014018))
#define PWMMR1          (*((volatile unsigned long *) 0xE001401C))
#define PWMMR2          (*((volatile unsigned long *) 0xE0014020))
#define PWMMR3          (*((volatile unsigned long *) 0xE0014024))
#define PWMMR4          (*((volatile unsigned long *) 0xE0014040))
#define PWMMR5          (*((volatile unsigned long *) 0xE0014044))
#define PWMMR6          (*((volatile unsigned long *) 0xE0014048))
#define PWMPCR          (*((volatile unsigned long *) 0xE001404C))
#define PWMLER          (*((volatile unsigned long *) 0xE0014050))

/* A/D CONVERTER */
/* A/D转换器 */
#define ADCR            (*((volatile unsigned long *) 0xE0034000))      /* Not used for lpc210x*/
#define ADDR            (*((volatile unsigned long *) 0xE0034004))      /* Not used for lpc210x*/

/* Real Time Clock */
/* 实时时钟的特殊寄存器 */
#define ILR             (*((volatile unsigned char *) 0xE0024000))
#define CTC             (*((volatile unsigned short*) 0xE0024004))
#define CCR             (*((volatile unsigned char *) 0xE0024008))
#define CIIR            (*((volatile unsigned char *) 0xE002400C))
#define AMR             (*((volatile unsigned char *) 0xE0024010))
#define CTIME0          (*((volatile unsigned long *) 0xE0024014))
#define CTIME1          (*((volatile unsigned long *) 0xE0024018))
#define CTIME2          (*((volatile unsigned long *) 0xE002401C))
#define SEC             (*((volatile unsigned char *) 0xE0024020))
#define MIN             (*((volatile unsigned char *) 0xE0024024))
#define HOUR            (*((volatile unsigned char *) 0xE0024028))
#define DOM             (*((volatile unsigned char *) 0xE002402C))
#define DOW             (*((volatile unsigned char *) 0xE0024030))
#define DOY             (*((volatile unsigned short*) 0xE0024034))
#define MONTH           (*((volatile unsigned char *) 0xE0024038))
#define YEAR            (*((volatile unsigned short*) 0xE002403C))
#define ALSEC           (*((volatile unsigned char *) 0xE0024060))
#define ALMIN           (*((volatile unsigned char *) 0xE0024064))
#define ALHOUR          (*((volatile unsigned char *) 0xE0024068))
#define ALDOM           (*((volatile unsigned char *) 0xE002406C))
#define ALDOW           (*((volatile unsigned char *) 0xE0024070))
#define ALDOY           (*((volatile unsigned short*) 0xE0024074))
#define ALMON           (*((volatile unsigned char *) 0xE0024078))
#define ALYEAR          (*((volatile unsigned short*) 0xE002407C))
#define PREINT          (*((volatile unsigned short*) 0xE0024080))
#define PREFRAC         (*((volatile unsigned short*) 0xE0024084))

/* Watchdog */
/* 看门狗的特殊寄存器 */
#define WDMOD           (*((volatile unsigned char *) 0xE0000000))
#define WDTC            (*((volatile unsigned long *) 0xE0000004))
#define WDFEED          (*((volatile unsigned char *) 0xE0000008))
#define WDTV            (*((volatile unsigned long *) 0xE000000C))

/* Define firmware Functions */
/* 定义固件函数 */
#define rm_init_entry()             ((void (*)())(0x7fffff91))()
#define rm_undef_handler()          ((void (*)())(0x7fffffa0))()
#define rm_prefetchabort_handler()  ((void (*)())(0x7fffffb0))()
#define rm_dataabort_handler()      ((void (*)())(0x7fffffc0))()
#define rm_irqhandler()             ((void (*)())(0x7fffffd0))()
#define rm_irqhandler2()            ((void (*)())(0x7fffffe0))()
#define iap_entry(a, b)             ((void (*)())(0x7ffffff1))(a, b)

#define cs       	       0x00400000	   //p0.22
#define so                 (IO0PIN&0x00800000)>>23	   //p0.23
#define si       	       0x01000000	   //p0.24
#define sck       	       0x02000000	   //p0.25
#define E2_IOCON             (cs|si|sck)

#define	  	cs_set     	 IO0SET		=IO0SET | cs
#define	  	cs_clr   	 IO0CLR		=IO0CLR | cs

#define	  	si_set	     IO0SET		=IO0SET | si
#define	  	si_clr	     IO0CLR		=IO0CLR | si

#define	  	sck_set      IO0SET		=IO0SET | sck
#define	  	sck_clr   	 IO0CLR		=IO0CLR | sc


#define LCD_RS   	 0x00010000   //p1.16
#define LCD_RW	     0x40000000   //p0.30
#define LCD_E	     0x20000000   //p0.29
#define LCD_D0	     0x10000000   //p0.28
#define LCD_D1   	 0x00020000   //p1.17
#define LCD_D2	     0x08000000   //p0.27
#define LCD_D3	     0x02000000   //p0.25
#define LCD_D4	     0x00040000   //p1.18
#define LCD_D5	     0x01000000   //p0.24
#define LCD_D6	     0x00080000   //p1.19
#define LCD_D7	     0x00800000   //p0.23
#define LCD_CS2	     0x00400000   //p0.22 
#define LCD_CS1	     0x00200000   //p0.21
#define LCD_POWER    0x00200000   //p0.15

#define D1302_RST	 0x01000000   //p0.4
#define D1302_IO     0x00080000   //p1.25
#define D1302_CLK    0x00800000   //p0.5  

#define M4821_SDI1   0x00400000   //p0.7 
#define M4821_SCK1   0x00200000   //p1.24
#define M4821_CS11   0x01000000   //p0.12

#define M4821_SDI2   0x00400000   //p0.11 
#define M4821_SCK2   0x00200000   //p1.23
#define M4821_CS12   0x01000000   //p0.8

#define M485_EN	     0x00080000   //p0.13
#define LED	         0x00800000   //p1.22
#define BEEP	     0x00400000   //p1.20 
#define DS1820	     0x00800000   //p0.17

#define RY1	         0x00400000   //p1.28 
#define RY2	         0x00200000   //p1.29
#define RY3	         0x01000000   //p1.31
#define RY4	         0x00080000   //p1.21


#define UP	         0x00200000   //p0.21
#define DOWN	     0x01000000   //p0.24
#define CANCEL	     0x00080000   //p1.19
#define ENTER	     0x00800000   //p0.23

#define UART_BPS	 115200			/* 定义通讯波特率 */
#define UART0_EN     0x00000005    //使能URAT0
#define I2C_EN       0x00000050    //使能I2C功能
#define UART1_EN     0x00050000    //使能URAT1


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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