📄 main.lst
字号:
202 =1
203 =1 /* I2C Interface 1 */
204 =1 #define I2C1CONSET (*((volatile unsigned char *) 0xE005C000))
205 =1 #define I2C1STAT (*((volatile unsigned char *) 0xE005C004))
206 =1 #define I2C1DAT (*((volatile unsigned char *) 0xE005C008))
207 =1 #define I2C1ADR (*((volatile unsigned char *) 0xE005C00C))
208 =1 #define I2C1SCLH (*((volatile unsigned short*) 0xE005C010))
209 =1 #define I2C1SCLL (*((volatile unsigned short*) 0xE005C014))
210 =1 #define I2C1CONCLR (*((volatile unsigned char *) 0xE005C018))
211 =1
212 =1 /* SPI0 (Serial Peripheral Interface 0) */
213 =1 #define S0SPCR (*((volatile unsigned short*) 0xE0020000))
214 =1 #define S0SPSR (*((volatile unsigned char *) 0xE0020004))
215 =1 #define S0SPDR (*((volatile unsigned short*) 0xE0020008))
216 =1 #define S0SPCCR (*((volatile unsigned char *) 0xE002000C))
217 =1 #define S0SPINT (*((volatile unsigned char *) 0xE002001C))
218 =1
219 =1 /* SSP Controller (SPI1) */
220 =1 #define SSPCR0 (*((volatile unsigned short*) 0xE0068000))
221 =1 #define SSPCR1 (*((volatile unsigned char *) 0xE0068004))
222 =1 #define SSPDR (*((volatile unsigned short*) 0xE0068008))
223 =1 #define SSPSR (*((volatile unsigned char *) 0xE006800C))
224 =1 #define SSPCPSR (*((volatile unsigned char *) 0xE0068010))
225 =1 #define SSPIMSC (*((volatile unsigned char *) 0xE0068014))
226 =1 #define SSPRIS (*((volatile unsigned char *) 0xE0068018))
227 =1 #define SSPMIS (*((volatile unsigned char *) 0xE006801C))
228 =1 #define SSPICR (*((volatile unsigned char *) 0xE0068020))
229 =1
230 =1 /* Real Time Clock */
231 =1 #define ILR (*((volatile unsigned char *) 0xE0024000))
232 =1 #define CTC (*((volatile unsigned short*) 0xE0024004))
233 =1 #define CCR (*((volatile unsigned char *) 0xE0024008))
234 =1 #define CIIR (*((volatile unsigned char *) 0xE002400C))
235 =1 #define AMR (*((volatile unsigned char *) 0xE0024010))
236 =1 #define CTIME0 (*((volatile unsigned long *) 0xE0024014))
237 =1 #define CTIME1 (*((volatile unsigned long *) 0xE0024018))
238 =1 #define CTIME2 (*((volatile unsigned long *) 0xE002401C))
239 =1 #define SEC (*((volatile unsigned char *) 0xE0024020))
240 =1 #define MIN (*((volatile unsigned char *) 0xE0024024))
241 =1 #define HOUR (*((volatile unsigned char *) 0xE0024028))
242 =1 #define DOM (*((volatile unsigned char *) 0xE002402C))
243 =1 #define DOW (*((volatile unsigned char *) 0xE0024030))
244 =1 #define DOY (*((volatile unsigned short*) 0xE0024034))
245 =1 #define MONTH (*((volatile unsigned char *) 0xE0024038))
246 =1 #define YEAR (*((volatile unsigned short*) 0xE002403C))
247 =1 #define ALSEC (*((volatile unsigned char *) 0xE0024060))
248 =1 #define ALMIN (*((volatile unsigned char *) 0xE0024064))
249 =1 #define ALHOUR (*((volatile unsigned char *) 0xE0024068))
250 =1 #define ALDOM (*((volatile unsigned char *) 0xE002406C))
251 =1 #define ALDOW (*((volatile unsigned char *) 0xE0024070))
252 =1 #define ALDOY (*((volatile unsigned short*) 0xE0024074))
253 =1 #define ALMON (*((volatile unsigned char *) 0xE0024078))
254 =1 #define ALYEAR (*((volatile unsigned short*) 0xE002407C))
255 =1 #define PREINT (*((volatile unsigned short*) 0xE0024080))
256 =1 #define PREFRAC (*((volatile unsigned short*) 0xE0024084))
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 5
257 =1
258 =1 /* A/D Converter 0 (AD0) */
259 =1 #define AD0CR (*((volatile unsigned long *) 0xE0034000))
260 =1 #define AD0DR (*((volatile unsigned long *) 0xE0034004))
261 =1
262 =1 /* A/D Converter 1 (AD1) */
263 =1 #define AD1CR (*((volatile unsigned long *) 0xE0060000))
264 =1 #define AD1DR (*((volatile unsigned long *) 0xE0060004))
265 =1
266 =1 /* A/D Converter Global */
267 =1 #define ADGSR (*((volatile unsigned long *) 0xE0034008))
268 =1
269 =1 /* D/A Converter */
270 =1 #define DACR (*((volatile unsigned long *) 0xE006C000))
271 =1
272 =1 /* Watchdog */
273 =1 #define WDMOD (*((volatile unsigned char *) 0xE0000000))
274 =1 #define WDTC (*((volatile unsigned long *) 0xE0000004))
275 =1 #define WDFEED (*((volatile unsigned char *) 0xE0000008))
276 =1 #define WDTV (*((volatile unsigned long *) 0xE000000C))
277 =1
278 =1 #endif // __LPC213x_H
2 #include <LPC213xDEF.H> //
1 =1 /*-----------------------------------------------------------
2 =1 文 件 名 : LPC213XDEF.H
3 =1 创 建 人 : ARM水鸟 HotPower@126.com
4 =1 创 建 日 期 : 2005.7.23 0:38
5 =1 最近修改日期 : 2006.2.14 18:18
6 =1 创 建 地 点 : 西安大雁塔村队部
7 =1 版 本 号 : V1.03 (情人节版)
8 =1 说 明 : 已经过硬件调试
9 =1 由于在不断更新中,故新旧版本以修改日期为准
10 =1 备 注 : 由此文件出现的问题,ARM水鸟不负任何责任
11 =1
12 =1 修 改 原 因 : 结构指针在ARM之特殊寄存器应用
13 =1 给软件仿真提供方便。
14 =1 修 改 效 果 : 尽量符合常用的书写习惯。
15 =1
16 =1 修 改 想 法 : 增加“烦恼”
17 =1 -----------------------------------------------------------*/
18 =1
19 =1
20 =1 #ifndef __LPC213xDEF_H
21 =1 #define __LPC213xDEF_H
22 =1
23 =1 typedef unsigned char uint8; //无符号8位整型变量
24 =1 typedef signed char int8; //有符号8位整型变量
25 =1 typedef unsigned short uint16;//无符号16位整型变量
26 =1 typedef signed short int16; //有符号16位整型变量
27 =1 typedef unsigned int uint32;//无符号32位整型变量
28 =1 typedef signed int int32; //有符号32位整型变量
29 =1 typedef float fp32; //单精度浮点数(32位长度
30 =1 typedef double fp64; //双精度浮点数(64位长度)
31 =1
32 =1
33 =1
34 =1 #define VICIntSel_Watchdog 0//看门狗中断(WDINT)
35 =1 #define VICIntSel_SoftInt1 1//保留给软件中断
36 =1 #define VICIntSel_DbgCommRx 2//ARM内核中断
37 =1 #define VICIntSel_DbgCommTx 3//ARM内核中断
38 =1 #define VICIntSel_Time0 4//定时器0中断
39 =1 #define VICIntSel_Time1 5//定时器1中断
40 =1 #define VICIntSel_UART0 6//UART0中断
41 =1 #define VICIntSel_UART1 7//UART1中断
42 =1 #define VICIntSel_PWM0 8//PWM0中断
43 =1 #define VICIntSel_I2C0 9//I2C0中断
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 6
44 =1 #define VICIntSel_SPI0 10//SPI0中断
45 =1 #define VICIntSel_SSP 11//SSP中断
46 =1 #define VICIntSel_SPI1 11//SPI1中断
47 =1 #define VICIntSel_PLL 12//PLL中断
48 =1 #define VICIntSel_RTC 13//RTC中断
49 =1 #define VICIntSel_EINT0 14//系统控制外部中断0
50 =1 #define VICIntSel_EINT1 15//系统控制外部中断1
51 =1 #define VICIntSel_EINT2 16//系统控制外部中断2
52 =1 #define VICIntSel_EINT3 17//系统控制外部中断3
53 =1 #define VICIntSel_ADC0 18//A/D转换器0中断
54 =1 #define VICIntSel_I2C1 19//I2C1中断
55 =1 #define VICIntSel_BOD 20//掉电检测中断
56 =1 #define VICIntSel_ADC1 21//A/D转换器1中断
57 =1 #define VICIntSel_SoftInt22 22//保留给软件中断
58 =1 #define VICIntSel_SoftInt23 23//保留给软件中断
59 =1 #define VICIntSel_SoftInt24 24//保留给软件中断
60 =1 #define VICIntSel_SoftInt25 25//保留给软件中断
61 =1 #define VICIntSel_SoftInt26 26//保留给软件中断
62 =1 #define VICIntSel_SoftInt27 27//保留给软件中断
63 =1 #define VICIntSel_SoftInt28 28//保留给软件中断
64 =1 #define VICIntSel_SoftInt29 29//保留给软件中断
65 =1 #define VICIntSel_SoftInt30 30//保留给软件中断
66 =1 #define VICIntSel_SoftInt31 31//保留给软件中断
67 =1 #define VICIntSel_Enable 32//使能向量中断
68 =1
69 =1 /*应用示例
70 =1 VICVectCntl0 = VICIntSel_Enable//使能IRQ中断
71 =1 | VICIntSel_EINT0;//获取EINT0的IRQ级别
72 =1 VICVectAddr0 = (long) IRQ_Eint0;//取INT0中断服务地址
73 =1 VICIntEnable = (1 << VICIntSel_EINT0); //使能EINT0中断
74 =1 */
75 =1
76 =1 /*
77 =1 P0口GPIO位寻址位定义
78 =1 */
79 =1
80 =1 #define P0_0 0//P0.0
81 =1 #define TXD0 P0_0//UART0的发送器输出
82 =1 #define PWM1 P0_0//脉宽调制器输出1
83 =1 #define P0_1 1//P0.1
84 =1 #define RXD0 P0_1//UART0的接收器输入
85 =1 #define PWM3 P0_1//脉宽调制器输出3
86 =1 #define P0_2 2//P0.2
87 =1 #define SCL0 P0_2//I2C0时钟输入/输出。开漏输出(符合I2C规范)
88 =1 #define P0_3 3//P0.3
89 =1 #define SDA0 P0_3//I2C0数据输入/输出。开漏输出(符合I2C规范)
90 =1 #define P0_4 4//P0.4
91 =1 #define SCK0 P0_4//SPI0的串行时钟。SPI时钟从主机输出,从机输入
92 =1 #define AD0_6 P0_4//A/D转换器0输入6。该模拟输入总是连接到相应的管脚
93 =1 #define P0_5 5//P0.5
94 =1 #define MISO0 P0_5//SPI0主机输入从机输出端。从机到主机的数据传输
95 =1 #define AD0_7 P0_5//A/D转换器0输入7。该模拟输入总是连接到相应的管脚
96 =1 #define P0_6 6//P0.6
97 =1 #define MOSI0 P0_6//SPI0主机输出从机输入端。主机到从机的数据传输
98 =1 #define AD1_0 P0_6//A/D转换器1输入0。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
99 =1 #define P0_7 7//P0.7
100 =1 #define SSEL0 P0_7//SPI0从机选择。选择SPI接口用作从机
101 =1 #define PWM2 P0_7//脉宽调制器输出2
102 =1 #define P0_8 8//P0.8
103 =1 #define TXD1 P0_8//UART1的发送器输出
104 =1 #define PWM4 P0_8//脉宽调制器输出4
105 =1 #define AD1_1 P0_8//A/D转换器1输入1。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
106 =1 #define P0_9 9//P0.9
107 =1 #define RXD1 P0_9//UART1的接收器输入
108 =1 #define PWM6 P0_9//脉宽调制器输出6
109 =1 #define P0_10 10//P0.10
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 7
110 =1 #define RTS1 P0_10//UART1请求发送出端(仅用于LP138)
111 =1 #define CAP1_0 P0_10//定时器1的捕获输入通道0
112 =1 #define AD1_2 P0_10//A/D转换器1输入2。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
113 =1 #define P0_11 11//P0.11
114 =1 #define CTS1 P0_11//UART1清除发送入端(仅用于LP138)
115 =1 #define CAP1_1 P0_11//定时器1的捕获输入通道1
116 =1 #define W P0_11//I2C1时钟输入/输。开漏输出(符合I2C规范)
117 =1 #define P0_12 12//P0.12
118 =1 #define DSR1 P0_12//UART1数据设置就绪端(仅用于 LPC2138)
119 =1 #define MAT1_0 P0_12//定时器1的匹配输出通道0
120 =1 #define AD1_3 P0_12//A/D转换器1输入3。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
121 =1 #define P0_13 13//P0.13
122 =1 #define DTR1 P0_13//UART1数据终端就绪
123 =1 #define MAT1_1 P0_13//定时器1的匹配输出通道1
124 =1 #define AD1_4 P0_13//A/D转换器1输入4。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
125 =1 #define P0_14 14//P0.14
126 =1 #define DCD1 P0_14//UART1数据载波检测输入(仅用于 LPC2138)
127 =1 #define SDA1 P0_14//I2C1数据输入/输出。开漏输出(符合I2C规范)
128 =1 #define P0_15 15//P0.15
129 =1 #define RI1 P0_15//UART1铃响指示输入(仅用于 LPC2138)
130 =1 #define AD1_5 P0_15//A/D转换器1输入5。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
131 =1 #define P0_16 16//P0.16
132 =1
133 =1 #define P0_17 17//P0.17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -