书籍详情
面向人工智能的嵌入式设计与开发
作者:赵志桓 著
出版社:化学工业出版社
出版时间:2020-02-01
ISBN:9787122355225
定价:¥45.00
购买这本书可以去
内容简介
《面向人工智能的嵌入式设计与开发》内容包括嵌入式介绍、GPIO端口基本使用、C语言编程基础、GPIO端口输入模式、串口通信、中断系统、Systick定时器、LCD液晶显示屏、触摸屏驱动、RTC实时时钟、温湿度传感器和实战项目。 《面向人工智能的嵌入式设计与开发》可供电气、自动化类专业本、专科课程教学和大学生创新实践使用和参考。
作者简介
赵志桓,山东农业工程学院副教授,负责学校智能感知与控制系统课程群建设,教育部“信盈达CDIO协同创新实践平台”实验中心主任,山东材料学会常务理事,校工程创新社团指导老师。具有多年半导体项目研发经历。
目录
第1章 嵌入式介绍 1
1.1 嵌入式概述 1
1.2 Cortex-M3芯片介绍 3
1.2.1 Cortex-M系列芯片分类 3
1.2.2 STM32F10x系列的命名规则 3
1.2.3 Cortex-M3芯片产品分类 4
1.2.4 STM32F103ZET6芯片内部资源 4
1.2.5 STM32F103ZET6内部结构 5
1.3 STM32F10x最小系统 6
1.4 嵌入式开发软件安装 7
1.4.1 编译软件安装 7
1.4.2 驱动程序安装 8
1.4.3 下载测试 9
课后资料 9
第2章 GPIO端口基本使用 10
2.1 STM32F10x芯片GPIO模块介绍 10
2.2 STM32F10x芯片GPIO端口功能介绍 11
2.2.1 STM32F10x芯片GPIO端口功能 11
2.2.2 STM32F10x芯片GPIO端口内部框图 11
2.2.3 STM32F10x芯片时钟使能 13
2.2.4 STM32F10x芯片GPIO端口相关库函数 14
2.3 GPIO模块程序软件设计(驱动LED) 18
思考 19
课后资料 19
第3章 C语言编程基础 20
3.1 C语言体系介绍 20
3.1.1 C语言主要特点 20
3.1.2 嵌入式C程序基本结构 22
3.1.3 C语言编程规范 22
3.2 嵌入式C语言基本数据类型 23
3.3 数据常量和数据变量 25
3.4 C语言运算符与表达式 26
3.4.1 运算符与表达式的概念 26
3.4.2 逻辑运算符 27
3.4.3 位运算符 28
3.4.4 运算符优先级 28
3.4.5 数据类型转换运算 28
3.5 函数 29
3.5.1 函数模型 30
3.5.2 实际参数 30
3.5.3 函数应用 30
3.5.4 函数和变量的作用范围 31
3.6 宏定义与模块化编程 32
3.6.1 宏定义 32
3.6.2 条件编译 32
3.6.3 模块化编程 33
3.7 模块化编程软件设计 34
思考 37
课后资料 37
第4章 GPIO端口输入模式 38
4.1 嵌入式C语言基本结构 38
4.1.1 顺序结构 38
4.1.2 选择结构 39
4.1.3 循环结构 41
4.1.4 转移语句 43
4.2 嵌入式单片机输入系统 44
4.2.1 单片机按键介绍 44
4.2.2 GPIO输入功能程序设计 45
4.2.3 按键扫描程序设计 46
思考 49
课后资料 49
第5章 串口通信 50
5.1 通用USART通信介绍 50
5.1.1 通信的概述 50
5.1.2 串行通信分类 51
5.1.3 串行通信数据的传输速度 52
5.1.4 串行通信工作方式 53
5.1.5 串口发送数据的格式 53
5.2 STM32F10x芯片USART模块介绍 53
5.2.1 STM32F10x芯片USART模块概述 53
5.2.2 STM32F10x芯片USART模块内部框图 54
5.2.3 STM32F10x芯片USART模块特征 56
5.3 STM32F10x外设管脚复用 57
5.4 STM32F10x芯片USART模块相关库函数 58
5.4.1 USART_Init函数 58
5.4.2 USART_Cmd函数 60
5.4.3 USART_ITConfig函数 60
5.4.4 USART_SendData函数 61
5.4.5 USART_ReceiveData函数 61
5.4.6 USART_GetFlagStatus函数 62
5.4.7 USART_ClearFlag函数 62
5.4.8 USART_GetITStatus函数 63
5.4.9 USART_ClearITPendingBit函数 63
5.5 USART模块程序软件设计 64
5.5.1 USART_1硬件设置 64
5.5.2 USART1模块软件设计 64
思考 68
课后资料 68
第6章 中断系统 69
6.1 中断介绍 69
6.1.1 中断和中断源的概念 69
6.1.2 中断执行过程 70
6.1.3 中断使用的意义 70
6.1.4 中断优先级和中断嵌套 71
6.2 STM32F10x中断系统介绍 71
6.2.1 NVIC控制器介绍 71
6.2.2 STM32F10x异常向量表 72
6.2.3 STM32F10x中断优先级设置 75
6.3 STM32F10x中断系统相关库函数 75
6.3.1 NVIC_Init函数 75
6.3.2 NVIC_PriorityGroupConfig函数 76
6.4 中断软件示例 77
6.4.1 中断服务函数编写原则 77
6.4.2 NVIC中断软件设计 77
思考 79
课后资料 79
第7章 SysTick定时器 80
7.1 SysTick定时器介绍 80
7.1.1 SysTick定时器概述 80
7.1.2 STM32F10x系列SysTick定时器概述 80
7.1.3 SysTick定时器初始值计算 81
7.2 SysTick定时器相关库函数 81
7.2.1 SysTick_CLKSourceConfig函数 82
7.2.2 SysTick_Config函数 82
7.2.3 SysTick定时器软件设计 82
课后资料 85
第8章 LCD液晶显示屏 86
8.1 LCD液晶显示屏介绍 86
8.1.1 单片机常见显示设备 86
8.1.2 LCD液晶显示屏显示系统 87
8.1.3 彩色LCD液晶显示屏参数 87
8.1.4 ZZH Cortex-M开发板LCD模块介绍 87
8.2 液晶显示控制器(ILI9486) 88
8.2.1 ILI9486控制器协议介绍 88
8.2.2 ILI9486控制器颜色设置 89
8.2.3 ILI9486控制器初始化 90
8.2.4 ILI9486控制器控制命令 90
8.3 LCD液晶显示屏字模软件应用 92
8.4 LCD液晶显示屏程序设计 95
课后资料 96
第9章 触摸屏驱动 97
9.1 触摸屏的工作原理和类型 97
9.2 触摸屏控制芯片XPT2046 98
9.2.1 触摸屏硬件连接 98
9.2.2 XPT2046控制器应用 98
9.3 触摸屏校准 103
9.3.1 触摸屏校准的目的和原理 103
9.3.2 触摸屏校准步骤 103
9.3.3 触摸屏软件设计 104
课后资料 105
第10章 RTC实时时钟 106
10.1 RTC实时时钟介绍 106
10.1.1 RTC实时时钟概念 106
10.1.2 RTC实时时钟时间基准 107
10.1.3 常用RTC外设芯片 107
10.2 STM32F10x芯片RTC模块介绍 107
10.2.1 STM32F10x芯片RTC模块概述 107
10.2.2 STM32F10x芯片备份存储器(BKP)介绍 108
10.2.3 STM32F10x芯片RTC模块内部框图 109
10.3 STM32F10x芯片RTC模块相关库函数 110
10.3.1 RTC_ITConfig函数 110
10.3.2 RTC_EnterConfigMod函数 110
10.3.3 RTC_ExitConfigMode函数 111
10.3.4 RTC_GetCounter函数 111
10.3.5 RTC_WaitForLastTask函数 111
10.3.6 RTC_SetCounter函数 111
10.3.7 RTC_SetPrescaler函数 112
10.3.8 RTC_ SetAlarm函数 112
10.3.9 RTC_WaitForSynchro函数 112
10.3.10 RTC_GetFlagStatus函数 112
10.3.11 RTC_ClearFlag函数 113
10.3.12 RTC_GetITStatus函数 113
10.3.13 RTC_ClearITPendingBit函数 113
10.3.14 BKP_ReadBackupRegister函数 114
10.3.15 BKP_WriteBackupRegister函数 114
10.3.16 PWR_BackupAccessCmd函数 114
10.3.17 RCC_LSEConfig函数 115
10.3.18 RCC_RTCCLKConfig函数 115
10.3.19 RCC_RTCCLKCmd函数 116
10.4 RTC软件设计 116
课后资料 123
第11章 温湿度传感器 124
11.1 DHT11产品介绍 124
11.1.1 DHT11概述 124
11.1.2 应用领域 124
11.1.3 传感器性能说明 125
11.1.4 测量分辨率 125
11.1.5 电气特性 125
11.2 模块接口说明 126
11.2.1 模块连接电路图 126
11.2.2 管脚说明 126
11.2.3 电源管脚 127
11.2.4 DHT11数据传输流程 127
11.2.5 主机复位信号和DHT11响应信号 127
11.2.6 DHT11数据表示方法 128
11.2.7 DHT11数据结构 129
11.3 DHT11软件设计 129
课后资料 133
参考文献 134
附录 136
附录A Cortex-M3开发板介绍 136
附录A.1 Cortex-M3开发板资源图 136
附录A.2 Cortex-M3开发板资源介绍 136
附录B C语言运算符优先级 139
1.1 嵌入式概述 1
1.2 Cortex-M3芯片介绍 3
1.2.1 Cortex-M系列芯片分类 3
1.2.2 STM32F10x系列的命名规则 3
1.2.3 Cortex-M3芯片产品分类 4
1.2.4 STM32F103ZET6芯片内部资源 4
1.2.5 STM32F103ZET6内部结构 5
1.3 STM32F10x最小系统 6
1.4 嵌入式开发软件安装 7
1.4.1 编译软件安装 7
1.4.2 驱动程序安装 8
1.4.3 下载测试 9
课后资料 9
第2章 GPIO端口基本使用 10
2.1 STM32F10x芯片GPIO模块介绍 10
2.2 STM32F10x芯片GPIO端口功能介绍 11
2.2.1 STM32F10x芯片GPIO端口功能 11
2.2.2 STM32F10x芯片GPIO端口内部框图 11
2.2.3 STM32F10x芯片时钟使能 13
2.2.4 STM32F10x芯片GPIO端口相关库函数 14
2.3 GPIO模块程序软件设计(驱动LED) 18
思考 19
课后资料 19
第3章 C语言编程基础 20
3.1 C语言体系介绍 20
3.1.1 C语言主要特点 20
3.1.2 嵌入式C程序基本结构 22
3.1.3 C语言编程规范 22
3.2 嵌入式C语言基本数据类型 23
3.3 数据常量和数据变量 25
3.4 C语言运算符与表达式 26
3.4.1 运算符与表达式的概念 26
3.4.2 逻辑运算符 27
3.4.3 位运算符 28
3.4.4 运算符优先级 28
3.4.5 数据类型转换运算 28
3.5 函数 29
3.5.1 函数模型 30
3.5.2 实际参数 30
3.5.3 函数应用 30
3.5.4 函数和变量的作用范围 31
3.6 宏定义与模块化编程 32
3.6.1 宏定义 32
3.6.2 条件编译 32
3.6.3 模块化编程 33
3.7 模块化编程软件设计 34
思考 37
课后资料 37
第4章 GPIO端口输入模式 38
4.1 嵌入式C语言基本结构 38
4.1.1 顺序结构 38
4.1.2 选择结构 39
4.1.3 循环结构 41
4.1.4 转移语句 43
4.2 嵌入式单片机输入系统 44
4.2.1 单片机按键介绍 44
4.2.2 GPIO输入功能程序设计 45
4.2.3 按键扫描程序设计 46
思考 49
课后资料 49
第5章 串口通信 50
5.1 通用USART通信介绍 50
5.1.1 通信的概述 50
5.1.2 串行通信分类 51
5.1.3 串行通信数据的传输速度 52
5.1.4 串行通信工作方式 53
5.1.5 串口发送数据的格式 53
5.2 STM32F10x芯片USART模块介绍 53
5.2.1 STM32F10x芯片USART模块概述 53
5.2.2 STM32F10x芯片USART模块内部框图 54
5.2.3 STM32F10x芯片USART模块特征 56
5.3 STM32F10x外设管脚复用 57
5.4 STM32F10x芯片USART模块相关库函数 58
5.4.1 USART_Init函数 58
5.4.2 USART_Cmd函数 60
5.4.3 USART_ITConfig函数 60
5.4.4 USART_SendData函数 61
5.4.5 USART_ReceiveData函数 61
5.4.6 USART_GetFlagStatus函数 62
5.4.7 USART_ClearFlag函数 62
5.4.8 USART_GetITStatus函数 63
5.4.9 USART_ClearITPendingBit函数 63
5.5 USART模块程序软件设计 64
5.5.1 USART_1硬件设置 64
5.5.2 USART1模块软件设计 64
思考 68
课后资料 68
第6章 中断系统 69
6.1 中断介绍 69
6.1.1 中断和中断源的概念 69
6.1.2 中断执行过程 70
6.1.3 中断使用的意义 70
6.1.4 中断优先级和中断嵌套 71
6.2 STM32F10x中断系统介绍 71
6.2.1 NVIC控制器介绍 71
6.2.2 STM32F10x异常向量表 72
6.2.3 STM32F10x中断优先级设置 75
6.3 STM32F10x中断系统相关库函数 75
6.3.1 NVIC_Init函数 75
6.3.2 NVIC_PriorityGroupConfig函数 76
6.4 中断软件示例 77
6.4.1 中断服务函数编写原则 77
6.4.2 NVIC中断软件设计 77
思考 79
课后资料 79
第7章 SysTick定时器 80
7.1 SysTick定时器介绍 80
7.1.1 SysTick定时器概述 80
7.1.2 STM32F10x系列SysTick定时器概述 80
7.1.3 SysTick定时器初始值计算 81
7.2 SysTick定时器相关库函数 81
7.2.1 SysTick_CLKSourceConfig函数 82
7.2.2 SysTick_Config函数 82
7.2.3 SysTick定时器软件设计 82
课后资料 85
第8章 LCD液晶显示屏 86
8.1 LCD液晶显示屏介绍 86
8.1.1 单片机常见显示设备 86
8.1.2 LCD液晶显示屏显示系统 87
8.1.3 彩色LCD液晶显示屏参数 87
8.1.4 ZZH Cortex-M开发板LCD模块介绍 87
8.2 液晶显示控制器(ILI9486) 88
8.2.1 ILI9486控制器协议介绍 88
8.2.2 ILI9486控制器颜色设置 89
8.2.3 ILI9486控制器初始化 90
8.2.4 ILI9486控制器控制命令 90
8.3 LCD液晶显示屏字模软件应用 92
8.4 LCD液晶显示屏程序设计 95
课后资料 96
第9章 触摸屏驱动 97
9.1 触摸屏的工作原理和类型 97
9.2 触摸屏控制芯片XPT2046 98
9.2.1 触摸屏硬件连接 98
9.2.2 XPT2046控制器应用 98
9.3 触摸屏校准 103
9.3.1 触摸屏校准的目的和原理 103
9.3.2 触摸屏校准步骤 103
9.3.3 触摸屏软件设计 104
课后资料 105
第10章 RTC实时时钟 106
10.1 RTC实时时钟介绍 106
10.1.1 RTC实时时钟概念 106
10.1.2 RTC实时时钟时间基准 107
10.1.3 常用RTC外设芯片 107
10.2 STM32F10x芯片RTC模块介绍 107
10.2.1 STM32F10x芯片RTC模块概述 107
10.2.2 STM32F10x芯片备份存储器(BKP)介绍 108
10.2.3 STM32F10x芯片RTC模块内部框图 109
10.3 STM32F10x芯片RTC模块相关库函数 110
10.3.1 RTC_ITConfig函数 110
10.3.2 RTC_EnterConfigMod函数 110
10.3.3 RTC_ExitConfigMode函数 111
10.3.4 RTC_GetCounter函数 111
10.3.5 RTC_WaitForLastTask函数 111
10.3.6 RTC_SetCounter函数 111
10.3.7 RTC_SetPrescaler函数 112
10.3.8 RTC_ SetAlarm函数 112
10.3.9 RTC_WaitForSynchro函数 112
10.3.10 RTC_GetFlagStatus函数 112
10.3.11 RTC_ClearFlag函数 113
10.3.12 RTC_GetITStatus函数 113
10.3.13 RTC_ClearITPendingBit函数 113
10.3.14 BKP_ReadBackupRegister函数 114
10.3.15 BKP_WriteBackupRegister函数 114
10.3.16 PWR_BackupAccessCmd函数 114
10.3.17 RCC_LSEConfig函数 115
10.3.18 RCC_RTCCLKConfig函数 115
10.3.19 RCC_RTCCLKCmd函数 116
10.4 RTC软件设计 116
课后资料 123
第11章 温湿度传感器 124
11.1 DHT11产品介绍 124
11.1.1 DHT11概述 124
11.1.2 应用领域 124
11.1.3 传感器性能说明 125
11.1.4 测量分辨率 125
11.1.5 电气特性 125
11.2 模块接口说明 126
11.2.1 模块连接电路图 126
11.2.2 管脚说明 126
11.2.3 电源管脚 127
11.2.4 DHT11数据传输流程 127
11.2.5 主机复位信号和DHT11响应信号 127
11.2.6 DHT11数据表示方法 128
11.2.7 DHT11数据结构 129
11.3 DHT11软件设计 129
课后资料 133
参考文献 134
附录 136
附录A Cortex-M3开发板介绍 136
附录A.1 Cortex-M3开发板资源图 136
附录A.2 Cortex-M3开发板资源介绍 136
附录B C语言运算符优先级 139
猜您喜欢