PIC单片机原理及程序设计

PIC单片机原理及程序设计"

作者:谢锋然、谢龙汉
ISBN:9787302328100
定价:¥45
字数:千字
页数:
出版时间:2013.07.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

    本书基于PIC16F877A编写而成,共13讲和2个附录,依次介绍了单片机基础知识、PIC单片机的结构、PIC单片机的开发流程及工具、PIC单片机的指令系统、汇编语言程序设计、PIC单片机的C语言程序设计、通用I/O口、中断系统、定时器/计数器、CCP模块、A/D转换器、串行通信和综合实例等。书中各讲以“实例•模仿→内容讲解→实例•操作→实例•练习”为表述方式,通过适量的典型实例操作和重点知识相结合的方法,对PIC单片机的使用进行讲解。在讲解中力求操作紧凑、语言简洁,避免冗长的解释说明,使读者能够快速了解PIC单片机的原理和应用。在实例的介绍过程中,本书采用汇编语言和C语言相结合的方式,读者在学习过程中可以对两者进行对比,理解两种编程语言各自的特点,力求让读者在充分了解PIC单片机结构原理的基础上使用C语言,减少项目开发的复杂程度,缩短开发周期。

    本书语言简练,内容全面且层层深入,同时配有全程操作视频,包括相关寄存器的使用及程序的编写,读者可以通过观看多媒体视频来学习。

    本书可作为PIC单片机初学者入门和提高的学习用书,也可作为各大中专院校和教育、培训机构的专业教材,还可作为单片机开发领域专业人员的实用参考书。

前言

前    言

  随着计算机科学技术的发展,单片机的使用深入到各个领域,无论是智能仪器、工业控制、消费电子、还是网络和通信,随处可见单片机的身影。目前市场上的单片机有8位、16位、32位等,其中8位单片机凭借着价格低、使用方便、设计灵活等特点,成为单片机消费市场的主流。Microchip公司生产的PIC单片机,具有哈佛总线结构、完全单字节指令、驱动能力强、精简指令集等特点,在现代电子自动化领域被广泛使用,是工程技术人员进行设备研发较好的选择。PIC16F877A是一款中档的8位单片机,内部配备有Flash程序存储器,支持在线串行编程,是一款较为典型的PIC单片机。本书以PIC16F877A为模板,并以丰富的实例、全视频讲解等方式对PIC单片机进行全方位教学。

本书特色

  本书遵循“实例·模仿→功能讲解→实例·操作→实例·练习”的讲解方式,通过适量的典型实例操作和重点知识相结合的方法,对PIC单片机的使用进行讲解。在讲解中力求操作紧凑、语言简洁,避免冗长的解释说明,使读者能够快速了解PIC单片机的原理和应用。

  在实例的介绍过程中,本书采用汇编语言和C语言相结合的方式,力求让读者在充分了解PIC单片机结构原理的基础上使用C语言,减少项目开发的复杂程度,缩短开发周期,读者在学习过程中可以把两者进行对比,理解两种编程语言各自的特点。

  本书提供了全部实例的多媒体视频,读者可以按照书中列出的视频路径,从光盘中打开相应的视频直接观看学习,这样学习起来更轻松。视频包含语音讲解,可以用Windows Media Player等常用播放器观看。如果无法播放,可安装光盘中的tscc.exe插件。

本书内容

  本书共13讲,后附有2个附录。讲解中有大量原理图和表格,形象直观,便于读者理解和学习。另附有光盘,包含本书的教学视频及实例讲解的汇编语言和C语言工程项目文件,方便读者自学。

  第1讲为单片机基础知识。通过对本讲的学习,读者可以了解目前市场上应用较多的单片机的特点及数制与编码的基础知识。

  第2讲为PIC单片机的结构。主要讲解PIC单片机的总体架构、存储器结构及最小系统。通过本讲,读者可对PIC单片机的内部结构有大致的了解。

  第3讲为PIC单片机的开发流程及工具。通过本讲,读者可以理解和使用PIC单片机的集成开发环境——MPLAB IDE的相关功能。

  第4~6讲为PIC单片机的编程语言,包括PIC单片机的指令系统、汇编语言程序设计和PIC单片机的C语言程序设计。通过这几讲的学习,读者可以初步对PIC单片机进行程序的编写。

  第7~12讲依次讲解了PIC单片机的通用I/O口、中断系统、定时器/计数器、CCP模块、A/D转换器和串行通信。通过这几讲的学习,读者将会对PIC单片机的主要功能模块有较好的理解,掌握PIC单片机的常用功能。

  第13讲为综合实例,主要讲解了步进电机的使用方法和LCD1602型液晶屏的显示,以及如何使用PIC单片机对这两个模块进行控制。

  本书有2个附录,其内容为PIC指令表汇总及课后习题答案,供有需要的读者参考。

本书读者对象

  本书具有操作性强、指导性强、语言简练等特点,可作为PIC单片机初学者入门和提高的学习用书,也可作为各大中专院校和教育、培训机构的专业教材,还可作为单片机开发领域专业人员的实用参考书。

学习建议

  建议读者按照图书编排的先后次序学习PIC单片机。从第2讲开始,读者可以首先浏览“实例·模仿”,然后打开光盘中该实例的视频仔细观看,再根据实例的操作步骤在MPLAB IDE中一步步进行操作。如果遇到操作困难的地方,可以再次观看视频的功能讲解部分,也可以阅读书中的相关内容,然后再动手进行操作。对于“实例·操作”部分,建议读者首先根据书中的程序及注释直接进行相关操作,完成后再观看视频以加深印象,并解决自己动手操作中所遇到的问题。对于“实例·练习”部分,建议读者根据实例的要求自行练习,遇到不懂的地方再查看书中的程序或观看操作视频。

  本书由谢锋然、谢龙汉编著,同时腾龙工作室的王欣飞、杨依领、吴琼伟、娄军强、王益、王亚飞等人也参与了部分内容的编写。感谢您选用本书进行学习,恳请您将对本书的意见和建议告诉我们,电子邮箱为xielonghan@yahoo.com.cn。

  祝您学习愉快!

  

  

  

  编  者

  

  

  

  

  

  

  

  

  V

  

  

     

  

  

  

目录

目    录

第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

  

  

  

  

  

  

  

  

     

  

  

  

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个