第1章PIC单片机介绍 1
1.1PIC单片机概述 1
1.1.1集中指令集和精简指令集 1
1.1.2PIC单片机与51单片机的区别 2
1.1.3PIC单片机的分类 2
1.1.4PIC系列单片机的优势 3
1.2PIC16F877A单片机的主要功能、外部引脚和内部结构 4
1.2.1PIC16F877A单片机的主要功能 4
1.2.2PIC16F877A单片机的外部引脚 5
1.2.3PIC16F877A单片机的内部结构 6
第2章PIC单片机C语言入门 11
2.1认识C语言 11
2.1.1C语言的特点 11
2.1.2单片机采用C语言编程的好处 11
2.2简单的C语言程序 12
2.2.1硬件电路 12
2.2.2程序实现 13
2.2.3改进后的程序 16
第3章PIC单片机低成本实验设备的制作与使用 18
3.1PIC核心板介绍 18
3.2DD—900实验开发板介绍 19
3.2.1DD—900实验开发板硬件资源 19
3.2.2硬件电路介绍 21
3.2.3插针跳线设置 28
3.3PIC单片机编程调试器PICKIT2的使用 29
3.3.1PICKIT2介绍 29
3.3.2PICKIT2的使用 30
第4章30分钟熟悉PIC单片机开发全过程 31
4.1PIC单片机开发软件“吐血推荐” 31
4.1.1MPLABIDE软件介绍 31
4.1.2HI-TECH(PICC)软件介绍 32
4.2MPLABIDE和PICC软件的安装 32
4.3PIC单片机开发过程“走马观花” 33
4.3.1硬件电路 33
4.3.2编写和编译程序 34
4.3.3程序的仿真 42
4.3.4程序的下载 47
第5章PIC单片机C语言重点难点剖析 49
5.1PICC基本知识 49
5.1.1PICC变量 49
5.1.2PICC对数据寄存器bank的管理 50
5.1.3PICC中的位变量 50
5.1.4PICC中的浮点数 51
5.1.5PICC变量修饰关键词 51
5.1.6PICC定义工作配置字 52
5.1.7C语言和汇编语言混合编程 54
5.2PICC函数 54
5.2.1中断函数的实现 54
5.2.2标准库函数 55
5.2.3用户自定义函数 56
5.2.4局部变量和全局变量 57
第6章中断系统实例解析 59
6.1中断系统基本知识 59
6.1.1中断系统概述 59
6.1.2与中断相关的寄存器 61
6.2中断系统实例解析——外中断1演示 65
6.2.1实现功能 65
6.2.2源程序 65
6.2.3源程序释疑 67
6.2.4实现方法 68
第7章定时/计数器实例解析 69
7.1PIC定时/计数器基本知识 69
7.1.18位定时/计数器TMR0 69
7.1.216位定时/计数器TMR1 70
7.1.38位定时/计数器TMR2 72
7.2定时/计数器实例解析 73
7.2.1实例解析1——TMR0计数实验 73
7.2.2实例解析2——TMR0定时实验 76
7.2.3实例解析3——TMR1计数实验 78
7.2.4实例解析4——TMR1定时实验 80
7.2.5实例解析5——TMR2定时实验 81
第8章CCP模块实例解析 84
8.1CCP模块基本知识 84
8.1.1输入捕捉模式 85
8.1.2输出比较模式 86
8.1.3脉宽调制输出工作模式 87
8.2CCP模块实例解析 88
8.2.1实例解析1——CCP1模块捕捉模式实验 88
8.2.2实例解析2——CCP1模块比较输出模式实验 91
8.2.3实例解析3——CCP1模块PWM模式实验 93
第9章串行通信实例解析 95
9.1串行通信基本知识 95
9.1.1串行通信简介 95
9.1.2单片机的串口电平转换电路 96
9.1.3串行通信寄存器介绍 98
9.1.4USART波特率的设定 100
9.1.5异步串行通信的工作过程 101
9.2串行通信实例解析——PC控制单片机工作 103
9.2.1实现功能 103
9.2.2源程序 103
9.2.3源程序释疑 105
9.2.4实现方法 105
第10章键盘接口实例解析 107
10.1键盘接口电路基本知识 107
10.1.1键盘的工作原理 107
10.1.2键盘与单片机的连接形式 108
10.2键盘接口电路实例解析 108
10.2.1实例解析1——数码管显示独立按键值 108
10.2.2实例解析2——数码管显示矩阵按键值 111
第11章LED数码管实例解析 118
11.1LED数码管基本知识 118
11.1.1LED数码管的结构 118
11.1.2LED数码管的显示码 119
11.1.3LED数码管的显示方式 120
11.2LED数码管实例解析 122
11.2.1实例解析1——程序控制动态显示 122
11.2.2实例解析2——定时中断动态显示 125
11.2.3实例解析3——简易数码管电子钟 128
第12章LCD显示实例解析 137
12.1字符型LCD基本知识 137
12.1.1字符型LCD引脚功能 137
12.1.2字符型LCD内部结构 138
12.1.3字符型LCD控制指令 140
12.2字符型LCD实例解析 144
12.2.1实例解析1——1602LCD显示字符串 144
12.2.2实例解析2——1602LCD移动显示字符串 149
12.2.3实例解析3——1602LCD滚动显示字符串 150
12.2.4实例解析4——1602LCD电子钟 153
12.3 12864点阵型LCD介绍与实例解析 159
12.3.1 12864点阵型LCD介绍 159
12.3.2实例解析5——12864LCD显示汉字(并口方式) 163
12.3.3实例解析6——12864LCD显示汉字(串口方式) 169
12.3.4实例解析7——12864LCD显示图形 172
第13章时钟芯片DS1302实例解析 177
13.1时钟芯片DS1302基本知识 177
13.1.1DS1302介绍 177
13.1.2DS1302的控制命令字 178
13.1.3DS1302的寄存器 178
13.1.4DS1302的数据传送方式 180
13.2DS1302读/写实例解析 181
13.2.1实例解析1——DS1302数码管电子钟 181
13.2.2实例解析2——DS1302LCD电子钟 189
第14章EEPROM存储器实例解析 195
14.1主控同步串行端口MSSP介绍 195
14.1.1I2C串行接口 195
14.1.2SPI串行接口 198
14.2 I2C串行存储器24CXX介绍与实例解析 200
14.2.124CXX数据存储器介绍 200
14.2.2实例解析1——具有记忆功能的记数器 202
14.3Microwire总线存储器93CXX介绍与实例解析 211
14.3.193CXX介绍 211
14.3.2实例解析2——数据的写入与读出 213
14.4PIC16F877A内部EEPROM的使用 218
14.4.1与片内EEPROM相关的寄存器 218
14.4.2片内EEPROM数据存储器的操作 220
14.4.3实例解析3——PIC16F877A内部EEPROM读/写演示 221
第15章温度传感器DS18B20实例解析 223
15.1温度传感器DS18B20基本知识 223
15.1.1DS18B20引脚功能 223
15.1.2DS18B20的内部结构 224
15.1.3DS18B20的指令 225
15.1.4DS18B20使用注意事项 226
15.2DS18B20数字温度计实例解析 226
15.2.1实例解析1——LED数码管数字温度计 226
15.2.2实例解析2——LCD数字温度计 232
第16章红外遥控和无线遥控实例解析 238
16.1红外遥控基本知识 238
16.1.1红外遥控系统 238
16.1.2红外遥控的编码与解码 239
16.1.3DD—900实验开发板遥控电路介绍 240
16.2红外遥控实例解析 240
16.2.1实例解析1——LED数码管显示遥控器键值 240
16.2.2实例解析2——LCD显示遥控器键值 246
16.3无线遥控电路介绍与演练 251
16.3.1无线遥控电路基础知识 251
16.3.2无线遥控模块介绍 253
16.3.3实例解析3——遥控模块控制LED灯和蜂鸣器 255
第17章PIC16F877A单片机其他内部资源实例解析 259
17.1PIC16F877A单片机看门狗实例解析 259
17.1.1PIC16F877A单片机内部看门狗介绍 259
17.1.2实例解析1——PIC16F877A看门狗演示 261
17.2PIC16F877A单片机的休眠工作方式实例解析 263
17.2.1休眠工作方式简介 263
17.2.2实例解析2——PIC16F877A休眠方式演示 264
17.3PIC16F877A模拟比较器实例解析 266
17.3.1PIC16F877A模拟比较器介绍 266
17.3.2实例解析3——模拟比较器演示 267
17.4PIC16F877A模/数转换(A/D)模块实例解析 269
17.4.1PIC16F877A模/数转换(A/D)模块介绍 269
17.4.2实例解析4——A/D转换演示 274
第18章步进电动机实例解析 278
18.1步进电动机基本知识 278
18.1.1步进电动机的分类与原理 278
18.1.2步进电动机的励磁方式 279
18.1.3步进电动机驱动电路 280
18.2步进电动机实例解析 281
18.2.1实例解析1——步机电动机正转与反转 281
18.2.2实例解析2——步进电动机加速与减速运转 285
18.2.3实例解析3——用按键控制步进电动机正反转 287
参考文献 292