深入淺出STC8增強型51單片機進階攻略

龍順宇

  • 深入淺出STC8增強型51單片機進階攻略-preview-1
  • 深入淺出STC8增強型51單片機進階攻略-preview-2
  • 深入淺出STC8增強型51單片機進階攻略-preview-3
深入淺出STC8增強型51單片機進階攻略-preview-1

買這商品的人也買了...

商品描述

本書以宏晶科技公司STC8系列增強型51單片機作為講述核心,深入淺出地介紹該系列單片機片內資源及應用,其內容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列單片機中應用。本書以各種巧例解釋相關原理,以資源組成構造學習脈絡,選取主流開發工具構建開發環境,利用實戰項目深化寄存器理解,註重“學”與“用”的結合,幫助讀者朋友們快樂入門、進階,築牢基礎,將相關理論知識應用到實際產品研發之中。 本書根據STC8系列單片機的資源脈絡及初學者的學習需求,按照梯度設定22章,從內容組成上分為“無痛入門基礎篇”和“片內資源進階篇”。 無痛入門基礎篇從第1章到第8章,主要講解單片機的發展、學習方法、STC8系列單片機家族成員、軟/硬件開發環境搭建及調試、I/O資源使用和配置、LED器件控制、A51和C51語言開發差異及特點、常見字符/點陣型液晶模塊的驅動、獨立按鍵/矩陣鍵盤交互編程的相關知識和應用。 片內資源進階篇從第9章到第22章,主要講解單片機的內部存儲器資源、時鐘源配置、中斷源配置、基礎型定時/計數器、高級型定時/計數器、UART異步通信接口、SPI同步串行外設接口、I2C串行通信、模數轉換器A/D資源、電壓比較器資源、片內看門狗資源、電源管理及功耗控制、ISP/IAP應用、EEPROM編程和RTX51實時操作系統的相關知識及應用。 本書可作為應用型高等院校電子信息類相關專業的授課教材或教輔用書,也可作為技術院校、單片機培訓機構、電子協會、社團和電子類學科競賽的輔助教材,還可以作為工程技術人員和單片機愛好者的自學參考用書。

目錄大綱

無痛入門基礎篇

第1章“麻雀雖小,五臟俱全”開門見山講單片機

1.1“一沙一起源,一芯一世界”集成電路的國度

1.2追尋電子界的神物“七竅玲瓏芯”

1.3“師傅領進門,修行靠個人”單片機的修行路

1.3.1“戒躁求實”入行準備

1.3.2“根骨奇佳”電子基礎

1.3.3“能說會道”編程語言

1.3.4“武功秘籍”學習資源

1.3.5“武器裝備”實踐平臺

1.3.6“內功心法”學習方法

1.4小宇老師的“毒雞湯”和大學寄語

第2章“國芯科技,百花齊放”STC增強型8051單片機

2.1宏晶科技20載,STC家的微控制器

2.2“大白話”單片機啥參數,咋選型

2.3“經典創新”STC89/STC90系列單片機

2.4“實力強者”STC15系列單片機

2.5“再推新寵”STC8/STC16系列單片機

2.6“主角上場”搭建可靠的STC8最小系統

2.6.1看懂單片機引腳分類和功能

2.6.2電源單元很重要

2.6.3下載電路不可少

2.6.4復位電路要搞好

2.6.5時鐘電路真奇妙

2.6.6接口外圍要配套

第3章“搭築高臺,唱出好戲”軟硬結合產出利器

3.1“摶土成人”量身打造STC專屬硬件平臺

3.1.1細說開發板的“那些事”

3.1.2思修電子STC“戰將”系列開發平臺簡介

3.2“塑造靈魂”軟件環境搭建與工程配置

3.2.1主流IDE之Keil C51簡介

3.2.2單文件與模塊化工程建立方法及比較

3.3“形神合一”程序燒錄與軟硬聯調

3.3.1如何用STCISP軟件燒錄程序

3.3.2單片機自己能當模擬器,你逗我

3.3.3官方聯機/離線編程器STCU8W咋用

3.4“百寶之箱”話說STCISP的那些妙用

3.4.1官方信息獲取可以這麽簡單

3.4.2資源配置與調試居然有助攻

3.4.3固件升級可以自定發布程序

3.4.4居然妄想截獲串口程序明碼

3.5“望聞問切”參數測試與時序分析

3.5.1常規電參好工具“萬用表”

3.5.2信號觀察好搭檔“示波器”

