《易学好用 经典PIC单片机 PIC16F84A轻松入门与实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:李学海著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:7302477921
  • 页数:337 页
图书介绍:

第1章 学用PIC单片机的背景 1

1.1了解单片机 1

1.1.1学用单片机有什么必要性 1

1.1.2单片机为什么会引人入迷 3

1.1.3学用单片机有什么现实意义 5

1.2走近单片机 7

1.2.1单片机究竟是什么 7

1.2.2单片机有什么用途 9

1.2.3单片机有什么特点 10

1.3看上8位PIC单片机 11

1.3.1 8位单片机的突出地位 11

1.3.2 Microchip公司简介 11

1.3.3 PIC系列8位单片机的优势 12

1.4选定PIC16F84A型号单片机 16

1.4.1 PIC16F84A的功能特点 16

1.4.2 PIC16F84A几位近亲兄弟 18

1.4.3为何选中PIC16F84A作为教学模型 18

1.5本书的写作思路和目标 19

1.6常用的专业名词和技术术语 21

1.6.1硬件方面 21

1.6.2软件方面 24

第2章 PIC16F84硬件资源总览 26

2.1 PIC16F84内部结构概览 26

2.1.1 PIC16F84的核心区域 28

2.1.2 PIC16F84的外围模块区域 30

2.2 PIC16F84封装形式和引脚功能 30

2.3程序存储器和堆栈 33

2.4 RAM数据存储器(文件寄存器) 34

2.4.1通用寄存器 37

2.4.2特殊功能寄存器 37

2.5电源、复位和时钟电路简介 39

2.5.1电源外接电路 39

2.5.2时钟外接电路 39

2.5.3复位外接电路 40

2.6通用并行端口基本功能、基本结构和基本原理 40

2.6.1并行端口的基本功能 40

2.6.2并行端口相关的寄存器 41

2.6.3并行端口的基本结构 41

2.6.4并行端口的基本工作原理 43

第3章 寻址方式与指令系统 45

3.1指令系统概览 45

3.1.1指令的描述方法 45

3.1.2指令的时空属性 46

3.1.3指令的执行时序 46

3.1.4指令的编码格式 47

3.2指令的分类方法 48

3.2.1按实现功能分类 48

3.2.2按编码格式分类 49

3.2.3按指令周期分类 50

3.2.4按寻址方式分类 50

3.2.5按携带操作数分类 50

3.2.6按影响标志分类 50

3.2.7按操作对象分类 51

3.2.8按使用频度分类 51

3.3寻址方式 51

3.3.1立即寻址 52

3.3.2直接寻址 52

3.3.3间接寻址 53

3.3.4位寻址 53

3.3.5隐含寻址 54

3.4指令系统分类解析 54

3.4.1面向字节变量的操作类指令 54

3.4.2面向位操作类指令 57

3.4.3面向常数操作和控制操作类指令 58

3.5数据传递关系 60

3.6指令系统的内在规律 61

3.7“内核-寄存器-外围模块”相互关系 62

第4章 汇编语言和汇编程序设计 63

4.1概述 63

4.1.1背景知识 63

4.1.2汇编语言的语句格式 65

4.1.3程序流程和整体结构 68

4.1.4源程序文件的书写格式 69

4.2常用伪指令 71

4.3四种基本程序结构 73

4.3.1顺序程序结构 73

4.3.2分支程序结构 75

4.3.3循环程序结构 76

4.3.4子程序结构 77

4.4数据存储器RAM的体选寻址问题 79

4.5四种个性化实用程序的设计方法 82

4.5.1初始化程序段设计 82

4.5.2延时程序设计 83

4.5.3查表程序设计 85

4.5.4散转程序设计 88

4.6汇编器MPASM及其应用 89

4.6.1汇编器MPASM简介 89

4.6.2汇编器MPASM的应用 91

4.6.3汇编器“界面—命令行—LIST”,选项对应关系 96

第5章 软件集成开发环境和软件模拟调试技术 98

5.1集成开发环境WAVE6000的组成 98

5.2集成开发环境WAVE6000如何获取 99

5.3集成开发环境WAVE6000如何安装 100

5.4集成开发环境WAVE6000如何启动和退出 102

5.4.1 WAVE6000的快速上手 102

5.4.2 WAVE6000工作环境简介 103

5.4.3 WAVE6000如何退出 104

5.5如何设置开发模式 104

5.5.1语言设置卡 104

5.5.2目标文件设置卡 105

5.5.3仿真器设置卡 105

5.5.4通信设置卡 106

5.6如何创建、保存和打开源文件 107

【项目范例5.1】循环递减实验程序 107

5.6.1如何利用记事本创建源文件 108

5.6.2如何利用WAVE6000编辑器创建源文件 109

