《我和PIC单片机 入门卷 基于PIC18》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:高显生编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111426530
  • 页数:298 页
图书介绍:全书共三篇22章,所有章节都配有动手实践环节,每一种资源、每一个模块都给出了相应的实验电路和C语言驱动代码。其中第一篇主要是带领大家认识PIC单片机并且说明开发PIC所需要的软硬件资源配备;第二篇从介绍PIC模块化的资源配置入手,详细地介绍PIC单片机的中断、定时器、AD转换器、MSSP模块、CCP模块、模拟比较器以及串行口等片内功能,同时介绍了如何使用PIC单片机的硬件I2C及SPI接口实现与DS1307实时时钟及存储器93C46的通信;第三篇主要是学习PIC单片机的扩展应用,主要包括如何使用PIC单片机驱动步进电机、实现红外线的解码及发射、与单一总线的数字温度传感器DS18B20通信以及驱动1602字符型液晶显示器和基于COG技术的新型12864点阵型液晶显示器。

第一篇 片内功能和开发环境 2

第1章 初识PIC 2

1.1与众不同的PIC 2

1.1.1 PIC单片机大家族 2

1.1.2哈佛内核结构 3

1.1.3 PIC的功能概要 4

1.2主题芯片介绍 7

1.2.1片内资源配置 7

1.2.2 PIC的I/O口 7

1.2.3 I/O口的方向设定 9

1.2.4 I/O口的应用 9

1.2.5 I/O口的内部结构 10

第2章PIC的开发环境 12

2.1 PIC开发的硬件资源 12

2.1.1动手搭建系统板 12

2.1.2 ICSP接口 13

2.2 MPLAB IDE集成开发环境 13

2.2.1单片机系统开发过程 14

2.2.2 MPLAB IDE及其内置组件 14

2.2.3 MPLAB IDE的工具链 16

2.3开发前的准备 17

2.3.1 PICC支持的基本数据类型 17

2.3.2安装MPLAB IDE软件 18

2.3.3安装PICC 18编译器软件 21

2.4我的第一个PIC程序 23

2.4.1建立开发项目 23

2.4.2新建源文件并添加到项目中 30

2.4.3源代码的编写 33

2.4.4代码的编译和烧写 34

2.4.5 PIC入门编程实例 39

第3章 仿真 40

3.1 MPLAB SIM软件模拟器 40

3.1.1使用软件模拟器 40

3.1.2设置断点 44

3.1.3设定观察窗口 45

3.2 PICkit 2硬件调试器 46

第4章 位操作 51

4.1 PICC中的高级变量 51

4.2 PICC中的变量修饰关键词 52

4.3 PIC18的头文件 53

4.4位操作 57

4.4.1位操作的方法 57

4.4.2不容忽视的“读-修改-写”问题 59

第5章 时钟源 62

5.1数码管 62

5.1.1数码管的内部结构 62

5.1.2数码管的驱动 63

5.2时钟源简介 64

5.2.1时钟的来源 64

5.2.2时钟源的分类 64

5.3主时钟源 65

5.3.1与时钟源相关的配置位 65

5.3.2主时钟源配置 66

5.4内部及辅助时钟源 68

5.4.1内部时钟源配置 68

5.4.2内部及辅助时钟源的构成 69

5.4.3时钟源的控制寄存器 69

5.5时钟源编程实例 71

5.5.1时钟源的设置向导 71

5.5.2主时钟源的应用 72

5.5.3内部时钟源的应用 75

第6章PIC的特色功能 77

6.1功耗管理模式 77

6.1.1运行模式 77

6.1.2空闲模式 77

6.1.3休眠模式 78

6.2复位 79

6.2.1外部复位 79

6.2.2上电复位 79

6.2.3上电延时定时器复位 79

6.2.4振荡器起振定时器复位 80

6.2.5欠压复位 81

6.2.6看门狗定时器复位 81

6.2.7跟踪复位事件 83

6.3双速启动 83

6.4故障保护时钟监视器 84

第7章 配置位 85

7.1配置位简介 85

7.1.1配置位的使用方法 85

7.1.2配置寄存器 86

7.2配置位的相关设置 91

第二篇 单元模块及驱动 94

第8章 中断 94

8.1中断系统 94

8.1.1中断的类型 94

8.1.2中断的处理 95

8.1.3中断控制寄存器 95

8.2外部中断 100

8.2.1外部中断的过程 101

8.2.2特殊的PORTB端口 101

8.2.3外部中断编程实例 102

8.2.4 PIC的中断服务函数 105

8.3电平变化中断 105

8.3.1电平变化中断的特点 105

8.3.2电平变化中断的应用 106

