第1章 PIC微控制器系统 1
1.1 PIC 16微控制器 1
1.1.1 MCU特性 2
1.1.2 程序执行 3
1.1.3 RAM文件寄存器 4
1.1.4 其他PIC芯片 5
1.2 PIC MCU配置 5
1.2.1 时钟选择 5
1.2.2 配置选项 6
1.2.3 在C语言中的配置 7
1.3 PIC16 MCU外围设备 7
1.3.1 定时器 8
1.3.2 A/D转换器 9
1.3.3 比较器 10
1.3.4 并行从端口 10
1.3.5 中断 11
1.4 PIC16串行接口 12
1.4.1 USART 12
1.4.2 SPI总线 13
1.4.3 I2C总线 14
1.5 PIC16 MPLAB项目 15
1.5.1 MPLAB C项目 15
1.5.2 项目文件 16
1.6 PIC16编程与调试 17
1.6.1 编程 18
1.6.2 调试 18
1.6.3 设计包 20
练习 20
作业 21
第2章 C编程精华 22
2.1 PIC16 C入门 22
2.1.1 简单程序 22
2.1.2 程序创建 22
2.1.3 程序测试 23
2.1.4 程序分析 24
2.2 PIC16 C程序基础 25
2.2.1 变量 25
2.2.2 循环 26
2.2.3 决策 27
2.2.4 循环控制 28
2.2.5 FOR循环 28
2.2.6 SIREN程序 29
2.2.7 空程序 30
2.3 PIC16数据操作 31
2.3.1 变量类型 31
2.3.2 赋值运算 34
2.3.3 条件运算 35
2.4 PIC16 C顺序控制 35
2.4.1 while循环 36
2.4.2 break、continue和goto 37
2.4.3 if..else和switch..case 38
2.5 PIC16 C函数和结构 39
2.5.1 基本函数 40
2.5.2 全局变量和局部变量 41
2.6 PIC16 C输入和输出 42
2.6.1 串行LCD 42
2.6.2 键盘和计算器 45
2.7 PIC16 C更多的数据类型 48
2.7.1 数组 48
2.7.2 间接寻址操作符 49
2.7.3 枚举类型 50
2.8 PIC16 C编译器伪指令 51
2.8.1 程序伪指令 51
2.8.2 头文件 51
2.9 PIC16 C汇编子程序 56
2.9.1 程序编译 57
2.9.2 汇编程序块 57
2.9.3 PIC汇编语言 60
练习 61
作业 63
第3章 C外围接口编程 64
3.1 PIC16 C模拟输入 64
3.1.1 模拟信号设置 64
3.1.2 电压测量 65
3.2 PIC16 C中断 67
3.2.1 C中断 67
3.2.2 中断举例 68
3.2.3 中断语句 69
3.3 PIC16 C硬件定时器 70
3.3.1 计数器/定时器操作 70
3.3.2 PWM模式 70
3.33 比较模式 71
3.3.4 捕捉模式 72
3.4 PIC16 C URAT串行链路 73
3.5 PIC16 C SPI串行总线 74
3.6 PIC16 C I2C串行总线 77
3.7 PIC16 C并行与串行接口 78
3.7.1 并行从端口 78
3.7.2 通信链路比较 80
3.8 PIC16 C EEPROM接口 81
3.9 PIC16 C模拟输出 82
练习 85
作业 86
第4章 C语言在机械电子电路板中的应用 88
4.1 PICDEM机械电子板概述 88
4.1.1 PICDEM硬件 88
4.1.2 电机驱动 91
4.1.3 测试程序 92
4.1.4 调试 93
4.2 PICDEM液晶显示器 94
4.2.1 LCD连接 94
4.2.2 LCD测试程序 96
4.2.3 BCD计数程序 98
4.3 PICDEM直流电机测试程序 98
4.3.1 基本控制 99
4.3.2 转数计数器 99
4.4 PICDEM步进电机控制 101
4.4.1 结构 101
4.4.2 步进电机的测试 102
4.4.3 方向控制 103
4.5 PICDEM模拟传感器 104
4.5.1 光传感器 105
4.5.2 温度测量 106
4.6 PICDEM温度控制器 107
4.6.1 规格 108
4.6.2 I/O分配 108
4.6.3 实现 108
4.7 PICDEM板仿真 110
4.7.1 电路描述 112
4.7.2 演示应用 113
练习 113
作业 114
第5章 PIC16 C应用与系统 116
5.1 PIC16 C应用设计 116
5.1.1 硬件设计 116
5.1.2 软件设计 116
5.1.3 应用调试和测试 117
5.2 PIC16 C温度控制器 118
5.2.1 系统操作 118
5.2.2 软件设计和实现 119
5.3 PIC16 C数据记录系统 120
5.3.1 BASE板 120
5.3.2 程序纲要 122
5.4 PIC16 C操作系统 123
5.4.1 轮询I/O口 123
5.4.2 中断 123
5.4.3 PC操作系统 124
5.4.4 实时操作系统 125
5.5 PIC16 C系统设计 126
5.5.1 硬件选择 126
5.5.2 微控制器 127
5.5.3 硬件设计 128
5.5.4 软件设计 129
练习 129
作业 130
附录A 使用ISIS Schematic Capture进行硬件设计 131
附录B 使用CCS C进行软件设计 134
附录C 使用Proteus VSM进行系统测试 141
附录D C编译器比较 145
附录E CCS C编程语法小结 153
附录F CCS C编程函数参考 156
答案 163