描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787512423060
内容简介
本书以PIC16系列单片机为例,详细介绍了PIC16系列单片机的内部结构、C语言的基础知识、C编译器与MPLABX软件的使用、程序的编写与调试方法以及其他相关知识。
本书以硬件电路板及Proteus仿真软件为教学工具,便于读者在计算机上进行仿真练习,以提高学习效果。本书配套资料以动画形式记录了各个实验的过程及现象,同时提供了作者所设计的
仿真电路文件、书中所有例子的源程序及工程文件等。
本书可作为中等职业学校、高等职业学校、电视大学的教学用书,也可作为单片机爱好者自学PIC单片机的教材。
本书以硬件电路板及Proteus仿真软件为教学工具,便于读者在计算机上进行仿真练习,以提高学习效果。本书配套资料以动画形式记录了各个实验的过程及现象,同时提供了作者所设计的
仿真电路文件、书中所有例子的源程序及工程文件等。
本书可作为中等职业学校、高等职业学校、电视大学的教学用书,也可作为单片机爱好者自学PIC单片机的教材。
目 录
第1章 概 述………………………………………………………………………… 1
1.1 PIC单片机简介……………………………………………………………… 1
1.2 PIC16F887单片机的特点…………………………………………………… 2
1.2.1 PIC16F88x系列单片机的引脚………………………………………… 4
1.2.2 PIC16F88x的振荡器、复位、看门狗及器件配置……………………… 9
1.3 C语言简介…………………………………………………………………… 15
1.3.1 C 语言的产生与发展…………………………………………………… 15
1.3.2 C语言的特点…………………………………………………………… 15
1.4 C语言入门知识……………………………………………………………… 17
1.4.1 简单的C程序介绍…………………………………………………… 18
1.4.2 C语言编程的特点……………………………………………………… 22
第2章 PIC单片机开发环境的建立……………………………………………… 24
2.1 软件开发环境的建立………………………………………………………… 24
2.1.1 MPLABX软件的安装与使用………………………………………… 24
2.1.2 编译软件的安装………………………………………………………… 26
2.1.3 Proteus软件简介……………………………………………………… 28
2.2 用PIC单片机控制一个LED ……………………………………………… 29
2.2.1 配置PIC16F887芯片………………………………………………… 30
2.2.2 任务分析………………………………………………………………… 32
2.3 Proteus仿真的实现………………………………………………………… 39
2.3.1 电路图的设置…………………………………………………………… 39
2.3.2 电路图的绘制…………………………………………………………… 43
2.4 硬件实验环境的建立………………………………………………………… 46
2.4.1 实验板简介……………………………………………………………… 47
2.4.2 硬件结构………………………………………………………………… 48
第3章 数据类型、运算符与表达式………………………………………………… 58
3.1 数据类型概述………………………………………………………………… 58
3.2 常量与变量…………………………………………………………………… 59
3.2.1 常 量…………………………………………………………………… 59
3.2.2 变 量…………………………………………………………………… 61
3.3 整型数据……………………………………………………………………… 63
3.3.1 整型常量………………………………………………………………… 63
3.3.2 整型变量………………………………………………………………… 63
3.4 字符型数据…………………………………………………………………… 68
3.4.1 字符常量………………………………………………………………… 68
3.4.2 字符变量………………………………………………………………… 69
3.5 数的溢出……………………………………………………………………… 70
3.6 实型数据……………………………………………………………………… 71
3.6.1 实型常量………………………………………………………………… 71
3.6.2 实型变量………………………………………………………………… 72
3.7 PIC16F887单片机的数据存储……………………………………………… 77
3.7.1 程序存储器……………………………………………………………… 77
3.7.2 数据存储器……………………………………………………………… 80
3.8 变量赋初值…………………………………………………………………… 82
3.9 运算符和表达式……………………………………………………………… 82
3.9.1 C运算符简介…………………………………………………………… 82
3.9.2 算术运算符及其表达式………………………………………………… 83
3.9.3 各类数值型数据间的混合运算………………………………………… 84
3.9.4 赋值运算符及其表达式………………………………………………… 85
3.9.5 逗号运算符及其表达式………………………………………………… 89
3.9.6 位操作运算符及其表达式……………………………………………… 89
3.9.7 自增减运算符、复合运算符及其表达式……………………………… 91
第4章 C流程与控制……………………………………………………………… 92
4.1 顺序结构程序………………………………………………………………… 92
4.2 选择结构程序………………………………………………………………… 92
4.2.1 引 入…………………………………………………………………… 93
4.2.2 关系运算符和关系表达式……………………………………………… 95
4.2.3 逻辑运算符和逻辑表达式……………………………………………… 96
4.2.4 选择语句if …………………………………………………………… 97
4.2.5 if语句的嵌套………………………………………………………… 101
4.2.6 条件运算符…………………………………………………………… 102
4.2.7 switch/case语句……………………………………………………… 103
4.3 循环结构程序……………………………………………………………… 106
4.3.1 循环结构程序简介…………………………………………………… 107
4.3.2 while循环语句……………………………………………………… 108
4.3.3 do-while循环语句…………………………………………………… 109
4.3.4 for循环语句………………………………………………………… 112
4.3.5 break语句…………………………………………………………… 113
4.3.6 continue语句………………………………………………………… 114
4.4 使用硬件调试程序………………………………………………………… 116
第5章 C构造数据类型…………………………………………………………… 119
5.1 数 组……………………………………………………………………… 119
5.1.1 引 入………………………………………………………………… 119
5.1.2 一维数组……………………………………………………………… 121
5.1.3 二维数组……………………………………………………………… 122
5.1.4 字符型数组…………………………………………………………… 123
5.1.5 数组与存储空间……………………………………………………… 125
5.2 指 针……………………………………………………………………… 127
5.2.1 指针的基本概念……………………………………………………… 127
5.2.2 定义一个指针变量…………………………………………………… 128
5.2.3 指针变量的引用……………………………………………………… 131
5.2.4 HI-TECHPICC的指针类型………………………………………… 134
5.3 结 构……………………………………………………………………… 136
5.3.1 结构的定义和引用…………………………………………………… 136
5.3.2 结构数组……………………………………………………………… 140
5.4 共用体……………………………………………………………………… 140
5.5 枚 举……………………………………………………………………… 143
5.5.1 枚举的定义和说明…………………………………………………… 144
5.5.2 枚举变量的取值……………………………………………………… 144
5.6 用typedef定义类型……………………………………………………… 147
第6章 PIC单片机内部资源编程………………………………………………… 149
6.1 中 断……………………………………………………………………… 149
6.1.1 中断源………………………………………………………………… 149
6.1.2 PIC16F887的中断逻辑……………………………………………… 150
6.1.3 外部中断实例………………………………………………………… 152
6.2 定时/计数器……………………………………………………………… 153
6.2.1 定时/计数的基本概念……………………………………………… 153
6.2.2 定时/计数器TIMER0 ……………………………………………… 155
6.2.3 定时/计数器TIMER1 ……………………………………………… 161
6.2.4 定时/计数器TIMER2 ……………………………………………… 168
6.3 通用串行接口……………………………………………………………… 171
6.3.1 EUSART模块关键寄存器介绍……………………………………… 172
6.3.2 EUSART波特率设定………………………………………………… 176
6.3.3 EUSART工作过程分析……………………………………………… 177
6.3.4 EUSART实例分析…………………………………………………… 180
6.4 CCP模块…………………………………………………………………… 183
6.4.1 与CCP模块相关的控制寄存器……………………………………… 184
6.4.2 CCP模块的输入捕捉模式…………………………………………… 186
6.4.3 CCP模块的比较输出模式…………………………………………… 190
6.4.4 CCP模块的PWM 模式……………………………………………… 192
6.5 模/数转换模块及使用…………………………………………………… 196
6.5.1 ADC模块概述………………………………………………………… 196
6.5.2 ADC模块相关控制寄存器…………………………………………… 197
6.5.3 模拟通道输入口引脚的设置………………………………………… 200
6.5.4 A/D转换实例分析…………………………………………………… 200
第7章 函 数……………………………………………………………………… 205
7.1 概 述……………………………………………………………………… 205
7.2 函数的定义………………………………………………………………… 207
7.3 函数参数和函数的值……………………………………………………… 209
7.4 函数调用…………………………………………………………………… 213
7.5 数组作为函数参数………………………………………………………… 220
7.6 局部变量和全局变量……………………………………………………… 221
7.6.1 局部变量……………………………………………………………… 221
7.6.2 全局变量……………………………………………………………… 222
7.7 变量的存储类别…………………………………………………………… 223
第8章 单片机接口的C语言编程……………………………………………… 228
8.1 LED数码管………………………………………………………………… 228
8.1.1 静态显示接口………………………………………………………… 229
8.1.2 动态显示接口………………………………………………………… 233
8.2 键盘接口及应用…………………………………………………………… 237
8.2.1 键盘工作原理………………………………………………………… 237
8.2.2 键盘与单片机的连接………………………………………………… 238
8.3 I2C总线接口……………………………………………………………… 243
8.3.1 I2C总线接口概述…………………………………………………… 243
8.3.2 24系列EEPROM 的结构及特性…………………………………… 244
8.3.3 24系列EEPROM 的使用…………………………………………… 246
8.4 93Cxx系列EEPROM 的使用…………………………………………… 248
8.4.1 93Cxx系列EEPROM 的结构及特性……………………………… 248
8.4.2 93C46芯片的使用…………………………………………………… 249
8.5 DS1302实时时钟及应用…………………………………………………… 253
8.5.1 DS1302的结构及特性………………………………………………… 253
8.5.2 DS1302芯片的使用…………………………………………………… 254
8.6 LED点阵显示屏及其应用………………………………………………… 256
8.6.1 认识LED点阵显示屏及字模………………………………………… 256
8.6.2 用LED点阵屏显示汉字……………………………………………… 263
8.7 液晶显示屏及其应用……………………………………………………… 271
8.7.1 使用字符型液晶显示屏制作小小迎宾屏…………………………… 272
8.7.2 用点阵型液晶显示屏显示汉字和图像……………………………… 279
第9章 应用设计举例……………………………………………………………… 289
9.1 秒 表……………………………………………………………………… 289
9.2 可预置倒计时钟…………………………………………………………… 293
9.3 使用DS1302芯片制作的时钟…………………………………………… 299
9.4 AT24C02的综合应用……………………………………………………… 305
9.5 93C46的综合应用………………………………………………………… 311
9.6 交通灯控制………………………………………………………………… 321
9.7 模块化编程………………………………………………………………… 330
参考文献……………………………………………………………………………… 341
1.1 PIC单片机简介……………………………………………………………… 1
1.2 PIC16F887单片机的特点…………………………………………………… 2
1.2.1 PIC16F88x系列单片机的引脚………………………………………… 4
1.2.2 PIC16F88x的振荡器、复位、看门狗及器件配置……………………… 9
1.3 C语言简介…………………………………………………………………… 15
1.3.1 C 语言的产生与发展…………………………………………………… 15
1.3.2 C语言的特点…………………………………………………………… 15
1.4 C语言入门知识……………………………………………………………… 17
1.4.1 简单的C程序介绍…………………………………………………… 18
1.4.2 C语言编程的特点……………………………………………………… 22
第2章 PIC单片机开发环境的建立……………………………………………… 24
2.1 软件开发环境的建立………………………………………………………… 24
2.1.1 MPLABX软件的安装与使用………………………………………… 24
2.1.2 编译软件的安装………………………………………………………… 26
2.1.3 Proteus软件简介……………………………………………………… 28
2.2 用PIC单片机控制一个LED ……………………………………………… 29
2.2.1 配置PIC16F887芯片………………………………………………… 30
2.2.2 任务分析………………………………………………………………… 32
2.3 Proteus仿真的实现………………………………………………………… 39
2.3.1 电路图的设置…………………………………………………………… 39
2.3.2 电路图的绘制…………………………………………………………… 43
2.4 硬件实验环境的建立………………………………………………………… 46
2.4.1 实验板简介……………………………………………………………… 47
2.4.2 硬件结构………………………………………………………………… 48
第3章 数据类型、运算符与表达式………………………………………………… 58
3.1 数据类型概述………………………………………………………………… 58
3.2 常量与变量…………………………………………………………………… 59
3.2.1 常 量…………………………………………………………………… 59
3.2.2 变 量…………………………………………………………………… 61
3.3 整型数据……………………………………………………………………… 63
3.3.1 整型常量………………………………………………………………… 63
3.3.2 整型变量………………………………………………………………… 63
3.4 字符型数据…………………………………………………………………… 68
3.4.1 字符常量………………………………………………………………… 68
3.4.2 字符变量………………………………………………………………… 69
3.5 数的溢出……………………………………………………………………… 70
3.6 实型数据……………………………………………………………………… 71
3.6.1 实型常量………………………………………………………………… 71
3.6.2 实型变量………………………………………………………………… 72
3.7 PIC16F887单片机的数据存储……………………………………………… 77
3.7.1 程序存储器……………………………………………………………… 77
3.7.2 数据存储器……………………………………………………………… 80
3.8 变量赋初值…………………………………………………………………… 82
3.9 运算符和表达式……………………………………………………………… 82
3.9.1 C运算符简介…………………………………………………………… 82
3.9.2 算术运算符及其表达式………………………………………………… 83
3.9.3 各类数值型数据间的混合运算………………………………………… 84
3.9.4 赋值运算符及其表达式………………………………………………… 85
3.9.5 逗号运算符及其表达式………………………………………………… 89
3.9.6 位操作运算符及其表达式……………………………………………… 89
3.9.7 自增减运算符、复合运算符及其表达式……………………………… 91
第4章 C流程与控制……………………………………………………………… 92
4.1 顺序结构程序………………………………………………………………… 92
4.2 选择结构程序………………………………………………………………… 92
4.2.1 引 入…………………………………………………………………… 93
4.2.2 关系运算符和关系表达式……………………………………………… 95
4.2.3 逻辑运算符和逻辑表达式……………………………………………… 96
4.2.4 选择语句if …………………………………………………………… 97
4.2.5 if语句的嵌套………………………………………………………… 101
4.2.6 条件运算符…………………………………………………………… 102
4.2.7 switch/case语句……………………………………………………… 103
4.3 循环结构程序……………………………………………………………… 106
4.3.1 循环结构程序简介…………………………………………………… 107
4.3.2 while循环语句……………………………………………………… 108
4.3.3 do-while循环语句…………………………………………………… 109
4.3.4 for循环语句………………………………………………………… 112
4.3.5 break语句…………………………………………………………… 113
4.3.6 continue语句………………………………………………………… 114
4.4 使用硬件调试程序………………………………………………………… 116
第5章 C构造数据类型…………………………………………………………… 119
5.1 数 组……………………………………………………………………… 119
5.1.1 引 入………………………………………………………………… 119
5.1.2 一维数组……………………………………………………………… 121
5.1.3 二维数组……………………………………………………………… 122
5.1.4 字符型数组…………………………………………………………… 123
5.1.5 数组与存储空间……………………………………………………… 125
5.2 指 针……………………………………………………………………… 127
5.2.1 指针的基本概念……………………………………………………… 127
5.2.2 定义一个指针变量…………………………………………………… 128
5.2.3 指针变量的引用……………………………………………………… 131
5.2.4 HI-TECHPICC的指针类型………………………………………… 134
5.3 结 构……………………………………………………………………… 136
5.3.1 结构的定义和引用…………………………………………………… 136
5.3.2 结构数组……………………………………………………………… 140
5.4 共用体……………………………………………………………………… 140
5.5 枚 举……………………………………………………………………… 143
5.5.1 枚举的定义和说明…………………………………………………… 144
5.5.2 枚举变量的取值……………………………………………………… 144
5.6 用typedef定义类型……………………………………………………… 147
第6章 PIC单片机内部资源编程………………………………………………… 149
6.1 中 断……………………………………………………………………… 149
6.1.1 中断源………………………………………………………………… 149
6.1.2 PIC16F887的中断逻辑……………………………………………… 150
6.1.3 外部中断实例………………………………………………………… 152
6.2 定时/计数器……………………………………………………………… 153
6.2.1 定时/计数的基本概念……………………………………………… 153
6.2.2 定时/计数器TIMER0 ……………………………………………… 155
6.2.3 定时/计数器TIMER1 ……………………………………………… 161
6.2.4 定时/计数器TIMER2 ……………………………………………… 168
6.3 通用串行接口……………………………………………………………… 171
6.3.1 EUSART模块关键寄存器介绍……………………………………… 172
6.3.2 EUSART波特率设定………………………………………………… 176
6.3.3 EUSART工作过程分析……………………………………………… 177
6.3.4 EUSART实例分析…………………………………………………… 180
6.4 CCP模块…………………………………………………………………… 183
6.4.1 与CCP模块相关的控制寄存器……………………………………… 184
6.4.2 CCP模块的输入捕捉模式…………………………………………… 186
6.4.3 CCP模块的比较输出模式…………………………………………… 190
6.4.4 CCP模块的PWM 模式……………………………………………… 192
6.5 模/数转换模块及使用…………………………………………………… 196
6.5.1 ADC模块概述………………………………………………………… 196
6.5.2 ADC模块相关控制寄存器…………………………………………… 197
6.5.3 模拟通道输入口引脚的设置………………………………………… 200
6.5.4 A/D转换实例分析…………………………………………………… 200
第7章 函 数……………………………………………………………………… 205
7.1 概 述……………………………………………………………………… 205
7.2 函数的定义………………………………………………………………… 207
7.3 函数参数和函数的值……………………………………………………… 209
7.4 函数调用…………………………………………………………………… 213
7.5 数组作为函数参数………………………………………………………… 220
7.6 局部变量和全局变量……………………………………………………… 221
7.6.1 局部变量……………………………………………………………… 221
7.6.2 全局变量……………………………………………………………… 222
7.7 变量的存储类别…………………………………………………………… 223
第8章 单片机接口的C语言编程……………………………………………… 228
8.1 LED数码管………………………………………………………………… 228
8.1.1 静态显示接口………………………………………………………… 229
8.1.2 动态显示接口………………………………………………………… 233
8.2 键盘接口及应用…………………………………………………………… 237
8.2.1 键盘工作原理………………………………………………………… 237
8.2.2 键盘与单片机的连接………………………………………………… 238
8.3 I2C总线接口……………………………………………………………… 243
8.3.1 I2C总线接口概述…………………………………………………… 243
8.3.2 24系列EEPROM 的结构及特性…………………………………… 244
8.3.3 24系列EEPROM 的使用…………………………………………… 246
8.4 93Cxx系列EEPROM 的使用…………………………………………… 248
8.4.1 93Cxx系列EEPROM 的结构及特性……………………………… 248
8.4.2 93C46芯片的使用…………………………………………………… 249
8.5 DS1302实时时钟及应用…………………………………………………… 253
8.5.1 DS1302的结构及特性………………………………………………… 253
8.5.2 DS1302芯片的使用…………………………………………………… 254
8.6 LED点阵显示屏及其应用………………………………………………… 256
8.6.1 认识LED点阵显示屏及字模………………………………………… 256
8.6.2 用LED点阵屏显示汉字……………………………………………… 263
8.7 液晶显示屏及其应用……………………………………………………… 271
8.7.1 使用字符型液晶显示屏制作小小迎宾屏…………………………… 272
8.7.2 用点阵型液晶显示屏显示汉字和图像……………………………… 279
第9章 应用设计举例……………………………………………………………… 289
9.1 秒 表……………………………………………………………………… 289
9.2 可预置倒计时钟…………………………………………………………… 293
9.3 使用DS1302芯片制作的时钟…………………………………………… 299
9.4 AT24C02的综合应用……………………………………………………… 305
9.5 93C46的综合应用………………………………………………………… 311
9.6 交通灯控制………………………………………………………………… 321
9.7 模块化编程………………………………………………………………… 330
参考文献……………………………………………………………………………… 341
评论
还没有评论。