單片機開發從入門到實踐
郭學提
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書通過典型、實用的操作項目講解單片機開發工具、單片機編程基礎、單片機硬件基礎、知識競賽數字搶答器、數字電子時鐘、多功能數字頻率計、手持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


