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

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

作者: 何賓
出版社: 清華大學
出版在: 2018-12-01
ISBN-13: 9787302482024
ISBN-10: 7302482020
裝訂格式: 平裝





內容描述


本書系統地論述了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語言程序設計的參考用書,也可作為單片機競賽、單片機認證考試的參考用書。


目錄大綱


第1章單片機基礎知識
1.1單片機發展歷史
1.2單片機內部架構
1.3單片機與嵌入式系統的關係
1.4單片機硬件開發平台
1.5運行第一個單片機程序
1.6單片機編程語言
第2章STC單片機硬件知識
2.1STC單片機發展歷史
2.2STC單片機IAP和ISP 
2.3STC單片機命名規則及封裝
2.3.1命名規則
2.3.2封裝類型
2.3.3引腳定義
2. 4STC單片機結構及功能
2.5STC單片機的I/O驅動原理
2.6STC單片機硬件下載電路設計
2.6.1通過USB串口芯片的下載電路
2.6.2USB直接下載編程電路
2.7STC單片機電源系統設計
2.8調試單片機系統所用到的儀器
第3章數值表示及轉換
3.1常用數制
3.1.1二進制
3.1.2十進制
3.1.3十六進制
3.2正數表示方法
3.2.1正整數的表示
3.2.2正小數的表示
3.3正數碼製轉換
3.3.1十進制整數轉換成其他進制數
3.3.2十進制小數轉換成二進制數
3.4負數表示方法
3.4.1符號幅度表示法
3.4.2補碼表示法
3.5負數補碼的計算
3.5.1負整數補碼的計算
3.5.2負小數補碼的計算
3.6定點數表示
3.7浮點數表示
第4章STC單片機CPU子系統
4.1STC單片機CPU內核功能單元
4.1.1控制器
4.1.2運算器
4.1.3特殊功能寄存器
4.2STC單片機存儲器結構和地址空間
4.2.1程序Flash存儲器
4.2.2數據Flash存儲器
4.2.3內部數據RAM 
4.2.4外部數據存儲器
4.2.5字節存儲順序
4.3STC單片機中斷系統原理及功能
4.3.1中斷原理
4.3.2中斷系統結構
4.3.3中斷優先級處理
4.3.4中斷優先級控制寄存器
4.3.5中斷向量表
第5章STC單片機CPU指令系統
5.1STC單片機CPU尋址模式
5.1.1立即數尋址模式
5.1.2直接尋址模式
5.1.3間接尋址模式
5.1.4寄存器尋址模式
5.1.5相對尋址模式
5.1.6變址尋址模式
5.1.7位尋址模式
5.2STC單片機CPU指令集
5.2.1算術指令
5.2.2邏輯指令
5.2.3數據傳送指令
5.2.4布爾指令
5.2.5程序分支指令
第6章STC單片機集成開發環境
6.1Keil μVision集成開發環境介紹
6.1.1軟件功能介紹
6.1.2軟件的下載
6.1.3軟件的安裝
6.1.4導入STC單片機元件庫
6.1.5軟件的啟動
6.2Keil μVision軟件開發流程介紹
6.2.1明確軟件需求
6.2.2創建設計工程
6.2.3編寫彙編/C軟件代碼
6.2.4彙編器對彙編語言處理
6.2.5C編譯器對C語言進行處理
6.2.6庫管理器生成庫文件
6.2.7鏈接器生成絕對目標模塊文件
6.2.8目標模塊文件到HEX轉換器
6.2.9調試器調試目標代碼
6.3Keil μVision軟件開發流程實現
6.3.1建立新的設計工程
6.3.2配置文件結構
6.3.3設置工程選項
6.3.4添加新的源文件
6.3.5建立設計

6.3.6運行設計
6.3.7啟動硬件仿真
6.4U8W編程器
6.4.1U8W編程器接口和功能
6.4.2U8W在線聯機下載
6.4.3U8W脫機下載
第7章STC單片機彙編語言編程基礎
7.1彙編語言程序結構
7.2彙編代碼中段的分配
7.2.1CODE段
7.2.2BIT段
7.2.3IDATA段
7.2.4DATA段
7.2.5XDATA段
7.3彙編語言符號及規則
7.3.1符號的命名規則
7.3.2符號的作用
7.4彙編語言操作數描述
7.4.1數字
7.4 .2字符
7.4.3字符串
7.4.4位置計數器
7.4.5操作符
7.4.6表達式
7.5彙編語言控制描述
7.5.1地址控制
7.5.2條件彙編
7.5.3存儲器初始化
7.5.4分配存儲器空間
7.5 .5過程聲明
7.5.6程序鏈接
7.5.7段控制
7.5.8雜項
7.6彙編語言設計流程
7.6.1建立新的設計工程
7.6.2添加新的彙編語言文件
7.6.3建立設計
7.6.4分析.m51文件
7.6.5分析.lst文件
7.6.6分析HEX文件
7.6.7程序軟件仿真
7.6.8程序硬件仿真
7.7單片機端口控制彙編語言程序設計
7.7.1設計原理
7.7.2建立新的工程
7.7.3添加彙編語言文件
7.7.4建立設計
7.7.5下載設計
7.8單片機中斷彙編語言程序設計
7.8.1設計原理
7.8.2建立新的工程
7.8.3添加彙編語言文件
7.8.4分析. lst文件
7.8.5建立設計
7.8.6下載設計
7.8.7硬件仿真
第8章STC單片機C語言編程入門
8.1高級編程語言概念
8.1.1構建計算模型
8.1.2形式化描述
8.1.3算法的流程圖描述
8.1.4轉換成計算機可以識別的形式
8.1.5代碼、程序和編程的關係
8.2選擇C語言的理由
8.3C語言發展歷史
8.4C語言程序框架
8.5C語言詞法構成
第9章STC單片機C語言變量和數據類型
9.1C語言中的常量和變量
9.1.1常量
9.1.2變量
9.2C51編譯器支持的數據類型
9.2.1標準C語言所支持的類型
9.2.2volatile類型修飾符
9.2.3單片機擴充的類型
9.3自定義數據類型
9.4變量存儲種類和存儲類型
9.4.1變量存儲種類
9.4 .2變量存儲器類型
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.7 C語言端口控制實現
第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


作者介紹


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




相關書籍

ZigBee 無線網絡與收發器(ZigBee Wireless Networks and Transceivers)

作者 法拉哈尼 (Shahin Farahani)

2018-12-01

Linux 系統配置及運維項目化教程 (工作手冊式)

作者 李志傑 許彥佳

2018-12-01

Computational Finance Using C and C#

作者 George Levy DPhil University of Oxford

2018-12-01