第1章 PIC单片机入门基础 1
1.1 PIC单片机的特点 1
1.2 PIC单片机的系列产品 4
1.2.1 基本级PIC系列单片机 5
1.2.2 中级PIC系列单片机 5
1.2.3 高级PIC系列单片机 7
1.3 PIC16F87X单片机的硬件结构 8
1.3.1 PIC16F87X的主要特色 9
1.3.2 PIC16F87X的内部结构 10
1.3.3 PIC16F87X的引脚功能 15
1.4 PIC单片机的CPU和中断系统 20
1.4.1 PIC单片机的CPU 20
1.4.2 中断系统 36
1.5 本章小结 49
第2章 C语言程序设计基础 51
2.1 数据结构 51
2.1.1 数据类型 51
2.1.2 变量与常量 53
2.1.3 数组 56
2.1.4 指针 60
2.1.5 结构 63
2.1.6 共用体 67
2.1.7 枚举 69
2.2 运算符与表达式 70
2.2.1 运算符分类与优先级 70
2.2.2 算术运算符与表达式 71
2.2.3 关系运算符与表达式 72
2.2.4 逻辑运算符与表达式 72
2.2.5 位操作运算符与表达式 72
2.2.6 赋值运算符与表达式 73
2.3 程序结构与函数 74
2.3.1 程序结构 74
2.3.2 函数 75
2.4 流程控制语句 82
2.4.1 选择语句 83
2.4.2 循环语句 86
2.4.3 转移语句 89
2.5 本章小结 91
第3章 PIC单片机的常用开发工具 93
3.1 PIC系列单片机的仿真器 93
3.2 PIC系列单片机的编程器及开发套件 98
3.3 MPLAB-IDE 7.4版集成开发环境 102
3.3.1 MPLAB-IDE 7.4概述 103
3.3.2 MPLAB-IDE 7.4工程创建实例 105
3.3.3 MPLAB-IDE 7.4常用的菜单项 107
3.4 本章小结 108
第4章 数字电子时钟设计 109
4.1 实例功能说明 109
4.2 设计思路分析 109
4.3 硬件电路设计 110
4.3.1 PIC单片机硬件设计 110
4.3.2 段式液晶硬件设计 110
4.3.3 键盘输入硬件设计 111
4.4 软件设计与代码 112
4.4.1 程序流程图 112
4.4.2 预定义及全局变量 113
4.4.3 main主函数及初始化 114
4.4.4 定时器中断函数 115
4.4.5 时间运算程序 116
4.4.6 液晶底层驱动 117
4.4.7 液晶显示程序 118
4.4.8 键值读入程序 121
4.4.9 键盘响应程序 122
4.5 本章小结 124
第5章 触摸式密码锁设计 125
5.1 实例内容说明 125
5.2 设计思路分析 125
5.2.1 液晶型号的选择 125
5.2.2 触摸屏的选择 126
5.3 硬件电路设计 128
5.4 软件设计与代码 129
5.4.1 显示的界面 129
5.4.2 程序主流程 129
5.4.3 液晶显示程序 131
5.4.4 触摸屏输入程序 138
5.4.5 响应用户输入程序 141
5.5 本章小结 142
第6章 SD存储卡读写设计 143
6.1 实例内容说明 143
6.2 设计思路分析 143
6.3 硬件电路设计 144
6.3.1 PIC单片机硬件设计 144
6.3.2 液晶硬件设计 144
6.3.3 SD接口设计 145
6.3.4 键盘设计 146
6.4 软件设计与代码 146
6.4.1 流程图 146
6.4.2 预定义及全局变量 147
6.4.3 main主函数及初始化 147
6.4.4 SPI协议 148
6.4.5 液晶底层驱动编写 152
6.4.6 液晶界面设计 154
6.4.7 键盘输入程序 157
6.4.8 键盘响应函数 158
6.5 本章小结 160
第7章 数字频率计设计 161
7.1 实例内容说明 161
7.2 总体设计思路 161
7.3 硬件电路设计 162
7.3.1 PIC单片机硬件设计 162
7.3.2 前端调理电路设计 163
7.3.3 标准方波电路设计 164
7.3.4 1604液晶电路设计 164
7.4 软件设计与代码 164
7.4.1 流程图 165
7.4.2 预定义及全局变量 165
7.4.3 main主函数及初始化 166
7.4.4 定时器中断 167
7.4.5 标准信号产生 168
7.4.6 LCD1604程序 168
7.5 本章小结 171
第8章 压力测量系统设计 173
8.1 实例内容说明 173
8.2 设计思路分析 174
8.2.1 A/D转换的原理说明 174
8.2.2 PIC单片机相关寄存器介绍 174
8.2.3 A/D转换操作对时间的要求 177
8.3 硬件电路设计 177
8.4 软件设计与代码 177
8.4.1 程序设计流程 177
8.4.2 程序代码说明 178
8.5 本章小结 180
第9章 温度测量控制系统设计 181
9.1 实例内容说明 181
9.1.1 温度测量部分 181
9.1.2 温度控制回馈部分 182
9.2 设计思路分析 182
9.2.1 温度传感器的选择 182
9.2.2 运算放大器的选择 183
9.2.3 PIC单片机型号的选择 183
9.2.4 ADC的选择 184
9.3 硬件电路设计 184
9.3.1 温度测量部分硬件设计 184
9.3.2 PIC单片机硬件设计 186
9.3.3 温度控制回馈部分硬件设计 186
9.4 软件设计与代码 187
9.4.1 程序流程框架 187
9.4.2 温度测量软件编写 188
9.4.3 温度控制软件编写 191
9.5 本章小结 192
第10章 I2C总线通信应用设计 193
10.1 实例内容说明 193
10.2 I2C总线介绍 193
10.3 硬件电路设计 198
10.4 软件设计与代码 199
10.5 本章小结 207
第11章 USB数据传输应用设计 209
11.1 实例内容说明 209
11.2 设计思路分析 209
11.2.1 USB SIE相关寄存器 210
11.2.2 HID设备类 211
11.3 硬件电路设计 216
11.4 固件程序设计及代码 217
11.4.1 USB设备的状态 217
11.4.2 USB枚举过程 218
11.4.3 USB固件协议栈整体描述 218
11.4.4 USB程序代码分析 219
11.5 本章小结 223
第12章 软件模拟2262 IC遥控编码器设计 225
12.1 系统功能说明 225
12.2 2262 IC介绍 225
12.3 硬件电路设计 226
12.4 系统软件设计 227
12.4.1 程序设计流程 227
12.4.2 初始化程序 228
12.4.3 延时子程序 228
12.4.4 程序代码与注释 228
12.5 本章小结 233
第13章 软件模拟2272 IC无线解码器设计 235
13.1 系统功能说明 235
13.2 2272 IC介绍 236
13.3 硬件电路设计 237
13.4 系统软件设计 238
13.4.1 程序设计流程 238
13.4.2 程序代码与注释 239
13.5 本章小结 243
第14章 红外收发通信系统设计 245
14.1 实例内容说明 245
14.2 设计思路分析 245
14.3 硬件电路设计 246
14.3.1 红外接收电路 246
14.3.2 红外发送电路 247
14.3.3 人机交互硬件设计 247
14.3.4 PIC单片机硬件设计 248
14.4 软件设计与代码 249
14.4.1 流程图 249
14.4.2 红外接收程序设计 251
14.4.3 红外发送程序设计 253
14.4.4 键盘输入程序设计 253
14.4.5 液晶显示设计 257
14.5 本章小结 259
第15章 带触摸功能的投影仪面板设计 261
15.1 实例功能说明 261
15.2 电容触摸原理和测量方法 261
15.3 基于PIC16F72X的触摸按键设计方案 262
15.3.1 Microchip公司电容触摸技术 262
15.3.2 PIC16F72X系列单片机特点 262
15.3.3 容性传感器模块 263
15.4 硬件电路设计 264
15.4.1 PCB方面 264
15.4.2 硬件电路图 265
15.5 软件设计与代码 265
15.5.1 流程图 265
15.5.2 代码与注释 269
15.6 本章小结 273
第16章 基于SPI接口的语音录放系统设计 275
16.1 实例说明 275
16.2 芯片原理介绍 275
16.2.1 语音芯片的功能特点 276
16.2.2 语音芯片的数据操作 278
16.3 硬件电路设计 283
16.4 软件设计与代码 285
16.4.1 语音录放模块的设计 285
16.4.2 软件流程与主程序 290
16.4.3 其他程序模块代码 293
16.5 本章小结 300