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