《PIC单片机应用》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:田中光一著
  • 出 版 社:北京:科学出版社
  • 出版年份:2010
  • ISBN:9787030293381
  • 页数:362 页
图书介绍:本书内容通俗易懂,实例丰富,图文并茂,实用性强,可供学习PIC单片机的有关技术人员和爱好者,以及工科院校相关专业的师生阅读参考。

第1章 PIC系列单片机简介 1

1.1 本书适合的读者对象 1

1.2 无焊接经验只要有兴趣就可以制作 2

1.3 常用单片机 4

1.3.1 PIC系列单片机 4

1.3.2 PIC——小型系统中的专用单片机 6

1.3.3 PIC单片机和PC机比较 7

1.3.4 35条PIC指令 7

1.3.5 PIC单片机能直接控制硬件 9

1.3.6 可免费提供PIC单片机开发环境所必需的最小配置 9

1.3.7 CPU、存储器和外围电路集成为单个芯片 9

1.4 PIC16F877A概要 9

1.5 在PIC单片机中程序如何运行 12

1.5.1 程序存储器和数据存储器分开 12

1.5.2 程序存储器ROM 12

1.5.3 寄存器文件的构成 13

1.5.4 运算处理中心——W寄存器 15

1.5.5 中端系列PIC指令的1个字为14位 15

1.6 PIC单片机指令的表示方法 15

第2章 软件开发环境的准备 25

2.1 开发环境 25

2.1.1 使用MPLAB IDE的开发流程 25

2.1.2 开发环境可以在网上免费下载并容易构造 25

2.1.3 具体下载方法 26

2.1.4 MPLAB IDE 7.00版本的安装 28

2.1.5 安装过程中的注意事项 31

2.1.6 安装完成 32

2.2 利用MPLAB IDE编写程序 33

2.2.1 在MPLAB IDE中开发程序必须要创建项目 33

2.2.2 使用MPLAB IDE的场合 34

2.2.3 程序开发的一般流程 34

2.2.4 启动MPLAB 35

2.2.5 选择器件,检验支持状况 35

2.2.6 创建项目 37

2.2.7 启动项目向导 37

2.2.8 编写源程序 42

2.3 利用模板创建源文件 43

2.3.1 模板文件 43

2.3.2 编译生成 50

2.3.3 PIC汇编指令的实例 50

第3章 AKI-PIC编程器的制作 53

3.1 AKI-PIC编程器 53

3.2 组装所需要的器材 56

3.2.1 烙铁和烙铁座 56

3.2.2 钳子 57

3.3 部件整合和焊接 57

3.3.1 电阻 57

3.3.2 编程时的引脚 58

3.3.3 焊接 59

3.3.4 电源借用PC机的扬声器电源 60

3.4 装配确认 60

3.5 编程器所用的Windows版本 60

3.5.1 芯片的设定 62

3.5.2 载入Hex编程 62

3.5.3 配置字 63

3.5.4 汇编器的设定 63

3.5.5 版本升级至PIC编程器V4.0 64

第4章 通过控制LED了解PIC单片机基本开发过程4.1 PIC16F87XA概要 67

4.1.1 不同引脚数量的DIP和外形不同的PLCC及QFP的准备 67

4.1.2 PIC16F877A的管脚配置 68

4.2 先要决定想做什么 71

4.2.1 试验板中使用PIC的概要 72

4.2.2 PIC与少量外围器件一起构造系统 73

4.2.3 DIP开关设置输入端口 73

4.2.4 TRIS的锁存值决定输出的ON/OFF 75

4.2.5 输出由LED亮灭进行确认 76

4.3 组装试验板并点亮LED 78

4.3.1 3个干电池组成4.5V电源 80

4.3.2 外接CR振荡电路 80

4.3.3 复位电路 81

4.4 编程过程中IC的插拔 81

4.5 ICSP(In Circuit Serial Programming)在线串行编程 82

4.5.1 Vpp,PGD,PGC的各引脚 83

4.5.2 PGD和PGC在目前的应用中未被使用 83

4.5.3 确认与编程器的连接电线 84

4.6 采用AC适配器、三端稳压器取代干电池 84

4.6.1 连接电源的DC插座 85

4.6.2 三端稳压器 86