第9章 定时/计数器(上) 109

9.1 TIMER0模块 109

9.1.1 TMIER0的内部结构 109

9.1.2 TIMER0的控制寄存器 110

9.1.3 TIMER0的16位读写方式 110

9.1.4 TIMER0的预分频器 111

9.1.5 TIMER0的中断 112

9.2 TIMER0编程实例 112

9.3 TIMER1模块 115

9.3.1 TMIER1的内部结构 115

9.3.2 TMIER1的控制寄存器 116

9.3.3 TIMER 1的16位读写模式 117

9.3.4 TIMER1的振荡器 118

9.3.5 TIMER1的中断 118

9.3.6灵活使用TIMER 1 119

9.4 TIMER1编程实例 119

第10章 定时/计数器(下) 124

10.1 TIMER2模块 124

10.1.1 TMIER2的内部结构 124

10.1.2 TMIER2的控制寄存器 125

10.2 TIMER2编程实例 125

10.3 TIMER3模块 130

10.3.1 TMIER3的内部结构 130

10.3.2 TMIER3的控制寄存器 131

10.3.3 TIMER3的16位读写方式 131

10.3.4 TIMER3的中断 132

10.4 TIMER3编程实例 132

第11章A/D转换器 137

11.1 A/D转换器的原理 137

11.1.1模数转换 137

11.1.2逐次逼近型A/D转换器原理 138

11.2 PIC的ADC模块 138

11.2.1 ADC模块的结构 138

11.2.2 A/D转换的分辨率 139

11.2.3 ADC模块的控制寄存器 140

11.3设置ADC模块 143

11.3.1模拟输入通道 143

11.3.2 A/D转换周期 143

11.3.3 A/1D转换过程 144

11.3.4 A/D转换时钟 144

11.4使用ADC模块 145

11.4.1 ADC模块编程向导 145

11.4.2 ADC模块编程实例 145

第12章 主控同步串行接口(SPI模式) 149

12.1 MSSP模块 149

12.1.1 SPI总线 149

12.1.2 MSSP模块的SPI模式 150

12.1.3 SPI模式控制寄存器 151

12.1.4 SPI主控模式通信时序 153

12.1.5 SPI模式端口配置 154

12.1.6 SPI的通信过程 154

12.1.7 SPI模式通信要点 155

12.2存储器93C46 156

12.2.1 93C46引脚功能 156

12.2.2 93C46操作指令 157

12.2.3 93C46数据传输时序 159

12.3 SPI模式编程实例 159

12.3.1 SPI主控模式编程向导 159

12.3.2 93C46断电接力显示 159

第13章 主控同步串行接口(I2C模式) 165

13.1 I2C总线 165

13.2 I2C总线通信协议 166

13.2.1起始和停止条件 166

13.2.2 I2C总线的位传输 167

13.2.3 I2C器件的寻址 167

13.3 MSSP模块的I2C模式 168

13.3.1 I2C模式简介 168

13.3.2 I2C模式的控制寄存器 169

13.3.3 I2C模式的编程向导 171

13.4 I2C模式通信 171

13.4.1 I2C模式数据发送时序 171

13.4.2 I2C模式数据接收时序 173

13.4.3波特率 174

13.5 DS1307实时时钟 175

13.5.1 DS1307的功能 175

13.5.2 DS1307的寄存器 176

13.5.3 DS1307的数据格式 177

13.6 I2C模式编程实例 178

第14章CCP模块 184

14.1 CCP模块概述 184

14.1.1 CCP模块的功能 184

14.1.2 CCP模块的控制寄存器 184

14.1.3定时器资源配置 185

14.1.4 CCP模块引脚分配 186

14.2捕捉模式 186

14.2.1捕捉模式原理 186

14.2.2捕捉模式的时间值 187

14.2.3捕捉模式的配置 188

14.2.4理解捕捉模式 188

14.2.5捕捉的精度 189

14.3比较模式 189

14.3.1比较模式的原理 189

14.3.2比较模式的应用 190

14.4 PWM模式 190

14.4.1 PWM的相关参数 191

14.4.2 PWM模式的原理 191

14.4.3 PWM参数的计算 193

14.4.4 PWM模式设置向导 193

14.4.5增强型PWM方式 194

14.5 CCP模块编程实例 194

14.5.1基于CCP模块的信号发生器和频率计 194

14.5.2 PWM调光灯 198

第15章 模拟比较器 203

15.1模拟比较器模块 203

15.1.1比较器的作用 203

15.1.2比较器模块配置 204

15.1.3比较器的控制寄存器 205

15.1.4比较器的工作原理 206

15.1.5比较器的中断 206