3.5.3數據分析好幫手“邏輯分析儀”

第4章“五指琴魔,智能樂章”I/O資源配置及運用

4.1“Play it!”彈奏單片機的智能樂章

4.2初識STC8系列單片機引腳資源

4.3引腳內部結構及模式特性

4.3.1如何理解準雙向/弱上拉埠

4.3.2如何理解推輓/強上拉埠

4.3.3如何理解高阻輸入

4.3.4如何理解開漏輸出

4.4玩轉7類寄存器拿下I/O資源配置

4.4.1引腳模式如何配

4.4.2附加功能有哪些

4.5如何處理不同系統I/O電平標準及轉換

4.5.1基於SN74LVC8T245做單向8通道電平轉換

4.5.2基於SN74LVC16T245做單向16通道電平轉換

4.5.3基於TXB0108做雙向標準I/O電平轉換

4.5.4基於TXS0108做雙向開漏I/O電平轉換

4.6疏忽引腳電氣特性險些釀成“悲劇”

4.7I/O引腳配置及模式驗證

4.7.1基礎項目A“點燈”觀察各模式拉灌電流差異

4.7.2基礎項目B“隔空感應”的高阻態魔術燈

4.7.3進階項目A巧用開漏模式做“觸摸”控制燈

第5章“光電世界,自信爆棚”初階LED器件運用

5.1瞬間自信心爆棚的入門經典“流水燈”

5.1.1為什麽入門經典總是“點燈實驗”

5.1.2發光二極管結構及電氣特性

5.1.3基礎項目A左移/右移/花樣流水燈

5.2“火柴棍游戲”說數碼管原理

5.2.1數碼管組成結構及分類

5.2.2基礎項目B一位數碼管0~F顯示實驗

5.2.3基礎項目C分散引腳一位數碼管驅動實驗

5.3多位數碼顯示及專用芯片方案

第6章“各有所長,百花齊放”編程語言/方式及平臺

6.1爭論不休的匯編和C最後誰贏了

6.2經典語言不同方式下的流水燈實驗對比

6.2.1“厲害了”我的Keil C51代碼優化器

6.2.2基礎項目A基於C51語言“位運算法”效果

6.2.3基礎項目B基於C51語言“數組法”效果

6.2.4基礎項目C基於C51語言“Keil標準庫函數法”效果

6.2.5基礎項目D基於A51語言的效果

6.3在Keil C51環境中匯編和C代碼居然能“混編”

6.4思維拓展: “寄存器/庫函數開發方式”是啥

6.5眼界拓展: 居然會有“圖形化”的單片機開發工具

6.6平臺拓展: 那些不能不玩的創客拓展平臺

6.6.1積木Arduino平臺的C/C++編程及風格

6.6.2國產“神器”51duino/STMduino運動控制驅動平臺

6.6.3開源PYboard平臺的MicroPython編程及風格

第7章“點、線、面的藝術”字符點陣液晶屏運用

7.1單片機人機交互中的顯示單元

7.1.1常見的單片機顯示方案選擇

7.1.2神奇的單片機“顯卡”

7.2字符型1602液晶模塊

7.2.1模塊功能引腳定義

7.2.2讀/寫時序及程序實現

7.2.3液晶功能配置命令

7.2.4基礎項目A字符+進度+移屏+組合顯示實驗

7.2.5進階項目A四線驅動1602節省I/O實驗

7.3圖形/點陣型12864液晶模塊

7.3.1模塊功能引腳定義

7.3.2讀/寫時序及程序實現

7.3.3液晶功能配置命令

7.3.4漢字坐標與繪圖坐標

7.3.5基礎項目B12864液晶字符、漢字顯示實驗

7.3.6基礎項目C12864液晶進度條動畫效果

7.3.7進階項目B兩線驅動12864節省I/O實驗

7.3.8進階項目C兩線串行模式正弦波打點繪圖

第8章“0101,我是鍵碼!”按鍵及編碼開關運用

8.1人機交互常規輸入器件簡介及使用

8.1.1輕觸按鍵分類及結構

8.1.2輕觸按鍵電壓波形

8.1.3按鍵信號“去抖動”方法

8.2獨立按鍵編程及應用

8.2.1基礎項目A獨立按鍵檢測與控制實驗

8.2.2進階項目A長/短按鍵動作識別實驗

8.2.3進階項目B單/雙擊按鍵動作識別實驗

