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