第1章 PHILIPS系列单片机概述 1.1 PHILIPS系列单片机发展趋势(1) 1.2 LPC900系列单片机现状及其进展(3) 1.3 P89LPC932单片机的主要性能和特点(4) 1.4 芯片内部框图及其引脚定义(5) 第2章 P89LPC932单片机的硬件结构 2.1 概述(11) 2.2 振荡器(11) 2.2.1 时钟定义(11) 2.2.2 振荡器时钟OSCCLK(12) 2.2.3 时钟输出(12) 2.2.4 片内RC振荡器选项(13) 2.2.5 外部时钟输入选项(13) 2.2.6 振荡器时钟唤醒延迟(14) 2.2.7 CPU时钟调整: DIVM寄存器(14) 2.3 中断(14) 2.3.1 中断优先级结构(15) 2.3.2 外部中断输入(17) 2.3.3 外部中断引脚干扰抑制(17) 2.3.4 键盘中断(17) 2.4 I/O口(19) 2.4.1 I/O口配置(19) 2.4.2 准双向口输出配置(20) 2.4.3 开漏输出配置(21) 2.4.4 仅为输入(高阻)配置(21) 2.4.5 推挽输出配置(21) 2.4.6 P0口模拟功能(23) 2.4.7 附加端口特性(23) 2.5 定时器/计数器(23) 2.5.1 特殊功能寄存器TMOD、TAMOD和TCON(24) 2.5.2 定时器/计数器工作模式(26) 2.5.3 定时器溢出触发输出(29) 2.5.4 实时时钟/系统定时器(29) 2.6 捕获/比较单元CCU(31) 2.6.1 CCU时钟(33) 2.6.2 CCU时钟预分频(33) 2.6.3 基本定时器操作(34) 2.6.4 输出比较(35) 2.6.5 输入捕获(37) 2.6.6 PWM操作(37) 2.6.7 交替输出模式(39) 2.6.8 同步PWM寄存器更新(39) 2.6.9 停止(40) 2.6.10 PLL的操作(40) 2.6.11 CCU中断结构(41) 2.7 多功能串口UART(44) 2.7.1 UART的4种操作模式(44) 2.7.2 UART的特殊功能寄存器(45) 2.7.3 波特率发生器及其选择(45) 2.7.4 更新BRGR1和BRGR0寄存器(46) 2.7.5 帧错误(46) 2.7.6 间隔检测(47) 2.7.7 关于UART的更多信息(48) 2.7.8 双缓冲(51) 2.7.9 多机通信(53) 2.8 I2C总线接口(54) 2.8.1 I2C特殊功能寄存器描述(56) 2.8.2 I2C操作模式(59) 2.9 串行外围接口SPI(67) 2.9.1 特殊功能寄存器描述(68) 2.9.2 典型的SPI配置(69) 2.9.3 对SPI进行配置(71) 2.9.4 作为从机时的额外注意事项(71) 2.9.5 作为主机时的额外注意事项(72) 2.9.6 通过SS改变模式(72) 2.9.7 写冲突(72) 2.9.8 数据模式(73) 2.9.9 SPI时钟预分频器选择(74) 2.10 模拟比较器(74) 2.10.1 比较器的配置(75) 2.10.2 内部参考电压(76) 2.10.3 比较器中断(76) 2.10.4 比较器和节电模式(76) 2.10.5 比较器配置举例(77) 2.11 看门狗定时器(77) 2.11.1 看门狗功能(77) 2.11.2 看门狗清零序列(79) 2.11.3 看门狗时钟源(81) 2.11.4 定时器模式中的看门狗定时器(82) 2.11.5 掉电操作(82) 2.11.6 无需外部振荡器实现从掉电状态周期性唤醒(82) 2.12 电源监控功能(83) 2.12.1 掉电检测(83) 2.12.2 上电检测(84) 2.13 节电模式(84) 2.14 数据E2PROM(86) 2.14.1 操作模式(87) 2.14.2 数据E2PROM读(88) 2.14.3 数据E2PROM写(88) 2.14.4 硬件复位(89) 2.14.5 对DEEDAT寄存器的多次写操作(89) 2.14.6 写DEECON和DEEDAT寄存器的顺序(89) 2.14.7 数据E2PROM行填充(89) 2.14.8 数据E2PROM块填充(89) 2.15 Flash程序存储器(90) 2.15.1 概述(90) 2.15.2 特性(90) 2.15.3 Flash编程和擦除(91) 2.15.4 P89LPC932的ISP&IAP性能(91) 2.15.5 在应用中编程的方法(95) 2.15.6 用户配置字节(98) 2.15.7 用户扇区保密字节(99) 2.15.8 引导向量(100) 2.15.9 引导状态(100) 2.16 复位(100) 2.16.1 复位源(100) 2.16.2 复位向量(102) 2.16.3 复位电路的可靠性设计(102) 2.17 辅助功能(104) 2.17.1 AUXR1寄存器(104) 2.17.2 软件复位(104) 2.17.3 双数据指针(104) 2.18 特殊功能寄存器(105) 第3章 单片机指令系统 3.1 寻址方式(110) 3.1.1 立即数寻址(110) 3.1.2 寄存器寻址(110) 3.1.3 直接寻址(110) 3.1.4 间接寻址(111) 3.1.5 基址加变址间接寻址(111) 3.2 指令分类(111) 3.3 数据传送指令(112) 3.3.1 字节数据传送指令(112) 3.3.2 位数据传送指令(115) 3.3.3 数据指令DPTR赋值指令(115) 3.3.4 程序存储器数据传送指令(115) 3.3.5 外部RAM数据传送指令(116) 3.3.6 堆栈操作指令(116) 3.3.7 数据交换指令(117) 3.4 算术指令(118) 3.4.1 加法类指令(118) 3.4.2 减法类指令(120) 3.4.3 乘除法指令(122) 3.5 逻辑指令(122) 3.5.1 单操作数逻辑指令(122) 3.5.2 双操作数逻辑指令(124) 3.6 控制跳转指令(128) 3.6.1 子程序调用和返回指令(128) 3.6.2 无条件跳转指令(129) 3.6.3 条件跳转指令(130) 3.6.4 比较不等则跳转指令(131) 3.6.5 循环控制及其他指令(132) 第4章 LPC900系列单片机开发工具 4.1 TKS932单片机实时在线仿真器(133) 4.1.1 主要特点(133) 4.1.2 TKS932仿真器的分类(133) 4.1.3 Keil C51软件仿真(134) 4.1.4 Keil C51的安装(135) 4.2 DP932单片机下载开发实验仪(147) 4.2.1 DP932硬件结构(148) 4.2.2 DP932硬件原理(157) 4.2.3 ZLGISP下载软件(173) 4.3 编程器与编程调试器(179) 4.3.1 编程芯片(179) 4.3.2 读取与校验芯片(181) 4.3.3 调试(181) 4.4 ISD51在线仿真调试(182) 4.4.1 ISD51简介(182) 4.4.2 使用ISD51前的准备工作(183) 4.4.3 ISD51仿真调试功能的使用(184) 第5章 其他功能部件的应用 5.1 实验前的准备工作(188) 5.1.1 P89LPC932程序存储器ISP说明(188) 5.1.2 P89LPC932的ISP功能恢复(190) 5.1.3 P89LPC932的ISP代码(191) 5.2 P89LPC932相关实验(198) 5.2.1 振荡电路(198) 5.2.2 复位电路(202) 5.2.3 I/O口(204) 5.2.4 中断功能(207) 5.2.5 定时器/计数器(214) 5.2.6 实时时钟(219) 5.2.7 增强型UART(225) 5.2.8 高速SPI(257) 5.2.9 高速I2C(263) 5.2.10 CCU单元(271) 5.2.11 WDT应用(279) 5.2.12 模拟比较器(282) 5.2.13 内部RAM及E2PROM(285) 5.2.14 低功耗、掉电唤醒(292) 5.2.15 ISP/IAP功能(294) 5.2.16 辅助功能(297) 5.3 其他功能模块的应用(300) 5.3.1 ZLG7289A键盘显示芯片(300) 5.3.2 ZL1420A可再编程语音模块(306) 5.3.3 PCF8576液晶驱动芯片(318) 5.3.4 PCF8563低功耗时钟芯片(325) 5.3.5 ZLG500A读卡模块(341) 5.3.6 SLE4442逻辑加密卡(348) 5.3.7 ZY886A/B/C型水表、煤气表模块(362) 5.3.8 红外发射/接收(376) 5.3.9 ZLGRF01模块(380) 5.4 综合实验(393) 5.4.1 智能IC卡水表(393) 5.4.2 单相多费率电能表(394) 5.4.3 μCOS操作系统(394) 5.4.4 Small RTOS操作系统(399) 附录P89LPC932的ISP应用设计 |