第1章PIC单片机简介 1
1.1 PIC单片机概述 1
1.1.1 PIC单片机的优势 2
1.1.2 PIC单片机的选型 3
1.2硬件结构和引脚定义 5
1.2.1内部结构 5
1.2.2引脚定义 8
1.3 PIC单片机开发中的四件法宝 19
1.3.1实验开发板 19
1.3.2下载线 20
1.3.3编程软件 24
1.3.4下载软件 28
第2章PIC编译器的语法规则 31
2.1数据类型 31
2.1.1 PICC中的常量 32
2.1.2 PICC中的变量 33
2.2位指令 34
2.3变量的绝对定位 36
2.4结构和联合 37
2.4.1结构和联合的定义 37
2.4.2结构和联合的引用 39
2.4.3结构和联合的限定词 39
2.4.4结构中的bit域 40
2.5 PICC对数据寄存器bank的管理 41
2.6局部变量和全局变量 42
2.6.1自动变量 42
2.6.2静态变量 42
2.6.3全局变量 43
2.7特殊类型限定词 43
2.8指针 44
2.9函数 47
2.9.1函数的参数传递 47
2.9.2函数返回值 48
2.9.3调用层次的控制 49
2.9.4中断函数的实现 50
2.9.5标准库函数 51
2.10#pragma伪指令 52
2.11 C语言和汇编语言的互利合作 55
2.11.1嵌人行内汇编的方法 56
2.11.2汇编指令寻址C语言定义的全局变量 56
2.11.3汇编指令寻址C函数的局部变量 57
2.12特殊区域值 59
2.12.1定义工作配置字 59
2.12.2定义芯片标记单元 60
第3章 熟悉PIC开发环境 62
3.1 MPLAB编程软件的应用 62
3.2 PICkit2下载软件的应用 67
3.2.1 PICkit2窗口简介 67
3.2.2下载目标文件 69
3.3程序的调试 72
3.3.1设置断点和单步调试 72
3.3.2测试延时函数的延时时间 73
第4章I/O端口实验 75
4.1 1/O端口介绍 75
4.2古老流水灯实验 75
4.3共阳极数码管显示当前日期 77
4.4液晶显示屏的应用 79
4.4.1液晶显示屏1602的应用 80
4.4.2 1602的应用程序 83
4.5巧用按键 92
4.5.1独立按键与流水灯的配合 92
4.5.2矩阵键盘与数码管的配合 95
4.5.3利用定时器实现长短按键 98
4.6用I/O口模拟93C46时序 101
第5章 按键及B口电平中断 113
5.1电平变化中断构成的键盘电路 113
5.2按键的两种设计方法 114
5.2.1查询方式判别按键 114
5.2.2电平变化中断方式判别按键 117
5.2.3电平变化中断的设计技巧 119
5.2.4电平变化中断唤醒单片机 123
5.2.5用电平变化和定时器测量TMP03/TMP04的温度 126
第6章 定时器/计数器的应用 134
6.1定时器/计数器0模块 134
6.1.1定时器0中断 134
6.1.2定时器0预分频器 135
6.1.3寄存器 135
6.1.4用定时器0实现小灯闪烁 137
6.2定时器/计数器1模块 140
6.2.1定时器1中断 141
6.2.2定时器1寄存器 141
6.2.3定时器1计数器操作 142
6.2.4 TMR1振荡器 143
6.2.5用CCP触发输出复位定时器1 143
6.2.6定时器1程序设计 143
6.3定时器/计数器2模块 147
6.3.1定时器2中断 148
6.3.2定时器2输出 148
6.3.3定时器2程序设计 149
第7章 捕获/比较/脉宽调制CCP模块 152
7.1捕获/比较/脉宽调制CCP模块简介 152
7.2 CCP1CON/CCP2CON控制寄存器 153
7.3捕获模式 153
7.4比较模式 154
7.5 PWM模式 156
7.6各种模式程序设计 158
7.6.1捕获模式程序设计 158
7.6.2比较模式程序设计 165
7.6.3 PWM模式程序设计 169
第8章10位模/数转换器模块 172
8.1模/数转换器A/D模块 172
8.2 A/D转换时钟的选择 176
8.3 A/D结果寄存器 176
8.4休眠期间A/D的工作 177
8.5复位的结果 177
8.6 A/D转换程序设计 178
第9章 捕捉/比较/PWM(CCP)应用 186
9.1 CCP模块简介 186
9.2捕捉模式应用 189
9.2.1捕捉模式寄存器设置 189
9.2.2捕捉测量信号频率 190
9.3比较模式应用 195
9.3.1比较模式寄存器设置 195
9.3.2比较模式应用实例 195
9.4 PWM模式应用 198
9.4.1 PWM模式寄存器设置 198
9.4.2 PWM模式下控制电机调速 198
第10章 休眠、看门狗和EEPROM应用 201
10.1看门狗原理 201
10.1.1 WDT基本原理 201
10.1.2 WDT相关寄存器 203
10.1.3使用WDT注意事项 203
10.2休眠节电模式及其激活 204
10.2.1休眠模式简介 204
10.2.2从休眠到唤醒状态 204
10.2.3中断唤醒应用 205
10.3数据存储器EEPROM应用 206
10.3.1与EEPROM相关的寄存器 207
10.3.2 EEPROM的读取 208
10.3.3 EEPROM的写人 208
10.4编程 209
第11章 并行从动端口 214
11.1并行从动端口的工作原理 214
11.2并行从动端口编程实例 218
第12章 主从同步串行端口模块 223
12.1 SPI总线方式 223
12.1.1寄存器设置 224
12.1.2 93C46编程 226
12.1.3 M25P80 Flash芯片应用 229
12.2 I2 C总线方式 247
12.2.1寄存器设置 247
12.2.2波特率发生器 251
12.2.3 24C02编程应用 253
12.2.4 PCF856312C实时时钟/日历芯片 258
12.2.5 PCF8563时钟软件设计 271
第13章 通用同步/异步收发器 283
13.1 USART寄存器设置 283
13.2 USART波特率发生器BRG 286
13.3 USART异步模式 287
13.3.1发送模式 288
13.3.2接收模式 291
13.4接口硬件电路 294
13.5 USART异步模式编程 295
第14章GPS应用实例 301
14.1 GPS定位原理浅析 301
14.2 GPS卫星的身世 304
14.3 GPS系统的构成 305
14.4 GPS程序设计 307
参考文献 314