书籍详情
PIC单片机C程序设计与实践
作者:(日)后闲哲也
出版社:北京航空航天大学出版社
出版时间:2008-01-01
ISBN:9787810779197
定价:¥39.00
购买这本书可以去
内容简介
本书是一本PIC系列单片机C语言开发应用的入门级指导丛书,以美国Microchip(微芯)公司的中级产品PIC16F87X单片机为例,选用CSS公司的C语言编译器,重点介绍集成开发环境、C语言的开发应用基础和C语言的开发应用实例等内容,并给出了相应的应用程序。使用PIC16F系列单片机的C语言初级和中高级用户可以在本书中了解到C语言编译器的特性和细节;在应用中遇到的一些问题,也可以从书中找到解决的办法。本书内容通俗易懂,实用性强,可供学习PIC单片机C语言开发的有关技术人员和爱好者以及高等院校相关专业的师生阅读参考。
作者简介
暂缺《PIC单片机C程序设计与实践》作者简介
目录
第1章 什么是C语言1
1.1 什么是程序1
1.1.1 计算机的结构1
1.1.2 程序和命令2
1.2 二进制和十六进制3
1.3 C语言4
1.3.1 从汇编语言谈起5
1.3.2 C语言的历史5
1.3.3 C语言特点5
第2章 PIC单片机的基本概念7
2.1 什么是PIC7
2.1.1 PIC概要8
2.1.2 PIC单片机的结构概要10
2.1.3 PIC单片机的存储器结构11
2.1.4 指令结构13
2.1.5 特殊功能寄存器15
2.2 程序开发环境23
2.2.1 基本环境23
2.2.2 MPLAB23
2.2.3 PIC编程器24
第3章 PIC用C语言编译器25
3.1 PIC的C语言编译器25
3.2 CSS公司的C编译器26
3.2.1 CSS公司的C编译器结构27
3.2.2 CCS公司的C编译器概要28
3.2.3 限制事项29
3.3 PCM的安装30
3.3.1 PCM的安装30
3.3.2 与MPLAB的集成33
3.4 PCM的使用方法34
3.4.1 C语言程序设计流程35
3.4.2 建立项目35
3.4.3 建立源文件39
3.4.4 编译40
3.5 调试方法43
3.5.1 在MPLAB环境下的程序调试43
3.5.2 根据标准输入/输出函数进行调试44
3.6 对PIC单片机的写入操作46
3.6.1 PIC START Plus的情形46
3.6.2 PIC编程器Ver3的情形48
第4章 练习用的硬件50
4.1 练习用的PIC通用单元A50
4.1.1 概要50
4.1.2 功能及电路51
4.1.3 接口描述51
4.1.4 使用的元件53
4.1.5 安装方法53
4.2 练习用的PIC通用单元B54
4.2.1 概要54
4.2.2 功能及电路55
4.2.3 接口描述57
4.2.4 液晶显示器的连接57
4.2.5 所用元件58
4.2.6 安装60
第5章 什么是C语言61
5.1 C程序的基本结构61
5.1.1 程序的基本结构61
5.1.2 函数、表达式和数据62
5.2 程序的格式和记述64
5.2.1 格式的规定64
5.2.2 编程风格67
5.3 main函数71
第6章 首先上手试一试74
6.1 设备指定与配置74
6.1.1 设备指定和#include75
6.1.2 配置与#fuses78
6.2 输入/输出端口的控制81
6.2.1 PIC的输入/输出端口81
6.2.2 C语言编程82
6.3 标准输入/输出函数的使用方法88
6.3.1 掌握RS232C88
6.3.2 printf函数90
第7章 预处理器94
7.1 预处理器分类和一览94
7.2 符号定义和文件包含97
7.2.1 符号定义的预处理器97
7.2.2 文件包含98
7.3 条件编译99
7.3.1 #if语句的用法99
7.3.2 #ifdef语句的使用101
7.3.3 #error语句的使用方法101
7.4 设备特有的控制用预处理器102
7.4.1 页面和程序配置102
7.4.2 #inline和#separate105
7.4.3 页面和变量的配置107
第8章 程序结构和流程控制函数108
8.1 3种基本结构108
8.2 if语句的使用方法111
8.2.1 if语句的格式111
8.2.2 if语句的嵌套113
8.2.3 条件的表述方法115
8.2.4 复合条件的表述方法115
8.3 while语句和do while语句116
8.3.1 while语句117
8.3.2 do while语句118
8.4 for语句的使用方法119
8.5 switch语句的使用方法122
8.6 break语句和continue语句125
8.6.1 break语句126
8.6.2 continue语句127
第9章 数据类型和运算符131
9.1 数据类型的种类和格式131
9.1.1 数值常量的格式131
9.1.2 变量和数据类型132
9.1.3 变量的声明格式134 9.1.4 文字编码和char型135
9.1.5字符型数据的书写方式和文字排列138
9.2 运算符号的使用方法139
9.2.1 算术运算符和自动类型变换140
9.2.2 关系运算符和逻辑运算符140
9.2.3 增量和减量运算符141
9.2.4 位运算符和移位运算符142
9.2.5 其他运算符143
9.2.6 运算符的优先级145
第10章 模块化和函数148
10.1 程序的模块化148
10.1.1 结构化程序设计方法148
10.1.2 什么是好的程序149
10.2 函数制作方法150
10.2.1 函数的基本书写方式150
10.2.2 引数和返回值151
10.2.3 函数的原形说明152
10.3 变量的记忆类别和有效范围154
10.3.1 变量的性质和有效范围154
10.3.2 局部变量和全局变量155
10.3.3 实际的例子156
第11章 标准函数和标准输入/输出函数159
11.1 标准函数159
11.1.1 标准函数表159
11.1.2 CCS公司的独自函数159
11.2 标准输入/输出函数165
11.2.1 标准输入/输出函数一览表165
11.2.2 putc函数和getc函数167
11.2.3 printf函数的扩展170
11.2.4 puts函数和gets函数171
第12章 数组和指针173
12.1 什么是数组173
12.1.1 数组的格式173
12.1.2 数组的使用方法175
12.2 字符串的处理177
12.3 指针179
12.3.1 指针变量180
12.3.2 数组和指针182
12.3.3 函数的引数和指针184
12.3.4 函数的引数和数组185
第13章 结构体和联合体191
13.1 结构体191
13.1.1 结构体的定义和说明191
13.1.2 对结构体各成员的访问192
13.1.3 位字段193
13.1.4 结构数组194
13.1.5 结构体指针195
13.2 联合体198
13.3 枚举类型200
第14章 内部函数的使用方法202
14.1 延时函数202
14.1.1 延时函数概要202
14.1.2 使用方法203
14.2 输入/输出引脚的控制205
14.2.1 输入/输出模式的设定205
14.2.2 输入/输出引脚控制用内部函数209
14.3 动态显示控制211
14.3.1 程序段发光二极管的概要211
14.3.2 显示控制方法212
14.3.3 应用实例213
14.4 液晶显示器的控制214
14.4.1 液晶显示器的概要215
14.4.2 接口规格217
14.4.3 初始设定步骤219
14.4.4 液晶显示器控制程序库220
14.4.5 程序库使用实例222
14.5 中断处理224
14.5.1 中断概要224
14.5.2 引起中断处理因素225
14.5.3 中断用预处理器227
14.5.4 中断处理的程序设计228
14.5.5 实例1230
14.5.6 寄存器的让路等待和回复原状232
14.5.7 实例2233
14.5.8 实例3235
14.6 定时器0模块的使用方法236
14.6.1 定时器0的概要236
14.6.2 定时器0用的内部函数238
14.6.3 时间间隔测量器的使用方法239
14.6.4 定数器应用实例241
14.7 定时器1模块的使用方法243
14.7.1 定时器1简介243
14.7.2 定时器1的内部函数245
14.7.3 基于中断的时间间隔测量器的实例246
14.8 A/D转换器的使用方法249
14.8.1 A/D转换器简介249
14.8.2 A/D转换的内部函数252
14.8.3 电压测量实例254
14.8.4 2通道测量显示实例256
14.9 USART模块的使用方法258
14.9.1 USART简介258
14.9.2 USART用内部函数260
14.9.3 USART应用举例(接收中断实例)263
14.10 MSSP模块的使用方法(SPI通信)266
14.10.1 SPI通信简介266
14.10.2 SPI用内部函数269
14.10.3 SPI通信应用举例270
14.11 MSSP的使用方法 (I2C通信)275
14.11.1 I2C通信简介275
14.11.2 I2C通信用内部函数280
14.11.3 I2C通信实例1(外设EEPROM)282
14.11.4 I2C通信实例2(PIC间通信)288
14.12 CCP模块的使用方法293
14.12.1 捕获(Capture)模式293
14.12.2 比较模式294
14.12.3 PWM模式295
14.12.4 CCP模块用内部函数297
14.12.5 捕捉模式实例298
14.12.6 比较模式应用实例300
14.12.7 PWM应用实例302
14.13 内置EEPROM的使用方法304
14.13.1 内置EEPROM简介304
14.13.2 内置EEPROM用内部函数306
14.13.3 应用实例306
14.14 睡眠模式和唤醒功能310
14.14.1 睡眠模式310
14.14.2 唤醒功能311
14.14.3 唤醒因素的识别312
14.14.4 应用实例313
第15章 PIC单片机的实时OS317
15.1 PICROS简介317
15.1.1 特点和功能317
15.1.2 PICROS的构成318
15.1.3 任务和状态转移319
15.1.4 服务函数321
15.2 任务的制作方法322
15.2.1 任务构成实例1322
15.2.2 任务构成实例2323
15.2.3 任务构成实例3324
15.2.4 任务构成实例4325
15.2.5 任务构成实例5326
15.3 PICROS主体326
15.3.1 全体构成327
15.3.2 TCB的构成328
15.3.3 任务调度程序的动作329
15.3.4 服务函数的动作330
15.3.5 定时器0的中断处理动作331
15.4 PICROS的配置331
15.4.1 配置文件(usrconf.h)332
15.4.2 任务分配表(tdt.h)334
15.4.3 任务链接文件(tasklink.h)335
15.4.4 用户初始化函数(usrini.c)335
15.4.5 MPLAB项目的制作方法336
15.5 实际应用举例337
15.5.1 各任务的程序338
15.5.2 中断处理函数342
15.5.3 用户初始化函数343
15.5.4 配置用的相关文件344
15.5.5 生成项目346
15.6 调试工具348
15.6.1 调试工具的功能348
15.6.2 使用方法349
1.1 什么是程序1
1.1.1 计算机的结构1
1.1.2 程序和命令2
1.2 二进制和十六进制3
1.3 C语言4
1.3.1 从汇编语言谈起5
1.3.2 C语言的历史5
1.3.3 C语言特点5
第2章 PIC单片机的基本概念7
2.1 什么是PIC7
2.1.1 PIC概要8
2.1.2 PIC单片机的结构概要10
2.1.3 PIC单片机的存储器结构11
2.1.4 指令结构13
2.1.5 特殊功能寄存器15
2.2 程序开发环境23
2.2.1 基本环境23
2.2.2 MPLAB23
2.2.3 PIC编程器24
第3章 PIC用C语言编译器25
3.1 PIC的C语言编译器25
3.2 CSS公司的C编译器26
3.2.1 CSS公司的C编译器结构27
3.2.2 CCS公司的C编译器概要28
3.2.3 限制事项29
3.3 PCM的安装30
3.3.1 PCM的安装30
3.3.2 与MPLAB的集成33
3.4 PCM的使用方法34
3.4.1 C语言程序设计流程35
3.4.2 建立项目35
3.4.3 建立源文件39
3.4.4 编译40
3.5 调试方法43
3.5.1 在MPLAB环境下的程序调试43
3.5.2 根据标准输入/输出函数进行调试44
3.6 对PIC单片机的写入操作46
3.6.1 PIC START Plus的情形46
3.6.2 PIC编程器Ver3的情形48
第4章 练习用的硬件50
4.1 练习用的PIC通用单元A50
4.1.1 概要50
4.1.2 功能及电路51
4.1.3 接口描述51
4.1.4 使用的元件53
4.1.5 安装方法53
4.2 练习用的PIC通用单元B54
4.2.1 概要54
4.2.2 功能及电路55
4.2.3 接口描述57
4.2.4 液晶显示器的连接57
4.2.5 所用元件58
4.2.6 安装60
第5章 什么是C语言61
5.1 C程序的基本结构61
5.1.1 程序的基本结构61
5.1.2 函数、表达式和数据62
5.2 程序的格式和记述64
5.2.1 格式的规定64
5.2.2 编程风格67
5.3 main函数71
第6章 首先上手试一试74
6.1 设备指定与配置74
6.1.1 设备指定和#include75
6.1.2 配置与#fuses78
6.2 输入/输出端口的控制81
6.2.1 PIC的输入/输出端口81
6.2.2 C语言编程82
6.3 标准输入/输出函数的使用方法88
6.3.1 掌握RS232C88
6.3.2 printf函数90
第7章 预处理器94
7.1 预处理器分类和一览94
7.2 符号定义和文件包含97
7.2.1 符号定义的预处理器97
7.2.2 文件包含98
7.3 条件编译99
7.3.1 #if语句的用法99
7.3.2 #ifdef语句的使用101
7.3.3 #error语句的使用方法101
7.4 设备特有的控制用预处理器102
7.4.1 页面和程序配置102
7.4.2 #inline和#separate105
7.4.3 页面和变量的配置107
第8章 程序结构和流程控制函数108
8.1 3种基本结构108
8.2 if语句的使用方法111
8.2.1 if语句的格式111
8.2.2 if语句的嵌套113
8.2.3 条件的表述方法115
8.2.4 复合条件的表述方法115
8.3 while语句和do while语句116
8.3.1 while语句117
8.3.2 do while语句118
8.4 for语句的使用方法119
8.5 switch语句的使用方法122
8.6 break语句和continue语句125
8.6.1 break语句126
8.6.2 continue语句127
第9章 数据类型和运算符131
9.1 数据类型的种类和格式131
9.1.1 数值常量的格式131
9.1.2 变量和数据类型132
9.1.3 变量的声明格式134 9.1.4 文字编码和char型135
9.1.5字符型数据的书写方式和文字排列138
9.2 运算符号的使用方法139
9.2.1 算术运算符和自动类型变换140
9.2.2 关系运算符和逻辑运算符140
9.2.3 增量和减量运算符141
9.2.4 位运算符和移位运算符142
9.2.5 其他运算符143
9.2.6 运算符的优先级145
第10章 模块化和函数148
10.1 程序的模块化148
10.1.1 结构化程序设计方法148
10.1.2 什么是好的程序149
10.2 函数制作方法150
10.2.1 函数的基本书写方式150
10.2.2 引数和返回值151
10.2.3 函数的原形说明152
10.3 变量的记忆类别和有效范围154
10.3.1 变量的性质和有效范围154
10.3.2 局部变量和全局变量155
10.3.3 实际的例子156
第11章 标准函数和标准输入/输出函数159
11.1 标准函数159
11.1.1 标准函数表159
11.1.2 CCS公司的独自函数159
11.2 标准输入/输出函数165
11.2.1 标准输入/输出函数一览表165
11.2.2 putc函数和getc函数167
11.2.3 printf函数的扩展170
11.2.4 puts函数和gets函数171
第12章 数组和指针173
12.1 什么是数组173
12.1.1 数组的格式173
12.1.2 数组的使用方法175
12.2 字符串的处理177
12.3 指针179
12.3.1 指针变量180
12.3.2 数组和指针182
12.3.3 函数的引数和指针184
12.3.4 函数的引数和数组185
第13章 结构体和联合体191
13.1 结构体191
13.1.1 结构体的定义和说明191
13.1.2 对结构体各成员的访问192
13.1.3 位字段193
13.1.4 结构数组194
13.1.5 结构体指针195
13.2 联合体198
13.3 枚举类型200
第14章 内部函数的使用方法202
14.1 延时函数202
14.1.1 延时函数概要202
14.1.2 使用方法203
14.2 输入/输出引脚的控制205
14.2.1 输入/输出模式的设定205
14.2.2 输入/输出引脚控制用内部函数209
14.3 动态显示控制211
14.3.1 程序段发光二极管的概要211
14.3.2 显示控制方法212
14.3.3 应用实例213
14.4 液晶显示器的控制214
14.4.1 液晶显示器的概要215
14.4.2 接口规格217
14.4.3 初始设定步骤219
14.4.4 液晶显示器控制程序库220
14.4.5 程序库使用实例222
14.5 中断处理224
14.5.1 中断概要224
14.5.2 引起中断处理因素225
14.5.3 中断用预处理器227
14.5.4 中断处理的程序设计228
14.5.5 实例1230
14.5.6 寄存器的让路等待和回复原状232
14.5.7 实例2233
14.5.8 实例3235
14.6 定时器0模块的使用方法236
14.6.1 定时器0的概要236
14.6.2 定时器0用的内部函数238
14.6.3 时间间隔测量器的使用方法239
14.6.4 定数器应用实例241
14.7 定时器1模块的使用方法243
14.7.1 定时器1简介243
14.7.2 定时器1的内部函数245
14.7.3 基于中断的时间间隔测量器的实例246
14.8 A/D转换器的使用方法249
14.8.1 A/D转换器简介249
14.8.2 A/D转换的内部函数252
14.8.3 电压测量实例254
14.8.4 2通道测量显示实例256
14.9 USART模块的使用方法258
14.9.1 USART简介258
14.9.2 USART用内部函数260
14.9.3 USART应用举例(接收中断实例)263
14.10 MSSP模块的使用方法(SPI通信)266
14.10.1 SPI通信简介266
14.10.2 SPI用内部函数269
14.10.3 SPI通信应用举例270
14.11 MSSP的使用方法 (I2C通信)275
14.11.1 I2C通信简介275
14.11.2 I2C通信用内部函数280
14.11.3 I2C通信实例1(外设EEPROM)282
14.11.4 I2C通信实例2(PIC间通信)288
14.12 CCP模块的使用方法293
14.12.1 捕获(Capture)模式293
14.12.2 比较模式294
14.12.3 PWM模式295
14.12.4 CCP模块用内部函数297
14.12.5 捕捉模式实例298
14.12.6 比较模式应用实例300
14.12.7 PWM应用实例302
14.13 内置EEPROM的使用方法304
14.13.1 内置EEPROM简介304
14.13.2 内置EEPROM用内部函数306
14.13.3 应用实例306
14.14 睡眠模式和唤醒功能310
14.14.1 睡眠模式310
14.14.2 唤醒功能311
14.14.3 唤醒因素的识别312
14.14.4 应用实例313
第15章 PIC单片机的实时OS317
15.1 PICROS简介317
15.1.1 特点和功能317
15.1.2 PICROS的构成318
15.1.3 任务和状态转移319
15.1.4 服务函数321
15.2 任务的制作方法322
15.2.1 任务构成实例1322
15.2.2 任务构成实例2323
15.2.3 任务构成实例3324
15.2.4 任务构成实例4325
15.2.5 任务构成实例5326
15.3 PICROS主体326
15.3.1 全体构成327
15.3.2 TCB的构成328
15.3.3 任务调度程序的动作329
15.3.4 服务函数的动作330
15.3.5 定时器0的中断处理动作331
15.4 PICROS的配置331
15.4.1 配置文件(usrconf.h)332
15.4.2 任务分配表(tdt.h)334
15.4.3 任务链接文件(tasklink.h)335
15.4.4 用户初始化函数(usrini.c)335
15.4.5 MPLAB项目的制作方法336
15.5 实际应用举例337
15.5.1 各任务的程序338
15.5.2 中断处理函数342
15.5.3 用户初始化函数343
15.5.4 配置用的相关文件344
15.5.5 生成项目346
15.6 调试工具348
15.6.1 调试工具的功能348
15.6.2 使用方法349
猜您喜欢