丛书序言 1
前言 1
第1章 绪论 1
1.1 PIC系列单片机的分类 1
1.2 PIC系列单片机的结构 1
1.3 开发工具 1
目录 1
1.4 芯片种类 2
1.4.1 存储器类型 2
1.4.2 工作电压 2
2.1.1 概述 4
2.1.2 端口A 4
2.1 I/O端口 4
第2章 PIC系列单片机的I/O结构 4
2.1.3 端口B 6
2.1.4 端口C 8
2.1.5 端口D 9
2.1.6 端口E 11
2.2 从并端口 12
第3章 PIC系列单片机的模拟模块 15
3.1 A/D转换模块 15
3.1.1 概述 15
3.1.2 A/D采样要求 19
3.1.3 A/D时钟选择 20
3.1.5 A/D转换 21
3.1.4 A/D模拟输入管脚的配置 21
3.1.6 ECCP下的A/D转换 22
3.2 比较器模块 23
3.2.1 概述 23
3.2.2 比较器的操作 24
3.2.3 比较器的参考电压 25
3.2.4 比较器的反应时间 25
3.2.5 比较器的输出 25
3.2.6 比较器的中断 25
3.2.7 休眠状态下的比较器 26
3.2.8 复位的影响 26
3.2.9 模拟电压的输入 26
3.3.1 概述 27
3.3 参考电压模块 27
3.3.2 参考电压的配置 28
3.3.3 参考电压的精度/误差 28
3.3.4 休眠状态下的工作 28
3.3.5 复位的影响 29
3.3.6 走线注意事项 29
3.4 LVD模块 29
3.4.1 概述 29
3.4.2 控制寄存器 31
3.4.3 工作方式 32
3.4.4 复位的影响 33
4.1.3 返回地址堆栈 34
4.1.1 概述 34
4.1.2 程序存储器结构 34
第4章 PIC系列单片机的存储系统 34
4.1 存储器结构 34
4.1.4 快速寄存器堆栈 36
4.1.5 PCL、PCLATH和PCLATU 36
4.1.6 指令周期 37
4.1.7 流水线 37
4.1.8 指令存储结构 38
4.1.9 数据存储器组织结构 39
4.1.10 Access Bank 40
4.1.11 Bank选择寄存器 40
4.1.12 间接寻址 40
4.1.13 状态寄存器 41
4.2.2 EECON1和EECON2寄存器 42
4.2 数据存储器EEPROM 42
4.2.1 EEADR寄存器 42
4.2.3 EEPROM读操作 43
4.2.4 EEPROM写操作 44
4.3 Flash程序存储器 44
4.3.1 表格读写操作 45
4.3.2 控制寄存器 45
4.3.3 Flash程序存储器读操作 47
4.3.4 Flash程序存储器擦除操作 47
4.3.5 Flash程序存储器写操作 48
第5章 中断系统 52
5.1 概述 52
5.2 INTCON寄存器 53
5.3 PIR寄存器 55
5.4 PIE寄存器 57
5.5 IPR寄存器 59
5.6 RCON寄存器 61
5.7 中断现场保护 62
第6章 PIC系列单片机的计数器 63
6.1 计数器0 63
6.1.1 概述 63
6.1.2 计数器0工作模式 64
6.1.3 定标器 64
6.2 计数器1 65
6.2.1 概述 65
6.1.5 16bit计数器模式下的读写操作 65
6.1.4 计数器0中断 65
6.2.2 工作模式 67
6.2.3 振荡器 67
6.2.4 溢出中断 67
6.2.5 复位 67
6.2.6 16bit读写模式 67
6.3 计数器2 67
6.3.1 概述 67
6.3.2 工作模式 68
6.3.3 中断 68
6.3.4 输出 69
6.4 计数器3 69
6.4.1 概述 69
6.4.3 中断 70
6.4.2 振荡器 70
6.4.4 复位 71
第7章 输入捕捉/输出比较/脉宽调制(CCP/ECCP)模块 72
7.1 CCP模块 72
7.1.1 概述 72
7.1.2 CCP1模块 73
7.1.3 捕捉模式 73
7.1.4 比较模式 74
7.1.5 PWM模式 75
7.2 ECCP模块 77
7.2.1 概述 77
7.2.2 ECCP1模块 78
7.2.5 标准PWM模式 79
7.2.6 增强PWM模式 79
7.2.3 捕捉模式 79
7.2.4 比较模式 79
7.2.7 自动关闭 84
第8章 PIC系列单片机的串行通信模块 86
8.1 MSSP模块 86
8.1.1 概述 86
8.1.2 控制寄存器 86
8.1.3 SPI模式 86
8.1.4 IIC模式 92
8.2 USART模块 117
8.2.1 概述 117
8.2.2 BRG 119
8.2.3 异步模式 123
8.2.4 同步通信主模式 127
8.2.5 同步通信从模式 129
8.3 CAN模块 130
8.3.1 概述 130
8.3.2 CAN模块寄存器 131
8.3.3 CAN操作模式 149
8.3.4 CAN信息发送 150
8.3.5 CAN信息接收 152
8.3.6 信息滤波器和掩码 155
8.3.7 波特率设置 156
8.3.8 同步 158
8.3.9 编程时间段 160
8.3.10 振荡器容差 160
8.3.11 比特调速配置寄存器 160
8.3.12 错误检测 160
8.3.13 CAN中断 162
第9章 PIC系列单片机的软件(Flash Bootloader)设计 164
9.1 概述 164
9.2 固件 164
9.3 引导 174
9.4 编程 175
9.5 代码 176
10.1.1 概述 188
10.1.2 PIC18F458单片机时钟系统简介 188
10.1 振荡器 188
第10章 PIC系列单片机硬件开发可靠性设计 188
10.2 复位系统 191
10.2.1 概述 191
10.2.2 PIC18F458单片机复位系统简介 192
10.3 硬件乘法器 195
10.4 CPU特色 198
10.5 看门狗定时器(WDT) 203
10.5.1 WDTCON寄存器 203
10.5.2 WDT后分频器 204
10.6 掉电模式(休眠) 204
10.6.1 从休眠状态唤醒 204
10.6.2 中断唤醒 204
10.7 程序校验和代码保护 205
10.7.1 程序存储器代码保护 206
10.7.2 数据存储器(EEPROM)代码保护 207
10.7.3 配置寄存器保护 208
10.8 ID单元 208
10.9 在线串行编程 208
10.10 在线调试器 208
10.11 低电压ICSP编程 208
第11章 PIC系列单片机应用实例 209
11.1 PIC18F458单片机学习板系统简介 209
11.2 异步串口通信模块 210
11.2.1 MAX3226E芯片简介 210
11.2.2 电路设计 212
11.3.1 MCP2551芯片简介 213
11.3 CAN总线通信模块 213
11.3.2 6N137光耦合器简介 214
11.3.3 电路设计 215
11.4 IIC总线通信模块 216
11.4.1 24LC32A芯片简介 216
11.4.2 电路设计 218
11.5 超声波发射模块 218
11.5.1 MCP6S21芯片简介 219
11.5.2 MCP42100芯片简介 221
11.5.3 电路设计 223
11.6 超声波接收模块 224
11.6.1 GL3274芯片简介 224
11.6.2 电路设计 225
11.7.2 电路设计 226
11.7 温度测量模块 226
11.7.1 TC1047A芯片简介 226
11.8 直流电动机驱动模块 227
11.8.1 HIP4020芯片简介 227
11.8.2 电路设计 228
11.9 人机交互模块 230
11.9.1 HD7279A芯片简介 230
11.9.2 电路设计 231
11.10 其他模块原理图 233
附录A 指令集综述 235
A.1 概述 235
A.2 指令集 241
参考文献 282