描述
本書可以作為大學本、專科單片機技術課程的教材,也可作為8051系列單片機C程式設計開發的技術人員以及高等學校相關專業師生的參考用書。
目錄
第1章 單片機基礎
1.1 單片機技術發展狀況
1.2 51系列單片機體系結構
1.2.1 內部結構
1.2.2 存儲器組織結構
l.2.3 內部功能模組
l.2.4 外部引腳
1.2.5 系統資源擴展
1.3 單片機的編程方法
第2章 C語言編程基礎
2.1 基本概念
2.1.1 概述
2.1.2 變數與算術表達式
2.1.3 for語句
2.1.4 符號常量
2.2 數據類型、運算符和表達式
2.2.1 C語言的數據類型
2.2.2 常量與變數
2.2.3 整型數據
2.2.4 實型數據
2.2.5 字元型數據
2.2.6 運算符
2.2.7 表達式
2.3 程式控制語句
2.3.1 程式的3種基本結構
2.3.2 條件控制語句
2.3.3 程式套用舉例
2.4 循環控制語句
2.4.1 while語句
2.4.2 dowhile語句
2.4.3 for語句
2.4.4 break與continue語句
2.4.5 程式套用舉例
2.5 小結
第3章 C語言高級編程
3.1 函式與程式結構
3.1.1 函式的基本知識
3.1.2 返回非整數值的函式
3.1.3 外部變數
3.1.4 作用域規則
3.1.5 頭檔案
3.1.6 靜態變數
3.1.7 暫存器變數
3.1.8 分程式結構
3.1.9 初始化
3.1.10 遞歸
3.2 數組
3.2.1 一維數組
3.2.2 維數組
3.2.3 多維數組
3.2.4 數組的初始化
3.3 指針
3.3.1 指針與指針變數.
3.3.2 指針變數的定義與引用
3.3.3 指針運算符與指針表達式
3.3.4 指針與數組
3.3.5 指針的地址分配
3.3.6 指針數組
3.3.7 指向指針的指針
3.4 占構體與共用體
3.4.1 結構體類型變數的定義和引用
3.4.2 結構體數組的定義和引用
3.4.3 結構體指針的定義和引用
3.4.4 共用體
3.5 小結
第4章C51程式設計
4.1 C51對標準C語言的擴展
4.1.1 存儲區域
4.1.2 數據變數分類
4.1.3 存儲器模式
4.1.4 絕對地址的訪問
4.1.5 指針
4.1.6 函式
4.2 C5 1函式館
4.2.1 字元函式CTYPE.H
4.2.2 一般I/O函式STDIO.H
4.2.3 字元串函式STRING.H
4.2.4 標準函式STDLIB.H
4.2.5 數學函式MATH.H
4.2.6 絕對地址訪問ABSACC.H
4.2.7 內部函式INTRINS.H
4.2.8 變數參數表STDARG.H
4.2.9 全程跳轉SETJMPH
4.2.10 訪問SFR和SFR bit地址REGxxx.H
4.3 C51程式編寫
4.3.1 C程式基本結構
4.3.2 編寫高效的C51程式及最佳化程式
第5章 Windows集成開發環境μVision2
5.1 μVision2編輯界面及其功能介紹
5.1.1 μVision2界面綜述
5.1.2 主選單欄
5.1.3 μVision2功能按鈕
5.1.4 μVision2視窗環境
5.2 套用μVision2開發流程介紹
5.2.1 建立新項目
5.2.2 常用環境配置
5.2.3 代碼最佳化
5.2.4 目標代碼調試
5.3 CPU仿真
5.3.1 μVision2調試器
5.3.2 調試命令
5.3.3 存儲器空間
5.3.4 表述(Expressio)
5.3.5 技巧
5.4 深入了解μVision2
5.4.1 μVision2的項目管理
5.4.2 使用技巧
5.4.3 μVision2調試函式
第6章 C5l編譯器
6.1 預處理
6.1.1 宏定義
6.1.2 檔案包含
6.1.3 條件編譯
6.1.4 其他預處理命令
6.2 C51編譯器控制指令詳解
6.2.1 源控制指令
6.2.2 列表控制指令
6.2.3 目標控制指令
6.3 C5l的高級配置檔案
6.3.1 目標程式啟動配置檔案——STARTUP.A51.
6.3.2 CPU初始化檔案——START751.A51
6.3.3 靜態變數初始化檔案——INT.A51
6.3.4 專用變數初始化檔案——INIT751.A51
第7章 C51的典型資源編程
7.1 中斷系統設計
7.2 定時/計數器的使用
7.3 I/O口的使用
7.4 擴展存儲器
7.4.1 外部ROM
7.4.2 外部RAM
7.4.3 外部串列E2PROM
7.5 一個使用多種資源的完整例程
7.5.1 項目需求
7.5.2 步進電機背景知識
7.5.3 解決方案設計與實現
第8章 單片機通信
8.1 串口通信
8.1.1 串列通信基礎
8.1.2 單片機串口使用
8.2 單片機點對點通信
8.2.1 通信接口設計
8.2.2 單片機點對點通信程式設計
8.3 單片機多機通信
8.3.1 主機部分通信程式設計
8.3.2 從機部分通信程式設計
8.4 單片機I2C匯流排通信
8.4.1 I2C匯流排介紹
8.4.2 I2C匯流排硬體接口設計
8.4.3 I2C匯流排模擬硬體接口軟體設計
8.4.4 I2C匯流排系統的設計要點
8.5 單片機與計算機的互連
8.5.1 電路設計
8.5.2電路的C5 1程式代碼
8.5.3計算機端的Visual C++程式代碼
第9章 C51單片機的工程開發實例
9.1 單片機系統設計方法
9.2 C51系統設計的相關知識
9.2.1 硬體以及電路的知識
9.2.2 軟體以及程式語言的知識
9.3 C5l系統設計需要注意的一些問題
9.3.1 單片機資源的分配
9.3.2 單片機的定址
9.3.3 C5 1函式的返回值
9.3.4 單片機的看門狗功能
9.3.5 單片機的外設
9.3.6 單片機的功耗
9.4 有關C51的一些問題
9.5 鍵盤和發光數碼管顯示
9.5.1 電路設計的背景及功能
9.5.2 電路的設計
9.5.3 鍵盤掃描電路的C51程式代碼
9.5.4 電路的改進——鍵盤的消抖動程式
9.5.5 電路的顯示部分-LED數碼管電路
9.6 A/D、D/A轉換器使用
9.6.1 電路設計的背景及功能
9.6.2 電路的設計
9.6.3 電路的C51程式代碼
9.7 基於單片機的數字鐘
9.7.1 電路設計的背景及功能
9.7.2 電路的設計
9.7.3 電路的C51程式代碼
第10章 C5l單片機典型模組實例
10.1 典型外部ROM和RAM器件的使用
10.1.1 實例功能
10.1.2 器件和原理
10.1.3 電路
10.1.4 程式設計
10.2 液晶顯示和驅動實例
10.2.1 實例功能
10.2.2 器件和原理
10.2.3 電路
lO.2.4 程式設計
10.3 用A/D晶片進行電壓測量
10.3.1 實例功能
10.3.2 器件和原理
10.3.3 電路
10.3.4 程式設計
lO.4 使用DSl820進行溫度補償和測量
10.4.1 實例功能
10.4.2 器件和原理
10.4.3 電路
10.4.4 程式設計
10.5 語音晶片在單片機系統中的使用
10.5.1 實例功能
10.5.2 器件和原理
10.5.3 電路
10.5.4 程式設計
10.6 時鐘晶片在單片機系統中的套用
10.6.1 實例功能
10.6.2 器件和原理
10.6.3 電路
10.6.4 程式設計
10.7 單片機中濾波算法的實現
10.8 信號數據的FFT變換