8.2.4進階項目C組合按鍵動作識別實驗

8.3行列式矩陣鍵盤結構及應用

8.3.1基礎項目B“線反轉式”鍵值解析實驗

8.3.2進階項目D分散引腳4×4矩陣解析實驗

8.4“擰不到頭的怪旋鈕”旋轉編碼器

8.4.1“怪旋鈕”簡介及運用

8.4.2進階項目E編碼器EC11增減計數實驗

8.5“參數配置好幫手”BCD編碼開關

8.5.1“小開關”可得2n個編碼狀態

8.5.2基礎項目C擋位調整及顯示實驗

片內資源進階篇

第9章“高樓大廈,各有功用”存儲器結構及功能

9.1存儲器難道不是“雞肋”知識點嗎

9.2讓人“頭疼不已”的8032微控制器時代

9.3你若是校長,教學樓和宿舍樓怎麽修

9.4“宿舍區”就類似於程序存儲器ROM

9.5“教學區”就類似於數據存儲器RAM

9.6在Keil C51中看似“無用”的配置項

9.7藏匿於存儲器單元中的“特殊”參數

9.7.1基礎項目A讀取STC8系列單片機的“身份證”號

9.7.2基礎項目B片內Bandgap電壓是多少

第10章“內藏三心,堅實比金”時鐘源配置及運用

10.1“唐僧的心”說STC8時鐘源形式及特點

10.2小宇老師的STC8“時鐘樹”

10.3如何利用STCISP工具輕松調配主時鐘頻率

10.4選擇片外時鐘源作為系統主時鐘

10.5選擇片內時鐘源作為系統主時鐘

10.5.1STCISP是如何調節IRC頻率的呢

10.5.2基礎項目C配置片內高速時鐘及分頻實驗

10.5.3基礎項目D配置片內低速時鐘及分頻實驗

10.6實用的時鐘信號輸出“CCO”功能

第11章“輕重緩急,有條不紊”中斷源配置及運用

11.1用“生活場景”弄明白“中斷”那些事

11.2單片機中斷機制的名詞解釋及意義

11.3細說STC8系列單片機的中斷資源

11.3.1“四大類”理清中斷源劃分

11.3.2“抓脈絡”看懂中斷資源結構

11.3.3“消消樂”方法降低中斷學習難度

11.3.4“四大步”解決中斷流程及寄存器配置

11.4查詢法和中斷法下的編程對比

11.4.1基礎項目A查詢法實現鍵控燈實驗

11.4.2基礎項目B中斷法實現鍵控燈實驗

第12章“老和尚捻珠數羊”基礎型定時計數器運用

12.1軟件延時法與軟件計數法

12.2單片機定時/計數器本質及區分

12.3基礎型T/C資源簡介及配置

12.3.1T0資源模式配置及計算

12.3.2T1資源模式配置及計算

12.3.3T2資源模式配置及計算

12.3.4T3/T4資源模式配置及計算

12.4基礎型T/C資源編程及運用

12.4.1利用STCISP輕松運用T/C資源

12.4.2基礎項目A自定義1Hz信號輸出實驗

12.4.3基礎項目BT4時鐘輸出功能實驗

12.4.4基礎項目C基於NE555製作方波信號發生器

12.4.5基礎項目D外部脈沖計數實驗

第13章“捕獲比較,功能王者”高級型定時/計數器運用

13.1為啥會有高級型T/C資源

13.2“小菜一碟”定時功能

13.2.1PWMA資源時基單元結構

13.2.2定時功能配置流程及相關寄存器簡介

13.2.3基礎項目A分擋輸出1Hz1kHz10kHz方波實驗

13.3“輕松拿下”計數功能

13.3.1外部時鐘源模式1計數功能

13.3.2模式1配置流程及相關寄存器簡介

13.3.3基礎項目B捕獲/比較通道脈沖計數實驗

13.3.4外部時鐘源模式2計數功能

13.3.5模式2配置流程及相關寄存器簡介

13.3.6基礎項目C外部觸發引腳脈沖計數實驗

13.4輸入捕獲之“輕松測量”信號周期及占空比

13.4.1談談方波信號的頻率及占空比測量

13.4.2PWMA資源的輸入捕獲功能

13.4.3周期測量功能配置流程

13.4.4基礎項目D簡易1kHz~1MHz方波信號頻率計

13.4.5PWM信號占空比測量

13.4.6什麽是復位觸發模式

13.4.7占空比測量功能配置流程

