內容簡介
《面向人工智慧的嵌入式設計與開發》內容包括嵌入式介紹、GPIO連線埠基本使用、C語言編程基礎、GPIO連線埠輸入模式、串口通信、中斷系統、Systick定時器、LCD液晶顯示屏、觸控螢幕驅動、RTC實時時鐘、溫濕度感測器和實戰項目。
《面向人工智慧的嵌入式設計與開發》可供電氣、自動化類專業本、專科課程教學和大學生創新實踐使用和參考。
圖書目錄
第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