第1章STM8單片機(jī)1
1.1什么是單片機(jī)1
1.2單片機(jī)都能干什么2
1.3學(xué)單片機(jī)一定要從51單片機(jī)開始嗎2
1.4STM8單片機(jī)的家族成員介紹3
1.4.1STM8S單片機(jī)的型號(hào)列表3
1.4.2如何查看STM8單片機(jī)數(shù)據(jù)手冊(cè)4
1.5本書的主角STM8S208RB5
第2章學(xué)STM8單片機(jī)都需要準(zhǔn)備什么7
2.1STM8單片機(jī)程序開發(fā)環(huán)境7
2.1.1STVD開發(fā)環(huán)境安裝7
2.1.2CXSTM8編譯器的安裝7
2.1.3CXSTM8的注冊(cè)10
2.1.4STVD和CXSTM8牽手10
2.1.5如何創(chuàng)建自己的第一個(gè)工程12
2.2實(shí)驗(yàn)設(shè)備16
2.2.1本書中的實(shí)驗(yàn)開發(fā)板16
2.2.2USB轉(zhuǎn)串口下載線20
2.2.3STLink仿真器21
2.3C語(yǔ)言你OK了嗎22
2.3.1C語(yǔ)言的四梁八柱C語(yǔ)言程序的基本結(jié)構(gòu)22
2.3.2C語(yǔ)言的基本字符、標(biāo)識(shí)符和關(guān)鍵字23
2.3.3C語(yǔ)言中的基本數(shù)據(jù)類型24
2.3.4C語(yǔ)言中的運(yùn)算符及其優(yōu)先級(jí)24
2.3.5利益共同體函數(shù)25
2.3.6物以類聚說(shuō)數(shù)組26
2.3.7指桑罵槐言指針27
2.3.8結(jié)構(gòu)體27
2.3.9共用體28
2.3.10枚舉類型取值29
2.4古老神燈閃爍實(shí)驗(yàn)全過(guò)程29
2.4.1硬件電路介紹29
2.4.2建工程編程序31
2.4.3將程序下載到STM8內(nèi)32
第3章STM8單片機(jī)的觸角I/O口的應(yīng)用36
3.1玩轉(zhuǎn) I/O口必備的五器36
3.1.1懸浮與上拉38
3.1.2開漏與推挽38
3.2LED孤獨(dú)地閃著40
3.3跑馬燈是怎么跑的41
3.3.1應(yīng)用switchcase語(yǔ)句設(shè)計(jì)跑馬燈42
3.3.2用for循環(huán)遛馬44
3.3.3數(shù)組與萬(wàn)能流水燈45
3.4STM8控制數(shù)碼管46
3.4.1STM8直接驅(qū)動(dòng)一個(gè)數(shù)碼管47
3.4.2STM8控制8個(gè)數(shù)碼管48
3.5獨(dú)立按鍵的應(yīng)用51
3.5.1啟用內(nèi)部上拉檢測(cè)按鍵狀態(tài)51
3.5.2浮空輸入 外部上拉檢測(cè)按鍵狀態(tài)54
3.6使用固件庫(kù)點(diǎn)亮神燈55
3.6.1什么是固件庫(kù)55
3.6.2建立第一個(gè)包含庫(kù)的工程55
3.6.3神燈再亮引出的固件庫(kù)中的那些知識(shí)56
第4章時(shí)鐘控制器64
4.1STM8的3顆心臟64
4.1.1外部晶體/陶瓷諧振器和外部時(shí)鐘信號(hào)64
4.1.2高速內(nèi)部RC振蕩器(HSI)65
4.1.3低速內(nèi)部RC振蕩器(LSI)65
4.2HSI作為主時(shí)鐘源66
4.2.1HSI分頻寄存器66
4.2.2心律不齊的LED67
4.3HSE作為主時(shí)鐘源69
4.3.1自動(dòng)切換時(shí)鐘源70
4.3.2手動(dòng)切換時(shí)鐘源75
4.4LSI作為主時(shí)鐘源79
4.5打造不死之身時(shí)鐘安全系統(tǒng)(CSS)82
4.6可配置時(shí)鐘輸出功能85
第5章STM8片外告急外部中斷的應(yīng)用87
5.1中斷的意義及程序執(zhí)行的過(guò)程87
5.2STM8S208RB有哪些中斷源88
5.2.1無(wú)法阻擋的家伙不可屏蔽中斷89
5.2.2任人宰割的特使可屏蔽中斷90
5.3誰(shuí)可以中斷誰(shuí)90
5.3.1人人平等非嵌套模式90
5.3.2軟實(shí)力與硬實(shí)力誰(shuí)更硬嵌套中斷模式91
5.4細(xì)說(shuō)外部中斷4器93
5.4.1CPU條件寄存器CCR93
5.4.2軟件優(yōu)先級(jí)寄存器ITC_SPRx93
5.4.3外部中斷控制寄存器EXTI_CR1與EXTI_CR294
5.5外部中斷應(yīng)用之獨(dú)立按鍵95
5.5.1直接設(shè)置寄存器方式96
5.5.2庫(kù)函數(shù)方式99
5.6中斷嵌套101
5.6.1非嵌套模式101
5.6.2中斷嵌套模式105
5.6.3為什么在中斷中關(guān)總中斷失靈108
第6章定時(shí)器家族中的小四兒TIM4113
6.1TIM4定時(shí)器是怎么工作的113
6.1.1為TIM4工作提供心跳的時(shí)鐘源113
6.1.2TIM4定時(shí)工作過(guò)程114
6.2TIM4相關(guān)寄存器115
6.2.1控制寄存器1(TIM4_CR1)115
6.2.2中斷使能寄存器(TIM4_IER)117
6.2.3狀態(tài)寄存器(TIM4_SR)117
6.2.4事件產(chǎn)生寄存器(TIM4_EGR)118
6.2.5計(jì)數(shù)器(TIM4_CNTR)118
6.2.6預(yù)分頻寄存器(TIM4_PSCR)118
6.2.7自動(dòng)重裝載寄存器(TIM4_ARR)118
6.3定時(shí)500 ms讓LED閃起來(lái)119
6.3.1寄存器方式119
6.3.2庫(kù)函數(shù)方式121
6.4簡(jiǎn)易數(shù)字時(shí)鐘122
第7章定時(shí)器家族中的大哥大TIM1127
7.1應(yīng)用TIM1的定時(shí)功能產(chǎn)生1 Hz方波信號(hào)127
7.1.1產(chǎn)生方波信號(hào)的程序設(shè)計(jì)思想127
7.1.2初始化TIM1的具體步驟127
7.1.3單片機(jī)I/O口的設(shè)置步驟129
7.1.4寄存器方式的完整程序130
7.1.5庫(kù)函數(shù)方式完整程序132
7.2計(jì)數(shù)功能會(huì)數(shù)數(shù)的TIM1133
7.2.1外部時(shí)鐘源模式1從捕獲/比較通道數(shù)數(shù)133
7.2.2外部時(shí)鐘源模式2從外部觸發(fā)引腳數(shù)脈沖數(shù)138
7.3輸入捕獲測(cè)量周期和占空比142
7.3.1輸入捕獲概述142
7.3.2捕獲輸入信號(hào)進(jìn)入單片機(jī)后的走向142
7.3.3測(cè)量方波信號(hào)的周期144
7.3.4測(cè)量PWM信號(hào)的占空比153
7.4輸出比較TIM1產(chǎn)生的那些波形164
7.4.1PWM輸出165
7.4.2輸出模塊165
7.4.3PWM控制直流電機(jī)轉(zhuǎn)速166
7.4.4單脈沖在調(diào)光燈中的應(yīng)用178
7.4.5產(chǎn)生3路SPWM信號(hào)187
7.5編碼器接口190
7.5.1編碼器原理190
7.5.2電路圖192
7.5.3程序代碼193
第8章通用串行接口UART的應(yīng)用198
8.1UART配置步驟及通信過(guò)程198
8.1.1發(fā)送器的配置及單字節(jié)通信過(guò)程198
8.1.2接收器的配置及單字節(jié)通信過(guò)程199
8.2STM8單片機(jī)與PC機(jī)之間通信200
8.2.1硬件電路圖201
8.2.2直接操作寄存器方式的程序201
8.2.3采用庫(kù)函數(shù)方式的程序203
第9章模數(shù)轉(zhuǎn)換器的應(yīng)用207
9.1模擬世界與數(shù)字世界207
9.1.1何為模擬、何為數(shù)字207
9.1.2模擬量與數(shù)字量是怎么轉(zhuǎn)換的208
9.2STM8單片機(jī)的北冥神功是如何練成的209
9.2.1主要功能209
9.2.2A/D轉(zhuǎn)換過(guò)程209
9.3簡(jiǎn)易數(shù)字電壓表212
9.3.1硬件電路212
9.3.2寄存器方式實(shí)現(xiàn)的程序代碼212
9.3.3庫(kù)函數(shù)方式實(shí)現(xiàn)的程序代碼216
9.4PC機(jī)上繪圖顯示聲音信號(hào)220
第10章同步串行SPI接口的應(yīng)用224
10.1互換信物SPI的傳輸原理224
10.2SPI接口應(yīng)用舉例225
10.2.1查詢法實(shí)現(xiàn)兩個(gè)單片機(jī)的SPI接口之間通信225
10.2.2中斷法實(shí)現(xiàn)兩個(gè)單片機(jī)的SPI接口之間通信231
10.2.3加入CRC功能實(shí)現(xiàn)兩個(gè)單片機(jī)的SPI接口通信237
第11章I2C總線接口的應(yīng)用243
11.1I2C總線接口簡(jiǎn)介243
11.2I2C總線是怎么工作的244
11.3兩個(gè)STM8單片機(jī)之間通信246
11.3.1硬件電路圖246
11.3.2建立工程246
11.3.3程序流程分析248
11.3.4程序代碼249
11.3.5通信時(shí)序圖262
11.4STM8單片機(jī)的I2C總線控制EEPROM存儲(chǔ)器AT24C256263
11.4.1AT24C256非易失性EEPROM存儲(chǔ)器簡(jiǎn)介264
11.4.2硬件電路圖268
11.4.3建立工程268
11.4.4EEPROM操作函數(shù)273
11.4.5程序流程275
第12章STM8補(bǔ)充知識(shí)277
12.1操作STM8內(nèi)部EEPROM277
12.1.1存儲(chǔ)器組織結(jié)構(gòu)277
12.1.2存儲(chǔ)器存取安全系統(tǒng)(MASS)277
12.1.3隨時(shí)保存狀態(tài)的流水燈278
12.2什么是Option Byte283
12.2.1選項(xiàng)字節(jié)描述284
12.2.2使用STVP修改OPT287
12.2.3通過(guò)程序修改OPT289
12.3綠色節(jié)能從STM8做起STM8電源管理290
12.3.1常規(guī)降低功耗的辦法291
12.3.2STM8低功耗模式291
12.3.3附加的模擬功耗控制293
12.4自動(dòng)喚醒(AWU)294
12.5簡(jiǎn)單實(shí)用的Beep300
12.6看門狗304
12.6.1獨(dú)立看門狗304
12.6.2窗口看門狗309
附錄Cosmic編譯器317
參考文獻(xiàn)322