STC單片機C語言程序設計:8051體系架構、編程實例及項目實戰 | 被動收入的投資秘訣 - 2024年6月

STC單片機C語言程序設計:8051體系架構、編程實例及項目實戰

作者:何賓
出版社:清華大學
出版日期:2018年12月01日
ISBN:9787302482024
語言:繁體中文

本書系統地論述了STC單片機的C語言程式設計方法。
 
全書共分為27章,主要內容包括:單片機基礎知識,STC單片機硬體知識,數值表示及轉換,STC單片機CPU子系統,STC單片機CPU指令系統,STC單片機整合式開發環境,STC單片機組合語言程式設計基礎,STC單片機C語言程式設計入門,STC單片機C語言變數和資料類型,STC單片機C語言運運算元,STC單片機C語言描述語句,STC單片機C語言陣列,STC單片機C語言指標,STC單片機C語言函數,STC單片機C語言預處理指令,STC單片機C語言複雜資料結構,STC單片機C語言高級程式設計技術,STC單片機時鐘、重定和電源模式原理及實現,STC單片機比較器原理及實現,STC單片機計數器和計時器原理及實現,STC單片機非同步串列收發器原理及實現,STC單片機ADC原理及實現,STC單片機SPI原理及實現,STC單片機CCP/PCA/PWM模組原理及實現,STC單片機增強型PWM發生器原理及實現,RTX51作業系統原理及實現,綜合專案實例:風扇轉速控制系統的設計與實現。

本書將C語言程式設計與STC單片機的各個知識點進行系統化融合,不僅系統地介紹C語言程式設計的各個知識點及其在單片機中的具體應用,而且更加突出學習方法。為了方便讀者自學,本書提供了大量的設計案例和公開教學視頻。

本書可作為讀者零基礎學習單片機C語言程式設計的參考用書,也可作為單片機競賽、單片機認證考試的參考用書。

何賓,著名的嵌入式技術和EDA技術專家,長期從事電子設計自動化方面的教學和科研工作,與全球多家知名的半導體廠商和EDA工具廠商保持緊密合作。目前已經出版嵌入式和EDA方面的著作20餘部,內容涵蓋電路模擬、電路設計、可程式設計邏輯器件、數位信號處理、單片機、嵌入式系統、片上可程式設計系統等。
 
典型的代表作有《Xilinx FPGA數位信號處理1指南——從HDL、模型到C的描述》《STC單片機原理及應用》《Altium Designer 15.0電路模擬、設計、驗證與工藝實現1指南》《類比電子系統設計指南(基礎篇)》《類比電子系統設計指南(實踐篇)》《EDA原理及VHDL實現—— 從電晶體、門電路到Xilinx Vivado的數位系統設計》《EDA原理及Verilog HDL實現——從電晶體、門電路到Xilinx Vivado的數位系統設計》。

第1章 單片機基礎知識
1.1單片機發展歷史
1.2單片機內部架構
1.3單片機與嵌入式系統的關係
1.4單片機硬體開發平臺
1.5運行第一個單片機程式
1.6單片機程式設計語言

第2章STC單片機硬體知識
2.1STC單片機發展歷史
2.2STC單片機IAP和ISP
2.3STC單片機命名規則及封裝
……
2.4STC單片機結構及功能
2.5STC單片機的I/O驅動原理
2.6STC單片機硬體下載電路設計
……
2.7STC單片機電源系統設計
2.8調試單片機系統所用到的儀器

第3章數值表示及轉換
3.1常用數制
……
3.2正數表示方法

3.3正數碼制轉換
……
3.4負數表示方法
……
3.5負數補數的計算
……
3.6定點數表示
3.7浮點數表示

第4章STC單片機CPU子系統
4.1STC單片機CPU內核功能單元
……
4.2STC單片機記憶體結構和位址空間
……
4.3STC單片機中斷系統原理及功能
……

第5章STC單片機CPU指令系統
5.1STC單片機CPU定址模式
……
5.2STC單片機CPU指令集
……

第6章STC單片機整合式開發環境
6.1Keil μVision整合式開發環境介紹
……
6.2Keil μVision軟體發展流程介紹
……
6.3Keil μVision軟體發展流程實現
……
6.4U8W程式設計器
……

