PIC微控制器的应用越来越广泛,从车库摇控器到iPhone手机,几乎所有电子设备中都有它的身影。因此,电子工程师都需要学会如何设计、开发和制造它们。
C语言具有处理高级程序和多任务的能力,已经成为最受欢迎的微控制器编程语言。本书提供了在PIC16微控制器上用C语言进行编程的全程指南。此外,还讨论了工程师必知必会的实时操作系统,并着重介绍了Microchip MPLAB IDE、CCS PCM C编译器、Proteus VSM等常用软件。书中包含大量的源代码、电路图和硬件方框图,所有应用实例都选择了Microchip PICDEM机械电子电路板。
本书不需要读者具备C语言的知识,是新入行的工程师、学生和爱好者的入门之选。
本书是用C语言对PIC16微控制器进行编程的实用指导。书中结合实例简明扼要地描述了如何基于PIC进行C语言编程,并着重介绍了Microchip MPLAB IDE、CCS PCM C编译器、Proteus VSM等常用软件。
本书适合刚从事微处理器应用设计的技术人员、大学生以及无PIC微控制器编程经验的爱好者使用。
第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.3.3 比较模式 71
3.3.4 捕捉模式 72
3.4 PIC16 C URAT串行链路 73
3.5 PIC16 C SPI串行总线 74
3.6 PIC16 C I2 C串行总线 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