15.2参考电压模块 207

15.2.1参考电压模块的控制寄存器 207

15.2.2参考电压源 208

15.2.3参考电压模块的应用 209

15.3比较器编程实例 209

第16章 片内存储器 212

16.1 FLASH的读写 212

16.1.1存储器的结构 212

16.1.2表读和表写 212

16.2 EEPROM的读写 214

16.2.1 EEPROM的相关寄存器 215

16.2.2读EEPROM存储器 216

16.2.3写EEPROM存储器 216

16.3 EEPROM编程实例 216

第17章 串行通信模块 220

17.1串行通信模块概述 220

17.1.1 EUSART的工作模式 220

17.1.2 EUSART的端口配置 220

17.1.3 EUSART的相关寄存器 221

17.1.4异步通信数据格式 224

17.1.5 EUSART的中断 224

17.2波特率发生器 224

17.2.1波特率 224

17.2.2波特率的产生 225

17.3 EUSART数据发送 225

17.3.1异步发送原理 225

17.3.2异步发送时序 226

17.3.3异步发送编程向导 227

17.4 EUSART数据接收 227

17.4.1异步接收原理 227

17.4.2异步接收时序 229

17.4.3异步接收编程向导 230

17.4.4地址检测接收编程向导 230

17.5 EUSART编程实例 231

17.5.1间隔字符和同步字符的发送 231

17.5.2串行通信收发器 231

第三篇 扩展应用实例 236

第18章 步进电机的驱动 236

18.1步进电机的特点 236

18.1.1步进电机的分类 236

18.1.2步进电机的工作原理 237

18.1.3步距角的计算方法 237

18.2 28BYJ48型步进电机 237

18.2.1 28BYJ48电机性能指标 237

18.2.2 28BYJ48电机绕组结构 238

18.3步进电机的驱动 238

18.3.1步进电机的励磁方式 238

18.3.2步进电机的驱动电路 239

18.3.3步进电机编程实例 239

第19章 红外线解码及发射 243

19.1红外线遥控的编码方式 243

19.1.1编码的帧结构 243

19.1.2编码的方式 243

19.1.3编码的调制与解调 244

19.2红外线解码与发射 245

19.2.1红外线解码的方法 245

19.2.2红外线发射的方法 245

19.3红外线遥控编程实例 246

19.3.1红外线解码器 246

19.3.2红外线发射器 251

第20章DS18B20数字温度传感器 254

20.1 DS 18B20的功能介绍 254

20.1.1 DS 18B20的特点 254

20.1.2 DS 18B20的引脚定义 255

20.2 DS18B20的内部结构 255

20.2.1 64位光刻ROM 255

20.2.2存储器 255

20.2.3配置寄存器 256

20.2.4 温度值的存储方式 257

20.3 DS 18B20的读写方式 258

20.3.1 DS 18B20的初始化时序 258

20.3.2 DS 18B20的写时序 258

20.3.3 DS 18B20的读时序 259

20.4 DS18B20的通信协议 259

20.4.1 ROM指令 260

20.4.2 RAM指令 260

20.5 DS 18B20的应用 261

20.5.1 DS 18B20的供电方式 261

20.5.2 DS18B20的编程向导 262

20.5.3 DS 18B20的使用要点 262

20.6 DS 18B20编程实例 262

第21章1602字符型液晶显示器 268

21.1 1602液晶概述 268

21.1.1 1602液晶的特点 268

21.1.2 1602液晶的引脚功能 268

21.1.3 1602液晶与单片机的接口 269

21.2 1602液晶的功能 269

21.2.1 1602液晶的显示数据RAM 269

21.2.2 1602液晶的字符发生器 270

21.2.3 1602液晶的操作时序 272

21.2.4 1602液晶的操作指令 273

21.2.5 1602液晶的初始化 275

21.3 1602液晶编程实例 275

第22章12864点阵型液晶显示器 278

22.1 12864点阵型液晶概述 278

22.1.1 JLX12864G-086液晶的特点 278

22.1.2 JLX12864G-086液晶的引脚功能 279

22.2 12864点阵型液晶显示方式 280

22.2.1显示屏与显存的对应关系 280

22.2.2显存的组织结构 281

22.2.3读写时序 281

22.2.4 UC1701X指令集 282

22.3 12864点阵型液晶编程实例 283

22.3.1液晶显示器的接口电路 283

22.3.2汉字的取模方法 284

22.3.3图像的取模方法 284

22.3.4汉字和图形显示 285

附录A PIC18F4520单片机的引脚功能 294

附录B搭建系统板所需材料清单 296

附录C最小系统板电路原理图 297

附录D ebox2049实验板 298