第7章STC單片機組合語言程式設計基礎
7.1組合語言程式結構
7.2彙編代碼中段的分配
……
7.3組合語言符號及規則
……
7.4組合語言運算元描述
……
7.5組合語言控制描述
……
7.6組合語言設計流程
……
7.7單片機埠控制組合語言程式設計
……
7.8單片機中斷組合語言程式設計
……

第8章STC單片機C語言程式設計入門
8.1高級程式設計語言概念
……
8.2選擇C語言的理由
8.3C語言發展歷史
8.4C語言程式框架
8.5C語言詞法構成
第9章STC單片機C語言變數和資料類型
9.1C語言中的常量和變數
……
9.2C51編譯器支援的資料類型
……
9.3自訂資料類型
9.4變數存儲種類和存儲類型
……
9.5定位變數的絕對位置

第10章STC單片機C語言運算子
10.1C語言運算子分類
10.2C語言運算子優先順序
10.3設定運算子
10.4算術運算子
10.5遞增和遞減運算子
10.6關係運算子
10.7邏輯運算子
10.8位運算子
10.9複合設定運算子
10.10逗號運算子
10.11條件運算子
10.12強制類型轉換符
10.13sizeof運算子

第11章STC單片機C語言描述語句
11.1輸入輸出語句
11.1.1putchar函數
11.1.2getchar函數
11.1.3printf函數
11.1.4scanf函數
11.1.5puts函數
11.1.6gets函數
11.2運算式語句
11.3條件陳述式
11.3.1條件陳述式格式1
11.3.2條件陳述式格式2
11.3.3條件陳述式格式3
11.4開關語句
11.5迴圈語句
11.5.1while語句
11.5.2dowhile語句
11.5.3for語句
11.5.4goto語句
11.5.5break語句
11.5.6continue語句
11.6返回語句
11.7C語言埠控制實現

第12章STC單片機C語言陣列
12.1一維陣列的定義和操作
12.1.1一維陣列的定義
12.1.2一維陣列初始化
12.1.3一維陣列的操作
12.2多維陣列的定義和操作
12.2.1多維陣列的定義
12.2.2多維陣列初始化
12.2.3多維陣列的操作

第13章STC單片機C語言指標
13.1C51編譯器中指針的分類
13.2通用指針
13.2.1未指定存儲區域的通用指標
13.2.2指定存儲區域的通用指標
13.3指定記憶體類型的指針
13.4指針轉換
13.5指標變數輸入
13.6指向指標的指標
13.7抽象指針

第14章STC單片機C語言函數
14.1函式定義和聲明
14.1.1標準C函式定義和聲明
14.1.2擴展C函式定義和聲明
14.1.3記憶體模型
14.2函式呼叫原理
14.2.1函式呼叫格式
14.2.2參數和堆疊
14.2.3參數和寄存器
14.2.4返回值
14.3函式呼叫實現分析
14.4函數變數的存儲方式
14.5陣列類型傳遞參數
14.6指針類型傳遞參數
14.7指向函數的指標
14.8可重入函數設計
14.9中斷函數設計
14.9.1C語言中斷函數的聲明格式
14.9.2外部中斷電路原理
14.9.3C語言中斷程式的編寫和測試

第15章STC單片機C語言預處理指令
15.1檔包含
15.1.1包含用戶頭檔
15.1.2包含系統標頭檔
15.1.3只包含一次檔
15.2巨集定義及使用
15.2.1簡單的巨集定義
15.2.2複雜的巨集定義
15.2.3宏操作符
15.2.4預定義的宏
15.3條件編譯
15.4其他預處理命令
15.4.1#line
15.4.2#message
15.4.3#error
15.4.4#pragma

第16章STC單片機C語言複雜資料結構
16.1結構
16.1.1結構類型的定義
16.1.2結構變數的定義
16.1.3結構變數內元素的引用
16.1.4指向結構的指標
16.2聯合
16.3枚舉
16.4鏈表
16.4.1單鏈表的存儲結構
16.4.2建立鏈表
16.4.3查找結點
16.4.4刪除結點
16.4.5插入結點

第17章STC單片機C語言高級程式設計技術
17.1C程式中使用組合語言
17.1.1內嵌組合語言
17.1.2調用組合語言程式
17.2優化代碼策略
17.3C語言動態圖形交互設計
17.3.1動態圖形交互硬體平臺
17.3.2STC單片機對觸控式螢幕的控制
17.3.3STC單片機對觸控式螢幕的初始化
17.3.4觸控式螢幕基本繪圖流程
17.3.5繪製不同圖形的具體實現方法
17.3.6設計標頭檔說明
17.3.7主處理檔main函數設計

