目录 1
第1章 PIC系列单片机结构原理 1
1.1 单片机概述 1
1.1.1 二进制数和编码 2
1.1.2 单片机工作原理简述 4
1.1.3 PIC单片机的主要特点 5
1.2 PIC单片机基本结构及信号引脚 6
1.2.1 PIC单片机内部基本结构 6
1.2.2 PIC单片机基本信号引脚 9
1.3 常用存储器 10
1.3.1 数据寄存器 11
1.3.2 程序存储器 13
1.3.3 特殊功能寄存器SFR 14
1.4 时钟电路与时序 19
1.4.1 振荡电路与时钟信号 19
1.4.2 PIC单片机指令时序 20
1.5 复位、唤醒与看门狗功能 21
1.5.1 复位及复位电路 21
1.5.2 唤醒功能 23
1.5.3 看门狗与系统的可靠性 24
本章小结 24
习题 26
2.1 指令系统概述 27
2.1.1 指令的表示方法 27
第2章 PIC指令系统和汇编语言程序设计 27
2.1.2 PIC单片机指令的寻址方式 28
2.1.3 PIC指令符号的意义说明 31
2.2 字节操作指令 33
2.2.1 数据传送指令 33
2.2.2 算术运算指令 35
2.2.3 逻辑运算指令 38
2.2.4 移位指令 42
2.2.5 转移指令 43
2.2.6 其他芯片控制指令 45
2.3 位操作指令 46
2.4.1 汇编语言程序设计知识 47
2.4 汇编语言程序设计 47
2.4.2 PIC汇编语言的伪指令 52
2.4.3 PIC汇编语言程序设计基础 56
2.4.4 数据传送程序 62
2.4.5 算术运算程序 62
2.4.6 延时程序 65
2.4.7 查表程序 66
2.4.8 子程序设计 67
2.4.9 分支跳转子程序 68
本章小结 69
习题 70
第3章 I/O接口 72
3.1 I/O接口 72
3.1.1 I/O接口电路的功能及指标 72
3.1.2 I/O接口举例 78
3.2 串行通信接口 81
3.2.1 SPI同步串行通信原理 81
3.2.2 SPI模式下相关的寄存器 83
3.2.3 USART异步串行通信原理 88
3.2.4 USART异步传送模式下相关的寄存器 90
3.3 显示器接口 94
3.3.1 半导体显示器 94
3.3.2 半导体显示器静态显示接口 96
3.4 键盘接口 101
3.4.1 按键的去抖动方法 101
3.4.2 独立式按键结构及按键识别 102
3.4.3 行列式键盘的结构及按键识别 104
本章小结 108
习题 109
第4章 A/D转换 111
4.1 PIC内部A/D转换原理 111
4.2 PIC16F87X片内ADC模块 112
4.2.1 A/D转换器的主要技术指标 112
4.2.2 PIC16F87X片内ADC模块简介 113
4.3 编程方法及实例 117
4.3.1 A/D转换器编程方法 117
4.3.2 A/D转换器编程举例 119
本章小结 120
习题 121
5.2 定时器和计数器硬件结构 122
5.1.2 计数器功能 122
第5章 定时器/计数器 122
5.1.1 定时器功能 122
5.1 定时器/计数器功能 122
5.2.1 定时器/计数器TMR0的硬件结构 123
5.2.2 定时器/计数器TMR1的硬件结构 127
5.2.3 定时器TMR2的硬件结构 131
5.3 定时器/计数器工作方式 134
5.3.1 定时工作方式 134
5.3.2 计数器工作方式 136
5.4 定时器/计数器编程 139
5.4.1 定时器实例 139
5.4.2 计数器实例 140
本章小结 141
习题 143
第6章 中断系统 144
6.1 中断概述 144
6.1.1 中断概念的引入 144
6.1.2 有关中断的名词 145
6.1.3 中断技术的实质 145
6.2 中断源 145
6.2.1 外部中断类 146
6.2.2 定时中断类 147
6.2.3 串行中断类 147
6.3 中断控制 148
6.2.4 其他中断类 148
6.3.1 中断控制寄存器 149
6.3.2 中断系统的状态设置 154
6.3.3 中断系统控制机构 154
6.4 中断响应 155
6.4.1 外部中断请求采样 155
6.4.2 中断查询 156
6.4.3 中断响应 156
6.5 中断请求的清除 159
6.6 中断控制编程实例 159
本章小结 161
习题 162
7.1.1 MPLAB工具介绍 164
7.1 软件仿真技术 164
第7章 单片机系统软、硬件调试及硬件维修技术 164
7.1.2 软件使用 165
7.1.3 项目编译 168
7.1.4 单步运行、观察寄存器状态 169
7.1.5 连续运行并观察运行时间 170
7.1.6 改变程序执行的起点 171
7.1.7 模拟程序激励 171
7.2 硬件仿真技术 174
7.2.1 在线仿真设置 175
7.2.2 功能按钮 178
7.2.3 对PIC16F87X进行编程 178
7.2.5 运行软件 179
7.2.4 设置实验板 179
7.3.1 维修必备 180
7.3 硬件维修技术 180
7.3.2 故障分类与定位 185
本章小结 189
习题 190
第8章 实验指导 191
8.1 发光二极管数据演示实验 191
8.1.1 实验目的 191
8.1.2 实验器材 191
8.1.3 实验原理 191
8.1.4 实验步骤 193
8.2.1 实验目的 194
8.2.3 实验原理 194
8.2.2 实验器材 194
8.1.5 指令实验 194
8.2 发光二极管循环点亮实验 194
8.1.6 实验思考 194
8.2.4 实验步骤 199
8.2.5 指令实验 199
8.2.6 实验思考 199
8.3 数码管点亮实验 199
8.3.1 实验目的 199
8.3.2 实验器材 199
8.3.3 实验原理 200
8.3.4 实验步骤 203
8.3.5 软件实验 204
8.3.6 实验思考 204
8.4 I/O口查询实验 204
8.4.1 实验目的 204
8.4.2 实验器材 204
8.4.3 实验原理 204
8.4.4 实验步骤 206
8.4.5 软件实验 206
8.5.3 实验原理 207
8.5.2 实验器材 207
8.5.1 实验目的 207
8.5 中断实验 207
8.4.6 实验思考 207
8.5.4 实验步骤 212
8.5.5 软件实验 212
8.5.6 实验思考 212
8.6 声响实验 213
8.6.1 实验目的 213
8.6.2 实验器材 213
8.6.3 实验原理 213
8.7.3 实验原理 216
8.7.2 实验器材 216
8.7.1 实验目的 216
8.7 秒表及液晶显示器实验 216
8.6.5 软件实验 216
8.6.4 实验步骤 216
8.6.6 实验思考 216
8.7.4 实验思考 225
8.8 A/D转换实验 225
8.8.1 实验目的 225
8.8.2 实验器材 225
8.8.3 实验原理 225
8.9 串行通信实验 227
8.9.1 实验目的 227
8.8.5 实验思考 227
8.8.4 实验步骤 227
8.9.2 实验器材 228
8.9.3 实验原理 228
8.9.4 实验步骤 231
8.9.5 软件实验 231
8.9.6 实验思考 232
8.10 休眠与看门狗实验 232
8.10.1 实验目的 232
8.10.2 实验器材 232
8.10.3 实验原理 232
8.10.4 实验步骤 235
8.10.5 软件实验 235
8.10.6 实验思考 235