图书目录

目    录

第1讲  单片机基础知识 1

1.1  单片机的历史 1

1.2  几款单片机的特点 2

1.2.1  PIC单片机的特点 2

1.2.2  其他类型单片机的特点 4

1.3  数制与编码 4

1.3.1  数制 4

1.3.2  数制的转换 5

1.3.3  编码 7

1.3.4  二进制的逻辑运算 7

1.4  习题 8

第2讲  PIC单片机的结构 10

2.1  PIC单片机总体架构 10

2.1.1  PIC单片机内部结构框架 10

2.1.2  PIC单片机引脚及功能 13

2.2  PIC单片机的存储器 16

2.2.1  程序存储器 16

2.2.2  数据存储器 18

2.2.3  E2PROM数据存储器 22

2.3  PIC16F877A的最小系统 23

2.4  习题 25

第3讲  PIC单片机的开发流程及工具 26

3.1  实例·模仿——点亮LED 26

3.2  单片机的开发流程 31

3.3  MPLAB IDE软件介绍 32

3.3.1  MPLAB IDE的安装 32

3.3.2  MPLAB IDE功能介绍 34

3.4  程序的运行及调试 38

3.5  实例·操作——PICKit 2在线

仿真 39

3.6  实例·练习——MPLAB IDE

仿真 42

3.7  习题 44

第4讲  PIC单片机的指令系统 45

4.1  实例·模仿——立即数的相加 45

4.2  数据传送类指令 47

4.3  逻辑运算类指令 48

4.4  控制转移类指令 52

4.5  算术运算类指令 55

4.6  寄存器的寻址方式 57

4.7  程序的跳转 59

4.8  实例·操作——寄存器操作及

运算 63

4.9  实例·练习——寄存器连续操作

及除法运算 64

4.10  习题 66

第5讲  汇编语言程序设计 67

5.1  实例·模仿——寄存器数据的

交换 67

5.2  汇编语言指令格式 68

5.3  常用伪指令 69

5.4  汇编程序的结构及常用子程序

设计 73

5.4.1  顺序结构 73

5.4.2  选择结构 74

5.4.3  循环结构 75

5.4.4  子程序结构 77

5.4.5  查表程序 78

5.4.6  延时程序 79

5.5  实例·操作——数据排列及

计数 80

5.6  实例·练习——乘法运算 83

5.7  习题 85

第6讲  PIC单片机的C语言程序设计 86

6.1  实例·模仿——数值的循环

累加 86

6.2  在MPLAB中使用PICC编译器 88

6.3  PICC基本语法 94

6.3.1  基本数据类型 94

6.3.2  常量与变量 95

6.3.3  表达式 97

6.4  指针和数组 99

6.4.1  指针 99

6.4.2  数组 100

6.5  PICC常用编程控制语句 102

6.5.1  选择控制语句 102

6.5.2  循环控制语句 106

6.6  函数 108

6.7  实例·操作——多种结构类型

程序设计 110

6.8  实例·练习——数值判断及数学

运算 114

6.9  习题 116

第7讲  通用I/O口 118

7.1  实例·模仿——点亮一个

LED灯 118

7.2  通用I/O口的基本结构及工作

原理 124

7.3  相关寄存器及操作 125

7.4  实例·操作——跑马灯及LED

设计 128

7.4.1  跑马灯程序设计 128

7.4.2  按键控制LED灯程序设计 131

7.5  实例·练习——数码管显示及

键盘输入 134

7.5.1  多位共阳数码管显示的程序

设计 134

7.5.2  3×3矩阵键盘输入的程序设计 138

7.6  习题 144

第8讲  中断系统 145

8.1  实例·模仿——按键控制LED

程序 145

8.2  中断的概念及中断源 148

8.3  中断系统结构及控制 148

8.4  相关寄存器及操作 150

8.5  中断的响应过程 154

8.6  实例·操作——外部触发中断 155

8.7  实例·练习——LED的循环

控制 157

8.8  习题 162

第9讲  定时器/计数器 165

9.1  实例·模仿——LED的闪烁

控制 165

9.2  定时器与计数器 168

9.3  定时器/计数器TMR0 168

9.3.1  工作原理 168

9.3.2  相关寄存器及操作 170

9.4  定时器/计数器TMR1 172

9.4.1  工作原理 172

9.4.2  相关寄存器及操作 174

9.5  定时器/计数器TMR2 176

9.5.1  工作原理 176

9.5.2  相关寄存器及操作 177

9.6  实例·操作——端口计数及

LED控制 179

9.7  实例·练习——输出频率可变的

方波 184

9.8  习题 189

第10讲  CCP模块 190

10.1  实例·模仿——输出调制

信号 190

10.2  输入捕捉工作模式 192

10.2.1  输入捕捉的工作原理 193

10.2.2  输入捕捉相关的寄存器 193

10.3  输出比较工作模式 195

10.3.1  工作原理 195

10.3.2  输出比较相关的寄存器 196

10.4  脉宽调制PWM工作模式 198

10.4.1  PWM的工作原理 198

10.4.2  脉宽调制相关的寄存器 199

10.5  实例·操作——CCP模块的多种

应用 200

10.6  实例·练习——以按键调节输出

信号 208

10.7  习题 212

第11讲  A/D转换器 214

11.1  实例·模仿——采集直流电压

信号 214

11.2  A/D转换器的基本结构及工作

原理 217

11.2.1  工作原理 217

11.2.2  技术指标 218

11.3  相关寄存器及控制方法 219

11.4  实例·操作——直流信号的测量

及输出 222

11.5  实例·练习——直流信号的测量

及显示 224

11.6  习题 231

第12讲  串行通信 232

12.1  实例·模仿——单片机向计算机

端发送数据 232

12.2  基本概念 236

12.3  通用同步/异步串行接口

USART 238

12.3.1  通用同步/异步串行通信接口USART简介 238

12.3.2  相关寄存器及操作 241

12.4  同步串行接口SPI 243

12.4.1  同步串行接口SPI介绍 243

12.4.2  相关寄存器及操作 246

12.5  同步串行接口I2C 249

12.5.1  同步串行接口I2C简介 249

12.5.2  相关寄存器及操作 252

12.6  实例·操作——与计算机PC

建立实时通信 256

12.7  实例·练习——通信功能的

进一步应用 258

12.8  习题 269

第13讲  综合实例 270

13.1  综合实例1:步进电机控制 270

13.1.1  步进电机的工作原理 270

13.1.2  利用PIC16F877A控制步进

电机 271

13.2  综合实例2:LCD1602液晶屏

的应用 278

13.2.1  LCD1602液晶屏简介 279

13.2.2  LCD1602液晶屏的使用 282

13.3  习题 291

附录A  PIC汇编语言指令表 292

附录B  习题答案 294