《PIC单片机原理及程式设计》是2013年清华大学出版社出版的图书,作者是谢锋然、谢龙汉。
基本介绍
- 中文名PIC单片机原理及程式设计
- 出版社清华大学出版社
- 页数299页
- 开本16
- 定价45.00
- 作者谢锋然 谢龙汉
- 出版日期2013年7月1日
- 语种简体中文
- ISBN9787302328100
内容简介
《PIC单片机原理及程式设计(附光碟)》(作者谢锋然、谢龙汉)基于PIC16F877A编写而成,共13讲和2个附录,依次介绍了单片机基础知识、PIC单片机的结构、PIC单片机的开发流程及工具、PIC单片机的指令系统、彙编语言程式设计、PIC单片机的C语言程式设计、通用I/O口、中断系统、定时器/计数器、CCP模组、A/D转换器、串列通信和综合实例等。书中各讲以“实例·模仿→内容讲解→实例·操作→实例·练习”为表述方式,通过适量的典型实例操作和重点知识相结合的方法,对PIC单片机的使用进行讲解。在讲解中力求操作紧凑、语言简洁,避免冗长的解释说明,使读者能够快速了解PIC单片机的原理和套用。在实例的介绍过程中,本书採用彙编语言和C语言相结合的方式,读者在学习过程中可以对两者进行对比,理解两种程式语言各自的特点,力求让读者在充分了解PIC单片机结构原理的基础上使用C语言,减少项目开发的複杂程度,缩短开发周期。 《PIC单片机原理及程式设计(附光碟)》语言简练,内容全面且层层深入,配有全程操作视频,包括相关暂存器的使用及程式的编写,读者可以通过观看多媒体视频来学习。
本书可作为PIC单片机初学者入门和提高的学习用书,也可作为各大中专院校和教育、培训机构的专业教材,还可作为单片机开发领域专业人员的实用参考书。
随着计算机科学技术的发展,单片机的使用深入到各个领域,无论是智慧型仪器、工业控制、消费电子、还是网路和通信,随处可见单片机的身影。目前市场上的单片机有8位、16位、32位等,其中8位单片机凭藉着价格低、使用方便、设计灵活等特点,成为单片机消费市场的主流。Microchip公司生产的PIC单片机,具有哈佛汇流排结构、完全单位元组指令、驱动能力强、精简指令集等特点,在现代电子自动化领域被广泛使用,是工程技术人员进行设备研发较好的选择。PIC16F877A是一款中档的8位单片机,内部配备有Flash程式存储器,支持线上串列编程,是一款较为典型的PIC单片机。《PIC单片机原理及程式设计(附光碟)》(作者谢锋然、谢龙汉)以PIC16F877A为模板,并以丰富的实例、全视频讲解等方式对PIC单片机进行全方位教学。
图书目录
第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 综合实例2LCD1602液晶屏
的套用 278
13.2.1 LCD1602液晶屏简介 279
13.2.2 LCD1602液晶屏的使用 282
13.3 习题 291
附录A PIC彙编语言指令表 292
附录B 习题答案 294
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 综合实例2LCD1602液晶屏
的套用 278
13.2.1 LCD1602液晶屏简介 279
13.2.2 LCD1602液晶屏的使用 282
13.3 习题 291
附录A PIC彙编语言指令表 292
附录B 习题答案 294