內容簡介
《51單片機C語言應用程式設計實例精講》通過大量的實例,介紹了51單片機各種C語言套用專題程式設計的流程、方法、技巧及設計思想。全書共分31章,第1章~第3章為基礎知識,介紹了51單片機開發的硬體結構、指令系統、C語言設計以及Keil8051C編譯器知識;第4章~第31章為本書的重點,通過28個典型的C語言套用實例,介紹了51單片機的各種套用開發和使用技術,包括輸入,輸出、數據採集,控制系統、存儲系統與外設擴展、信號與算法實現、網路通信與傳輸、電源監控與抗干擾設計。全書實例豐富,每個例子都調試通過,都有具體的設計思路、硬體電路、軟體設計以及程式代碼分析,同時附錄里專門提供了實例配套實驗箱內容,對於讀者學習51單片機的套用開發提供了參考和指導價值。
《51單片機C語言應用程式設計實例精講》中的所有程式代碼都使用C語言實現,簡單易學、易懂。《51單片機C語言應用程式設計實例精講》適合計算機、自動化、電子及硬體等相關專業的學生進行學習,同時也可供從事51單片機開發的科研設計人員參考使用。
《51單片機C語言應用程式設計實例精講》配有一張光碟,光碟里包括了書中所有的程式代碼和電路圖,讀者稍加修改即可用於自己的設計,物超所值。
目錄
第一篇基礎知識篇
第1章51單片機開發的基礎知識
1.151單片機的硬體結構
1.1.1功能模組
1.1.2CPU
1.1.3並行I/O連線埠
1.1.4存儲囂結構
1.1.5定時/計數器
1.1.6串列口
1.1.7中斷系統
1.251單片機的指令系統
1.2.1定址方式
1.2.2指令說明
1.2.3指令系統表
1.3本章總結
第2章C語言程式各語句用法與意義
2.1數據結構
2.1.1數據類型
2.1.2變數與常量
2.1.3數組
2.1.4指針
2.1.5結構
2.1.6共用體
2.1.7枚舉
2.2運算符與表達式
2.2.1運算符分類與優先權
2.2.2算術運算符與表達式
2.2.3關係運算符與表達式
2.2.4邏輯運算符與表達式
2.2.5位操作運算符與表達式
2.2.6賦值運算符與表達式
2.3程式結構與函式
2.3.1程式結構
2.3.2函式
2.4流程控制語句
2.4.1選擇語句
2.4.2循環語句
2.4.3轉移語句
2.5本章總結
第3章Keil8051C編譯器
3.1Keil編譯器簡介
3.2使用Keil開發套用軟體
3.2.1建立工程
3.2.2工程的設定
3.2.3編譯與連線
3.3dScopeforWindows的使用
3.3.1如何啟動
3.3.2如何調試
3.3.3調試視窗
3.4本章總結
第二篇輸入/輸出系統設計
第4章單片機實現液晶顯示
4.1實例說明
4.2設計思路分析
4.2.1液晶顯示模組
4.2.2液晶顯示工作原理
4.2.3設計思路
4.3硬體電路設計
4.3.1器件選取
4.3.2電源模組
4.3.3液晶顯示模組
4.3.4單片機模組
4.4軟體設計
4.4.1液晶控制驅動囂指令集
4.4.2程式說明
4.5實例總結
第5章基於MAX7219的8位數碼管顯示
5.1實例說明
5.2設計思路分析
5.2.1LED顯示驅動晶片的選取
5.2.2MAX7219的工作原理
5.3硬體電路設計
5.3.1主要器件
5.3.2電路原理圖
5.4軟體設計
5.4.1MAX7219的工作時序和暫存器描述
5.4.2程式說明
5.5實例總結
第6章鍵盤輸入實例——實現4x4鍵盤
6.1實例說明
6.2設計思路分析
6.3硬體電路設計
6.4軟體設計
6.5實例總結
第7章單片機實現語音錄放
7.1實例說明
7.2設計思路分析
7.2.1語音晶片選取
7.2.2語音晶片1SD2560簡介
7.3硬體電路設計
7.3.1主要器件
7.3.2電路原理圖及說明
7.4軟體設計
7.4.1程式流程
7.4.2程式說明
7.5實例總結
第三篇數據採集系統設計
第8章基於MAX197的並行A/D轉換
8.1實例說明
8.2設計思路分析
8.2.1A/D轉換原理
8.2.2如何選擇A/D轉換器件
8.2.3A/D轉換器對電源電路的要求
8.3硬體電路設計
8.3.1主要器件
8.3.2電路原理圖及說明
8.4軟體設計
8.4.1MAX197控制字
8.4.2程式流程
8.4.3程式說明
8.5實例總結
第9章基於TLC549的串列A/D轉換
9.1實例說明
9.2設計思路分析
9.2.1晶片選取
9.2.2工作原理
9.3硬體電路設計
9.3.1主要器件
9.3.2電路原理圖及說明
9.4軟體設計
9.4.1轉換過程和時序要求
9.4.2程式流程
9.4.3程式說明
9.5實例總結
第10章基於MAX527的並行D/A轉換
10.1實例說明
10.2設計思路分析
10.2.1D/A轉換原理
10.2.2如何選擇D/A轉換器件
10.2.3D/A轉換器對電源電路的要求
10.3硬體電路設計
10.3.1主要器件
10.3.2電路原理圖及說明
10.4軟體設計
10.4.1MAX527的地址和重要引腳
10.4.2程式流程
10.4.3程式說明
10.5實例總結
第11章基於MAX517的串列D/A轉換
11.1實例說明
11.2設計思路分析
11.2.1晶片選取
11.2.2工作原理
11.3硬體電路設計
11.3.1主要器件
11.3.2電路原理圖及說明
11.4軟體設計
11.4.1時序要求和轉換過程
11.4.2程式說明
11.5實例總結
第12章基於SHT71數字溫/濕度感測器的採集實現
12.1實例說明
12.2設計思路分析
12.2.1SHT71性能概述
12.2.2SHT71的功能說明
12.2.3SHT71的引腳尺寸和說明
12.3硬體電路設計
12.4軟體設計
12.4.1SHT71的操作方法
12.42程式流程
12.4.3源程式清單
12.5實例總結
第13章基於DS1624的數字溫度計設計
13.1實例說明
13.1.2設計思路分析
13.2.1DS1624簡介
13.2.2DS1624基本特性
13.2.3DS1624工作原理
13.2.4DS1624工作方式
13.2.5DS1624的指令集
13.3硬體電路設計
13.3.1硬體設計
13.3.2原理科及其說明
13.4軟體設計
13.4.1程式流程
13.4.2程式說明
13.5實例總結
第四篇控制系統設計
第14章基於DS12C887的實時日曆時鐘顯示系統設計
14.1實例說明
14.2設計思路分析
14.2.1選擇合適的日曆時鐘晶片7
14.2.2如何由DS12C887晶片獲取時間信息
14.3硬體電路設計
14.3.1結構框圖
14.3.2主要器件
14.3.3電路原理圖及說明
14.4軟體設計
14.4.1DS12C877的記憶體空間
14.4.2程式流程
14.4.3程式代碼及說明
14.5實例總結
第15章單片機控制的步進電機系統
15.1實例說明
15.2設計思路分析
15.2.1步進電機的工作原理
15.2.2步進電機的控制
15.2.3脈衝分配與驅動晶片的選取
15.3硬體電路設計
15.3.1結構框圖
15.3.2主要器件
15.3.3電路原理圖廈說明
15.4軟體設計
15.4.1程式流程
15.4.2程式說明
15.5實例總結
第16章基於MAX1898的智慧型充電器設計
16.1實例說明
16.2設計思路分析
16.2.1為何需要實現充電器的智慧型化
16.2.2如何選擇電池充電晶片
16.2.3MAX1898的充電工作原理
16.3硬體電路設計
16.3.1主要器件
16.3.2電路原理圖及說明
16.4軟體設計
16.4.1程式流程
16.4.2程式說明
16.5實例總結
第五篇存儲系統與外設擴展
第17章基於NORFlashAM29LV320的數據存儲
17.1實例說明
17.2設計思路分析
17.2.1晶片AM29LV320
17.2.2具體設計思路
17.3硬體電路設計
17.4軟體設計
17.4.1AM29LV320的命令與狀態
17.4.2串列異步數據傳輸
17.4.3程式代碼說明
17.5實例總結
第18章基於XC95144的串口擴展
18.1實例說明
18.2設計思路分析
18.2.1串口傳送的設計
18.2.2串口接收的設計
18.2.3串口模組的設計l
18.3硬體電路設計
18.4軟體設計
18.4.1CPLD的設計原理圖
18.4.2C51單片機程式代碼說明
18.5實例總結
第19章基於8255擴展並行口
19.1實例說明
19.2設計思路分析
19.2.1並行口擴展的原理
19.2.2晶片選擇
19.3硬體電路設計
19.4軟體設計
19.5實例總結
第六篇信號與算法實現
第20章單片機實現智慧型信號發生器
第21章單片機實現步進式PWM信號輸出
第22章單片機實現CRC算法
第23章單片機實現軟體濾波
第七篇通信傳輸系統設計
第24章單片機實現點對點的數據傳輸
第25章單片機實現點對多點的數據傳輸
第26章單片機實現乙太網接口
第27章單片機實現1C匯流排通信
第28章單片機實現RS-485匯流排現場監測系統
第29章CAN匯流排接口通信設計
第八篇電源監控與抗干擾設計
第30章單片機監控電路設計
第31章光電隔離電路設計
附錄
附錄A彙編語言與C語言的混合編程
附錄B實例配套實驗箱