第18章STC單片機時鐘、重定和電源模式原理及實現
18.1STC單片機時鐘
18.2STC單片機復位
18.2.1外部RST引腳復位
18.2.2軟體重定
18.2.3掉電/上電復位
18.2.4MAX810專用重定電路重定
18.2.5內部低壓檢測復位
18.2.6看門狗復位
18.2.7程式位址非法重定
18.3STC單片機電源模式
18.3.1低速模式
18.3.2空閒模式
18.3.3掉電模式

第19章STC單片機比較器原理及實現
19.1STC單片機比較器結構
19.2STC單片機比較器寄存器組
19.2.1比較控制寄存器1
19.2.2比較控制寄存器2
19.3STC單片機比較器應用

第20章STC單片機計數器和計時器原理及實現
20.1計數器/計時器模組簡介
20.2計數器/計時器寄存器組
20.2.1計時器/計數器0/1控制寄存器TCON
20.2.2計時器/計數器工作模式寄存器TMOD
20.2.3輔助寄存器AUXR
20.2.4T0~T2時鐘輸出寄存器和外部中斷允許INT_CLKO(AUXR2)
20.2.5計時器T0和T1中斷允許控制寄存器IE
20.2.6計時器T0和T1中斷優先順序控制寄存器IP
20.2.7計時器T4和計時器T3控制寄存器T4T3M
20.2.8計時器T2、T3和T4的中斷控制寄存器IE2
20.3計數器/計時器工作模式原理和實現
20.3.1計時器/計數器0工作模式
20.3.2計時器/計數器1工作模式
20.3.3計時器/計數器2工作模式
20.3.4計時器/計數器3工作模式
20.3.5計時器/計數器4工作模式

第21章STC單片機非同步串列收發器原理及實現
21.1RS232標準簡介
21.1.1RS232傳輸特點
21.1.2RS232資料傳輸格式
21.1.3RS232電氣標準
21.1.4RS232參數設置
21.1.5RS232連接器
21.2STC單片機串口模組簡介
21.2.1串口模組結構
21.2.2串口引腳
21.3串口1寄存器及工作模式
21.3.1串口1寄存器組
21.3.2串口1工作模式
21.3.3人機交互控制的實現
21.3.4按鍵掃描及串口顯示
21.4串口2寄存器及工作模式
21.4.1串口2寄存器組
21.4.2串口2工作模式
21.5串口3寄存器及工作模式
21.5.1串口3寄存器組
21.5.2串口3工作模式
21.6串口4寄存器及工作模式
21.6.1串口4寄存器組
21.6.2串口4工作模式
21.7紅外通信的原理及實現
21.7.1紅外收發器的電路原理
21.7.2紅外通信波形捕獲
21.7.3紅外通信協議
21.7.4紅外檢測原理
21.7.5串口通信原理
21.7.6設計實現

第22章STC單片機ADC原理及實現
22.1ADC原理
22.1.1ADC的參數
22.1.2ADC的類型
22.2STC單片機內ADC的結構原理
22.2.1STC單片機內ADC的結構
22.2.2ADC轉換結果的計算方法
22.3STC單片機內ADC寄存器組
22.3.1P1口模擬功能控制寄存器
22.3.2ADC控制寄存器
22.3.3時鐘分頻寄存器
22.3.4ADC結果高位寄存器
22.3.5ADC結果低位寄存器
22.3.6中斷使能寄存器
22.3.7中斷優先順序寄存器
22.4直流電壓測量及串口顯示
22.4.1直流分壓電路原理
22.4.2軟體設計流程
22.4.3具體實現過程
22.5直流電壓測量及LCD屏顯示
22.5.1硬體電路設計
22.5.21602字元LCD原理
22.5.3軟體設計流程
22.5.4具體實現過程
22.6交流電壓測量及LCD屏顯示
22.6.1硬體電路設計
22.6.212864圖形點陣LCD原理
22.6.3軟體設計流程
22.6.4ADC外部輸入信號要求
22.6.5具體實現過程
22.7溫度測量及串口顯示

