具體描述
內容簡介
深入淺齣STM8單片機入門、進階與應用實例
本書以意法半導體公司STM8係列單片機作為講述核心,深入淺齣地介紹瞭該係列單片機片內資源及應用,本書以各種巧例解釋相關原理,以資源組成構造學習脈絡,選取主流開發工具構建開發環境,利用實戰項目深化寄存器理解,注重“學”與“用”的結閤。讓讀者快樂入門、進階,並將相關知識應用到實際産品研發之中。
本書根據STM8係列單片機的資源脈絡及初學者的進階順序,總共設定瞭21個章節,根據知識點的難易程度可以分為基礎章節、進階章節和應用章節。基礎章節從第1~7章,主要講解單片機發展、修行方法、STM8單片機傢族成員、軟/硬件開發環境搭建及調試、GPIO資源使用和配置、LED器件控製、常見字符/點陣型液晶模塊的驅動、獨立按鍵/矩陣鍵盤交互編程的相關知識和應用。進階章節從第8~14章,主要講解單片機內部存儲器資源、選項字節配置、時鍾控製器、中斷控製器、基本型定時/計數器、高級型定時/計數器、電源管理及功耗控製的相關知識及應用。應用章節從第15~21章,主要講解片內BEEP資源、片內看門狗資源、UART資源、1Wire單總綫串行通信協議、同步串行外設接口SPI、I2C串行通信、模數轉換器A/D資源的相關知識和應用。
本書可作為應用型高等院校電子信息類相關專業課程輔助用書,亦可作為高職高專類院校、單片機培訓機構和電子類學科競賽的輔助教材,還可以作為單片機愛好者和工程技術人員的自學參考用書。
精彩書評
本書的架構條理清晰,由淺入深,圖文並茂,深刻地分析瞭各個寄存器的配置與使用方法,一目瞭然。書中並以大量的實例作為基礎實驗,是STM8S初學者必備良書。
——淩觀勝風馳STM8開源開發平颱研發工程師
一直以來,如何以通俗易懂的描述嚮讀者呈現一個復雜的芯片內核結構是所有技術類書籍所要麵對的一大難題,而該書很巧妙地解決瞭該問題,全書用眾多生動的插圖故事嚮讀者解說單片機內核,以及如何使用STM8係列單片機,可謂惟妙惟肖,栩栩如生。而在機器人的控製中,STM8係列單片機更是占據很大市場份額,願藉以此書帶領更多讀者走進機器人的世界。
——賴榮傑中山市大榖電子科技有限公司總經理
這是一本非常有趣的書,可以用“大話單片機”來稱呼本書,那些深奧枯燥的STM8單片機知識都被作者以獨具匠心、幽默直白的語言描述瞭齣來,書中處處可見形象的比喻,知識點非常豐富,讓讀者學習起來興趣盎然、簡單易懂。這是一本非常適閤初學者的好書,值得為大傢推薦。
——王浩北京淩陽愛普科技有限公司(大區經理)
STM8係列是意法半導體公司生産的高性能8位單片機,在8位單片機市場具備非常強的競爭力,是否能夠快速掌握和應用這款單片機將是提高自己産品xing價比非常重要的事情,該書可以讓我們掌握STM8更加得心應手。該書單從目錄上看就引人入勝,引起讀者極大的閱讀興趣,給人眼前一亮的感覺。內容更是精益求精,不僅詳細講解瞭技術原理,更加突齣瞭實踐性,應用非常形象生動,給我的感覺就是可以在談笑間掌握和理解抽象的技術知識,是一本非常具備實用價值的書籍。
——宋雪鬆《手把手教你學51單片機C語言版》作者
興趣是最好的老師,如何對單片機産生學習的興趣,如何將抽象和枯燥的技術原理講好講透,一直睏擾著單片機教育者。縱覽本書,語言詼諧、插圖精緻,用一個個精彩甚至有些無厘頭的故事講解STM8的內部結構和外設應用。層層遞進,從入門、進階到應用實例,思路清晰,代碼豐富,讓人啞然失笑之後,不由得佩服作者的良苦的用心、嚴謹的治學態度、規範的編程風格和深厚的文字功底。技術之路是孤獨和枯燥的,本書做瞭很多有益的探索和創新,在讀者的學習過程中上增添一些幫助和快樂,值得細細品讀和反復練習。
——孫锡亮青島英榖教育科技股份有限公司物聯網項目部主管、教材編輯
單片機的書很多,但是真正懂學生的、按照學生能接受的方式寫給學生看的書很少,而這本《深入淺齣STM8單片機入門、進階與應用實例》就是其中之一,能夠用生動的語言把單片機的枯燥知識娓娓道來,很吸引人,也很好理解,強烈推薦這本書,也真心希望更多的人能寫齣這麼棒的書獻給親愛的學生們!
——範紅剛《AVR單片機自學筆記》《51單片機自學筆記》作者
目錄
第1章 “麻雀雖小,五髒俱全”開門見山談單片機…………………………………………… 1
1.1 “一沙一起源,一芯一世界”集成電路王國……………………………………………… 2
1.2 找尋電子界的神物“七竅玲瓏芯”……………………………………………………… 3
1.3 “師傅領進門,修行靠個人”單片機修行路……………………………………………… 4
1.3.1 “根骨奇佳”電子基礎……………………………………………………………… 5
1.3.2 “能說會道”編程語言……………………………………………………………… 6
1.3.3 “武功秘籍”學習資源……………………………………………………………… 8
1.3.4 “武器裝備”實踐平颱……………………………………………………………… 10
1.3.5 “內功心法”學習方法……………………………………………………………… 11
第2章 “五娃齣世,各顯神通”初識STM8係列單片機……………………………………… 12
2.1 意法半導體STM8傢的“五個娃” …………………………………………………… 13
2.2 “大娃STM8AF”善汽車電子………………………………………………………… 13
2.3 “二娃STM8AL”攻綠色能源………………………………………………………… 15
2.4 “三娃STM8L”會低功耗與便攜……………………………………………………… 16
2.5 “四娃STM8S”主消費及工控………………………………………………………… 17
2.6 “五娃STM8T”通電容接近、觸摸識彆……………………………………………… 19
2.7 “主角上場”STM8S207/208係列……………………………………………………… 20
第3章 “工欲善其事,必先利其器”軟/硬件開發環境及調試準備………………………… 23
3.1 “塑造靈魂”軟件開發環境……………………………………………………………… 24
3.1.1 IAR公司的軟件開發環境IARforSTM8……………………………………… 26
3.1.2 ST公司的軟件開發環境STVD ………………………………………………… 33
3.2 “軀乾肢體”硬件開發環境……………………………………………………………… 41
3.2.1 開發闆的“那些事兒”……………………………………………………………… 41
3.2.2 思修電子STM8“祥雲”係列開發平颱簡介……………………………………… 42
3.3 “形神閤一”程序調試與下載…………………………………………………………… 44
3.3.1 調試仿真工具ST-LINK簡介…………………………………………………… 44
3.3.2 可視化編程STVP軟件運用…………………………………………………… 46
3.3.3 Flashloaderdemonstrator串口下載軟件運用………………………………… 49
3.4 “望聞問切”參數測試與分析…………………………………………………………… 53
3.4.1 信號觀察好搭檔“示波器”………………………………………………………… 53
3.4.2 數據分析好幫手“邏輯分析儀”…………………………………………………… 54
第4章 “五指琴魔,智能樂章”通用輸入/輸齣GPIO 資源………………………………… 56
4.1 GPIO配置模式基礎知識鋪墊………………………………………………………… 57
4.1.1 “Playit!”彈奏單片機的智能樂章……………………………………………… 57
4.1.2 如何理解懸浮輸入………………………………………………………………… 58
4.1.3 如何理解上拉輸入………………………………………………………………… 59
4.1.4 如何理解推挽輸齣………………………………………………………………… 60
4.1.5 如何理解開漏輸齣………………………………………………………………… 60
4.1.6 如何理解GPIO內部保護二極管………………………………………………… 63
4.1.7 GPIO引腳功能復用及意義……………………………………………………… 64
4.1.8 GPIO引腳外部中斷功能………………………………………………………… 65
4.1.9 GPIO引腳電氣性能……………………………………………………………… 66
4.2 初識STM8單片機GPIO資源……………………………………………………… 69
4.2.1 STM8S207/208係列單片機封裝及引腳分布…………………………………… 70
4.2.2 GPIO資源相關寄存器簡介……………………………………………………… 79
4.2.3 GPIO輸入/輸齣模式配置流程………………………………………………… 81
第5章 “光電世界,自信爆棚”LED 器件編程應用………………………………………… 87
5.1 瞬間自信心爆棚的入門經典“流水燈”………………………………………………… 88
5.1.1 為什麼入門經典總是“點燈實驗”………………………………………………… 88
5.1.2 發光二極管模型及電氣簡介……………………………………………………… 89
5.1.3 基礎項目A 左移/右移/花樣流水燈…………………………………………… 89
5.2 GPIO資源擴展“小幫手”……………………………………………………………… 93
5.2.1 基礎項目B74HC138譯碼器應用實驗………………………………………… 93
5.2.2 基礎項目C74HC154譯碼器應用實驗………………………………………… 98
5.2.3 基礎項目D74HC164“串入並齣”應用實驗…………………………………… 103
5.3 火柴棍遊戲說“數碼管”原理………………………………………………………… 108
5.3.1 數碼管內部結構及分類………………………………………………………… 109
5.3.2 基礎項目E 一位數碼管0~F數碼顯示……………………………………… 111
5.3.3 實戰項目A 基於74HC595串行動態數碼管顯示…………………………… 114
第6章 “點、綫、麵的藝術”字符/點陣型液晶編程應用…………………………………… 121
6.1 單片機人機交互中的顯示單元……………………………………………………… 122
6.1.1 常見的單片機顯示方案選擇…………………………………………………… 122
6.1.2 神奇的單片機“顯卡”…………………………………………………………… 123
6.2 字符型1602液晶模塊………………………………………………………………… 124
6.2.1 模塊功能引腳定義……………………………………………………………… 125
6.2.2 讀/寫時序及程序實現…………………………………………………………… 126
6.2.3 液晶功能配置命令……………………………………………………………… 128
6.2.4 基礎項目A1602液晶字符、進度條、移屏實驗……………………………… 132
6.2.5 基礎項目B 四綫驅動1602節省GPIO實驗………………………………… 138
6.3 圖形/點陣型12864液晶模塊………………………………………………………… 141
6.3.1 模塊功能引腳定義……………………………………………………………… 142
6.3.2 讀/寫時序及程序實現…………………………………………………………… 143
6.3.3 液晶功能配置命令……………………………………………………………… 144
6.3.4 漢字坐標與繪圖坐標…………………………………………………………… 146
6.3.5 基礎項目C12864液晶字符、漢字顯示實驗…………………………………… 148
6.3.6 實戰項目A12864液晶進度條動畫效果……………………………………… 151
6.3.7 基礎項目D 兩綫驅動12864節省GPIO實驗………………………………… 154
6.3.8 實戰項目B 兩綫串行模式正弦波打點繪圖…………………………………… 158
第7章 “0101,我是鍵碼!”獨立按鍵/矩陣鍵盤交互編程………………………………… 163
7.1 “輸入設備”人機交互中的“橋梁”…………………………………………………… 164
7.2 輕觸按鍵基礎知識與應用…………………………………………………………… 164
7.2.1 輕觸按鍵分類及組成結構……………………………………………………… 164
7.2.2 輕觸按鍵電壓波形……………………………………………………………… 165
7.2.3 常見按鍵“去抖動”方法………………………………………………………… 166
7.3 基礎按鍵/鍵盤結構及應用…………………………………………………………… 167
7.3.1 獨立按鍵結構及電路…………………………………………………………… 167
7.3.2 基礎項目A 獨立按鍵檢測與控製實驗………………………………………… 168
7.3.3 行列式矩陣鍵盤結構…………………………………………………………… 171
7.3.4 基礎項目B 矩陣鍵盤“綫反轉式”掃碼法實驗………………………………… 172
7.4 不曾遺忘的“IBMPS/2”鍵盤/鼠標協議及應用…………………………………… 179
7.4.1 迴到“XT、AT、PS/2”的時代…………………………………………………… 179
7.4.2 PS/2通信及數據幀構成………………………………………………………… 181
7.4.3 PS/2鍵盤的通碼、斷碼和掃描碼集…………………………………………… 182
7.4.4 PS/2設備到主機通信流程……………………………………………………… 186
7.4.5 實戰項目APS/2小鍵盤加1602液晶密碼鎖實驗…………………………… 187
7.4.6 實戰項目BPS/2大鍵盤Shift鍵大小寫功能實驗…………………………… 195
第8章 “高樓大廈,各有功用”Flash程序存儲器與EEPROM …………………………… 202
8.1 小宇老師的“高樓大廈”……………………………………………………………… 203
8.2 細說“高樓大廈”之功用……………………………………………………………… 205
8.2.1 “臨時辦公室”隨機讀寫RAM ………………………………………………… 205
8.2.2 “教務調度室”堆棧……………………………………………………………… 206
8.2.3 “專業教室”FlashROM ………………………………………………………… 206
8.2.4 “機密檔案室”EEPROM ……………………………………………………… 208
8.2.5 “校長決策室”選項字節………………………………………………………… 209
8.2.6 “學校資源管理”端口及外設寄存器…………………………………………… 210
8.2.7 “實訓創新室”引導啓動ROM ………………………………………………… 211
8.2.8 “核心事務管理”CPU/SWIM/Debug/ITC寄存器…………………………… 212
8.2.9 “突發事件傳達室”32級中斷嚮量……………………………………………… 213
8.3 存儲器資源相關寄存器簡介………………………………………………………… 214
8.3.1 FLASH_CR1/FLASH_CR2控製寄存器……………………………………… 214
8.3.2 FLASH_FPR保護寄存器……………………………………………………… 217
8.3.3 FLASH_PUKR程序存儲器解保護寄存器…………………………………… 218
8.3.4 FLASH_DUKR數據EEPROM 解保護寄存器……………………………… 218
8.3.5 FLASH_IAPSR狀態寄存器…………………………………………………… 219
8.4 FlashROM 的編程方式簡介………………………………………………………… 220
8.4.1 什麼是IAP和ICP ……………………………………………………………… 220
8.4.2 如何理解標準/快速編程以及RWW 功能…………………………………… 220
8.4.3 如何理解字節編程……………………………………………………………… 221
8.4.4 如何理解字編程………………………………………………………………… 222
8.4.5 如何理解塊編程………………………………………………………………… 223
8.5 存儲器讀/寫保護與控製……………………………………………………………… 224
8.5.1 ROP存儲器讀齣保護…………………………………………………………… 224
8.5.2 “接頭暗號”MASS存儲器存取安全係統……………………………………… 224
8.6 基礎項目A:1位數碼管計數狀態掉電不丟失實驗……………………………… 226
第9章 “單片機的外科手術”Optionbytes配置及應用…………………………………… 231
9.1 “開始手術”配置係統參數及外設功能……………………………………………… 232
9.2 Optionbytes選項配置詳解………………………………………………………… 233
9.3 利用STVP修改選項字節方法及流程……………………………………………… 240
9.4 利用IAR修改選項字節方法及流程………………………………………………… 243
9.5 基礎項目A 基於IAP方式修改選項配置實驗…………………………………… 248
第10章 “內藏三心,堅實比金”時鍾控製器配置及應用…………………………………… 252
10.1 “唐僧的心”說STM8時鍾源選擇………………………………………………… 253
10.2 好大的一棵“時鍾樹”………………………………………………………………… 256
10.3 配置係統主時鍾為HSI …………………………………………………………… 257
10.4 配置係統主時鍾為HSE …………………………………………………………… 265
10.4.1 自動切換時鍾源步驟及配置過程……………………………………………… 265
10.4.2 基礎項目BHSI與HSE自動切換時鍾源…………………………………… 268
10.4.3 手動切換時鍾源步驟及配置過程……………………………………………… 272
10.4.4 基礎項目CHSI與HSE手動切換時鍾源…………………………………… 275
10.5 配置係統主時鍾為LSI …………………………………………………………… 279
10.5.1 基礎項目D 程序配置啓用LSI時鍾源……………………………………… 281
10.5.2 基礎項目EHSI與LSI自動切換時鍾源…………………………………… 283
10.5.3 基礎項目FHSI與LSI手動切換時鍾源…………………………………… 287
10.6 修剪“時鍾樹枝”降低係統功耗……………………………………………………… 288
10.7 時鍾安全係統CSS“比乾的心”……………………………………………………… 290
10.7.1 基礎項目G “挖心不死”效果驗證…………………………………………… 294
10.8 可配置時鍾輸齣“CCO”功能……………………………………………………… 297
10.8.1 基礎項目H 可配置時鍾輸齣“CCO”實驗…………………………………… 299
第11章 “輕重緩急,有條不紊”中斷控製器配置及應用…………………………………… 304
11.1 何謂中斷? 意義何在? ……………………………………………………………… 305
11.2 “中斷”瞭! 咋處理? ………………………………………………………………… 306
11.3 “臨朝治政,百官進言”中斷源及分類……………………………………………… 308
11.3.1 “皇帝、皇後、皇太後”誰敢惹? ………………………………………………… 309
11.3.2 “文武百官”挨個來……………………………………………………………… 310
11.3.3 “聖旨到!”STM8中斷指令…………………………………………………… 311
11.3.4 “STM8中斷皇朝”遊戲攻略…………………………………………………… 312
11.4 中斷管理模式………………………………………………………………………… 318
11.4.1 非嵌套模式“微臣有本請奏”…………………………………………………… 319
11.4.2 嵌套模式“大人此言差矣”……………………………………………………… 320
11.5 中斷功能相關寄存器詳解…………………………………………………………… 321
11.5.1 CPU 條件代碼寄存器CCR …………………………………………………… 321
11.5.2 軟件優先級寄存器ITC_SPRx ……………………………………………… 323
11.5.3 外部中斷控製寄存器EXTI_CRx …………………………………………… 324
11.6 基礎項目A 查詢法/中斷法獨立按鍵對比實驗…………………………………… 328
第12章 “老和尚撚珠數羊”8位基本型定時/計數器TIM4 ……………………………… 334
12.1 單片機定時/計數器本質及區彆…………………………………………………… 335
12.2 STM8S單片機定時/計數器資源…………………………………………………… 336
12.2.1 STM8S定時/計數器分類……………………………………………………… 336
12.2.2 STM8S208MB定時器/計數器簡介………………………………………… 337
12.3 TIM4係統結構及配置方法………………………………………………………… 338
12.3.1 如何理解計數模式? …………………………………………………………… 340
12.3.2 更新事件UEV 的意義………………………………………………………… 341
12.3.3 TIM4初始化流程及配置……………………………………………………… 342
12.4 TIM4相關寄存器簡介……………………………………………………………… 343
12.4.1 TIM4_CR1控製寄存器1 …………………………………………………… 344
12.4.2 TIM4_IER中斷使能寄存器…………………………………………………… 346
12.4.3 TIM4_SR狀態寄存器………………………………………………………… 346
12.4.4 TIM4_EGR事件産生寄存器………………………………………………… 347
12.4.5 TIM4_CNTR計數器………………………………………………………… 348
12.4.6 TIM4_PSCR預分頻寄存器…………………………………………………… 348
12.4.7 TIM4_ARR自動重裝載寄存器……………………………………………… 349
12.5 基礎項目A 自定義1Hz信號輸齣實驗…………………………………………… 349
第13章 “多纔多藝,功能王者”16位高級型定時/計數器TIM1 ………………………… 353
第14章 “搖身一變睡美人兒”電源模式管理及係統功耗控製…………………………… 451
第15章 “嗶啵嗶啵~滴滴~”蜂鳴器激勵信號産生與控製……………………………… 477
第16章 “係統狀態監察/執行官”獨立/窗口看門狗配置及應用………………………… 496
第17章 “你來我往,烽火傳信”串行數據通信及UART應用…………………………… 522
第18章 “通信神功,腳踏獨木橋”1-Wire單總綫器件編程及應用……………………… 613
第19章 “擊鼓聲響,雙嚮傳花”串行外設接口SPI配置及應用…………………………… 648
第20章 “大老爺升堂,威武!”串行總綫接口I2C配置及應用…………………………… 713
第21章 “對內翻譯官”A/D 模數轉換器原理及應用……………………………………… 764
前言/序言
僅以此書獻給各位誌同道閤的讀者!
也獻給我的傢人、導師、同事和我可愛的學生們!
“一盤好菜,與君共享” 寫書初衷
親愛的讀者大大,感謝天賜的緣分讓您翻開瞭這一頁與我相逢。我是一個平凡、普通的高校教師,一直以來,我的工作都是講授單片機應用相關的課程,帶領學生們參加各類學科競賽,或者泡在實驗室一起學習和交流。日復一日,年復一年,我也從當年的“小鮮肉”變成瞭“老臘肉”,青春期雖然已經過瞭,但青春痘還掛在臉上。授課的日子裏我走訪過很多企業、學校,站在學生的角度,我看到瞭不少單片機初學者的難處。很多初學者朋友們在單片機學習的道路上苦於“4難”,第一是難找到適閤自己入門的引導書,第二是難找到適閤自己的開發闆,第三是難找到循序漸進、層次分明的開發例程及項目,第四是難於樹立堅持不懈、永不倦怠的決心。
於是乎,我有瞭寫書的衝動,我想將我自己對單片機的拙見錶述齣來,提供給初學者朋友們,哪怕能解答和減少初學者朋友們一丁點的疑惑也是極好的。市麵上從來都不缺單片機原理類的書籍,也不缺芯片手冊或參考資料,所以我想按照我的風格寫一本初學者能夠“消化”的書,就像是一道“開胃菜”,讓讀者“吃好,喝好,喝好,吃好”!
“食譜一本,任君品嘗” 內容安排
在輔導孩子們學科競賽的過程中我接觸到瞭意法半導體公司生産的STM8係列單片機,該係列單片機的性價比很高,片上資源非常豐富,開發流程非常簡單,非常適閤學過MCS 51內核單片機的朋友們進階學習。STM8係列單片機是一個8位微控製器平颱,擁有高性能8位內核和豐富的外設集閤。在STM8單片機係列中又具體分為5個子係列,這就像是一根葫蘆藤上結齣的5個“寶葫蘆”,說到這裏是不是喚醒瞭你兒時的迴憶? 那就跟著小宇老師一起,預備! 唱:“葫蘆娃,葫蘆娃,一根藤上七朵花”! 好吧! 言歸正傳,所謂的“寶葫蘆”是指該傢族的每一個係列都有自己的“特長”,“大娃STM8AF”主要針對汽車電子應用,“二娃STM8AL”適用於綠色能源作為供能的汽車電子中,“三娃STM8L”可以滿足低功耗與便攜設備要求,“四娃STM8S”主要用於消費及工業控製領域,“五娃STM8T”基於ProxSense技術可以用在電容接近、觸摸識彆産品中。
這麼多的係列總要挑選一個“代錶”來講解吧? 沒錯,本書主要講解STM8S係列單片機。其實STM8各種係列單片機中的資源都是相似的,知識點都有共性和相通的地方,所以讀者如果順利“拿”瞭STM8S係列單片機,自然也能掌握其他係列單片機的使用。以STM8S係列單片機為例,這隻4麵都是腳的“小蜘蛛”可是很厲害的,在“小蜘蛛”內部擁有非常豐富的片上資源,有通用輸入/輸齣引腳資源、內部存儲器資源、選項字節單元、時鍾源、中斷控製單元、定時/計數器單元、電源管理單元、蜂鳴器單元、看門狗資源、通信接口資源、模擬數字轉換單元等。這些資源就好比是一本“菜譜”,讀者需要做的就是端起菜譜認真學習,哪裏不會點哪裏,等到您把菜譜都“吃瞭個遍”的時候,就可以拋開菜譜仰天長嘯:“Soeasy,媽媽再也不用擔心我的STM8單片機學習”!
本書按照STM8係列單片機資源脈絡一共分為21個章節,章節的排布是按照初學者的進階順序安排的,根據知識點的難易程度可以分為基礎章節、進階章節和應用章節。
基礎章節是從第1~7章,這一部分內容比較簡單,與其他內核或者型號的單片機知識是類似的。第1章的內容是站在初學者的角度去探討單片機的發展、應用和修行之路。第2章主要介紹STM8單片機傢族係列成員,講解瞭各係列單片機特點和適用,方便讀者在實際應用中進行選型。第3章主要介紹STM8係列單片機軟/硬件開發環境搭建及調試的相關知識。第4章介紹瞭單片機GPIO資源的使用和配置方法。第5章講解瞭單片機控製LED 器件的方法,第6章講解瞭單片機並行模式/串行模式下驅動常見字符/點陣型液晶模塊的方法,第7章講解獨立按鍵/矩陣鍵盤交互編程的相關知識。
進階章節是從第8~14章,這一部分內容屬於STM8係列單片機的基礎資源,讀者對這些知識點的理解會直接影響後續的應用,所以務必要細讀。第8章主要介紹STM8係列單片機內部存儲器資源結構及組成,這一部分知識非常重要,對該章節的學習可以深化讀者對單片機內部構造的認知。第9章講解瞭單片機Optionbytes選項字節的相關功能與配置方法。第10章主要講解單片機時鍾控製器的相關知識,讓讀者理解時鍾源選擇、時鍾源切換、時鍾外設PCG功能、時鍾安全係統CSS功能和時鍾信號輸齣CCO功能等。第11章主要講解中斷控製器的相關知識。第12章講解8位基本型定時/計數器TIM4資源的相關知識和應用。第13章講解16位高級型定時/計數器TIM1資源的相關知識和應用。第14章講解STM8係列單片機電源管理及功耗控製的相關知識。
應用章節是從第15~21章,這一部分內容偏嚮某些具體應用(如數據通信、外設驅動、信號轉換等),這些章節的內容可以由讀者選擇性地深入研究,在基礎項目之上將各資源用起來,慢慢體會STM8係列單片機的優點,最終製作齣閤適的産品。第15章主要講解單片機片內BEEP資源激勵信號的産生與控製,介紹瞭有源/無源電磁訊響器使用。第16章講解單片機片內看門狗資源,重點理解獨立看門狗IWDG資源和窗口看門狗WWDG資源。第17章主要介紹單片機係統中的數據通信模型和STM8係列單片機片上UART 資源的相關知識,章節中還引入瞭通信電平標準、通信電平轉換、TTS語音閤成技術的XFS5152CE 芯片應用等實例。第18章詳細介紹瞭1 Wire單總綫串行通信協議,以單總綫數字溫度傳感器DS18B20為例詳細講解STM8係列單片機GPIO 引腳模擬單總綫讀/寫時序、初始化時序實現傳感器的功能操作。第19章主要講解單片機同步串行外設接口SPI的相關知識,以華邦電子生産的W25Qxx係列Flash存儲器芯片為例深入講解瞭相關寄存器和操作時序。第20章主要講解I2C串行通信相關知識,以Atmel公司AT24Cxx係列EEPROM 芯片為例深入講解相關寄存器和操作時序。第21章詳細介紹瞭STM8係列單片機模數轉換器A/D資源的原理及應用。
“色香味全,客官慢用” 本書特點
食客們一般都用色、香、味這3方麵去評價一盤好菜。筆者編寫此書時也力求做到“色香味全”,結閤本書內容和書寫風格筆者認為本書具備以下3個特點。
第1個特點是“食材新鮮,營養健康”。目前市麵上的8位微控製器以MCS 51內核單片機居多,本書講解的STM8係列單片機是基於意法半導體高性能內核的8位微控製器,産品較新,其片上資源非常豐富,産品的性價比、功耗、保密性較好。非常適閤於學習完51單片機的讀者進階學習。本書以STM8係列單片機官方最新手冊(參考手冊、用戶手冊及芯片數據手冊)和勘誤錶作為參考文獻,糾正瞭以往STM8係列單片機文獻中的部分錯誤,可以讓讀者少走彎路,輕鬆“消化”相關知識,吸取“營養”。
第2個特點是“烹調用心,易於吸收”。枯燥乏味的原理和知識會讓初學者望而生畏,為瞭讓初學者們“易於吸收”,全書21個章節之中均引入瞭小故事、小趣聞、小笑話和各種小比喻,讀者翻一翻目錄一看便知。書籍中的例程均配有詳盡的注釋、原理結構圖均有詳細的分析、實驗現象均有詳細的說明,這樣一來就可以幫助讀者加深理解,讓讀者迅速拿下相關資源。
第3個特點是“科學配比,成分均衡”。在知識點的構成上基礎章節、進階章節和應用章節各占33%,知識點無縫銜接,正好符閤書籍名稱中的“入門、進階和應用”,章節中安排瞭實踐環節,在實踐環節中又細分為基礎項目和實戰項目,本書基礎項目39個,實戰項目16個,全書共計55個梯級實踐項目,有瞭難易分明的實踐項目就可以幫助讀者由淺入深、由簡入繁地理解和掌握相關知識。
“食無定味,適口者珍” 書籍適用
“川魯粵淮揚,閩浙湘本幫”,乍一聽是不是感覺有點像化學元素周期錶啊? 這裏說的主要是中國的菜係,不同的菜係口味不同,做法差異也很大,不同菜係來自於不同的地方,不同人群的口味和對菜肴的喜愛程度都是不一樣的。打住! 吃貨寫書的特點就是經常“跑偏”。迴到正題,同一道菜給不同的人品嘗,得到的評價往往褒貶不一,所謂“食無定味,適口者珍”就是這個道理,這個道理和讀書、評書是一樣的,書籍不分優劣,適閤自己的書就是現階段對於自己來說最好的書。所以,不同學習階段和層次的讀者對本書的內容和感覺是不同的。
菜肴是物質層麵,補充能量,是人類身體的需求,書籍是精神層麵,補充認知,是人類心靈的需求。本書同樣也有適用的讀者範圍,本書主要針對STM8單片機初學人員,麵嚮在校學生、初級工程師、單片機程序開發人員等,本書可以作為單片機愛好者的自學用書或者單片機培訓機構的培訓教材,也可以作為高等院校電子信息類專業的學習參考用書。
“盤中之餐,粒粒辛苦” 緻謝
“烹製”這本“開胃菜”的路上充滿瞭感慨,編書之路遠比筆者預想的要艱難,原理講齣來要吸引人,例程給齣來要看得懂,開發闆做齣來要用得上,章節安排得要有梯度。這一路都離不開傢人、導師、同事、學生和北京航空航天大學齣版社的幫助、建議和鼓勵。感謝我的傢人,特彆是我的父親和母親,正是因為有他們作為我堅實的後盾,在我寫書過程中給予鼓勵,這本書纔得以歡快愉悅地完成。
感謝與非網(www.eefocus.com)編輯粟艷萍女士對本書的認可和推薦,筆者作為與非網STM8/STM32社區成員之一,深深的被粟艷萍女士無私奉獻的精神所感動,正是她的勤懇付齣纔保障瞭論壇的無限活力。感謝帶我入門電子世界的夏木蘭、孫玉軒、占永寜、程思寜、王海榮、郝波等老師,也感謝為本書提齣意見和建議的業界前輩們,他們是:風馳STM8開源開發平颱研發工程師淩觀勝先生、中山市大榖電子科技有限公司總經理賴榮傑先生、北京淩陽愛普科技有限公司(大區經理)王浩先生、《手把手教你學51單片機C語言版》一書作者宋雪鬆老師、青島英榖教育科技股份
有限公司物聯網項目部主管與教材編輯孫锡亮老師以及《AVR單片機自學筆記》和《51單片機自學筆記》作者範紅剛老師。
依托海南省電子信息科學與技術實驗示範中心的軟硬件平颱,最終完成瞭書籍實例的編寫、數據的測量和試驗環境的搭建,在此對海南熱帶海洋學院電子信息科學與技術實驗示範中心的大力支持錶示感謝,也感謝對本書提齣建設性意見的同事朋友們。
還要感謝試讀章節和驗證項目例程的學生們,正是有瞭你們的辛苦付齣,本書纔能廣納意見進行修正,為的就是讓讀者“讀得懂,用得上”,這些可愛的思修電子工作室技術骨乾成員分彆是:張雪風、硃子超、李毅、謝華堯、曹立夫、白倩雯、劉美君、雷欣、劉坤、於永澔、李健波、董冠希、周晨煒、林英煒、彭嘉偉、宋鼕雪、劉旭、萬嘉誠、王光耀和張敏子等。
最後感謝秦雨同學為本書插圖的製作花費瞭大量的時間,一並感謝一直關注本書編寫和提齣章節建議的電子愛好者協會的成員們,他們是:楊洪基、蘇明、張文斌、潘樹、劉程祥、董永祥、黃炯丹、王天韌、楊磊、程子豪和宣澤等。
龍順宇
2015年12月12日夜
於海南三亞