我和PIC单片机:基于PIC18pdf下载

我和PIC单片机:基于PIC18百度网盘pdf下载

作者:
简介:我和PIC单片机:基于PIC18
出版社:机械工业出版社
出版时间:2013-07-23
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  《我和PIC单片机:基于PIC18》是一本让读者快速掌握PIC单片机及C语言开发的向导式“傻瓜书”。书中以PIC18F4520单片机为例,介绍了PIC单片机的开发环境、PIC单片机最小系统板的搭建方法、ICSP烧写方式、软硬件仿真调试以及片内几乎全部资源的使用和开发方法。本书以新颖的思路阐述PIC的开发全过程,不拘泥于枯燥的理论和概念,立足实践,力求使读者在轻松愉悦的氛围下,简单而快速地掌握PIC的开发方法。
  《我和PIC单片机:基于PIC18》语言简练幽默,内容通俗易懂,图文并茂,代码丰富,操作性强,非常适合于单片机的初学者,也可作为专业从事PIC单片机开发的技术人员以及PIC单片机爱好者的参考用书。
目录
我和PIC单片机:基于PIC18

前言
第一篇 片内功能和开发环境
第1章 初识PIC
1.1 与众不同的PIC
1.1.1 PIC单片机大家族
1.1.2 哈佛内核结构
1.1.3 PIC的功能要
1.2 主题芯片介绍
1.2.1 片内资源配置
1.2.2 PIC的I/O口
1.2.3 I/O口的方向设定
1.2.4 I/O口的应用
1.2.5 I/O口的内部结构
第2章 PIC的开发环境
2.1 PIC开发的硬件资源
2.1.1 动手搭建系统板
2.1.2 ICSP接口
2.2 MPLAB IDE集成开发环境
2.2.1 单片机系统开发过程
2.2.2 MPLAB IDE及其内置组件
2.2.3 MPLAB IDE的工具链
2.3 开发前的准备
2.3.1 PICC支持的基本数据类型
2.3.2 安装MPLAB IDE软件
2.3.3 安装PICC18编译器软件
2.4 我的第一个PIC程序
2.4.1 建立开发项目
2.4.2 新建源文件并添加到项目中
2.4.3 源代码的编写
2.4.4 代码的编译和烧写
2.4.5 PIC入门编程实例
第3章 仿真
3.1 MPLAB SIM软件模拟器
3.1.1 使用软件模拟器
3.1.2 设置断点
3.1.3 设定观察窗口
3.2 PICkit 2硬件调试器
第4章 位操作
4.1 PICC中的高级变量
4.2 PICC中的变量修饰关键词
4.3 PIC18的头文件
4.4 位操作
4.4.1 位操作的方法
4.4.2 不容忽视的“读—修改—写”问题
第5章 时钟源
5.1 数码管
5.1.1 数码管的内部结构
5.1.2 数码管的驱动
5.2 时钟源简介
5.2.1 时钟的来源
5.2.2 时钟源的分类
5.3 主时钟源
5.3.1 与时钟源相关的配置位
5.3.2 主时钟源配置
5.4 内部及辅助时钟源
5.4.1 内部时钟源配置
5.4.2 内部及辅助时钟源的构成
5.4.3 时钟源的控制寄存器
5.5 时钟源编程实例
5.5.1 时钟源的设置向导
5.5.2 主时钟源的应用
5.5.3 内部时钟源的应用
第6章 PIC的特色功能
6.1 功耗管理模式
6.1.1 运行模式
6.1.2 空闲模式
6.1.3 休眠模式
6.2 复位
6.2.1 外部复位
6.2.2 上电复位
6.2.3 上电延时定时器复位
6.2.4 振荡器起振定时器复位
6.2.5 欠压复位
6.2.6 看门狗定时器复位
6.2.7 跟踪复位事件
6.3 双速启动
6.4 故障保护时钟监视器
第7章 配置位
7.1 配置位简介
7.1.1 配置位的使用方法
7.1.2 配置寄存器
7.2 配置位的相关设置
第二篇 单元模块及驱动
第8章 中断
8.1 中断系统
8.1.1 中断的类型
8.1.2 中断的处理
8.1.3 中断控制寄存器
8.2 外部中断
8.2.1 外部中断的过程
8.2.2 特殊的PORTB端口
8.2.3 外部中断编程实例
8.2.4 PIC的中断服务函数
8.3 电平变化中断
8.3.1 电平变化中断的特点
8.3.2电平变化中断的应用
第9章 定时/计数器(上)
9.1 TIMER0模块
9.1.1 TMIER0的内部结构
9.1.2 TIMER0的控制寄存器
9.1.3 TIMER0的16位读写方式
9.1.4 TIMER0的预分频器
9.1.5 TIMER0的中断
9.2 TIMER0编程实例
9.3 TIMER1模块
9.3.1 TMIER1的内部结构
9.3.2 TMIER1的控制寄存器
9.3.3 TIMER1的16位读写模式
9.3.4 TIMER1的振荡器
9.3.5 TIMER1的中断
9.3.6 灵活使用TIMER1
9.4 TIMER1编程实例
第10章 定时/计数器(下)
10.1 TIMER2模块
10.1.1 TMIER2的内部结构
10.1.2 TMIER2的控制寄存器
10.2 TIMER2编程实例
10.3 TIMER3模块
10.3.1 TMIER3的内部结构
10.3.2 TMIER3的控制寄存器
10.3.3 TIMER3的16位读写方式
10.3.4 TIMER3的中断
10.4 TIMER3编程实例
第11章 A/D转换器
11.1 A/D转换器的原理
11.1.1 模数转换
11.1.2 逐次逼近型A/D转换器原理
11.2 PIC的ADC模块
11.2.1 ADC模块的结构
11.2.3 ADC模块的控制寄存器
11.3 设置ADC模块
11.3.1 模拟输入通道
11.3.2 A/D转换周期
11.3.3 A/D转换过程
11.3.4 A/D转换时钟
11.4 使用ADC模块
11.4.1 ADC模块编程向导
11.4.2 ADC模块编程实例
第12章 主控同步串行接口(SPI模式)
12.1 MSSP模块
12.1.1 SPI总线
12.1.2 MSSP模块的SPI模式
12.1.3 SPI模式控制寄存器
12.1.4 SPI主控模式通信时序
12.1.5 SPI模式端口配置
12.1.6 SPI的通信过程
12.1.7 SPI模式通信要点
12.2 存储器93C46
12.2.1 93C46引脚功能
12.2.2 93C46操作指令
12.2.3 93C46数据传输时序
12.3 SPI模式编程实例
12.3.1 SPI主控模式编程向导
12.3.2 93C46断电接力显示
第13章 主控同步串行接口(I2C模式)
13.1 I2C总线
I2C总线的结构
13.2 I2C总线通信协议
13.2.1 起始和停止条件
13.2.2 I2C总线的位传输
13.2.3 I2C器件的寻址
13.3 MSSP模块的I2C模式
13.3.1 I2C模式简介
13.3.2 I2C模式的控制寄存器
13.3.3 I2C模式的编程向导
13.4 I2C模式通信
13.4.1 I2C模式数据发送时序
13.4.2 I2C模式数据接收时序
13.4.3 波特率
13.5 DS1307实时时钟
13.5.1 DS1307的功能
13.5.2 DS1307的寄存器
13.5.3 DS1307的数据格式
13.6 I2C模式编程实例
第14章 CCP模块
14.1 CCP模块概述
14.1.1 CCP模块的功能
14.1.2 CCP模块的控制寄存器
14.1.3 定时器资源配置
14.1.4 CCP模块引脚分配
14.2 捕捉模式
14.2.1 捕捉模式原理
14.2.2 捕捉模式的时间值
14.2.3 捕捉模式的配置
14.2.4 理解捕捉模式
14.2.5 捕捉的精度
14.3 比较模式
14.3.1 比较模式的原理
14.3.2 比较模式的应用
14.4 PWM模式
14.4.1 PWM的相关参数
14.4.2 PWM模式的原理
14.4.3 PWM参数的计算
14.4.4 PWM模式设置向导
14.4.5 增强型PWM方式
14.5 CCP模块编程实例
14.5.1 基于CCP模块的信号发生器和频率计
14.5.2 PWM调光灯
第15章 模拟比较器
15.1 模拟比较器模块
15.1.1 比较器的作用
15.1.2 比较器模块配置
15.1.3 比较器的控制寄存器
15.1.4 比较器的工作原理
15.1.5 比较器的中断
15.2 参考电压模块
15.2.1 参考电压模块的控制寄存器
15.2.2 参考电压源
15.2.3 参考电压模块的应用
15.3 比较器编程实例
第16章 片内存储器
16.1 FLASH的读写
16.1.1 存储器的结构
16.1.2 表读和表写
16.2 EEPROM的读写
16.2.1 EEPROM的相关寄存器
16.2.2 读EEPROM存储器
16.2.3 写EEPROM存储器
16.3 EEPROM编程实例
第17章 串行通信模块
17.1 串行通信模块概述
17.1.1 EUSART的工作模式
17.1.2 EUSART的端口配置
17.1.3 EUSART的相关寄存器
17.1.4 异步通信数据格式
17.1.5 EUSART的中断
17.2 波特率发生器
17.2.1波特率
17.2.2 波特率的产生
17.3 EUSART数据发送
17.3.1 异步发送原理
17.3.2 异步发送时序
17.3.3 异步发送编程向导
17.4 EUSART数据接收
17.4.1 异步接收原理
17.4.2 异步接收时序
17.4.3 异步接收编程向导
17.4.4 地址检测接收编程向导
17.5 EUSART编程实例
17.5.1间隔字符和同步字符的发送
17.5.2 串行通信收发器
第三篇 扩展应用实例
第18章 步进电机的驱动
18.1 步进电机的特点
18.1.1 步进电机的分类
18.1.2 步进电机的工作原理
18.1.3 步距角的计算方法
18.2 28BYJ48型步进电机
18.2.1 28BYJ48电机性能指标
18.2.2 28BYJ48电机绕组结构
18.3 步进电机的驱动
18.3.1步进电机的励磁方式
18.3.2 步进电机的驱动电路
18.3.3 步进电机编程实例
第19章 红外线解码及发射
19.1 红外线遥控的编码方式
19.1.1 编码的帧结构
19.1.2 编码的方式
19.1.3 编码的调制与解调
19.2 红外线解码与发射
19.2.1 红外线解码的方法
19.2.2 红外线发射的方法
19.3 红外线遥控编程实例
19.3.1 红外线解码器
19.3.2 红外线发射器
第20章 DS18B20数字温度传感器
20.1 DS18B20的功能介绍
20.1.1 DS18B20的特点
20.1.2 DS18B20的引脚定义
20.2 DS18B20的内部结构
20.2.1 64位光刻ROM
20.2.2 存储器
20.2.3 配置寄存器
20.2.4 温度值的存储方式
20.3 DS18B20的读写方式
20.3.1 DS18B20的初始化时序
20.3.2 DS18B20的写时序
20.3.3 DS18B20的读时序
20.4 DS18B20的通信协议
20.4.1 ROM指令
20.4.2 RAM指令
20.5 DS18B20的应用
20.5.1 DS18B20的供电方式
20.5.2 DS18B20的编程向导
20.5.3 DS18B20的使用要点
20.6 DS18B20编程实例
第21章 1602字符型液晶显示器
21.1 1602液晶概述
21.1.1 1602液晶的特点
21.1.2 1602液晶的引脚功能
21.1.3 1602液晶与单片机的接口
21.2 1602液晶的功能
21.2.1 1602液晶的显示数据RAM
21.2.2 1602液晶的字符发生器
21.2.3 1602液晶的操作时序
21.2.4 1602液晶的操作指令
21.2.5 1602液晶的初始化
21.3 1602液晶编程实例
第22章 12864点阵型液晶显示器
22.1 12864点阵型液晶概述
22.1.1 JLX12864G-086液晶的特点
22.1.2 JLX12864G-086液晶的引脚功能
22.2 12864点阵型液晶显示方式
22.2.1 显示屏与显存的对应关系
22.2.2 显存的组织结构
22.2.3 读写时序
22.2.4 UC1701X指令集
22.3 12864点阵型液晶编程实例
22.3.1 液晶显示器的接口电路
22.3.2 汉字的取模方法
22.3.3 图像的取模方法
22.3.4 汉字和图形显示
附录A PIC18F4520单片机的引脚功能
附录B 搭建系统板所需材料清单
附录C 最小系统板电路原理图
附录D ebox2049实验板
前言
  前言
  无论你是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日于哈尔滨