13.4.8基礎項目E簡易PWM信號占空比測量實驗

13.5“靈活自由”的輸出比較功能

13.5.1輸出比較功能結構及用途

13.5.2什麽叫作“邊沿對齊”方式

13.5.3怎麽理解“中間對齊”方式

13.5.4邊沿/中間對齊PWM輸出配置流程

13.5.5基礎項目F邊沿對齊方式4路PWM信號輸出

13.5.6基礎項目G中間對齊方式4路PWM信號輸出

第14章“你來我往,烽火傳信”串行通信及UART運用

14.1“烽火戲諸侯”說單片機數據通信

14.2單片機數據通信基礎知識鋪墊

14.2.1單片機並行通信

14.2.2單片機串行通信

14.2.3串行通信位同步方式

14.2.4串行通信數據傳送方式

14.2.5收發時鐘及通信速率

14.2.6串行通道數據編碼格式

14.2.7串口通信電平標準及適配

14.2.8常用串行通信接口

14.3UART資源簡介及配置

14.3.1串口寄存器分類及串口1配置

14.3.2工作模式0: “偽通信”串/並轉換模式

14.3.3工作模式1: “181”結構可變速率模式

14.3.4工作模式2: “1811”結構固定速率模式

14.3.5工作模式3: “1811”結構可變速率模式

14.3.6串口2模式講解與配置

14.3.7串口3模式講解與配置

14.3.8串口4模式講解與配置

14.3.9用STCISP輕松搞定串口初始化配置

14.4UART資源編程及運用

14.4.1基礎項目A串口打印單片機“身份證號”實驗

14.4.2基礎項目B重定向使用printf()函數實驗

14.4.3基礎項目C多串口切換printf()輸出實驗

14.4.4進階項目A上/下位機單字節命令交互實驗

14.4.5進階項目B自製“AT指令集”串口交互實驗

第15章“擊鼓聲響,雙向傳花”串行外設接口SPI運用

15.1“擊鼓傳花”說SPI“玩法”

15.2SPI資源介紹及運用

15.2.1主從“角色”如何配置

15.2.2SPI通信的三種方式

15.2.3數據幀結構怎麽選

15.2.4時鐘極性和相位是什麽含義

15.2.5基礎項目A三線SPI接口雙機通信實驗

15.3初識華邦/兆易創新25Qxx系列存儲顆粒

15.3.1W25Qxx系列存儲顆粒概述

15.3.2W25Qxx系列存儲顆粒“控制和狀態寄存器”

15.3.3W25Qxx系列存儲顆粒功能指令詳解

15.3.4進階項目A串口打印W25Q16存儲器芯片器件ID

15.3.5進階項目BW25Q16存儲芯片數據讀寫實驗

第16章“大老爺升堂,威武!”串行總線接口I2C運用

16.1“大老爺升堂問案”說I2C“玩法”

16.2初識標準I2C總線協議

16.2.1“相關人等”I2C總線上的“角色”

16.2.2“升堂退堂”數據有效性及起止條件

16.3I2C資源介紹及運用

16.3.1主機模式寄存器配置

16.3.2從機模式寄存器配置

16.4初識Atmel公司AT24Cxx系列EEPROM芯片

16.4.1AT24Cxx系列芯片簡介

16.4.2AT24Cxx系列芯片寫操作時序

16.4.3AT24Cxx系列芯片讀操作時序

16.4.4基礎項目A讀寫AT24C02應答測試實驗

16.4.5進階項目A單字節讀寫AT24C02實驗

16.4.6進階項目B多字節讀寫AT24C02實驗

16.4.7進階項目C頁寫入AT24C02實驗

第17章“信號量化翻譯官”模數轉換器運用

17.1表達消息的“電信號”

17.1.1模擬信號

17.1.2數字信號

17.1.3A/D轉換與D/A轉換

17.2A/D資源介紹及運用

17.2.1A/D資源配置流程

17.2.2基礎項目A查詢法打印ADC結果實驗

17.2.3基礎項目B中斷法打印ADC結果實驗

17.3A/D轉換系統可靠性設計

17.3.1供電及基準電壓優化

17.3.2採樣前端電路濾波、分壓、負壓處理

17.3.3採樣數據軟件濾波

17.4A/D轉換的諸多“玩法”

17.4.1進階項目A電壓採集和低/高壓等級指示器

17.4.2進階項目B“一線式”4×4矩陣鍵盤設計與實現