4.7 试验板中的元器件 87

第5章 运用MPLAB IDE编写试验板程序 87

5.1 软件(程序)的编写 93

5.2 利用MPLAB IDE提供的工具开始编写程序 94

5.3 MPASM汇编 103

5.4 重要而有趣的调试 104

5.4.1 程序最初编写完成时出现的错误 109

5.5 烧写程序 110

5.5.1 Hex文件的装载 110

5.5.2 程序的烧写 111

5.5.3 在线编程 112

第6章 理解PIC16F877A基本功能和定时器 112

6.1 可靠复位 115

6.2 时钟 122

6.2.1 变更为陶瓷振荡器 122

6.3 定时器/计数器 124

6.3.1 定时器0的使用 124

6.3.2 定时器的基本使用方法 126

6.3.3 定时器1的使用 130

6.4 振荡电路 135

6.4.1 定时器1的更新时序 135

第7章 PIC的中断处理 141

7.1 中断处理是一种紧急应对措施 141

7.2 定时器2 142

7.3 中断处理由寄存器位的ON/OFF控制 143

7.3.1 标志位的ON/OFF不受GIE和PEIE的影响 144

7.3.2 与中断相关的基本的INTCON寄存器 144

7.3.3 中断标志寄存器PIR1,PIR2和中断使能寄存器PIE1,PIE2 145

7.4 中断处理的执行顺序 146

7.5 改变程序处理方法 149

7.5.1 初始化处理 149

7.5.2 运行中断处理 150

7.5.3 主程序 152

7.6 编写测试程序易犯的错误 154

7.7 如果不对所检查的Z标志进行设置 154

7.7.1 若不清除所检查的Z标志会出现意想不到的问题 155

7.7.2 中断处理工作不影响被中断的程序 156

7.7.3 W寄存器的保存 156

7.7.4 STATUS寄存器 157

7.7.5 使用页面时管理PCLATH寄存器 157

7.7.6 中断处理程序在页面0 158

7.7.7 结束语 158

第8章 捕获/比较/PWM(CCP)的使用方法 158

8.1 CCP功能概要 161

8.1.1 CCP模块的寄存器 161

8.2 使用捕获功能 163

8.2.1 捕获的时机 164

8.2.2 捕获时产生中断请求 165

8.2.3 CCP1和CCP2端子的输入 165

8.2.4 CCP的捕获测试 166

8.3 使用比较功能 168

8.3.1 特殊事件触发器 169

8.3.2 间隔定时器的测试程序 169

8.4 使用PWM功能 171

8.4.1 PWM模式的框图 172

8.4.2 定时器2模块置位,CCP模块复位 173

8.4.3 占空比在任何时候都可以变更 173

8.4.4 定时器2的PR2周期寄存器决定周期 173

8.5 PWM测试程序的概要 174

8.5.1 控制LED 174

8.5.2 驱动小风扇 175

8.5.3 通过定时器变化占空比进行PWM的测试 175

8.6 PWM测试程序的内容 175

8.6.1 应用程序部分 175

8.6.2 间隔定时器的中断处理子程序 176

8.6.3 主体部分 179

8.6.4 完整电路图 179

第9章 LCD显示器编程 183

9.1 与LCD连接 183

9.2 LCD模块的构成 184

9.2.1 PIC与LCD模块的接口 185

9.2.2 数据及指令信号线可以选择8位或4位 185

9.2.3 控制数据交换的3根信号线 186

9.2.4 数据/指令的写入 186

9.3 写入LCD 188

9.4 读LCD 190

9.5 LCD驱动器的指令 192

9.5.1 AC(地址计数器) 192

9.5.2 指令 193

9.6 LCD驱动器和命令的处理 194

9.7 LCD驱动器的初始化 196

9.8 显示寄存器内容的测试程序 197

9.9 在DEBUG中应用LCD显示器 205

第10章 PIC单片机串行通信接口USART的使用方法 205

10.1 什么是USART 207

10.1.1 USART的应用环境 209

10.2 USART的发送 210

10.2.1 由TSR寄存器输出串行发送数据 210

10.2.2 与串行发送有关的标志位TX1F和TRMT 210

10.2.3 波特率时钟信号 211

10.2.4 波特率的具体设定 212

