本書從工程實踐的角度出發(fā),整理了作者在單片機學習、實踐中的大量經(jīng)驗,旨在引領讀者熟練應用STC公司*新的單片機。本書共20章,內(nèi)容由淺入深,由點到面:首先,從*基本的概念、開發(fā)工具入手,引領讀者走進單片機的大門,深入淺出地學習STC15單片機內(nèi)部資源(如定時器、中斷、串口)和經(jīng)典外圍電路(如LED、數(shù)碼管、按鍵、液晶、點陣、EEPROM、溫度傳感器、時鐘、紅外線解碼、收音機、觸摸按鍵、A/D、D/A),以及一些C語言和基礎電路的知識;其次,擴展了一些工程中常用的知識點,如模塊化編程、PCB、實時操作系統(tǒng)等;*后,以兩個工程項目為例,手把手教大家如何DIY一個屬于自己的“神器”——四軸飛行器,飛出單片機的大門。
為了方便讀者學習,特別錄制了配書視頻,同時所有的工程源碼采用模塊化編程,后面章節(jié)的程序,更是引入庫函數(shù)的概念,并且這些源碼可直接移植到以后的工作項目中,幫助讀者快速由初學者進階到高手的行列。本書還提供與之配套的單片機開發(fā)板,視頻、書籍、開發(fā)板三合一,真正做到理論、實踐相結合,達到事半功倍的效果。
本書適合剛接觸單片機的初學者自學,也可作為高等院校電子工程等相關專業(yè)的單片機教材和學生進行課程設計、畢業(yè)設計、電子競賽等的參考用書,以及電子工程技術人員的工程用書。
STC15單片機實戰(zhàn)指南(C語言版)》作者是EDNChina(電子技術設計)博客專家、Moore8(摩爾吧)金牌講師、ChinaAET(電子技術應用)網(wǎng)絡名師、lecfans(電子發(fā)燒友)社區(qū)之星。視頻教程為本書量身打造、與教材完全同步的教學視頻,共計5000分鐘,真正實現(xiàn)單片機學習從入門到精通。
(1)程序代碼提供書中全部100個案例的源代碼,所有源代碼均已通過驗證、調試,均可用于實際項目開發(fā)。
(2)教學課件提供全部20章完整的教學課件,經(jīng)過教師也工程師共同商定,有助于高校師生自學與教學。
。3)工具資料提供學習STC15單片機的常用免費開發(fā)工具、軟件、素材及其他大量學習資料。
(4)四軸飛行器提供軟件與硬件完全公開的四軸飛行器解決方案,首次公開寶貴的飛行器源碼,其中的四元數(shù)與歐拉角、PID、卡爾曼濾波等算法,值得讀者深入研究。
劉平,堅科技有限公司創(chuàng)始人。曾先后在珠海、深圳等地主持研發(fā)通信類、LCD顯示屏等多款產(chǎn)品,在嵌入式軟件和硬件電路設計方面有極為豐富的項目實戰(zhàn)經(jīng)驗。編著有《深入淺出玩轉51單片機》一書,并研發(fā)了與此書配套的“飛天一號”(MGMC-V2.0)51單片機開發(fā)板,并錄制配套的《31天環(huán)游單片機》視頻教程,此系列產(chǎn)品已獲得廣大網(wǎng)友和高校師生的肯定和好評。此外,還研發(fā)了“飛天二號”(FSST32)STM32實驗板、“飛天三號”(FSST15)開發(fā)板、基于STM32平臺的四軸飛行器“飛蜓一號”(FTST32)、基于STC15平臺的四軸飛行器“飛蜓二”(FTST15)。熱衷于電子技術分享,先后獲得以下網(wǎng)站榮譽稱號:EDNChina(電子技術設計)——博客專家(榮膺2015年度*佳博主獎);ChinaAET(電子技術應用)——網(wǎng)絡名師;Elecfans(電子發(fā)燒友)——社區(qū)之星;Moore8(摩爾吧)——金牌講師。
學習說明1
贊譽3
前言5
第一部分入門篇
第1章藉馬歇門,踏神圣路: 邁進STC15單片機的大門
1.1單片機概述
1.1.1單片機廠家簡介
1.1.2STC15單片機簡述
1.2為何要學習STC15單片機
1.3如何玩轉單片機
1.3.1做有準備的人
1.3.2經(jīng)驗分享
第2章欲善其事,必利其器: 軟硬件平臺的搭建和使用
2.1硬件平臺——FSST15開發(fā)板
2.1.1FSST15開發(fā)板功能框圖
2.1.2FSST15開發(fā)板基本配置
2.2開發(fā)環(huán)境——Keil μVision5
2.2.1Keil μVision5的安裝
2.2.2Keil μVision5中的工程創(chuàng)建過程
2.3我的第一個程序——點亮LED
2.4輔助開發(fā)工具
2.4.1CH340驅動的安裝
2.4.2單片機編程軟件——STCISP
2.5課后學習
第二部分初級篇
第3章端倪初現(xiàn),小試牛刀: 基本元器件與LED
3.1電阻的應用概述
3.1.1初識電阻
3.1.2電流與電阻的關系
3.2電容的應用概述
3.2.1初識電容
3.2.2電容的用途
3.2.3實例解說儲能和濾波
3.3二極管的應用概述
3.3.1二極管的特性
3.3.2二極管的應用
3.3.3發(fā)光二極管
3.4三極管應用概述及使用誤區(qū)
3.4.1三極管的基本開關電路
3.4.2開關三極管的使用誤區(qū)
3.5MOS管的應用概述
3.5.1MOS管基礎
3.5.2MOS管的應用
3.6運算放大器的基本應用
3.6.1負反饋
3.6.2同相放大電路
3.6.3反相放大電路
3.7STC15系列單片機的I/O口概述
...
3.8LED的原理解析
3.8.1LED的原理說明
3.8.2LED的硬件電路
3.9LED的應用實例
3.9.1LED閃爍實例
3.9.2LED跑馬燈實例
3.9.3LED流水燈實例
3.10課后學習
第4章排兵布陣,步步扣殺: 模塊化編程
4.1夯實基礎——數(shù)值的換算以及邏輯運算
...
4.2簡述單片機的開發(fā)流程
4.3Keil5的進階應用——建模
4.4單片機的模塊化編程
...
4.5模塊化編程的應用實例
4.6課后學習
第5章點段融合,一氣呵成: C語言的編程規(guī)范與數(shù)碼管的應用
5.1夯實基礎——C語言的編程規(guī)范
...
5.2基于STC15的單片機最小系統(tǒng)
...
5.3數(shù)碼管的原理解析
...
5.4數(shù)碼管的應用實例
...
5.5課后學習
第6章審時度勢,伺機而動: C語言的數(shù)據(jù)類型與定時器的應用
6.1夯實基礎——C語言的數(shù)據(jù)類型
...
6.2STC15單片機的內(nèi)部結構
...
6.3STC15單片機的定時器/計數(shù)器
...
6.4IAP15W4K58S4單片機的可編程時鐘輸出
6.5定時器和時鐘輸出應用實例
...
6.6課后學習
第7章當斷不斷,反受其亂: C語言的條件判斷語句與中斷系統(tǒng)
7.1夯實基礎——C語言的條件判斷語句
7.1.1if…else語句
7.1.2switch…case語句
7.2單片機省電模式和看門狗的應用
7.2.1省電模式
7.2.2看門狗
7.2.3LED燈閃爍是因為“狗”餓了
7.2.4要讓系統(tǒng)運行正常必須實時“喂狗”
7.3單片機的中斷系統(tǒng)
7.3.1單片機中斷的產(chǎn)生背景和響應過程
7.3.2單片機中斷系統(tǒng)的框架和中斷源
7.3.3單片機中斷系統(tǒng)的寄存器
7.3.4簡單中斷應用實例及與中斷函數(shù)有關的知識點
7.3.5中斷系統(tǒng)的優(yōu)先級
7.4中斷系統(tǒng)的應用實例
7.4.1數(shù)碼管動態(tài)顯示的基本應用實例
7.4.2數(shù)碼管動態(tài)刷新的改進與消影
7.5課后學習
第8章舉一反三,一呼百應: C語言的循環(huán)語句與串口的應用
8.1夯實基礎——C語言的循環(huán)語句
8.1.1while循環(huán)
8.1.2do…while循環(huán)
8.1.3for循環(huán)
8.2通信接口模塊
8.2.1通信接口的基本分類
8.2.2串行通信概述
8.3IAP15W4K58S4單片機的串行接口
8.3.1與串行通信相關的基本寄存器
8.3.2串口1的工作模式
8.3.3串口1工作模式1的波特率計算
8.3.4串口1的應用實例
8.4RS232通信接口概述
8.4.1RS232C串口通信標準與接口定義
8.4.2RS232C通信接口的電平轉換
8.5USB轉串口通信
8.6通過串口實現(xiàn)數(shù)據(jù)互傳的應用實例
8.7課后學習
第9章穩(wěn)扎穩(wěn)打,步步為營: C語言的數(shù)組、字符串與按鍵的應用
9.1夯實基礎——C語言的數(shù)組、字符串
...
9.2IAP15W4K58S4單片機的可編程計數(shù)器陣列
...
9.3按鍵的處理方法
...
9.4獨立按鍵掃描方法及消抖原理
...
9.5矩陣按鍵的掃描方法和狀態(tài)機
...
9.6.1行掃描法的矩陣按鍵應用實例
9.6.2高低電平翻轉法的矩陣按鍵應用實例
9.6.3基于狀態(tài)機的矩陣按鍵應用實例
9.7課后學習
第10章包羅萬象,森然洞天: C語言的函數(shù)與液晶的基本應用
10.1夯實基礎——C語言的函數(shù)
10.1.1函數(shù)的定義和應用
10.1.2函數(shù)的分類及命名規(guī)則
10.2Keil5的軟件仿真、硬件仿真及延時
...
10.31602液晶的應用概述
...
10.41602液晶的應用實例
10.4.11602液晶移屏指令
10.4.2液晶CGRAM的操作實例
10.4.3串口和1602液晶的綜合應用實例
10.5課后學習
第11章沙場點兵,見風使舵: C語言的指針與LED點陣屏的應用
11.1夯實基礎——C語言的指針
11.1.1指針的基本用法
11.1.2指針與數(shù)組
11.1.3指針與函數(shù)
11.2同步串行外圍接口(SPI)的應用概述
...
11.3LED點陣屏的原理及應用
...
11.4LED點陣屏的應用實例
11.4.1通過移屏方式顯示字符——IU
11.4.2LED點陣屏的移屏簡易算法
11.5課后學習
第三部分中級篇
第12章一脈相承,本源同宗: I2C總線與庫開發(fā)
12.1I2C總線的通信協(xié)議
...
12.2AT24C02的基本應用
...
12.3復合數(shù)據(jù)類型
...
12.4STC15系列單片機內(nèi)部E2PROM的應用
12.4.1與單片機內(nèi)部E2PROM有關的寄存器
12.4.2單片機內(nèi)部E2PROM的應用實例
12.5庫函數(shù)與應用實例
12.5.1STC15系列庫函數(shù)
12.5.2庫函數(shù)的應用實例
12.6課后學習
第13章重巒疊嶂,矩陣方形: PWM的初步認識與相關應用
13.1PWM的初步認識
13.2利用可編程計數(shù)陣列產(chǎn)生PWM
...
13.3增強型高精度PWM的基本應用
13.3.1與高精度PWM相關的功能寄存器
...
13.4常用的電動機驅動方式
...
13.5三種常用電動機的驅動方法
...
13.6課后學習
第14章亦步亦趨,咫尺天涯: 數(shù)模(D/A)與模數(shù)(A/D)的轉換
14.1D/A和A/D轉換的初步介紹
14.1.1D/A轉換原理
14.1.2A/D轉換原理
14.2STC15單片機內(nèi)部的ADC
14.2.1STC15系列單片機內(nèi)部ADC的結構
14.2.2與ADC有關的寄存器
14.2.3ADC的簡單應用實例
14.3基于ADC的獨立按鍵檢測
14.4電容感應式觸摸按鍵(PWM+ADC)
14.5基于PWM與RC濾波器的SPWM
14.6課后學習
第15章狂風暴雨,定海神針: 邏輯分析儀與紅外編解碼
15.1Saleae邏輯分析儀
15.1.1示波器和邏輯分析儀的比較
15.1.2邏輯分析儀的工作原理和分類
15.1.3邏輯分析儀概述
15.1.4Saleae邏輯分析儀的使用步驟
15.2紅外遙控的原理
15.3紅外解碼過程分析
15.4紅外解碼的具體實現(xiàn)例程
15.5紅外編碼與發(fā)射的過程分析
15.6紅外編碼與發(fā)射的應用例程
15.7課后學習
第16章有的放矢,運籌帷幄: RTX51 Tiny實時操作系統(tǒng)
16.1實時操作系統(tǒng)概述
16.2RTX51 Tiny操作系統(tǒng)
...
16.3RTX51 Tiny的應用實例
16.3.1流星慧燈(基于RTX51 Tiny)
16.3.2簡易交通燈(基于RTX51 Tiny)
16.4課后學習
第17章按圖索驥,彗泛畫涂: PCB的基本知識與軟件學習
17.1PCB設計流程
17.2PCB特性與設計規(guī)則
...
17.3繪制PCB的軟件介紹
...
17.4課后學習
第四部分高級篇
第18章范水模山,雙管齊下: 串口擴展與一鍵自動下載項目
18.1軟件模擬串口應用實例
...
18.2一鍵自動下載項目的功能要求與設計思想
18.3一鍵自動下載項目的硬件電路設計
...
18.4一鍵自動下載項目的軟件編程
18.5課后學習
第19章地無遺利,心隨你動: 項目開發(fā)與多功能收音機
19.1RDM項目管理作業(yè)流程
19.1.1項目要求與需求分析
19.1.2項目立項與評估
19.1.3項目分工和總體的結構框架
19.2技術準備與難關突破
19.3溫度傳感器——LM75A
...
19.4實時時鐘——PCF8563T
...
19.5程序總體框架和功能劃分
19.6各個子功能和總體程序的編寫
19.7課后學習
第20章天上天下,唯它獨尊: PID算法與四軸飛行器的設計
20.1PID算法
20.1.1PID算法概述
20.1.2PID算法的分類與應用實例
20.1.3位置式PID算法
20.2四軸飛行器硬件模型的建立
20.2.1搭建四軸飛行器的主板
20.2.2搭建四軸飛行器的遙控器
20.3四軸飛行器的軟件算法
20.3.1四軸飛行器的運行狀況與電動機轉動的關系
20.3.2PID控制電動機的參數(shù)整定
20.3.3四元數(shù)與濾波算法
20.4四軸飛行器主板的綜合程序
20.5四軸飛行器遙控器的綜合程序
20.6課后學習