5.6.3如何挖掘WAVE6000编辑器的丰富功能 112

5.6.4如何利用WAVE6000编辑器查看文本文件 115

5.7如何在WAVE6000环境中创建、编辑、制作项目 117

5.7.1如何创建项目 117

5.7.2如何编辑项目 118

5.7.3如何制作项目 119

5.8如何利用软件模拟器调试项目 121

5.8.1如何进行复位操作 121

5.8.2如何进行连续执行(全速执行) 123

5.8.3如何追查程序执行结果 124

5.8.4如何进行单步执行 126

5.8.5如何进行自动和连续单步执行 127

5.8.6如何设置断点或忽略断点执行 127

5.8.7如何执行到光标就停 129

5.8.8如何从指定行开始执行 130

5.8.9如何修改寄存器内容 131

5.8.10如何综合利用灵活运用各种调试手段 132

【项目范例5.2】单键触发8位二进制循环累加计数器 132

第6章 硬件综合开发工具和硬件烧试开发技术 136

6.1硬件开发工具三件套 136

6.1.1单片机学习板、实验板、演示板、开发板或目标板 136

6.1.2程序烧写器、下载器或编程器 138

6.1.3程序仿真器、调试器或模拟器 138

6.2介绍一款学习实验开发板PICbasic84 139

6.2.1学习实验开发板的电路布局 139

6.2.2学习实验开发板的规划特色 140

6.2.3学习实验开发板能帮我们做什么 140

6.3推荐一款普及型PIC程序烧写器/下载器K150 141

6.3.1如何安装K150软件 142

6.3.2如何安装和设置K150硬件 146

6.3.3如何疏通K150与微机之间的通信 148

6.3.4如何解析K150软件的操作界面 149

6.4如何操作K150烧写器/下载器 150

6.4.1芯片空白检查(查空) 150

6.4.2芯片内容读回(上传) 150

6.4.3导出HEX文件(保存) 151

6.4.4导入HEX文件(载入) 152

6.4.5芯片烧写编程(固化) 153

6.4.6读取芯片校验(对比) 153

6.4.7芯片清空擦除 153

6.5选用软硬件开发工具开发用户项目 154

6.5.1烧试法单片机应用项目的开发思路 154

6.5.2模拟法单片机应用项目的开发流程 156

6.5.3项目原型机开发示范 158

【项目范例6.1】 8珠霹雳灯控制器 158

第7章 定时器/计数器TMRO及其应用实例和开发技巧 165

7.1定时器/计数器模块的基本用途 165

7.2 PIC单片机定时器/计数器TMR的特性 166

7.3 TMR0模块相关的寄存器 166

7.4 TMR0模块的电路结构和工作原理 168

7.4.1分频器 170

7.4.2 TMR0累加计数寄存器 171

7.5 TMR0模块的应用举例和开发技巧 172

7.5.1 TMR0用作硬件定时器 172

【项目范例7.1】进出有序的队列灯 172

7.5.2 TMR0用作硬件计数器 177

【项目范例7.2】趣味性简易车辆里程表 177

第8章 中断概念和中断逻辑及其应用实例和开发技巧 184

8.1中断的基本概念 184

8.2 PIC16F84的中断源 186

8.3 PIC16F84中断的硬件逻辑 186

8.4中断相关的寄存器 187

8.5中断的处理 189

8.5.1中断的延时响应和延时处理问题 189

8.5.2中断的现场保护问题 190

8.5.3需要注意的问题 191

8.6中断功能的应用举例和开发技巧 193

8.6.1 TMR0溢出中断功能的应用开发 193

【项目范例8.1】构思新颖的闪烁式跑马灯 193

8.6.2 INT外部中断功能的应用开发 200

【项目范例8.2】带电源切换报警的流水式广告灯箱 200

第9章 EEPROM数据存储器及其应用实例和开发技巧 207

9.1背景知识 207

9.1.1通用型半导体存储器的种类和特点 207

9.1.2 PIC单片机内部的程序存储器 208

9.1.3 PIC单片机内部的EEPROM数据存储器 208

9.1.4 PIC16F84内部EEPROM操作方法 209

9.2 EEPROM读/写相关的寄存器 210

9.3片内EEPROM数据存储器结构和操作原理 213

9.3.1从EEPROM中读取数据 214

9.3.2向EEPROM中烧写数据 215

9.4写操作的安全保障措施 216

9.4.1写入校验方法 216

9.4.2预防意外写操作的保障措施 217

9.5 EEPROM应用举例和开发技巧 217

【项目范例9.1】 EEPROM数据存储器读/写验证 217

【项目范例9.2】改进型简易车辆里程表 222

第10章 杂项功能及其应用实例和开发技巧 227