第23章STC單片機SPI原理及實現
23.1STC SPI模組結構及功能
23.1.1SPI傳輸特點
23.1.2SPI模組功能
23.1.3SPI介面信號
23.1.4SPI介面的資料通信方式
23.1.5SPI模組內部結構
23.2SPI模組寄存器組
23.2.1SPI控制寄存器
23.2.2SPI狀態寄存器
23.2.3SPI資料寄存器
23.2.4中斷允許寄存器2
23.2.5中斷優先順序寄存器
23.2.6控制SPI引腳位置寄存器
23.3SPI模組配置及時序
23.3.1SPI配置模式
23.3.2主/從模式的注意事項
23.3.3通過SS修改模式
23.3.4寫衝突
23.3.5資料模式時序
23.47段數碼管的驅動與顯示
23.4.1系統控制電路原理
23.4.27段數碼管原理
23.4.374HCT595原理
23.4.4系統軟體控制流程
23.4.5程式具體實現

第24章STC單片機CCP/PCA/PWM模組原理及實現
24.1CCP/PCA/PWM結構
24.2CCP/PCA/PWM寄存器組
24.2.1PCA工作模式寄存器
24.2.2PCA控制寄存器
24.2.3PCA比較捕獲寄存器
24.2.4PCA的16位元數目器
24.2.5PCA捕獲/比較寄存器
24.2.6PCA模組PWM寄存器
24.2.7PCA模組引腳切換寄存器
24.3CCP/PCA/PWM工作模式
24.3.1捕獲模式
24.3.216位元軟體計時器模式
24.3.3高速脈衝輸出模式
24.3.4脈衝寬度調製模式

第25章STC單片機增強型PWM發生器原理及實現
25.1增強型PWM發生器簡介
25.2增強型PWM發生器相關寄存器組
25.2.1埠配置寄存器
25.2.2PWM配置寄存器
25.2.3PWM控制寄存器
25.2.4PWM中斷標誌寄存器
25.2.5PWM外部異常控制寄存器
25.2.6PWM計數器
25.2.7PWM時鐘選擇寄存器
25.2.8PWM2翻轉計數器
25.2.9PWM2控制寄存器
25.2.10PWM3翻轉計數器
25.2.11PWM3控制寄存器
25.2.12PWM4翻轉計數器
25.2.13PWM4控制寄存器
25.2.14PWM5翻轉計數器
25.2.15PWM5控制寄存器
25.2.16PWM6翻轉計數器
25.2.17PWM6控制寄存器
25.2.18PWM7翻轉計數器
25.2.19PWM7控制寄存器
25.2.20PWM中斷優先順序控制寄存器
25.3生成單路PWM信號
25.4生成兩路互補PWM信號
25.5步進電機的驅動和控制
25.5.1五線四相步進電機工作原理
25.5.2步進電機28BYJ48電氣性能
25.5.3步進電機的驅動
25.5.4使用軟體驅動步進電機
25.5.5使用增強型PWM模組驅動步進電機
25.5.6設計下載和驗證

第26章RTX51作業系統原理及實現
26.1作業系統的必要性
26.1.1單任務程式
26.1.2輪詢程式
26.2作業系統基本知識
26.2.1作業系統的作用
26.2.2作業系統的功能
26.3RTX51作業系統的任務
26.3.1定義任務
26.3.2管理任務
26.3.3切換任務
26.4RTX51作業系統內核函數
26.5RTX51作業系統實現
26.5.1RTX51作業系統實現1
26.5.2RTX51作業系統實現2
26.5.3RTX51作業系統實現3

第27章綜合專案實例: 風扇轉速控制系統的設計與實現
27.1專案需求分析
27.1.1劃分軟體和硬體邊界
27.1.2設計過程中的細節問題
27.2離散PID控制演算法及其參數
27.2.1離散PID控制演算法
27.2.2參數整定方法
27.3風扇原理、驅動和運動特性
27.3.1風扇原理
27.3.2風扇驅動
27.3.3風扇運動特性
27.4回饋信號處理方法
27.4.1比較器的硬體設置
27.4.2比較器的程式配置方案
27.4.3比較器處理結果分析
27.5輸出測速信號的處理
27.5.1設計思路
27.5.2程式設計方案
27.6單片機串口資料通信
27.6.1設計思路
27.6.2現象分析
27.7PID控制演算法中關鍵問題
27.8系統的硬體結構原理圖
27.9控制系統設計代碼
27.10上位機應用程式開發
附錄ASTC單片機選型表636
附錄BSTC四軸飛行器643
附錄CGNTSMK2開發板原理圖645
 


相關書籍