10.2.5 USART异步发送步骤 212

10.3 USART的接收 212

10.3.1 带地址检测的异步接收模式 214

10.4 PIC单片机与异步通信设备的接口举例 215

10.4.1 连接器以及与PC机连接的通信线定义 215

10.4.2 EIA-574接口电平标准不同于PIC电平 216

10.5 接收数据并回送的简单示例 217

10.5.1 超级终端的准备工作 219

10.5.2 与超级终端通信 220

10.6 故障检测 222

10.7 检查程序的追加 223

10.8 利用中断处理程序接收数据 224

10.8.1 间接地址的设置 225

10.9 单字节发送的标志位检测 228

第11章 利用同步串行接口(SSP)扩展外围设备 228

11.1 SSP包含SPI和I2C两个模块 231

11.1.1 I2C模式 231

11.1.2 SPI模式 231

11.2 I2C 233

11.2.1 传输速度 233

11.2.2 基本的传送次序 234

11.2.3 主机通过设置总线为启动状态来开始通信 234

11.2.4 主机将地址发送到指定通信对象的从机 235

11.2.5 数据通信的基本次序 235

11.3 利用PIC的SSP模块 236

11.4 EEPROM和PIC主机之间的数据读写 238

11.5 SSP模块的I2C主机模式 240

11.5.1 启动条件(strc) 244

11.5.2 发送地址数据(addsnd) 244

11.5.3 主机发送数据 245

11.5.4 主机发送情况下的ACK检查 246

11.5.5 重复启动条件(rstrc) 246

11.5.6 停止条件(stpcon) 246

11.5.7 主机接收数据的情况 247

11.5.8 主机接收处理 247

11.5.9 主机发送ACK信息 247

11.6 编写测试程序 248

11.6.1 写入EEPROM 248

11.6.2 读取EEPROM 253

11.7 SPI模式 253

11.7.1 SPI模式的构成 254

11.7.2 SPI模块进入工作状态 254

11.7.3 接收发送处理 255

11.8 根据各种应用决定SPI通信的次序 255

11.8.1 SPI方式串行EEPROM的读写 255

11.8.2 SPI方式EEPROM读写的时序 256

第12章 A/D转换器的使用 259

12.1 关于模拟输入数据的处理 259

12.1.1 A/D转换器内置于PIC单片机 259

12.1.2 ADCON1寄存器配置端口并设定转换数据的格式 259

12.1.3 共用一个A/D转换器 260

12.1.4 端口A的构造 261

12.1.5 模拟数据的采样 263

12.1.6 数据转换机制 265

12.1.7 A/D转换时钟选择 266

12.1.8 16F87XA扩展了A/D转换时钟 266

12.1.9 转换结果放置在ADRESH和ADRESL寄存器 267

12.1.10 8位的结果已足够用于一般的用途 267

12.1.11 模拟输入的测试 268

12.2 A/D转换处理的次序 268

12.3 测试程序的编码 271

12.3.1 利用DIP开关变更设定 272

12.3.2 LM35DZ摄氏度直读温度传感器 272

12.3.3 在LCD上显示 272

12.3.4 将二进制数据转换为十进制数据的程序 274

12.3.5 16位二进制BCD转换处理的程序 275

12.3.6 确认子程序的工作 277

12.3.7 表示的变更处理 277

12.3.8 利用DIP开关进行切换 279

第13章 内部Flash ROM/EEPROM的读写以及A型增加的功能 279

13.1 内部EEPROM 288

13.2 EEPROM以及程序存储器的读写顺序 288

13.3 EEPROM读写的具体顺序 290

13.3.1 EEPROM数据存储器的读操作 290

13.3.2 EEPROM数据存储器的写入 290

13.4 关于程序存储器区域的读写 291

13.5 16F87XA系列增加的功能 295

13.5.1 比较器 295

13.5.2 基准电压的输出功能 296

附录1 关于数据手册中的电气特性 303

附录2 RC振荡电路的振荡频率 309

附录3 MPASM的主要伪指令 311

附录4 MPASM的数值以及运算的书写 314

附录5 指令集一览表 316

附录6 中端PIC系统的指令集 318

附录7 特殊功能寄存器 340

附录8 EEPROM读写处理测试程序2 346

参考文献 362