STC8系列單片機開發指南:面向處理器、程序設計和操作系統的分析與應用
學習說明
1 單片機和嵌入式系統基礎知識
1.1 嵌入式系統基本概念
1.1.1 嵌入式系統的主要特點
1.1.2 嵌入式技術的構成
1.2 8051單片機內部結構
1.3 8051單片機硬件開發平台
1.4 運行第一個8051單片機程序
1.5 8051單片機編程語言
1.6 小結
2 STC單片機硬件知識
2.1 STC單片機發展歷史
2.2 STC單片機IAP和ISP
2.3 STC8系列單片機命名規則及封裝
2.3.1 命名規則
2.3.2 封裝類型
2.3.3 引腳定義
2.4 STC8系列單片機主要性能
2.5 STC8系列單片機硬件下載電路設計
2.5.1 通過USB-串口芯片的下載電路
2.5.2 通過USB直接下載編程電路
2.6 STC8系列單片機電源系統設計
3 STC單片機軟件開發環境
3.1 Keil μVision集成開發環境介紹
3.1.1 軟件功能介紹
3.1.2 軟件的下載
3.1.3 軟件的安裝
3.1.4 導入STC單片機元件庫
3.1.5 軟件的啟動
3.2 Keil μVision5軟件開發流程
3.2.1 明確軟件需求
3.2.2 創建設計工程
3.2.3 編寫匯編/C軟件代碼
3.2.4 匯編器對匯編語言進行處理
3.2.5 C編譯器對C語言進行處理
3.2.6 庫管理器生成庫文件
3.2.7 鏈接器生成絕對目標模塊文件
3.2.8 目標到HEX轉換器
3.2.9 調試器調試目標代碼
3.3 Keil μVision5基本的開發流程
3.3.1 建立新的設計工程
3.3.2 添加新的C語言文件
3.3.3 建立設計
3.3.4 下載程序到目標系統
3.3.5 硬件在線調試
4 數值表示及轉換
4.1 常用碼制
4.1.1 二進制碼制
4.1.2 十進制碼制
4.1.3 八進制碼制
4.1.4 十六進制碼制
4.2 正數表示方法
4.2.1 正整數的表示
4.2.2 正小數的表示
4.3 正數碼制轉換
4.3.1 十進制正整數轉換成其他進制數
4.3.2 十進制正小數轉換成二進制正小數
4.4 負數表示方法
4.4.1 符號幅度表示法
4.4.2 補碼表示法
4.5 負數補碼的計算
4.5.1 負整數補碼的計算
4.5.2 負小數補碼的計算
4.6 定點數表示
4.7 浮點數表示
5 STC單片機處理器內核和存儲器系統
5.1 STC單片機處理器內核功能單元
5.1.1 控制器
5.1.2 運算器
5.1.3 特殊功能寄存器
5.2 STC單片機的存儲器結構和地址空間
5.2.1 程序存儲器
5.2.2 內部數據存儲器
5.2.3 外部數據存儲器
6 STC單片機CPU指令系統
6.1 STC單片機的CPU尋址模式
6.1.1 立即數尋址模式
6.1.2 直接尋址模式
6.1.3 間接尋址模式
6.1.4 寄存器尋址模式
6.1.5 相對尋址模式
6.1.6 變址尋址模式
6.1.7 位尋址模式
6.2 STC單片機CPU指令集
6.2.1 算術指令
6.2.2 邏輯指令
6.2.3 數據傳送指令
6.2.4 布爾指令
6.2.5 程序分支指令
7 STC單片機匯編語言編程基礎
7.1 匯編語言程序結構
7.2 匯編代碼中段的分配
7.2.1 CODE段
7.2.2 BIT段
7.2.3 IDATA段
7.2.4 DATA段
7.2.5 XDATA段
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 Keil μVision5匯編語言設計流程
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 程序硬件仿真
8 STC單片機C語言編程基礎
8.1 常量和變量
8.1.1 常量
8.1.2 變量
8.2 數據類型
8.2.1 標准C語言所支持的類型
8.2.2 單片機擴充的類型
8.2.3 自定義數據類型
8.2.4 變量及存儲模式
8.3 運算符
8.3.1 賦值運算符
8.3.2 算術運算符
8.3.3 遞增和遞減運算符
8.3.4 關系運算符
8.3.5 邏輯運算符
8.3.6 位運算符
8.3.7 復合賦值運算符
8.3.8 逗號運算符
8.3.9 條件運算符
8.3.10 強制類型轉換符
8.3.11 sizeof運算符
8.4 描述語句
8.4.1 輸入輸出語句
8.4.2 表達式語句
8.4.3 條件語句
8.4.4 開關語句
8.4.5 循環語句
8.4.6 返回語句
8.5 數組
8.5.1 一維數組的表示方法
8.5.2 多維數組的表示方法
8.5.3 索引數組元素的方法
8.5.4 動態輸入數組元素的方法
8.5.5 數組運算算法
8.6 指針
8.6.1 指針的基本概念
8.6.2 指向指針的指針
8.6.3 指針變量輸入
8.7 函數
8.7.1 函數聲明
8.7.2 函數調用
8.7.3 函數變量的存儲方式
8.7.4 函數參數和局部變量的存儲器模式
8.7.5 基本數據類型傳遞參數
8.7.6 數組類型傳遞參數
8.7.7 指針類型傳遞參數
8.8 預編譯指令
8.8.1 宏定義
8.8.2 文件包含
8.8.3 條件編譯
8.8.4 其他預處理命令
8.9 復雜數據結構
8.9.1 結構
8.9.2 聯合
8.9.3 枚舉
8.10 C程序中內嵌匯編語言
9 STC單片機I/O端口原理及驅動
9.1 STC8系列單片機的I/O驅動原理
9.2 I/O端口控制寄存器組
9.3 匯編語言程序驅動端口的實現
9.3.1 設計原理
9.3.2 建立新的工程
9.3.3 添加匯編語言源文件
9.3.4 建立設計和下載
9.4 C語言驅動端口的實現
9.4.1 設計原理
9.4.2 建立新的工程
9.4.3 添加C語言源文件
9.4.4 建立並下載設計
9.5 匯編和C混合編程驅動端口
9.5.1 添加和處理C語言與匯編語言源文件
9.5.2 建立並調試設計
10 STC單片機中斷系統原理及實現
10.1 中斷原理
10.2 中斷系統結構
10.3 中斷向量表
10.4 中斷寄存器組
10.4.1 中斷使能寄存器組
10.4.2 中斷請求寄存器
10.5 編寫匯編語言實現中斷功能
10.5.1 設計原理
10.5.2 建立新的工程
10.5.3 添加匯編語言文件
10.5.4 分析 “.lst”文件
10.5.5 建立設計
10.5.6 下載設計
10.5.7 硬件仿真
10.6 編寫C語言實現中斷功能
10.6.1 C語言中斷程序實現原理
10.6.2 C語言中斷具體實現過程
10.7 中斷優先級原理和中斷嵌套的實現
10.7.1 不同的中斷條件及處理方式
10.7.2 中斷優先級控制寄存器
10.7.3 修改中斷優先級的實現
11 STC8系列單片機時鍾、復位和電源模式原理及實現
11.1 STC8系列單片機時鍾
11.2 STC8系列單片機復位
11.2.1 外部RST引腳復位
11.2.2 軟件復位
11.2.3 掉電/上電復位
11.2.4 MAX810專用復位電路復位
11.2.5 內部低壓檢測復位
11.2.6 看門狗復位
11.3 STC單片機電源模式
11.3.1 低速模式
11.3.2 空閑模式
11.3.3 掉電模式
12 STC單片機比較器原理及實現
12.1 STC單片機比較器結構
12.2 STC單片機比較控制寄存器組
12.2.1 比較控制寄存器1
12.2.2 比較控制寄存器2
12.3 STC單片機比較器應用:產生PWM信號
13 STC單片機計數器和定時器原理及實現
13.1 定時器/計數器模塊概述
13.2 定時器/計數器寄存器組
13.2.1 定時器/計數器T0和T1控制寄存器TCON
13.2.2 定時器/計數器T0和T1工作模式寄存器TMOD
13.2.3 輔助寄存器AUXR
13.2.4 T0~T2時鍾輸出寄存器和外部中斷允許INT_CLKO(AUXR2)寄存器
13.2.5 定時器計數器T3和T4控制寄存器T4T3M
13.2.6 定時器中斷控制寄存器
13.3 計數器/定時器工作模式原理及實現
13.3.1 定時器/計數器T0工作模式
13.3.2 定時器/計數器T1工作模式
13.3.3 定時器/計數器T2工作模式
13.3.4 定時器/計數器T3工作模式
13.3.5 定時器/計數器T4工作模式
14 STC單片機串行異步收發器原理及實現
14.1 RS-232標准概述
14.1.1 RS-232傳輸特點
14.1.2 RS-232數據傳輸格式
14.1.3 RS-232電氣標准
14.1.4 RS-232參數設置
14.1.5 RS-232連接器
14.2 STC單片機串口模塊概述
14.2.1 串口模塊結構
14.2.2 串口引腳
14.3 串口1寄存器及工作模式
14.3.1 串口1寄存器組
14.3.2 串口1工作模式
14.3.3 串口1通信實例:LED燈的控制
14.3.4 串口1通信實例:鍵盤掃描按鍵的顯示
14.4 串口2寄存器及工作模式
14.4.1 串口2寄存器組
14.4.2 串口2工作模式
14.5 串口3寄存器及工作模式
14.5.1 串口3寄存器組
14.5.2 串口3工作模式
14.6 串口4寄存器及工作模式
14.6.1 串口4寄存器組
14.6.2 串口4工作模式
14.7 紅外接收的設計與實現
14.7.1 紅外收發器的電路原理
14.7.2 紅外通信波形捕獲
14.7.3 紅外通信協議
14.7.4 紅外檢測原理
14.7.5 設計實現
15 STC單片機ADC原理及實現
15.1 STC單片機內ADC的結構原理
15.2 STC單片機內ADC寄存器組
15.3 直流電壓的測量和串口顯示
15.3.1 軟件設計流程
15.3.2 具體實現過程
15.4 直流電壓的測量和1602字符LCD的顯示
15.4.1 硬件電路設計
15.4.2 1602字符LCD的原理
15.4.3 軟件設計流程
15.4.4 具體實現過程
15.5 交流電壓參數測量和128.4 LCD顯示
15.5.1 硬件電路設計
15.5.2 12864圖形點陣LCD原理
15.5.3 軟件設計流程
15.5.4 具體實現過程
16 STC單片機增強型PWM發生器原理及應用
16.1 脈沖寬度調制原理
16.2 增強型PWM發生器模塊
16.2.1 增強型PWM發生器功能
16.2.2 增強型PWM發生器寄存器集
16.2.3 PWM中斷的聲明方式
16.3 生成單路PWM信號
16.4 生成兩路互補PWM信號
16.5 步進電機的驅動和控制
16.5.1 五線四相步進電機工作原理
16.5.2 步進電機的驅動
16.5.3 使用軟件驅動步進電機
16.5.4 使用PWM模塊驅動步進電機
17 STC單片機I2 C原理及實現
17.1 I2C總線規范概述
17.2 I2C總線時序
17.3 PCA9555的結構功能
17.3.1 寄存器映射
17.3.2 設備地址
17.3.3 控制寄存器和控制字節
17.3.4 寄存器描述
17.3.5 總線交易
17.4 STC8系列I2C控制器內的寄存器組
17.4.1 I2 C主機模式
17.4.2 I2 C從機模式
17.4.3 I2 C數據寄存器
17.5 七段數碼原理及驅動電路的設計
17.5.1 七段數碼管原理
17.5.2 七段數碼管的驅動電路
17.6 軟件應用的設計與實現
18 STC單片機SPI原理及實現
18.1 SPI模塊結構及功能
18.1.1 SPI傳輸特點
18.1.2 SPI模塊功能
18.1.3 SPI接口信號
18.1.4 SPI接口的通信方式
18.1.5 SPI模塊的內部結構
18.2 SPI模塊的寄存器組
18.3 SPI模塊的配置和時序
18.3.1 SPI的配置模式
18.3.2 主/從模式的注意事項
18.3.3 通過SS修改模式
18.3.4 寫沖突
18.3.5 數據模式時序
18.4 動態圖形的交互設計
18.4.1 觸摸屏顯示的控制方法
18.4.2 觸摸屏觸摸控制方法
18.4.3 STC單片機對觸摸屏的初始化
18.4.4 觸摸屏基本繪圖流程
18.4.5 繪制不同圖形的具體實現方法
18.4.6 設計頭文件說明
18.4.7 主處理文件main函數設計
19 STC單片機CCP/PCA/PWM模塊的原理及實現
19.1 CCP/PCA/PWM模塊的結構
19.2 CCP/PCA/PWM模塊的寄存器組
19.3 CCP/PCA/PWM工作模式
19.3.1 捕獲模式
19.3.2 16位軟件定時器模式
19.3.3 高速脈沖輸出模式
19.3.4 脈沖寬度調制模式
20 μC/OS-II操作系統的原理及實現
20.1 操作系統的必要性
20.1.1 單任務程序
20.1.2 輪詢程序
20.2 操作系統基本知識
20.2.1 操作系統的作用
20.2.2 操作系統的功能
20.3 嵌入式操作系統
20.4 μC/OS-II的概述
20.4.1 任務及其種類
20.4.2 創建任務
20.4.3 任務調度
20.4.4 任務掛起和恢復
20.4.5 任務的刪除
20.4.6 任務的同步及通信
20.4.7 動態內存管理
20.5 在STC單片機上移植μC/OS-II
20.5.1 修改OS_CPU.H文件
20.5.2 任務堆棧的設計
20.5.3 修改OS_CPU_C.C文件
20.6 應用實例
附錄A 配套開發板原理圖
思維導圖
防止博客圖床圖片失效,防止圖片源站外鏈:
http://www.processon.com/chart_image/5e5b3421e4b02bc3ad6a190f.png)
思維導圖在線編輯鏈接: