内容简介
第一篇 片内功能和开发环境
第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安装PICC 18编译器软件
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 TIMER 1的16位读写模式
9.3.4 TIMER1的振荡器
9.3.5 TIMER1的中断
9.3.6灵活使用TIMER 1
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.2 A/D转换的分辨率
11.2.3 ADC模块的控制寄存器
11.3设置ADC模块
11.3.1模拟输入通道
11.3.2 A/D转换周期
11.3.3 A/1D转换过程
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总线
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 DS 18B20的功能介绍
20.1.1 DS 18B20的特点
20.1.2 DS 18B20的引脚定义
20.2 DS18B20的内部结构
20.2.1 64位光刻ROM
20.2.2存储器
20.2.3配置寄存器
20.2.4 温度值的存储方式
20.3 DS 18B20的读写方式
20.3.1 DS 18B20的初始化时序
20.3.2 DS 18B20的写时序
20.3.3 DS 18B20的读时序
20.4 DS18B20的通信协议
20.4.1 ROM指令
20.4.2 RAM指令
20.5 DS 18B20的应用
20.5.1 DS 18B20的供电方式
20.5.2 DS18B20的编程向导
20.5.3 DS 18B20的使用要点
20.6 DS 18B20编程实例
第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实验板