《PIC单片机常用模块与综合系统设计实例精讲》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:夏彬彬,任明全,屈金学编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121079962
  • 页数:325 页
图书介绍:本书从实用的角度出发,通过大量实例精讲的形式,详细介绍了PIC单片机常用模块与综合系统设计的方法与技巧。全书共分18章3篇,第一篇为基础篇,简要介绍了PIC单片机的硬件结构、中断系统、指令系统和PIC开发工具,引导读者入门;第二篇为PIC单片机常用模块设计篇,通过18个模块实例,详细介绍了PIC单片机的各种开发技术和使用技巧,这些模块实例基础、实用,易学易懂,全部调试通过,几乎涵盖了PIC单片机所有的开发技术;第三篇通过3个综合系统实例,对前面的PIC单片机常用模块进行了综合应用设计,经过此篇学习,读者PIC单片机综合系统设计的能力将迅速提升,产生质的飞跃。本书语言通俗,结构合理,基础知识与大量实例相结合,边讲边练。不但详细介绍了PIC单片机的硬件电路设计和模块化编程,而且提供了综合系统设计思路,对实例的所有程序代码做了详细注释,利于读者理解和巩固知识点。

第一篇 基础知识篇 2

第1章PIC单片机概述 2

1.1 PIC单片机的特点 2

1.2 PIC单片机的系列产品 5

1.2.1基本级PIC系列单片机 6

1.2.2中级PIC系列单片机 6

1.2.3高级PIC系列单片机 8

1.3 PIC 16F87X单片机的硬件结构 10

1.3.1 PIC16F87X的主要特色 10

1.3.2 PIC 16F87X的内部结构 11

1.3.3 PIC 16F87X的引脚功能 16

1.4本章小结 21

第2章 PIC单片机的CPU和中断系统 22

2.1 PIC单片机的CPU 22

2.1.1系统配置 22

2.1.2振荡器配置 24

2.1.3复位 26

2.1.4中断 33

2.1.5监视定时器WDT 33

2.1.6睡眠模式 35

2.1.7在线调试 37

2.1.8程序代码保护 37

2.1.9用户标识码 37

2.1.10在线串行编程技术ICSP(In-Circuit Serial Programming) 37

2.2中断系统 38

2.2.1中断的基本概念 38

2.2.2 PIC16F87X的中断源及中断逻辑 39

2.2.3与中断相关的寄存器 44

2.2.4 CPU对中断的处理 48

2.3本章小结 51

第3章 PIC单片机的指令系统 52

3.1 PIC汇编语言指令格式 53

3.2 PIC16F87X指令集 54

3.3伪操作指令 60

3.4寻址方式 64

3.5本章小结 67

第4章 PIC单片机的开发工具 68

4.1 PIC系列单片机的仿真器 68

4.2 PIC系列单片机的编程器及开发套件 73

4.3 MPLAB-IDE 7.4版集成开发环境 77

4.3.1 MPLAB-IDE 7.4概述 77

4.3.2 MPLAB-IDE 7.4工程创建实例 80

4.3.3几个常用的菜单项 83

4.4本章小结 85

第二篇 PIC常用模块设计实例篇 88

第5章 I/O输入输出模块 88

5.1 4x4扫描键盘设计实例 88

5.1.1实例说明 88

5.1.2键盘知识介绍 88

5.1.3硬件电路设计 90

5.1.4软件设计 90

5.1.5实例总结 93

5.2直接驱动LED显示 94

5.2.1实例说明 94

5.2.2 LED数码管知识 94

5.2.3硬件电路设计 94

5.2.4软件设计 95

5.2.5实例总结 96

第6章LCD液晶显示模块:温度测量系统设计实例 97

6.1实例说明 97

6.2 DS 18B20与YMSC-G 12864IDYEWWD 98

6.2.1 温度传感器DS18B20 98

6.2.2液晶显示屏YMSC-G 128641-DYEWWD 100

6.3硬件电路设计 103

6.4软件设计 105

6.4.1 温度传感器DS18B20的软件设计 105

6.4.2液晶显示屏YMSC-G12864-IDYEW WD的软件设计 109

6.5实例总结 116

第7章 定时器模块:用定时器控制端口输出实例 117

7.1实例说明 117

7.2定时器Timer0介绍 117

7.3硬件电路设计 118

7.4软件设计 119

7.5实例总结 120

第8章 A/D模块:压力测量系统设计实例 121

8.1实例说明 121

8.2 A/D转换相关知识 121

8.2.1 A/D转换的原理说明 121

8.2.2单片机相关寄存器介绍 122

8.2.3 A/D转换操作对时间的要求 124

8.3硬件电路设计 125

8.4软件设计 125

8.4.1程序设计流程 126

8.4.2程序代码说明 126

8.5实例总结 128

第9章 存储器模块:基于I2C对EEPROM 24C02的读写 129

9.1实例说明 129

9.2 24C02与I2C接口介绍 129

9.2.1 24C02简介 129

9.2.2 PIC 16F877I2C接口简介 130

9.2.3 I2C总线规则 130

9.3硬件电路设计 131

9.4软件设计 132

9.5实例总结 136

第10章 比较与检测模块 137

10.1利用CCP模块控制继电器 137

10.1.1实例说明 137

10.1.2定时器TMRI介绍 137

10.1.3硬件电路设计 139

10.1.4软件设计 140

10.1.5实例总结 141

10.2脉冲频率的检测设计 141

10.2.1实例说明 141

10.2.2定时器TMR2介绍 141

10.2.3硬件电路设计 142

