面向人工智能的嵌入式設(shè)計與開發(fā)(趙志桓)
定 價:45 元
《面向人工智能的嵌入式設(shè)計與開發(fā)》內(nèi)容包括嵌入式介紹、GPIO端口基本使用、C語言編程基礎(chǔ)、GPIO端口輸入模式、串口通信、中斷系統(tǒng)、Systick定時器、LCD液晶顯示屏、觸摸屏驅(qū)動、RTC實時時鐘、溫濕度傳感器和實戰(zhàn)項目。《面向人工智能的嵌入式設(shè)計與開發(fā)》可供電氣、自動化類專業(yè)本、?普n程教學和大學生創(chuàng)新實踐使用和參考。
《面向人工智能的嵌入式設(shè)計與開發(fā)》課后資料可掃描二維碼查看和下載,讀者可自行購買相關(guān)材料進行制作。
ARM V7是Cortex-M3的組成硬件之一,它的主頻運行速度為72MHz,不但可以使用 Thumb-2 指令集,還具備其他特殊的新性質(zhì)。與 ARM7 TDMI進行對比,Cortex-M3具備性能更加強大、代碼密度更高、位帶操作、中斷為可嵌套使用、成本小、功耗小等優(yōu)勢。STM32系列芯片由意法半導體公司(STMicroelectronics)生產(chǎn),是當下非常熱門的芯片。STM32系列產(chǎn)品基于超低功耗的ARM Cortex-M3處理器內(nèi)核,采用意法半導體獨有的兩大節(jié)能技術(shù),在所有產(chǎn)品中,大量的管腳、外設(shè)和軟件都是可以共同使用的,兼容性強大,開發(fā)人員可以通過它的兼容性來極大地提高設(shè)計的靈活性。Cortex-M3核的處理器的特點就是用于低端的設(shè)備控制。與89C51相比,STM32具有13級的流水線指令處理能力,集成了許多外設(shè),以寄存器的方式操作,大大提高了芯片執(zhí)行速度,具有響應(yīng)快的特點。內(nèi)部的RAM、ROM的空間也比較大,可以下載和運行更多代碼,還可以在小型系統(tǒng)中使用,有利于多任務(wù)操作。由此可見,STM32的前景非常好,這幾年ST公司在中國大力推廣它的產(chǎn)品,國內(nèi)部分半導體廠商也在生產(chǎn)類似芯片,更能體現(xiàn)出STM32在未來幾年中在電子行業(yè)里受重視的程度。另外,芯片的價格很低。STM32具有以下獨有優(yōu)勢。1.超低價格。STM32最大的優(yōu)勢是,它擁有32位機的性能,但僅是8位機的價格。2.很多外圍設(shè)備。TIMER、RTC、FSMC、IIC、USB、SPI、IIS、SDIO、CAN、DAC、ADC、DMA等許多外設(shè)都可以連在STM32上,從這些外設(shè)可以看出,STM32的集成度很高。3.芯片種類繁多。M3是STM32的一種內(nèi)核,這種內(nèi)核有F100、F101、F102、F103、F105、F107、F207、F217共8個系列,這8個系列又有上百種型號,而且還有不同的封裝可供選擇,如QFN、LQFP、BGA等。與此同時,M3芯片中還有功耗極低的STM32L和可以進行無線通信的STM32W。4.性能實時性好。STM32中的所有管腳都可以當作中斷輸入,共有84個中斷,因而有16級可編程優(yōu)先級。5.功耗控制極為優(yōu)秀。STM32的每個外設(shè)都有獨立控制開關(guān)的時鐘,當功耗太高時,可以關(guān)閉不用的外設(shè)時鐘,這樣就能降低功耗。6.開發(fā)成本低。STM32下載程序時只需要一個串口即可,無須花費大量金錢購買價格極高的仿真器,而且STM32可以使用SWD和JTAG兩種調(diào)試口。當使用SWD實現(xiàn)仿真調(diào)試時,只需要兩個IO口,極為方便。本書由趙志桓著,同時得到了深圳信盈達科技有限公司牛樂樂總經(jīng)理、濟南信盈達電子技術(shù)有限公司袁魁總經(jīng)理、何文賓工程師、鄒竟飛工程師和山東農(nóng)業(yè)工程學院廖希杰的大力支持,在此表示衷心的感謝。由于時間倉促,書中難免有不足之處,懇請廣大讀者不吝批評指正。著者 2019年10月
趙志桓,山東農(nóng)業(yè)工程學院副教授,負責學校智能感知與控制系統(tǒng)課程群建設(shè),教育部信盈達CDIO協(xié)同創(chuàng)新實踐平臺實驗中心主任,山東材料學會常務(wù)理事,校工程創(chuàng)新社團指導老師。具有多年半導體項目研發(fā)經(jīng)歷。
第1章 嵌入式介紹 11.1 嵌入式概述 11.2 Cortex-M3芯片介紹 31.2.1 Cortex-M系列芯片分類 31.2.2 STM32F10x系列的命名規(guī)則 31.2.3 Cortex-M3芯片產(chǎn)品分類 41.2.4 STM32F103ZET6芯片內(nèi)部資源 41.2.5 STM32F103ZET6內(nèi)部結(jié)構(gòu) 51.3 STM32F10x最小系統(tǒng) 61.4 嵌入式開發(fā)軟件安裝 71.4.1 編譯軟件安裝 71.4.2 驅(qū)動程序安裝 81.4.3 下載測試 9課后資料 9第2章 GPIO端口基本使用 102.1 STM32F10x芯片GPIO模塊介紹 102.2 STM32F10x芯片GPIO端口功能介紹 112.2.1 STM32F10x芯片GPIO端口功能 112.2.2 STM32F10x芯片GPIO端口內(nèi)部框圖 112.2.3 STM32F10x芯片時鐘使能 132.2.4 STM32F10x芯片GPIO端口相關(guān)庫函數(shù) 142.3 GPIO模塊程序軟件設(shè)計(驅(qū)動LED) 18思考 19課后資料 19第3章 C語言編程基礎(chǔ) 203.1 C語言體系介紹 203.1.1 C語言主要特點 203.1.2 嵌入式C程序基本結(jié)構(gòu) 223.1.3 C語言編程規(guī)范 223.2 嵌入式C語言基本數(shù)據(jù)類型 233.3 數(shù)據(jù)常量和數(shù)據(jù)變量 253.4 C語言運算符與表達式 263.4.1 運算符與表達式的概念 263.4.2 邏輯運算符 273.4.3 位運算符 283.4.4 運算符優(yōu)先級 283.4.5 數(shù)據(jù)類型轉(zhuǎn)換運算 283.5 函數(shù) 293.5.1 函數(shù)模型 303.5.2 實際參數(shù) 303.5.3 函數(shù)應(yīng)用 303.5.4 函數(shù)和變量的作用范圍 313.6 宏定義與模塊化編程 323.6.1 宏定義 323.6.2 條件編譯 323.6.3 模塊化編程 333.7 模塊化編程軟件設(shè)計 34思考 37課后資料 37第4章 GPIO端口輸入模式 384.1 嵌入式C語言基本結(jié)構(gòu) 384.1.1 順序結(jié)構(gòu) 384.1.2 選擇結(jié)構(gòu) 394.1.3 循環(huán)結(jié)構(gòu) 414.1.4 轉(zhuǎn)移語句 434.2 嵌入式單片機輸入系統(tǒng) 444.2.1 單片機按鍵介紹 444.2.2 GPIO輸入功能程序設(shè)計 454.2.3 按鍵掃描程序設(shè)計 46思考 49課后資料 49第5章 串口通信 505.1 通用USART通信介紹 505.1.1 通信的概述 505.1.2 串行通信分類 515.1.3 串行通信數(shù)據(jù)的傳輸速度 525.1.4 串行通信工作方式 535.1.5 串口發(fā)送數(shù)據(jù)的格式 535.2 STM32F10x芯片USART模塊介紹 535.2.1 STM32F10x芯片USART模塊概述 535.2.2 STM32F10x芯片USART模塊內(nèi)部框圖 545.2.3 STM32F10x芯片USART模塊特征 565.3 STM32F10x外設(shè)管腳復用 575.4 STM32F10x芯片USART模塊相關(guān)庫函數(shù) 585.4.1 USART_Init函數(shù) 585.4.2 USART_Cmd函數(shù) 605.4.3 USART_ITConfig函數(shù) 605.4.4 USART_SendData函數(shù) 615.4.5 USART_ReceiveData函數(shù) 615.4.6 USART_GetFlagStatus函數(shù) 625.4.7 USART_ClearFlag函數(shù) 625.4.8 USART_GetITStatus函數(shù) 635.4.9 USART_ClearITPendingBit函數(shù) 635.5 USART模塊程序軟件設(shè)計 645.5.1 USART_1硬件設(shè)置 645.5.2 USART1模塊軟件設(shè)計 64思考 68課后資料 68第6章 中斷系統(tǒng) 696.1 中斷介紹 696.1.1 中斷和中斷源的概念 696.1.2 中斷執(zhí)行過程 706.1.3 中斷使用的意義 706.1.4 中斷優(yōu)先級和中斷嵌套 716.2 STM32F10x中斷系統(tǒng)介紹 716.2.1 NVIC控制器介紹 716.2.2 STM32F10x異常向量表 726.2.3 STM32F10x中斷優(yōu)先級設(shè)置 756.3 STM32F10x中斷系統(tǒng)相關(guān)庫函數(shù) 756.3.1 NVIC_Init函數(shù) 756.3.2 NVIC_PriorityGroupConfig函數(shù) 766.4 中斷軟件示例 776.4.1 中斷服務(wù)函數(shù)編寫原則 776.4.2 NVIC中斷軟件設(shè)計 77思考 79課后資料 79第7章 SysTick定時器 807.1 SysTick定時器介紹 807.1.1 SysTick定時器概述 807.1.2 STM32F10x系列SysTick定時器概述 807.1.3 SysTick定時器初始值計算 817.2 SysTick定時器相關(guān)庫函數(shù) 817.2.1 SysTick_CLKSourceConfig函數(shù) 827.2.2 SysTick_Config函數(shù) 827.2.3 SysTick定時器軟件設(shè)計 82課后資料 85第8章 LCD液晶顯示屏 868.1 LCD液晶顯示屏介紹 868.1.1 單片機常見顯示設(shè)備 868.1.2 LCD液晶顯示屏顯示系統(tǒng) 878.1.3 彩色LCD液晶顯示屏參數(shù) 878.1.4 ZZH Cortex-M開發(fā)板LCD模塊介紹 878.2 液晶顯示控制器(ILI9486) 888.2.1 ILI9486控制器協(xié)議介紹 888.2.2 ILI9486控制器顏色設(shè)置 898.2.3 ILI9486控制器初始化 908.2.4 ILI9486控制器控制命令 908.3 LCD液晶顯示屏字模軟件應(yīng)用 928.4 LCD液晶顯示屏程序設(shè)計 95課后資料 96第9章 觸摸屏驅(qū)動 979.1 觸摸屏的工作原理和類型 979.2 觸摸屏控制芯片XPT2046 989.2.1 觸摸屏硬件連接 989.2.2 XPT2046控制器應(yīng)用 989.3 觸摸屏校準 1039.3.1 觸摸屏校準的目的和原理 1039.3.2 觸摸屏校準步驟 1039.3.3 觸摸屏軟件設(shè)計 104課后資料 105第10章 RTC實時時鐘 10610.1 RTC實時時鐘介紹 10610.1.1 RTC實時時鐘概念 10610.1.2 RTC實時時鐘時間基準 10710.1.3 常用RTC外設(shè)芯片 10710.2 STM32F10x芯片RTC模塊介紹 10710.2.1 STM32F10x芯片RTC模塊概述 10710.2.2 STM32F10x芯片備份存儲器(BKP)介紹 10810.2.3 STM32F10x芯片RTC模塊內(nèi)部框圖 10910.3 STM32F10x芯片RTC模塊相關(guān)庫函數(shù) 11010.3.1 RTC_ITConfig函數(shù) 11010.3.2 RTC_EnterConfigMod函數(shù) 11010.3.3 RTC_ExitConfigMode函數(shù) 11110.3.4 RTC_GetCounter函數(shù) 11110.3.5 RTC_WaitForLastTask函數(shù) 11110.3.6 RTC_SetCounter函數(shù) 11110.3.7 RTC_SetPrescaler函數(shù) 11210.3.8 RTC_ SetAlarm函數(shù) 11210.3.9 RTC_WaitForSynchro函數(shù) 11210.3.10 RTC_GetFlagStatus函數(shù) 11210.3.11 RTC_ClearFlag函數(shù) 11310.3.12 RTC_GetITStatus函數(shù) 11310.3.13 RTC_ClearITPendingBit函數(shù) 11310.3.14 BKP_ReadBackupRegister函數(shù) 11410.3.15 BKP_WriteBackupRegister函數(shù) 11410.3.16 PWR_BackupAccessCmd函數(shù) 11410.3.17 RCC_LSEConfig函數(shù) 11510.3.18 RCC_RTCCLKConfig函數(shù) 11510.3.19 RCC_RTCCLKCmd函數(shù) 11610.4 RTC軟件設(shè)計 116課后資料 123第11章 溫濕度傳感器 12411.1 DHT11產(chǎn)品介紹 12411.1.1 DHT11概述 12411.1.2 應(yīng)用領(lǐng)域 12411.1.3 傳感器性能說明 12511.1.4 測量分辨率 12511.1.5 電氣特性 12511.2 模塊接口說明 12611.2.1 模塊連接電路圖 12611.2.2 管腳說明 12611.2.3 電源管腳 12711.2.4 DHT11數(shù)據(jù)傳輸流程 12711.2.5 主機復位信號和DHT11響應(yīng)信號 12711.2.6 DHT11數(shù)據(jù)表示方法 12811.2.7 DHT11數(shù)據(jù)結(jié)構(gòu) 12911.3 DHT11軟件設(shè)計 129課后資料 133參考文獻 134附錄 136附錄A Cortex-M3開發(fā)板介紹 136附錄A.1 Cortex-M3開發(fā)板資源圖 136附錄A.2 Cortex-M3開發(fā)板資源介紹 136附錄B C語言運算符優(yōu)先級 139