首页>参考读物>电子电工>电子工程

我和PIC单片机:基于PIC18
作者 : 高显生 编著
出版日期 : 2013-07-08
ISBN : 978-7-111-42653-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 308
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

全书计划15章,每章开篇讲述单片机内部各种功能及原理,后配套C源代码及实践,一章一个任务,采用手把手的方式,教你循序渐进地掌握PIC的开发。

图书特色

全书以极具性价比的PIC18F4520单片机最小系统为主线,一章一实践。
本书语言简洁生动,不拘泥于原理和概念,通过实践学以致用。
通过自己DIY最小系统,一个模块一套代码,在动手过程中掌握PIC单片机开发。

我和PIC单片机
基于PIC18
入门卷
高显生 编著

前:
在8位单片机的时代,学习单片机开发是一个痛苦的过程,学习PIC单片机尤其痛苦。面对PIC,汇编就是一座翻不过去的大山,让大部分载兴而来的初学者折戟沉沙,败兴而归。C语言的出现,挽救了很多险些由先驱变成先烈的初学者。尽管如此,学习8位单片机对于很多零基础的初学者仍然是一件很艰难的事情。这种情况一直没有得到明显的改善,因此,这门技术注定只能在少数掌握它的工程师手中发挥作用。
如何降低难度?如何让更多人上手使用PIC单片机?读完本书,你可以找到这两个问题的答案。本书语言简洁、幽默,不拘泥于概念和原理。全书以PIC单片机的最小系统贯穿始终,一章一实践,让读者在DIY的过程中掌握PIC单片机的原理和开发技术。通过自己DIY最小系统,低成本地完成所有功能模块的代码测试,从而快速掌握PIC单片机的开发技巧。

作者简介
高显生 男,1972年出生,是一名骨灰级业余电子爱好者,长期热衷于单片机的公益培训推广工作,倡导简捷易懂、立足实践的单片机学习方法。先后录制了《我和单片机的21天之旅》和《我的PIC日记》等多部视频教程,深受大学生朋友及PIC单片机初学者的喜爱和好评 。

图书前言

