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