书籍详情
单片机开发从入门到实践
作者:郭学提
出版社:人民邮电出版社
出版时间:2022-04-01
ISBN:9787115573230
定价:¥59.90
购买这本书可以去
内容简介
本书通过典型、实用的操作项目讲解单片机开发工具、单片机编程基础、单片机硬件基础、知识竞赛数字抢答器、数字电子时钟、多功能数字频率计、手持GPS定位器,使读者初步建立对单片机的整体认知,然后带领读者对操作结果及出现的问题进行讨论、分析、研究,进而得出结论。这样有利于读者在“做”中“学”,渐进式地理解知识点,逐步提高自身的单片机开发能力。希望读者通过学习本书,能够根据不同型号单片机及单片机系统的开发要求,独立完成单片机系统的设计与开发。本书可作为高校电子信息技术、电子工程技术或电气自动化等相关专业及职业学校、培训机构的嵌入式开发、单片机开发课程的教材,也可供有一定编程基础的单片机学习者、对单片机开发感兴趣的爱好者自学。
作者简介
郭学提:2008年毕业于江西科技师范学院(今江西科技师范大学),毕业后一直从事嵌入式系统开发及教学相关的工作,拥有多年的嵌入式产品开发及设计经验。曾在江西省电子信息工程学校担任电子系单片机实训讲师;在深圳某职业培训机构担任嵌入式开发讲师。现就职于深圳鼎然信息科技有限公司并担任高级嵌入式开发工程师一职。先后发表论文、文章16篇。申请5项发明、实用新型、外观专利。
目录
目录
第1章 单片机开发工具 1
1.1 UltraEdit 1
1.1.1 UltraEdit用户界面 1
1.1.2 创建工程 5
1.1.3 新建文件 6
1.1.4 添加文件至工程 7
1.2 Keil 5集成开发环境 8
1.2.1 Keil 5简介 8
1.2.2 创建应用程序 10
1.2.3 调试工程 16
1.2.4 创建“Hello World”项目 17
1.3 小结 18
1.4 习题 19
第2章 单片机编程基础 20
2.1 函数概述 20
2.1.1 函数无参的一般形式 20
2.1.2 函数有参的一般形式 21
2.1.3 函数的形式参数 22
2.1.4 函数的实际参数 22
2.1.5 函数的形参和实参的特点 23
2.1.6 函数的返回值 23
2.2 函数的调用 24
2.2.1 函数调用的一般形式 24
2.2.2 函数调用需要注意的事项 25
2.2.3 函数的嵌套调用 25
2.3 数组概述 26
2.3.1 一维数组的定义 27
2.3.2 一维数组元素的引用 28
2.3.3 一维数组的初始化 28
2.3.4 二维数组的定义 29
2.3.5 二维数组元素的引用 29
2.3.6 二维数组的初始化 30
2.4 字符数组 31
2.4.1 字符数组的定义 31
2.4.2 字符数组的初始化 31
2.4.3 字符数组的引用 31
2.4.4 字符串和字符串结束标志 31
2.4.5 字符串处理函数 31
2.5 指针概述 33
2.5.1 什么是指针 33
2.5.2 指针变量的类型说明 34
2.5.3 指针变量的赋值 34
2.5.4 指针变量的运算 34
2.6 指针与数组 36
2.6.1 一维数组与指针 37
2.6.2 指针数组 38
2.7 指针与函数 38
2.7.1 函数指针 39
2.7.2 指针型函数 39
2.8 结构体 41
2.8.1 结构体的定义 41
2.8.2 结构体类型的说明 42
2.8.3 结构体变量成员的表示 43
2.8.4 结构体变量的赋值 43
2.8.5 结构体变量的初始化 44
2.9 结构体指针变量 46
2.9.1 结构体指针变量概述 46
2.9.2 结构体指针变量的定义 46
2.9.3 结构体指针变量的引用 47
2.10 联合体 47
2.10.1 联合体的定义 47
2.10.2 联合体的使用 48
2.11 枚举类型 49
2.11.1 枚举类型声明 49
2.11.2 枚举变量的定义 49
2.11.3 枚举变量应用举例 49
2.12 自定义类型 50
2.13 小结 50
2.14 习题 51
第3章 单片机硬件基础 53
3.1 单片机I/O口 53
3.1.1 P0口概述 53
3.1.2 P1口概述 53
3.1.3 P2口概述 54
3.1.4 P3口概述 54
3.2 定时器/计数器 55
3.2.1 定时器/计数器概述 55
3.2.2 定时器/计数器结构 56
3.2.3 与定时器/计数器控制相关的寄存器 56
3.2.4 工作方式0 58
3.2.5 工作方式1 59
3.2.6 工作方式2 59
3.2.7 工作方式3 59
3.3 单片机串行口 60
3.3.1 串行口概述 60
3.3.2 串行口结构 60
3.3.3 与串行口相关的寄存器 61
3.3.4 波特率 62
3.3.5 工作方式0 64
3.3.6 工作方式1 66
3.3.7 工作方式2、3 66
3.4 中断 66
3.4.1 单片机中断概述 67
3.4.2 中断结构 69
3.4.3 与中断相关的寄存器 69
3.4.4 中断的使用方法 71
3.5 综合应用 72
3.5.1 基于CD4094的四位数码管驱动电路 72
3.5.2 单片机与PC通信 74
3.6 小结 78
3.7 习题 78
第4章 知识竞赛数字抢答器 79
4.1 数码管驱动 79
4.1.1 数码管分类 79
4.1.2 数码管驱动方式 79
4.1.3 数码管字符编码 80
4.1.4 数码管静态驱动 82
4.1.5 数码管动态驱动 83
4.2 键盘接口技术 85
4.2.1 独立式开关按键 85
4.2.2 开关按键的去抖动措施 86
4.2.3 按键检测 86
4.2.4 矩阵键盘原理 89
4.2.5 矩阵键盘检测 89
4.3 抢答器硬件设计 91
4.3.1 主控系统 92
4.3.2 显示模块 93
4.3.3 声音提示电路 94
4.3.4 抢答电路 94
4.3.5 通信电路 96
4.4 抢答器软件设计 99
4.4.1 软件架构 100
4.4.2 系统初始化 100
4.4.3 硬件中断服务 101
4.4.4 外部通信接口 103
4.4.5 应用程序 104
4.4.6 相关数据结构定义 106
4.5 小结 108
4.6 习题 108
第5章 数字电子时钟 109
5.1 单总线 109
5.1.1 单总线的结构原理 109
5.1.2 DS18B20概述 110
5.2 I2C总线 114
5.2.1 I2C总线的特点 114
5.2.2 I2C总线的工作原理 114
5.2.3 I2C总线基本操作 115
5.2.4 PCF8563概述 116
5.3 LCD 121
5.3.1 LCD显示器介绍 121
5.3.2 HD44780概述 122
5.4 数字电子时钟硬件设计 126
5.4.1 主控系统 126
5.4.2 显示模块 127
5.4.3 声音提示电路 129
5.4.4 日历/时钟电路 129
5.4.5 通信电路 129
5.4.6 温湿度检测电路 130
5.5 数字电子时钟软件设计 132
5.5.1 软件架构 133
5.5.2 系统初始化 133
5.5.3 硬件中断服务 134
5.5.4 I2C总线驱动 135
5.5.5 基于单总线的温湿度接口 139
5.5.6 硬件接口 140
5.5.7 外部通信接口 144
5.5.8 应用程序 144
5.5.9 相关数据结构定义 149
5.6 小结 151
5.7 习题 151
第6章 多功能数字频率计 152
6.1 多功能数字频率计硬件设计 152
6.1.1 主控系统 152
6.1.2 设置电路 153
6.1.3 显示模块 153
6.1.4 声音提示电路 154
6.1.5 通信电路 154
6.1.6 信号处理电路 154
6.1.7 信号分频电路 156
6.2 多功能数字频率计软件设计 159
6.2.1 软件架构 159
6.2.2 系统初始化 159
6.2.3 硬件中断服务 160
6.2.4 硬件接口 161
6.2.5 外部通信和系统调试接口 163
6.2.6 应用程序 164
6.2.7 相关数据结构定义 168
6.3 小结 169
6.4 习题 169
第7章 手持GPS定位器 170
7.1 AT89S51单片机存储器扩展基础 170
7.1.1 存储器分类 170
7.1.2 AT89S51单片机扩展系统 171
7.2 SPI总线 177
7.2.1 SPI总线的结构原理 177
7.2.2 SPI总线的数据传输 177
7.2.3 SPI总线的接口 178
7.2.4 X25045概述 178
7.3 手持GPS定位器硬件设计 182
7.3.1 主控系统 183
7.3.2 显示模块 183
7.3.3 声音提示电路 184
7.3.4 通信电路 184
7.3.5 扩展SRAM电路 184
7.3.6 串行口复用电路 186
7.3.7 地址选择电路 187
7.3.8 Flash存储电路 187
7.3.9 GPS模块电路 188
7.3.10 3.3V电源电路 189
7.4 手持GPS定位器软件设计 190
7.4.1 软件架构 190
7.4.2 系统初始化 190
7.4.3 硬件中断服务 191
7.4.4 硬件接口 194
7.4.5 外部通信和系统调试接口 196
7.4.6 应用程序 196
7.4.7 相关数据结构定义 208
7.5 小结 210
7.6 习题 210
附录A ASCII字符集 211
附录B 8051单片机指令表 213
附录C Keil C51常用库函数原型 216
第1章 单片机开发工具 1
1.1 UltraEdit 1
1.1.1 UltraEdit用户界面 1
1.1.2 创建工程 5
1.1.3 新建文件 6
1.1.4 添加文件至工程 7
1.2 Keil 5集成开发环境 8
1.2.1 Keil 5简介 8
1.2.2 创建应用程序 10
1.2.3 调试工程 16
1.2.4 创建“Hello World”项目 17
1.3 小结 18
1.4 习题 19
第2章 单片机编程基础 20
2.1 函数概述 20
2.1.1 函数无参的一般形式 20
2.1.2 函数有参的一般形式 21
2.1.3 函数的形式参数 22
2.1.4 函数的实际参数 22
2.1.5 函数的形参和实参的特点 23
2.1.6 函数的返回值 23
2.2 函数的调用 24
2.2.1 函数调用的一般形式 24
2.2.2 函数调用需要注意的事项 25
2.2.3 函数的嵌套调用 25
2.3 数组概述 26
2.3.1 一维数组的定义 27
2.3.2 一维数组元素的引用 28
2.3.3 一维数组的初始化 28
2.3.4 二维数组的定义 29
2.3.5 二维数组元素的引用 29
2.3.6 二维数组的初始化 30
2.4 字符数组 31
2.4.1 字符数组的定义 31
2.4.2 字符数组的初始化 31
2.4.3 字符数组的引用 31
2.4.4 字符串和字符串结束标志 31
2.4.5 字符串处理函数 31
2.5 指针概述 33
2.5.1 什么是指针 33
2.5.2 指针变量的类型说明 34
2.5.3 指针变量的赋值 34
2.5.4 指针变量的运算 34
2.6 指针与数组 36
2.6.1 一维数组与指针 37
2.6.2 指针数组 38
2.7 指针与函数 38
2.7.1 函数指针 39
2.7.2 指针型函数 39
2.8 结构体 41
2.8.1 结构体的定义 41
2.8.2 结构体类型的说明 42
2.8.3 结构体变量成员的表示 43
2.8.4 结构体变量的赋值 43
2.8.5 结构体变量的初始化 44
2.9 结构体指针变量 46
2.9.1 结构体指针变量概述 46
2.9.2 结构体指针变量的定义 46
2.9.3 结构体指针变量的引用 47
2.10 联合体 47
2.10.1 联合体的定义 47
2.10.2 联合体的使用 48
2.11 枚举类型 49
2.11.1 枚举类型声明 49
2.11.2 枚举变量的定义 49
2.11.3 枚举变量应用举例 49
2.12 自定义类型 50
2.13 小结 50
2.14 习题 51
第3章 单片机硬件基础 53
3.1 单片机I/O口 53
3.1.1 P0口概述 53
3.1.2 P1口概述 53
3.1.3 P2口概述 54
3.1.4 P3口概述 54
3.2 定时器/计数器 55
3.2.1 定时器/计数器概述 55
3.2.2 定时器/计数器结构 56
3.2.3 与定时器/计数器控制相关的寄存器 56
3.2.4 工作方式0 58
3.2.5 工作方式1 59
3.2.6 工作方式2 59
3.2.7 工作方式3 59
3.3 单片机串行口 60
3.3.1 串行口概述 60
3.3.2 串行口结构 60
3.3.3 与串行口相关的寄存器 61
3.3.4 波特率 62
3.3.5 工作方式0 64
3.3.6 工作方式1 66
3.3.7 工作方式2、3 66
3.4 中断 66
3.4.1 单片机中断概述 67
3.4.2 中断结构 69
3.4.3 与中断相关的寄存器 69
3.4.4 中断的使用方法 71
3.5 综合应用 72
3.5.1 基于CD4094的四位数码管驱动电路 72
3.5.2 单片机与PC通信 74
3.6 小结 78
3.7 习题 78
第4章 知识竞赛数字抢答器 79
4.1 数码管驱动 79
4.1.1 数码管分类 79
4.1.2 数码管驱动方式 79
4.1.3 数码管字符编码 80
4.1.4 数码管静态驱动 82
4.1.5 数码管动态驱动 83
4.2 键盘接口技术 85
4.2.1 独立式开关按键 85
4.2.2 开关按键的去抖动措施 86
4.2.3 按键检测 86
4.2.4 矩阵键盘原理 89
4.2.5 矩阵键盘检测 89
4.3 抢答器硬件设计 91
4.3.1 主控系统 92
4.3.2 显示模块 93
4.3.3 声音提示电路 94
4.3.4 抢答电路 94
4.3.5 通信电路 96
4.4 抢答器软件设计 99
4.4.1 软件架构 100
4.4.2 系统初始化 100
4.4.3 硬件中断服务 101
4.4.4 外部通信接口 103
4.4.5 应用程序 104
4.4.6 相关数据结构定义 106
4.5 小结 108
4.6 习题 108
第5章 数字电子时钟 109
5.1 单总线 109
5.1.1 单总线的结构原理 109
5.1.2 DS18B20概述 110
5.2 I2C总线 114
5.2.1 I2C总线的特点 114
5.2.2 I2C总线的工作原理 114
5.2.3 I2C总线基本操作 115
5.2.4 PCF8563概述 116
5.3 LCD 121
5.3.1 LCD显示器介绍 121
5.3.2 HD44780概述 122
5.4 数字电子时钟硬件设计 126
5.4.1 主控系统 126
5.4.2 显示模块 127
5.4.3 声音提示电路 129
5.4.4 日历/时钟电路 129
5.4.5 通信电路 129
5.4.6 温湿度检测电路 130
5.5 数字电子时钟软件设计 132
5.5.1 软件架构 133
5.5.2 系统初始化 133
5.5.3 硬件中断服务 134
5.5.4 I2C总线驱动 135
5.5.5 基于单总线的温湿度接口 139
5.5.6 硬件接口 140
5.5.7 外部通信接口 144
5.5.8 应用程序 144
5.5.9 相关数据结构定义 149
5.6 小结 151
5.7 习题 151
第6章 多功能数字频率计 152
6.1 多功能数字频率计硬件设计 152
6.1.1 主控系统 152
6.1.2 设置电路 153
6.1.3 显示模块 153
6.1.4 声音提示电路 154
6.1.5 通信电路 154
6.1.6 信号处理电路 154
6.1.7 信号分频电路 156
6.2 多功能数字频率计软件设计 159
6.2.1 软件架构 159
6.2.2 系统初始化 159
6.2.3 硬件中断服务 160
6.2.4 硬件接口 161
6.2.5 外部通信和系统调试接口 163
6.2.6 应用程序 164
6.2.7 相关数据结构定义 168
6.3 小结 169
6.4 习题 169
第7章 手持GPS定位器 170
7.1 AT89S51单片机存储器扩展基础 170
7.1.1 存储器分类 170
7.1.2 AT89S51单片机扩展系统 171
7.2 SPI总线 177
7.2.1 SPI总线的结构原理 177
7.2.2 SPI总线的数据传输 177
7.2.3 SPI总线的接口 178
7.2.4 X25045概述 178
7.3 手持GPS定位器硬件设计 182
7.3.1 主控系统 183
7.3.2 显示模块 183
7.3.3 声音提示电路 184
7.3.4 通信电路 184
7.3.5 扩展SRAM电路 184
7.3.6 串行口复用电路 186
7.3.7 地址选择电路 187
7.3.8 Flash存储电路 187
7.3.9 GPS模块电路 188
7.3.10 3.3V电源电路 189
7.4 手持GPS定位器软件设计 190
7.4.1 软件架构 190
7.4.2 系统初始化 190
7.4.3 硬件中断服务 191
7.4.4 硬件接口 194
7.4.5 外部通信和系统调试接口 196
7.4.6 应用程序 196
7.4.7 相关数据结构定义 208
7.5 小结 210
7.6 习题 210
附录A ASCII字符集 211
附录B 8051单片机指令表 213
附录C Keil C51常用库函数原型 216
猜您喜欢