无论你是51单片机的铁杆粉丝,还是立志电子研发的有为青年,抑或是发烧友型的宅男技术控,PIC单片机都是值得你花时间和精力去仔细研究的一种微控制器。纵观国内8位单片机市场,PIC在性能指标、开发环境、产品线结构以及性价比方面都不逊色于任何一个竞争对手。而与PIC丰富的产品形成鲜明对比的是,介绍PIC的书籍稍显匮乏,大部分书籍还是以PIC16中档机为例配合汇编语言进行介绍。其实,目前PIC18高档机的价格与中档机相比已经没有明显的差距了,但性能却比后者提高了很多,本书就是以PIC的高档系列PIC18F4520单片机作为代表,结合C语言的使用,对PIC18系列单片机的片内功能、开发环境、单元模块以及接口电路等进行全面的介绍。书中教你从动手搭建最小系统板开始,随着学习的深入,不断地丰富系统板的功能,逐步为其添加所需的单元电路,最后实现用一块系统板完成PIC18的全部学习内容和代码测试工作,让你用最小的成本获得最大的收获。
  全书分三篇,共计22章,所有章节都配有动手实践环节,每一种资源、每一个模块都给出了相应的实验电路和C语言实验代码。第一篇(第1~7章)主要是带领大家认识PIC单片机并且说明开发PIC所需要的软硬件资源配备;第二篇(第8~17章)从介绍PIC模块化的资源配置入手,详细地介绍PIC单片机的中断、定时器、AD转换器、MSSP模块、CCP模块、模拟比较器以及串行口等片内功能,同时介绍了如何使用PIC单片机的I2C及SPI接口实现与DS1307实时时钟及存储器93C46的通信;第三篇(第18~22章)主要是学习PIC单片机的扩展应用,主要包括如何使用PIC单片机驱动步进电机、实现红外线的解码及发射、与单一总线的数字温度传感器DS18B20通信以及驱动1602字符型液晶显示器和基于COG技术的新型12864点阵型液晶显示器。
  本书是一本零基础学单片机和C语言的入门教程,也是一本学习PIC开发的实战型入门图书。本书倡导的是学以致用,重在实践,不拘泥于概念和原理,力求简洁生动,在轻松愉快的氛围下传达一种无限DIY的研发理念。全书从制作一个PIC18最小系统板开始,一章一实践,一个模块配套一套代码,用自己DIY的PIC系统板,低成本地完成PIC所有功能模块的代码测试任务,带领你快速掌握PIC单片机的开发方法。学习本书不需要额外的背景知识,只要按照章节顺序学习,勤于动手实践,在短时间内就可以开发出具有个性的电子产品。
  本书的前身是《我的PIC日记》视频教程,自该教程在“优酷网”推出以来,受到了众多网友的关注和支持,本书既是对原视频教程的归纳和整理,也是对其的精练和升华。由于作者本人水平所限,书中难免存在错误和不足,在此恳请有识之士多给予批评斧正,作者的E-mail:710878209@qq.com。
  本书得以出版,要特别感谢的是机械工业出版社策划编辑张国强,他对本书的立意和编纂给予了持续的支持和指导。另外要感谢我的哥哥高显功,作为高级电气工程师,他在百忙的研发工作中抽出了宝贵的时间,担任了本书初稿的审校工作,并提出了很多有价值的指导意见。最后还要感谢我的家人,在我奋笔疾书的日日夜夜,替我分担了刷碗、择菜等生活中的诸多琐事,让我能更加专注于本书的创作。
  尺有所短,寸有所长。如果你发现在你的头脑中时常会对电子设备萌发出一些新奇的想法或创意,请一定将其捕捉下来,并且通过本书的阅读和实践,努力地将其变为现实,这也许就是你走上研发之路的起点,你的人生也许会因此而变得更加精彩。再次感谢您对本书的支持,祝学业进步,事业有成!

高显生
2013年2月28日于哈尔滨

上架指导

电子与电气工程

作者简介

高显生 编著:暂无简介

图书目录

前言
第一篇 片内功能和开发环境
第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 安装PICC18编译器软件  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
第二篇 单元模块及驱动
第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 TIMER1的16位读写模式  117
9.3.4 TIMER1的振荡器  118
9.3.5 TIMER1的中断   118
9.3.6 灵活使用TIMER1  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/D转换过程  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
第三篇 扩展应用实例
第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 DS18B20的功能介绍  254
20.1.1 DS18B20的特点  254
20.1.2 DS18B20的引脚定义  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 DS18B20的读写方式  258
20.3.1 DS18B20的初始化时序  258
20.3.2 DS18B20的写时序  258
20.3.3 DS18B20的读时序  259
20.4 DS18B20的通信协议  259
20.4.1 ROM指令  260
20.4.2 RAM指令  260
20.5 DS18B20的应用  261
20.5.1 DS18B20的供电方式  261
20.5.2 DS18B20的编程向导  262
20.5.3 DS18B20的使用要点  262
20.6 DS18B20编程实例  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

教学资源推荐
作者: [美] 查尔斯·K.亚历山大(Charles K. Alexander) [美] 马修·N. O. 萨迪库(Matthew N. O. Sadiku)著
作者: [美]约翰·F.韦克利(John F. Wakerly)
作者: [美]理查德G.莱昂斯(Richard G.Lyons) D.李·富盖尔(D. Lee Fugal) 著
作者: [英]马克·凯尔伯特(Mark Kelbert),[俄]尤里·苏霍夫(Yuri Suhov)著
参考读物推荐
作者: 张强 编著
作者: [英]唐纳德 S.雷伊(Donald S.Reay)著
作者: [日]伊藤 尚未 著
作者: 彭瑜 刘亚威 王健 等编著