10.2.4软件设计 143

10.2.5实例总结 144

10.3电压测量模块 144

10.3.1实例介绍 144

10.3.2硬件电路设计 145

10.3.3软件设计 145

10.3.4实例总结 147

第11章 步进电机模块 148

11.1实例说明 148

11.2步进电机驱动工作原理 148

11.3硬件电路设计 149

11.4软件设计 150

11.4.1软件设计流程 151

11.4.2程序代码说明 152

11.5实例总结 153

第12章 信号发生模块 154

12.1 PWM实现DA转换 154

12.1.1实例说明 154

12.1.2 PWM模块架构 155

12.1.3硬件电路设计 156

12.1.4软件设计程序 157

12.1.5实例总结 158

12.2正弦波发生器 158

12.2.1实例说明 158

12.2.2 TLC5620介绍 158

12.2.3硬件电路设计 160

12.2.4软件程序设计 160

12.2.5实例总结 162

第13章 数字PID控制模块 163

13.1 PID控制概述 163

13.2位置式PID控制算法 164

13.3增量式PID控制算法 165

13.3.1增量式控制算法流程 166

13.3.2数字PID控制算法的改进 167

13.4数字PID控制算法代码 168

13.5实例总结 170

第14章 直流数控稳压电源模块 171

14.1实例说明 171

14.2设计思路分析 171

14.2.1 D/A转换器DAC0832 172

14.2.2步进0.1V实现 172

14.3硬件电路设计 172

14.3.1模数转换电路 172

14.3.2电流放大电路 173

14.3.3人机接口电路 173

14.3.4稳压电源电路 174

14.4软件设计 174

14.4.1程序设计流程 174

14.4.2程序代码说明 174

14.5实例总结 177

第15章 网络通信与数据传输模块 178

15.1 USART串行通信模块实例 178

15.1.1实例说明 178

15.1.2打印机并口介绍 178

15.1.3硬件电路设计 180

15.1.4软件设计 181

15.1.5实例总结 182

15.2 I2C总线通信模块实例 182

15.2.1实例说明 182

15.2.2 I2C总线介绍 183

15.2.3硬件电路设计 187

15.2.4软件设计 188

15.2.5实例总结 195

15.3 SPI总线通信模块实例 195

15.3.1实例说明 195

15.3.2 SPI模块相关的寄存器 195

15.3.3硬件电路设计 197

15.3.4软件设计 198

15.3.5实例总结 200

15.4通信模块:CAN总线模块实例 200

15.4.1实例说明 201

15.4.2设计思路分析 202

15.4.3硬件电路设计 206

15.4.4软件程序设计 207

15.4.5实例总结 212

15.5通信模块:USB数据传输模块实例 212

15.5.1实例说明 212

15.5.2设计思路分析 213

15.5.3硬件电路设计 219

15.5.4 USB固件程序设计 220

15.5.5实例总结 225

第三篇 综合系统设计实例篇 228

第16章 智能手电筒开发实例 228

16.1系统功能说明 228

16.2系统工作原理与实现方法 229

16.2.1系统的供电 229

16.2.2灯珠和LED点亮或熄灭的实现 229

16.2.3按键扫描电路和A/D转换电路图原理 230

16.2.4数据的显示 231

16.2.5蜂鸣器驱动和背光源驱动 235

16.2.6电池的自动充电实现 236

16.3软件设计与代码分析 237

16.3.1软件设计 237

16.3.2主程序 239

16.3.3中断子程序 244

16.3.4时钟处理子程序 245

16.3.5 2ms到处理子程序 247

16.3.6 A/D中断子程序 252

16.4实例总结 255

第17章 汽车应急启动器系统开发实例 257

17.1系统功能说明 257

17.2系统硬件框图 258

17.3系统各模块工作原理与实现方法 259

17.3.1系统电源部分 259

17.3.2蜂鸣器驱动与系统检测按键扫描电路 259

17.3.3灯管驱动与灯管按键扫描电路 260

17.3.4发光二极管驱动与内部电池电压按键扫描电路 261

17.3.5液晶显示器(LCD)驱动电路 261

17.3.6内部电池与外部电池连接正确与否检测电路 264

17.3.7应急启动控制电路 264

17.3.8轮胎压力检测电路 265

17.3.9轮胎气泵启动控制与轮胎充气按键扫描电路 267

17.3.10加键与减键扫描电路 268

17.3.11外部电池检测按键扫描电路 269

17.3.12电池电压检测与电池充电电路 269

17.4软件设计与代码分析 270

17.4.1主程序 271

17.4.2气泵处理程序 280

17.4.3灯管处理程序 280

17.4.4外部电池检测程序 282

17.4.5系统检测程序 283

17.4.6时钟中断程序 284

17.4.7内部电池充电程序 288

17.5实例总结 289

第18章 无功功率补偿控制器设计实例 290

18.1系统功能说明 290

18.2系统硬件框图 292

18.3系统各模块工作原理与实现方法 292

18.3.1系统的供电 292

18.3.2按键扫描电路 293

18.3.3电流和电压相位差检测电路 294

18.3.4电流和电压的A/D转换电路 297

18.3.5八段数码管和LED指示灯电路 298

18.3.6十路电力电容动电路 298

18.3.7 EEPROM的驱动电路 300

18.4软件设计与代码分析 301

18.4.1初始化、欠流判断和开机按键扫描程序 301

18.4.2检测电力电容容量程序 308

18.4.3检测功率因数程序(主程序) 310

18.4.4参数设置程序 323

18.5实例总结 325