目录 1
第1章 端口的基本操作 1
1.1 PIC单片机各个端口的结构 2
1.1.1 PORTA端口和TRISA寄存器 3
1.1.2 PORTB端口和TRISB寄存器 4
1.1.3 PORTC端口和TRISC寄存器 5
1.1.4 PORTD端口和TRISD寄存器 7
1.1.5 PORTE端口和TRISE寄存器 8
1.2 简单的I/O输出操作 9
1.2.1 实例功能 9
1.2.2 器件和原理 9
1.2.3 电路和原理 13
1.2.4 程序设计 14
1.3 带有软件延时的端口输出 15
1.3.1 实例功能 15
1.3.2 器件和原理 15
1.3.3 电路和原理 18
1.3.4 程序设计 19
1.4 用定时器延时的端口输出 21
1.4.1 实例功能 21
1.4.2 器件和原理 21
1.4.3 电路和原理 23
1.4.4 程序设计 24
1.5.1 实例功能 27
1.5 I/O扩展 27
1.5.2 器件和原理 28
1.5.3 电路和原理 28
1.5.4 程序设计 31
1.6 并行数据存储器的扩展 35
1.6.1 实例功能 35
1.6.2 器件和原理 35
1.6.3 电路设计 38
1.6.4 程序设计 39
第2章 输入与显示 45
2.1.1 实例功能 46
2.1.2 器件和原理 46
2.1 独立式键盘的输入和显示 46
2.1.3 电路设计 47
2.1.4 程序设计 49
2.2 4×4行列式键盘的扩展 51
2.2.1 实例功能 51
2.2.2 器件和原理 52
2.2.3 电路设计 58
2.2.4 程序设计 59
2.3 液晶显示和驱动实例 68
2.3.1 实例功能 68
2.3.2 器件和原理 68
2.3.3 电路设计 70
2.3.4 程序设计 72
2.4.2 器件和原理 86
2.4.1 实例功能 86
2.4 直接驱动LED显示 86
2.4.3 电路和原理 88
2.4.4 程序设计 88
2.5 键盘输入和LED显示综合扩展 93
2.5.1 实例功能 93
2.5.2 器件和原理 94
2.5.3 电路和原理 94
2.5.4 程序设计 95
第3章 数据采集及应用 103
3.1 模拟输入采集并显示 104
3.1.1 实例功能 104
3.1.2 器件和原理 104
3.1.3 电路和原理 110
3.1.4 程序设计 111
3.2 外扩8253对脉冲宽度的测量 117
3.2.1 实例功能 117
3.2.2 器件和原理 117
3.2.3 电路和原理 123
3.2.4 程序设计 124
3.3 交流电压的检测设计 137
3.3.1 实例功能 137
3.3.2 器件和原理 137
3.3.3 电路和原理 139
3.3.4 程序设计 142
3.4.2 器件和原理 148
3.4 温度检测器的设计 148
3.4.1 实例功能 148
3.4.3 电路和原理 150
3.4.4 程序设计 150
3.5 固定脉冲检测的实现 155
3.5.1 实例功能 155
3.5.2 器件和原理 156
3.5.3 电路和原理 157
3.5.4 程序设计 159
第4章 信号处理与算法 163
4.1.1 实例功能 164
4.1.2 算法的实现 164
4.1 加减法的实现 164
4.1.3 程序设计 165
4.2 8位数的乘法算法 169
4.2.1 实例功能 169
4.2.2 算法的实现 170
4.2.3 程序设计 170
4.3 16位数的乘法算法 180
4.3.1 实例功能 180
4.3.2 算法的实现 180
4.3.3 程序设计 181
4.4 16位数的除法 198
4.4.1 实例功能 198
4.4.3 程序设计 199
4.4.2 算法的实现 199
4.5 16位二进制和5位BCD码转换 219
4.5.1 实例功能 219
4.5.2 算法的实现 219
4.5.3 程序设计 220
4.6 均值滤波算法 227
4.6.1 实例功能 227
4.6.2 算法的实现 227
4.6.3 程序设计 228
4.7 中值滤波算法 233
4.7.1 实例功能 233
4.7.2 算法的实现 233
4.7.3 程序设计 234
第5章 机电控制 243
5.1 应用PWM信号驱动直流电机 244
5.1.1 实例功能 244
5.1.2 器件和原理 244
5.1.3 电路和原理 248
5.1.4 程序设计 253
5.2 三角波发生器的实现 257
5.2.1 实例功能 257
5.2.2 器件和原理 259
5.2.3 电路和原理 263
5.2.4 程序设计 265
5.3.1 实例功能 269
5.3 步进电机位置控制 269
5.3.2 器件和原理 270
5.3.3 电路和原理 274
5.3.4 程序设计 278
5.4 应用CCP模块实现时间控制 284
5.4.1 实例功能 284
5.4.2 器件和原理 285
5.4.3 电路和原理 287
5.4.4 程序设计 292
第6章 PIC单片机的数据通信 297
6.1.1 实例功能 298
6.1.2 器件和原理 298
6.1 单片机和计算机之间并行通信的实现 298
6.1.3 电路和原理 302
6.1.4 程序设计 304
6.2 实现单片机和单片机之间的串行通信 309
6.2.1 实例功能 309
6.2.2 器件和原理 309
6.2.3 电路和原理 319
6.2.4 程序设计 320
6.3 实现单片机和计算机之间的串行通信 329
6.3.1 实例功能 329
6.3.2 器件和原理 329
6.3.3 电路和原理 335
6.3.4 程序设计 339
6.4.2 器件和原理 349
6.4 单片机与外围器件之间串行通信的实现 349
6.4.1 实例功能 349
6.4.3 电路和原理 355
6.4.4 程序设计 360
第7章 单片机系统开发可靠性技术 365
7.1 接地技术 366
7.1.1 接地的含义 366
7.1.2 接地目的 366
7.1.3 接地分类 366
7.1.4 地线的设计 367
7.2 PCB布线 370
7.2.1 PCB的布局 370
7.2.2 电源、地线的处理 371
7.2.3 数字电路与模拟电路的共地处理 372
7.2.4 设计规则检查(DRC) 372
7.2.5 数字电路与模拟电路的分区设计 372
7.2.6 布线规则 376
7.3 抗电磁干扰技术 379
7.3.1 电磁干扰源 379
7.3.2 抗电磁干扰的方法 379
7.4 电源技术 381
7.4.1 概述 381
7.4.2 电压变换 383
7.4.3 电源的监控 386
7.4.4 开关电源 390
7.5 WDT技术 392
7.5.1 看门狗的功能 392
7.5.2 硬件看门狗介绍 393
7.5.3 软件看门狗介绍 395
7.5.4 PIC单片机片上WDT 397
第8章 单片机系统开发过程 401
8.1 PIC单片机家族概述 402
8.1.1 PIC单片机分类 402
8.1.2 PIC单片机特点介绍 402
8.2 PIC单片机选型介绍 409
8.2.1 PIC12C5XX系列单片机 409
8.2.2 PIC16C5X系列单片机 410
8.2.3 PIC16C6X系列单片机 412
8.2.4 PIC16C7X系列单片机 413
8.2.5 PIC16F8X系列单片机 415
8.2.6 PIC16F87X系列单片机 417
8.3 系统方案设计 419
8.4 系统硬件开发设计 421
8.4.1 基本步骤 421
8.4.2 硬件的电路原理图设计 421
8.4.3 PCB板的生成 424
8.5 系统软件开发设计 429
8.5.1 采用汇编语言进行开发 429
8.5.2 采用C语言进行开发 433