第18章“公平之秤,輕重幾何”電壓比較器資源運用

18.1電壓比較器功能及專用芯片運用

18.2雙路閾值均可調的單限電壓比較器

18.3臨界信號防抖動的遲滯電壓比較器

18.4雙限域內求穩定的窗口電壓比較器

18.5STC8系列單片機比較器資源運用

18.5.1片內比較器結構及工作流程

18.5.2片內比較器寄存器配置方法

18.5.3基礎項目D查詢法驗證比較器功能實驗

18.5.4基礎項目E中斷法驗證比較器功能實驗

18.5.5基礎項目F巧用電壓比較器監測系統掉電

18.5.6基礎項目G巧用電壓比較器區分電壓梯級

18.6有了比較器,自己也能“造”個ADC

18.6.1一階RC積分器+比較器=廉價ADC

18.6.2進階項目A基於RC積分器與比較器的ADC實驗

第19章“一鍵還原,跑飛重置”系統復位與看門狗運用

19.1單片機非得要復位嗎

19.2常規的POR方式“上電復位”

19.3經典的MRST方式“人工復位”

19.4實用的LVR方式“低壓復位”

19.4.1基礎項目A驗證LVD低壓復位功能實驗

19.4.2進階項目A巧用LVD實現電量指示實驗

19.5特殊的WDR方式“看門狗復位”

19.6靈活的SWR方式“軟件復位”

第20章“搖身一變睡美人”電源管理及功耗控制

20.1單片機工作狀態及遷移過程

20.2為什麽要註重單片機系統功耗

20.3STC8H系列單片機功耗指標及調控優勢

20.4如何降低單片機系統功耗

20.4.1功耗控制之硬件調整

20.4.2功耗控制之軟件優化

20.5STC8系列單片機省電模式配置與喚醒

20.5.1省電模式(PD/IDLE模式)配置方法

20.5.2基礎項目A驗證省電模式下的系統功耗實驗

20.5.3基礎項目B利用WKT喚醒MCU實驗

20.5.4基礎項目C利用INT喚醒MCU實驗

20.5.5基礎項目D利用T/C喚醒MCU實驗

20.5.6基礎項目E利用RxD喚醒MCU實驗

20.5.7基礎項目F利用SDA喚醒MCU實驗

20.5.8基礎項目G利用LVD喚醒MCU實驗

20.5.9基礎項目H利用CMP喚醒MCU實驗

第21章“修房子,搞裝修”ISP/IAP及EEPROM編程

21.1單片機系統中的ISP/IAP技術應用

21.1.1什麽是ISP/IAP技術

21.1.2簡析ISP/IAP在STC8單片機中的應用

21.2“樣板房/大通間”說EEPROM區域劃分

21.3STC8系列單片機EEPROM編程運用

21.3.1相關寄存器功用及配置方法

21.3.2基礎項目A自增數據掉電記憶實驗(IAP方式)

21.3.3基礎項目B自增數據掉電記憶實驗(MOVC方式)

21.3.4進階項目A數據讀寫與串口打印實驗

第22章“千頭萬緒,分身有術”RTX51操作系統運用

22.1常規“前後台編程框架”中的任務處理

22.2while(1)死循環編程形式有局限嗎

22.2.1基礎項目A鍵控燈的“困擾”實驗

22.2.2基礎項目B改進版鍵控燈實驗

22.3RTOS實時操作系統的引入

22.3.1怎麽理解系統的實時性

22.3.2有必要在51單片機上加操作系統嗎

22.4Keil C51里的“好寶貝”: RTX51實時操作系統

22.4.1話說RTX51 Full與RTX51 Tiny

22.4.2RTX51系統的任務處理與編程

22.4.3如何部署RTX51 Tiny系統到項目工程

22.4.4輕松解讀Conf_tny.A51匯編核心

22.4.5靈活運用RTX51TNY.H現成函數

22.5體現RTX51帶來的編程優勢

22.5.1進階項目A利用RTX51解除鍵控燈的“困擾”實驗

22.5.2基礎項目C利用os_wait2()替換delay()延時實驗

22.5.3基礎項目D驗證任務間的信號傳遞實驗

22.6巧用Keil C51模擬/調試模式加深RTX51理解

22.7小宇老師寄語: 熟悉一款主流RTOS是必要的

22.7.1亞馬遜FreeRTOS系統簡介

22.7.2睿賽德RTThread系統簡介

參考文獻