圖書概述
本書以美國Franklin軟體公司專為805l系列單片機設計的高效率C語言編譯器為核心,闡述了單片機高級語言C51的基本語法、各種運算符的作用以及語句結構等,詳細介紹了C51編譯器、L51連線定位器以及A5l宏彙編器的使用方法,對於各種編譯連線控制指令作了詳盡的描述,並給出了各種編譯連線錯誤信息。另外還詳細介紹了Franklin公司獨具特色的軟體仿真器DS51的使用方法。採用DS51可在完全沒有8051單片機硬體的條件下,用一台普通PC機即可完成8051套用系統程式的仿真調試工作,這一點對於採用高級語言編程的單片機用戶是十分有益的。本書的特點是強調實用性和先進性,全書各章中都列舉了大量的程式例子,並且還有一章(第十章)專門用來闡述C51套用編程技巧和實例,列舉了一些C51套用中常見的問題與解決方法,給出了若干採用C5l高級語言進行單片機應用程式設計的實例。
本書適合於廣大從事單片機套用系統開發研製的工程技術人員閱讀,特別適合於已經了解單片機原理而希望採用高級語言編程的單片機用戶,也可作為普通高等工科院校大學生或研究生學習C語言的教學用書。
圖書目錄
第一章 c語言的基本知識
1.1 c語言的特點及其程式結構
1.2 c語言的標識符和關鍵字
1.3 單片機c51程式的編譯連線與調試
第二章 c51程式設計的基本55缽
2.1 數據類型
2.2 常量
2.3 變數及其存儲模式
2.4 用typedef重新定義數據類型
2.5 運算符與表達式
2.5.1 賦值運算符
2.5.2 算術運算符
2.5.4 關係運算符
2.5.5 邏輯運算符
2.5.6 位運算符
2.5.7 複合賦值運算符
2.5.8 逗號運算符
2.5.9 條件運算符
2.5.10 指針和地址運算符
2.5.11 強制類型轉換運算符
2.5.12 sizeof運算符
2.6 表達式語句
2.7 複合語句
2.8 條件語句
2.9 開關語句
2.10 循環語句
2.10.1 while語句
2.10.2 do—while語句
2.10.3 for語句
2.10.4 goto語句
2.10.5 continue語句
2.11 返回語句
第三章 函式
3.1 函式的定義
3.2 函式的調用
3.2.1 函式的調用形式
3.2.2 對被調用函式的說明
3.2.3 函式的參數和函式的返回值
3.2.4 實際參數的傳遞方式
3.3 函式的遞歸調用與再入函式
3.4 中斷服務函式與暫存器組定義
3.5 變數的存儲方式
3.5.1 局部變數與全局變數
3.5.2 變數的存儲種類
3.5.3 函式的參數和局部變數的存儲器模式
第四章 數組和指針
4.1 數組的定義和引用
4.2 字元數組
4.3 數組元素賦初值
4.4 數組作為函式的參數
4.5 指針的概念
4.5.1 指針與地址
4.5.2 指針變數的定義
4.5.3 指針變數的引用
4.5.4 指針變數作為函式的參數
4.6 數組的指針
4.6.1 用指針引用數組元素
4.6.2 字元數組指針
4.7 指針的地址計算
4.8 函式型指針
4.9 返回指針型數據的函式
4.10 指針數組與指針型指針
4.10.1 指針數組
4.10.2 指針型指針
4.11 抽象型指針
第五章 結構與聯台
5.1 結構的概念
5.1.1 結構變數的定義
5.1.2 結構變數的引用
5.1.3 結構變數的初值
5.1.4 結構數組
5.2 結構型指針
5.2.1 結構型指針的概念
5.2.2 用結構型指針引用結構元素
5.3 結構與函式
5.3.1 將結構作為函式的參數
5.3.2 將結構型指針作為函式的參數
5.4 聯合
5.4.1 聯合的定義
5.4.2 聯合變數的引用
第六章 預處理器
6.1 宏定義
6.1.1 不帶參數的宏定義
6.1.2 帶參數的宏定義
6.2 檔案包含
6.3 條件編譯
6.4 其他預處理命令
第七章 c51編譯器
7.1 c51編譯器控制指令詳解
7.1.1 源控制指令
7.1.2 列表控制指令
7.1.3 目標控制指令
7.2 c51編譯器的數據調用協定
7.2.1 數據在記憶體中的存儲格式
7.2.2 目標代碼的段管理
7.2.3 再入函式的棧結構
7.2.4 與彙編語言程式的接口
7.2.5 與fl/m51語言程式的接口
7.2.6 配置檔案
7.2.7 c51編譯器的限制
7.3 c51編譯器的出錯信息
7.3.1 致命錯誤
7.3.2 語法及語義錯誤
7.4 c51的庫函式
7.4.1 字元函式ctype.h
7.4.2 一般i/o函式stdio.h
7.4.3 字元串函式string.h
7.4.4 標準函式stdlib.h
7.4.5 數學函式math.h
7.4.6 絕對地址訪問absacc.h
7.4.7 內部函式intrins.h
7.4.8 變數參數表stdarg.h
7.4.9 全程跳轉setjmp.h
7.4.10 訪問sfr和sfr—bit地址regxxx.h
7.5 c5l編譯器的特殊擴充
7.5.1 對西門子80c517/537的特殊擴充
7.5.2 對amd 8xc51的特殊擴充
7.5.3 對philips 8xc751的特殊擴充
第八章 目標檔案的連線與轉換
8.1 連線定位器l51
8.1.1 連線/定位控制指令
8.1.2 l51的出錯信息
8.2 符號轉換程式ohs5l
8.2.1 intel hex檔案的格式
8.2.2 ohs5l的控制指令與出錯信息
8.3 庫管理程式ub51
8.4 分組連線定位器bl5l
8.4.1 bl51的控制指令
8.4.2 bl51的分組配置
8.4.3 bl51的出錯信息
8.4.4 分組目標檔案轉換程式oc5l
8.5 宏彙編器a51
8.5.1 符號與表達式
8.5.2 彙編偽指令
8.5.3 宏處理
8.5.4 彙編控制指令
8.5.5 a51的出錯信息
第九章 ds51軟體仿真器
9.1 ds5l的啟動和螢幕視窗分配
9.2 命令解釋軟體
9.3 滑鼠器的使用
9.3.1 用滑鼠器輸入命令
9.3.2 用滑鼠器執行命令
9.4 下拉選單的操作
9.4.1 選項選單(alt十o)
9.4.2 鍵盤選單(a1t十k)
9.4.3 觀察選單(alt十v)
9.4.4 外圍集成功能選單(a1t十p)
9.4.5 映象選單(alt十m)
9.4.6 幫助選單(a1t十h)
9.4.7 cpu選單(alt十c)
9.5 ds51的命令
9.5.1 顯示和更新存儲器內容命令
9.5.2 用戶程式執行控制命令
9.5.3 斷點管理命令
9.5.4 其它通用命令
9.6 表達式
9.6.1 表達式的組成
9.6.2 ds5l表達式與c表達式之間的差別
9.6.3 ds51表達式套用示例
9.7 ds51的函式
9.7.1 用戶函式
9.7.2 內部函式
9.7.3 信號函式
9.7.4 ds51函式與c語言函式的差別
9.8 ds51的出錯信息
9.9 ds5l的iof驅動軟體
第十章 c51套用編程技巧與實例
10.1 c5l應用程式設計的基本方法
10.2 c51套用中的一些常見問題與解決方法
10.2.1 c語言程式設計中容易出錯的地方
10.2.2 有關c5l的若干實際套用技巧
10.3 8051單片機串列接口擴展套用編程
l0.3.1 用8051串列口擴展的矩陣鍵盤
10.3.2 利用8051串列口實現多機通信
10.3.3 串列接口五位led驅動器mcl4489的套用
10.4 軟體模擬i c匯流排的c51讀寫程式
10.4.1 1’c匯流排簡介
10.4.2 1’c匯流排通用讀寫程式
10.5 8051單片機並行接口擴展套用編程
10.5.1 列印輸出接口及其驅動程式
10.5.2 d/a及a/d轉換接口及其驅動程式
10.5.3 用可程式晶片8155實現i/o接口擴展
10.6 80c552單片機中a/d轉換器的套用
10.6.1 80c552單片機簡介
10.6.2 80c552內部adc的套用
l0.6.3 使用80c552內部a比時印刷電路版的設計要點
10.6.4 使用80c552內部adc的c5l驅動程式
10.7 87c752單片機在氣流量測量中的套用
10.7.1 87c752單片機簡介
l0.7.2 氣流量測量儀表的硬體設計
10.7.3 氣流量測量儀表的軟體設計
參考文獻