第1章 AM824_Core开发套件 1
1.1 LPC824微控制器 1
1.1.1 特性 1
1.1.2 概述 2
1.2 LPC84 x微控制器 7
1.2.1 特性 7
1.2.2 概述 9
1.3 开关矩阵(SWM) 13
1.3.1 SWM简介 13
1.3.2 SWM应用 14
1.4 AM824_Core 16
1.4.1 电源电路 17
1.4.2 最小系统 18
1.4.3 复位与调试电路 19
1.4.4 板载外设电路 20
1.4.5 跳线帽的使用 23
1.4.6 MiniPort接口 23
1.4.7 2×10扩展接口说明 25
1.4.8 MicroPort接口 26
1.5 MicroPort模块介绍 28
1.5.1 SPI Flash模块(MicroPort-Flash) 28
1.5.2 EEPROM模块(MicroPort-EEPROM) 29
1.5.3 RTC模块(MicroPort-RTC) 30
1.5.4 USB模块(MicroPort-USB) 32
1.5.5 RX8025T模块(MicroPort-RX8025T) 33
1.5.6 DS1302模块(MicroPort-DS1302) 35
1.5.7 Analog模块(MicroPort-Analog) 36
1.6 MiniPort模块介绍 38
1.6.1 LED模块(MiniPort-LED) 38
1.6.2 数码管模块(MiniPort-View) 40
1.6.3 按键模块(MiniPort-Key) 41
1.6.4 595模块(MiniPort-595) 43
1.6.5 ZLG72128模块(MiniPort-ZLG72128) 44
第2章 ADC信号调理电路设计 47
2.1 应用背景 47
2.1.1 标称精度 47
2.1.2 外围电路 48
2.1.3 干扰源 48
2.2 电路设计 49
2.2.1 基准源 50
2.2.2 低噪声模拟电源 52
2.2.3 瞬态驱动 53
2.2.4 输入信号滤波 55
2.2.5 模拟地与数字地 57
2.2.6 I/O扇出电流 58
2.3 必要措施 58
2.3.1 输入范围匹配 59
2.3.2 多通道采样设置 60
2.3.3 电源分配策略 63
2.3.4 PCB布局布线处理 63
2.4 实测验证 64
2.4.1 无噪声分辨率 64
2.4.2 积分非线性(INL) 65
2.4.3 失调与增益误差 68
2.5 应用说明 68
第3章 PWM实现DAC电路设计 70
3.1 实现原理 70
3.1.1 PWM信号时域分析 70
3.1.2 PWM信号频域分析 71
3.2 电路设计 72
3.2.1 DAC分辨率 72
3.2.2 有源低通滤波器 74
3.3 测试验证 75
3.3.1 DNL 75
3.3.2 INL 76
3.3.3 建立时间 77
3.4 参数总结 78
第4章 面向接口的编程 79
4.1 平台技术 79
4.1.1 创新的窘境 79
4.1.2 AWorks 80
4.1.3 AMetal 82
4.2 开关量信号 90
4.2.1 I/O系统 90
4.2.2 输出控制 91
4.3 LED数码管 97
4.3.1 静态显示 97
4.3.2 动态显示 100
4.3.3 闪烁处理 105
4.4 事件驱动 110
4.4.1 中断与事件驱动 110
4.4.2 软件定时器 111
4.5 键盘管理 120
4.5.1 独立按键 120
4.5.2 矩阵键盘 126
4.6 SPI总线 133
4.6.1 SPI总线简介 133
4.6.2 74HC595接口 136
4.7 I2C总线 142
4.7.1 I2C总线简介 142
4.7.2 LM75B接口 143
4.7.3 温控器 145
第5章 深入浅出AMetal 151
5.1 接口与实现 151
5.1.1 GPIO接口函数 151
5.1.2 LED接口与实现 159
5.1.3 I/O接口与中断 163
5.2 LED数码管接口 167
5.2.1 静态显示 167
5.2.2 动态显示 172
5.2.3 代码重构 176
5.3 键盘扫描接口 186
5.3.1 单个独立按键 186
5.3.2 多个独立按键 190
5.3.3 矩阵键盘 195
5.4 PWM接口 201
5.4.1 初始化 201
5.4.2 PWM接口函数 202
5.4.3 蜂鸣器接口函数 204
5.5 SPI总线 206
5.5.1 初始化 206
5.5.2 接口函数 207
5.5.3 SPI扩展接口 216
5.6 I2C总线 225
5.6.1 初始化 225
5.6.2 接口函数 226
5.6.3 I2C扩-展接口 229
5.7 A/D转换器 232
5.7.1 模/数信号转换 232
5.7.2 初始化 236
5.7.3 接口函数 237
5.7.4 温度采集 240
5.8 UART总线 253
5.8.1 初始化 254
5.8.2 接口函数 255
5.8.3 带缓冲区的UART接口 261
第6章 重用外设驱动代码 266
6.1 EEPROM存储器 266
6.1.1 器件简介 266
6.1.2 初始化 267
6.1.3 读/写函数 270
6.1.4 NVRAM通用接口函数 272
6.2 SPI NOR Flash存储器 278
6.2.1 基本功能 278
6.2.2 初始化 279
6.2.3 接口函数 282
6.2.4 MTD通用接口函数 285
6.2.5 FTL通用接口函数 290
6.2.6 微型数据库 297
6.3 RTC实时时钟 299
6.3.1 PCF85063 299
6.3.2 RTC通用接口 302
6.3.3 闹钟通用接口 306
6.3.4 系统时间 312
6.3.5 特殊功能控制接口 317
6.3.6 RX8025T 318
6.3.7 DS1302 328
6.4 键盘与数码管接口 337
6.4.1 ZLG72128简介 337
6.4.2 ZLG72128初始化 346
6.4.3 按键管理接口函数 349
6.4.4 数码管显示接口函数 351
第7章 面向通用接口的编程 361
7.1 LED控制接口 361
7.1.1 LED通用接口 361
7.1.2 LED驱动 363
7.1.3 MiniPort-LED 366
7.2 HC595接口 368
7.2.1 HC595通用接口 368
7.2.2 HC595驱动 369
7.2.3 使用HC595驱动LED 373
7.3 蜂鸣器控制接口 375
7.3.1 蜂鸣器通用接口 375
7.3.2 无源蜂鸣器驱动 377
7.4 温度采集接口 378
7.4.1 温度传感器通用接口 378
7.4.2 LM75B驱动 379
7.5 键盘 382
7.5.1 通用键盘接口 382
7.5.2 独立键盘驱动 385
7.5.3 矩阵键盘驱动 388
7.6 数码管 394
7.6.1 通用数码管接口 394
7.6.2 数码管驱动 398
7.6.3 数码管驱动(HC595输出段码) 403
7.7 数码管与矩阵键盘联合使用 407
7.7.1 数码管、键盘与I/O驱动 407
7.7.2 数码管、键盘与HC595驱动 411
7.8 ZLG72128——数码管与键盘管理 415
7.8.1 ZLG72128简介 415
7.8.2 ZLG72128驱动 416
7.9 温控器 421
第8章 深入理解AMetal 426
8.1 LED通用接口 426
8.1.1 定义接口 426
8.1.2 实现接口 428
8.2 HC595接口 444
8.2.1 定义接口 444
8.2.2 实现接口 446
8.3 蜂鸣器接口 454
8.3.1 定义接口 454
8.3.2 实现接口 455
8.4 温度采集接口 463
8.4.1 定义接口 463
8.4.2 实现接口 464
8.5 通用按键接口 469
8.5.1 定义接口 469
8.5.2 实现接口 472
8.5.3 检测按键的实现 480
8.6 通用数码管接口 486
8.6.1 定义接口 486
8.6.2 实现接口 488
第9章 BLE & ZigBee无线模块 509
9.1 BLE核心板 509
9.1.1 产品简介 509
9.1.2 协议说明 513
9.1.3 蓝牙模块初始化 514
9.1.4 蓝牙模块控制接口 518
9.1.5 蓝牙模块读/写数据接口 526
9.1.6 应用案例 529
9.2 ZigBee核心板 531
9.2.1 产品简介 531
9.2.2 组网应用 534
9.2.3 ZigBee初始化 535
9.2.4 ZigBee配置接口 538
9.2.5 ZigBee数据传输接口 545
9.2.6 应用案例 548
9.3 MVC框架 551
9.3.1 MVC模式 551
9.3.2 观察者模式 552
9.3.3 领域模型 555
9.3.4 子系统体系结构 556
9.3.5 软件体系结构 557
9.3.6 MVC应用程序优化 579
第10章 温度检测仪 582
10.1 业务建模 582
10.1.1 问题描述 582
10.1.2 系统用例图 583
10.2 分析建模 584
10.2.1 领域词典 584
10.2.2 类模型 585
10.2.3 交互模型 586
10.2.4 按键处理模型 589
10.3 温度检测设计 590
10.3.1 子系统接口 590
10.3.2 设计模型 592
10.3.3 模型初始化 594
10.3.4 设置与获取数据 595
10.3.5 报警状态 598
10.4 视图设计 600
10.4.1 数码管视图 600
10.4.2 蜂鸣器视图 602
10.4.3 ZigBee视图 604
10.5 按键处理模块设计 609
10.5.1 SET键处理 609
10.5.2 INC(加)键处理 616
10.5.3 DEC(减)键处理 617
10.5.4 L/R键处理 617
10.5.5 初始化 618
10.6 状态机设计 622
10.6.1 状态模型 622
10.6.2 设计模型 623
10.6.3 状态机 627
10.6.4 状态机接口 633
10.6.5 动作类 640
10.7 应用程序 651
参考文献 655