10.1系统配置字和特殊存储单元 227

10.1.1系统配置字 228

10.1.2用户识别码ID 229

10.1.3器件识别码 230

10.2监视定时器WDT 230

10.2.1程序失控的回复 231

10.2.2 WDT的电路结构 231

10.2.3 WDT的工作原理 233

10.2.4 WDT相关寄存器 233

10.2.5使用WDT的注意事项 234

10.2.6 WDT的应用举例 234

【项目范例10.1】带看门狗监视功能的霹雳灯 234

10.2.7外扩多功能WDT的实现方法 238

10.3睡眠与唤醒——节电技术 239

10.3.1睡眠状态的进入 239

10.3.2睡眠状态的唤醒 240

10.3.3睡眠功能的开发应用实例 241

【项目范例10.2】用看门狗定时唤醒的霹雳灯 241

10.4时钟配置选项 243

10.4.1外接晶体振荡器/陶瓷谐振器(LP/XT/HS) 244

10.4.2外接阻容器件(RC) 245

10.4.3引入外来时钟源(LP/XT/HS) 246

附录A ASCII码表 247

附录B特殊功能寄存器及其复位值一览表 249

附录C英文指令系统概览 251

附录D特殊指令助记符(宏指令) 253

附录E宏汇编器MPASM伪指令一览表 255

附录F包含文件P16F84A.INC 258

附录G MPASM出错、警告、提示3类显示信息 263

G.1出错性显示信息举例 263

G.2警告性显示信息举例 264

G.3提示性显示信息举例 265

附录H图书配套学习实验开发板PICbasic84 266

H.1学习实验开发板的电路原理图 266

H.2学习实验开发板的功能单元电路详解 267

H.2.1直流电源电路(多元化) 267

H.2.2复位电路+时钟电路 269

H.2.3编程器+调试器接口电路 270

H.2.4目标单片机插座(18脚) 272

H.2.5目标单片机插座(20脚、14脚、8脚) 272

H.2.6目标单片机插座(28脚) 273

H.2.7目标单片机插座(40脚) 273

H.2.8并行输入8只按钮开关 273

H.2.9电位器+蜂鸣器+水银开关+光敏电阻器 274

H.2.10并行输出9只LED显示器 274

H.2.11两位共阳极7段LED数码管——并行驱动 275

H.2.12四位共阳极7段LED数码管——串行驱动 275

H.2.13字符式LCD显示器接口电路 276

H.2.14功率驱动接口电路 277

H.2.15通用四电压比较器LM339+逻辑笔 278

H.2.16 SPI串口EEPROM存储器电路 278

H.2.17 I2 C串口EEPROM存储器电路 279

H.2.18电平转换器MAX232串行通信接口电路 279

H.2.19总结归纳 279

附录I 多功能单片机监控器MAX705/706/813L 281

I.1概述 281

I.2内部结构和引脚功能 282

I.3功能说明 283

I.3.1 RESET/ RESET操作 283

I.3.2看门狗定时器 284

I.3.3人工复位 284

I.3.4电源失常比较器 284

I.4电气参数和时序图 285

I.4.1极限参数 285

I.4.2电气参数 285

I.5典型应用实例 287

附录J K150—— PIC单片机烧写器的特点及其烧写型号 288

附录K PIC16C84/F83/F84/CR83/CR84/F84A各型号差异 292

附录L SIM84软硬件模拟器——特别适合PIC16F84单片机初学者上手演练的一款免费软件 294

L.1软硬件模拟器SIM84简介 295

L.1.1硬件仿真器 295

L.1.2软件模拟器 295

L.1.3软硬件模拟器SIM84 295

L.2 SIM84的安装与启用 297

L.2.1安装条件 297

L.2.2安装方法 297

L.2.3首次启用 298

L.2.4画面介绍 299

L.3初次体验程序的运行与调试 299

L.3.1使用系统命令“L” (Load,载入范例程序) 301

L.3.2使用系统命令“G” (Go,运行范例程序) 301

L.3.3按动Esc键停止程序的执行 302

L.3.4使用系统命令“Q” (Quit,终止范例程序的运行) 302

L.4 SIM84系统命令 302

L.5汇编器MPASM使用说明 313

L.5.1 EQU——符号名赋值伪指令 314

L.5.2 ORG——程序起始地址定义伪指令 314

L.5.3 END——程序结束伪指令 314

L.5.4 LIST——列表选项伪指令 314

L.6程序举例 318

L.6.1跑马灯范例 318

L.6.2步进马达转动 319

L.6.3七段数码管查表驱动 320

L.6.4波形产生与显示 321

L.6.5数码显示计数器 327

L.6.6 SIM84环境中各种虚拟的电子组件附图 330

参考文献 335