精彩书摘
  欢迎来到单片机的世界!
  在你了解单片机之前,你可能对单片机存在许多疑问。单片机离我们很遥远吗?不,其实在你的家里,早已有不止一个单片机在改变着你的生活,它就像你的家人一样,陪伴在你的身边,只不过它们都非常低调,悄悄地隐藏在了诸如空调、冰箱、洗衣机甚至是电饭煲里面罢了。单片机很难学,需要上大学,有专业老师辅导才能学会吗?不,其实对单片机的驾驭简单地就像按动你房间里的电源开关一样,你让它做什么,它都会不折不扣地完成。实践证明,只要你有义务教育的基础,找对正确的方法,短时间内是完全可以掌握单片机的。好了,在你知道了单片机离我们有多近、学起来有多简单之后,接下来,请放松,和我们一起来感受单片机世界的迷人魅力吧!
  本篇以MICROCHIP公司的PIC18F4520单片机为例,从其引脚功能、片内资源配置和开发环境入手,循序渐进地带领你上手PIC。
  我们可以把单片机简单地理解成单芯片计算机。经过多年的发展,单片机的内涵被不断丰富,越来越多的功能被赋予给了这个单芯片计算机,使得其功能变得愈发强大。可以说,在单片机的江湖中,家族林立,门派众多。在不同的单片机品牌中,有这样一类单片机,由于采用了与51单片机不同的内部架构,并且融合了当前众多的先进技术,采用模块化的结构,使得其旗下单片机产品适应性和性能大幅提高,在市场上取得了很大的成功,这类单片机就是我们接下来要探访的PIC单片机。
  PIC单片机是由美国微芯公司(MICROCHIP)生产的一类高性能系列单片机。微芯公司的产品线非常丰富,有数百个型号的单片机供用户选择。为了说明PIC单片机的分类情况,我们引用了一幅来自MICROCHIP官方网站上的图片,来介绍PIC单片机的产品系列。
  图1-1列出的是PIC单片机的产品家族。从图中可以看出,PIC单片机产品中,按照内部数据总线宽度的不同,可分为8位机(8-bit)、16位机(16-bit)和32位机(32-bit)三大类。在每一类产品中,根据芯片内部资源配置不同,又衍生出了不同的产品型号。在此,我们有必要了解一下PIC单片机产品的命名方法。
  PIC单片机的产品命名由前缀、系列号和产品型号三部分构成。
  1)前缀为PIC或dsPIC。PIC是MICROCHIP公司的产品代号,dsPIC则是集成有DSP(数字信号处理器)功能的PIC单片机。
  2)系列号为10/12/16/18/24/30/33/32。其中PIC10、PIC12、PIC16、PIC18系列为8位单片机,PIC24、dsPIC30、dsPIC33系列为16位单片机,PIC32系列为32位单片机。
  3)产品型号通常为一组数字或字母。比如PIC18F4520,4520即为产品型号。
  前面我们学习了PIC的内部资源配置和I/O口的基本结构,这一章我们重点要实现对I/O口的控制。单片机是软硬件结合的统一体,因此本章先介绍如何用简单的材料搭建起供学习使用的最小系统板,之后要学习MPLAB IDE集成开发环境,并且在该环境下使用C语言编写程序点亮一个发光二极管。
  学习单片机贵在动手实践,这就要求我们需要有必要的硬件作为辅助才能达到预期的学习效果。作为初学者,可以购买成品的PIC开发板,这样做的好处是可以节约一些时间,让你更加专注于单片机本身和编写代码。此外,如果你在学习单片机的同时想要提高一下自己的动手能力,那么你完全可以使用本书所述的办法自己搭建一个PIC的最小系统板,用它来完成全部的学习过程。