單片機開發與典型工程項目實例詳解

單片機開發與典型工程項目實例詳解

《單片機開發與典型工程項目實例詳解》是2008年電子工業出版社出版的圖書,作者是邊海龍、孫永奎。本書關注開發實踐,對用到的新器件做了詳細介紹,並仔細講解了抗干擾技術和軟體的可靠性。既介紹設計原理、基本步驟和流程,還提供設計思路及代碼注釋,利用於讀者理解和鞏固知識點。

內容簡介

圍繞實踐與經驗,注重套用和實用,8大完整單片機開發項目,實用、典型,上手容易。

前言

隨著大規模積體電路技術的發展,單片微型計算機也隨之大發展,各種新穎的單片機層出不窮。單片機具有體積小、重量輕、套用靈活且價格低廉等特點,廣泛地套用於人類生活的各個領域,成為當今科學技術現代化不可缺少的重要工具。人們迫切希望學習和套用單片機解決各自工作中碰到的技術問題。為此,我們編寫了本書。

單片機系統的開發融合了硬體和軟體的相關技術。要完成單片機系統的開發,用戶不僅需要掌握編程技術,還需要針對實際套用選擇合理的單片機晶片和外圍器件,以此為基礎,設計硬體電路。

通過具體的項目案例來學習單片機系統的開發是一條科學而且高效的途徑。在項目案例的選擇上,本書著重突出“套用”和“實用”的基本原則,項目案例來源於實踐,具有代表性、技術領先性,以及套用的廣泛性。基於這個原則,編者從多年實際項目案例出發,細緻講解單片機項目的需求、設計原理、相關知識、單片機選型、電路設計、具體模組設計和編碼實現,以使讀者對單片機項目開發有系統的認識。

本書注重將多年的開發經驗和技巧融合到具體項目案例的講解中,為開發人員提供必要的知識積累,解決實際工程中的問題。在程式開發語言方面,本書儘量用簡潔的語言來清晰闡述易於理解的概念和思路,並且附帶程式流程圖。同時,對程式代碼作了細緻的中文注釋,有利於讀者舉一反三,快速套用和提高。

內容簡介

本書共15章,主要內容為:

第l章介紹了單片機開發的硬體基礎,具體講解單片機的內部結構、引腳功能和存儲器組織等必要的知識。

第2章介紹單片機開發軟環境,其中主要介紹了Keil C 51和Microchip的單片機的軟體開發環境,講解了單片機C語言開發基礎,此外還講解單片機混合編程的重要知識,為後期開發打基礎。

第3章介紹了單片機系統的開發步驟,講解開發的流程和思路,以及單片機項目開發的晶片選型等實用知識。 第4章介紹了單片機系統中常用的數字濾波和簡單的控制算法。

第5章到13章詳細講解單片機具體工程的實現,它們是鍵盤接口電路、城市交通指揮系統、IC卡讀寫系統的開發及其套用、陣列式LED顯示屏、無刷直流電機控制、永磁同步電機控制、汽車行駛狀態記錄儀、USB-GPIB控制器的實現、抗干擾技術和可靠性在單片機套用系統設計中的重要性。

第14章、第15章從軟體和硬體兩個方面介紹了單片機系統的抗干擾技術。

書中的每個具體的工程均詳細闡明了原理,具體的實現功能,並給出了相應的原理圖和相關的代碼以及注意事項和難點。

讀者對象

本書配有光碟一張,包含全書所有項目案例的硬體原理圖、程式代碼、相關流程圖,方便讀者學習和使用,因此可作為單片機套用的初學者和廣大科技人員的參考書。本書有助於讀者採用單片機為各自所從事的學科解決實際問題。

圖書特點

本書深入淺出、通俗易懂,並注重理論聯繫實際,著重實際套用。具有如下顯著的特點:

8大完整單片機開發項目,層層剖析單片機開發實踐,快速掌握套用系統設計。

突出所選取內容的實用性、典型性。項目案例來自科研工作及實際工程,內容豐富、翔實。設計方案均為典型方案,有利於讀者提高設計工作的效率。

細緻講解設計原理和思路、基本開發流程和代碼注釋,方便讀者理解和掌握知識。對於重點難點給予提示講解,輕鬆學到更多。

關注開發實踐,對系統設計用到的新器件做了詳細的介紹,結合關注度高的USB開發和系統可靠性技術做了詳細講解。

書盤結合,快速提高學習效率。光碟中附帶了硬體電路的設計圖、程式代碼和相關流程圖,讀者稍加修改就可以套用於自己的工作或者完成課題設計。

光碟內容

本書光碟包含所有項目案例相關的硬體電路設計圖、程式代碼和相關流程圖,讀者稍加修改便可套用於實際的工作或者自己的課題。光碟內容主要由3部分組成:

Protel電路設計圖

程式代碼

Visio流程圖

致謝與分工

本書由邊海龍、孫永奎任主編,參與編寫的有陳勇、鄭國玲、羅楊、周建華、張攀峰和王蒞兵。姚新軍負責前期的策劃和後期質量監控。參與具體工作的還包括:王斌、萬雷、張強林、許志清、陳鯤、余松等。成都易為科技有限責任公司負責全書的審校。本書在編寫過程中還受到電子科技大學教授的關心和指導。非常感謝電子工業出版社老師的辛勤努力,使本書在第一時間與讀者見面。

由於編者水平有限,書中難免有疏漏和不足之處,懇請廣大讀者批評指正[email protected]

目錄

第1章 單片機開發的硬體基礎 1

1.1 單片機的套用和特點 1

1.1.1 單片機的套用 1

1.1.2 主流單片機的種類及特點 3

1.2 MCS-51系列單片機的內部結構 7

1.3 MCS-51單片機的引腳功能與時序 9

1.3.1 MCS-51系列單片機引腳說明 10

1.3.2 MCS-51單片機的時序 16

1.4 MCS-51單片機的存儲器組織 17

1.4.1 程式存儲器 18

1.4.2 數據存儲器 19

1.4.3 特殊功能暫存器 21

1.5 單片機最小系統 24

1.5.1 單片機最小系統 24

1.5.2 彩燈控制器的設計 25

1.5.3 順序控制器的設計 27

1.6 本章小結 29

第2章 單片機開發軟環境 30

2.1 單片機C語言宏配置介紹 30

2.1.1 處理器的配置 30

2.1.2 ID區域 31

2.1.3 EEPROM數據 31

2.2 單片機數據結構 31

2.2.1 類型限定詞 32

2.2.2 常數 33

2.2.3 變數 34

2.2.4 構造數據類型 38

2.2.5 函式 46

2.2.6 中斷 49

2.2.7 C語言和彙編語言的嵌套使用 53

2.2.8 偽指令 54

2.3 MPLAB IDE編譯器簡介 57

2.3.1 MPLAB工程管理器(MPLAB Project Manager) 57

2.3.2 MPLAB文本編輯器(MPLAB Editor) 57

2.3.3 MPLAB軟體仿真器(MPLAB-SIM Simulator) 58

2.3.4 MPLAB線上仿真器(MPLAB-ICE Simulator) 58

2.4 MPLAB IDE的安裝和使用 58

2.4.1 MPLAB IDE的安裝要求 58

2.4.2 MPLAB IDE的使用 59

2.4.3 實例套用 59

2.4.4 MPLAB IDE中的工程 62

2.4.5 MPLAB IDE工程的編譯 65

2.4.6 MPLAB IDE的軟體仿真 66

2.5 MCC18基礎 68

2.5.1 MCC18的安裝目錄瀏覽 68

2.5.2 MCC18的語言執行流程 70

2.5.3 MCC18舉例 70

2.5.4 MCC18的編譯環境 72

2.5.5 MCC18和單片機的比較 73

2.6 單片機的混合開發 74

2.6.1 C51和彙編語言的性能比較 74

2.6.2 C51和彙編語言的混合編程 74

2.7 本章小結 79

第3章 單片機開發工程基礎 80

3.1 單片機套用系統設計的流程 80

3.2 單片機套用系統兩設計原則 82

3.2.1 硬體系統設計原則 82

3.2.2 套用軟體設計原則 83

3.3 單片機的選型 83

3.3.1 單片機選型的原則 83

3.3.2 單片機選型參考 85

3.3.3 開發工具的選擇 86

3.4 系統常見故障與調試 87

3.5 本章小結 88

第4章 數字濾波及簡單的控制算法 89

4.1 數字濾波算法 89

4.1.1 算術平均值濾波 90

4.1.2 滑動平均值濾波 92

4.1.3 防脈衝干擾平均值濾波 93

4.1.4 中值濾波 95

4.1.5 一階滯後濾波 96

4.2 數字PID控制算法 97

4.2.1 位置式PID控制算法 98

4.2.2 增量式PID控制算法 100

4.2.3 積分分離的PID控制算法 102

4.2.4 變速積分PID控制算法 103

4.3 本章小結 104

第5章 鍵盤接口電路 105

5.1 鍵盤設計的組成和分類 105

5.1.1 鍵盤的物理結構 106

5.1.2 鍵盤的組成形式 106

5.2 鍵盤接口的工作過程和工作方式 111

5.2.1 鍵盤的抖動干擾和消除方法 111

5.2.2 盤接口的工作過程 112

5.2.3 鍵盤的工作方式 112

5.3 鍵位置的判別方法 113

5.4 鍵盤接口設計的儲存晶片和

5.4 相關協定 114

5.4.1 鍵盤接口設計的儲存晶片 114

5.4.2 AT24CXX系列的晶片及I2C協定 114

5.4.3 A93CXX系列的晶片及SPI協定 124

5.5 鍵盤接口實現的工程實例 132

5.5.1 矩陣鍵盤接口的工程實例 132

5.5.2 矩陣式中斷掃描鍵盤的設計 137

5.5.3 二進制編碼鍵盤接口的工程實例 139

5.6 重點與難點 141

第6章 城市交通指揮系統 143

6.1 交通燈順序控制 143

6.1.1 硬體系統的設計 143

6.1.2 反向器74F06 145

6.1.3 控制字 145

6.1.4 程式設計 145

6.2 設計一種基於模糊理論的單片機控制交通路口調度系統 148

6.2.1 系統的總體設計 148

6.2.2 十字路口調度系統模糊控制器的設計 149

6.2.3 電路設計 151

6.2.4 車流量檢測電路 154

6.2.5 系統主程式和模糊控制程式設計 155

6.2.6 系統顯示程式設計 157

6.3 重點與難點 159

第7章 陣列式LED顯示屏 161

7.1 顯示屏顯示原理及串列通信基本概念 161

7.1.1 顯示屏顯示原理 161

7.1.2 串列通信 163

7.1.3 陣列式LED顯示屏的實現 166

7.2 顯示屏硬體電路設計 166

7.2.1 硬體電路介紹 168

7.2.2 外擴數據存儲器電路 170

7.3 列式LED顯示屏顯示程式的171

7.3.1 漢字點陣數據的提取 171

7.3.2 顯示主程式 174

7.3.3 串口中斷處理程式 176

7.3.4 顯示驅動函式 179

7.3.5 外部存儲器讀寫程式 181

7.3.6 串口通信程式 181

7.3.7 文字顯示特效程式 182

7.4 本章小結 191

第8章 IC卡讀/寫系統的開發及其192

8.1 IC卡基礎 192

8.1.1 IC卡的分類 192

8.1.2 IC卡的標準 194

8.2 接觸型IC卡讀寫系統的開發 194

8.2.1 IC卡讀寫系統的時序 195

8.2.2 IC卡讀寫系統的硬體連196

8.2.3 IC卡讀寫系統的軟體系統 197

8.3 基於SLE4442加密卡讀寫系統的開發 201

8.3.1 SLE4442卡的介紹 201

8.3.2 SLE4442的模式 203

8.3.3 SLE4442的操作命令 205

8.3.4 SLE4442讀/寫系統的軟硬體設計 208

8.4 重點與難點 215

第9章 無刷直流電機控制 216

9.1 無刷直流電機控制原理 216

9.1.1 無刷直流電機的組成 217

9.1.2 無刷直流電機的工作原理 217

9.1.3 無刷直流電機的控制方法 219

9.2 無刷直流電機的工作特性 220

9.3 直流無刷電機控制的套用實現 221

9.3.1 總體設計概述 221

9.3.2 直流無刷電機控制的硬體設計 222

9.3.3 直流無刷電機控制的軟體設計 224

9.3.4 無刷直流電機速度閉環控制系統 227

9.4 本章小結 230

第10章 永磁同步電機控制實現 231

10.1 永磁同步電機的結構與分類 231

10.2 永磁同步電機的矢量控制 232

10.3 永磁同步電機控制 236

10.3.1 控制電路設計 237

10.3.2 光電隔離電路設計 238

10.3.3 功率電路設計 239

10.4 永磁同步電機控制的軟體實現 239

10.4.1 電壓SVPVM的DSPIC33f軟體實現 241

10.4.2 轉子位置檢測 243

10.4.3 AD轉換模組 245

10.5 本章小結 246

第11章 汽車行駛狀態記錄儀 247

11.1 汽車行駛記錄儀功能介紹 247

11.2 簡易汽車行駛記錄儀的設計 249

11.2.1 汽車行駛記錄儀的考慮因素 250

11.2.1 MSP430 251

11.2.2 車模擬信號的採集 254

11.2.4 數位訊號採集電路 255

11.2.5 SST39VF160晶片介紹 257

11.3 記錄儀的軟體設計 257

11.3.1 軟體流程圖 258

11.3.2 數據存儲格式 259

11.3.3 SST39VF160存儲器數據讀寫的實現 259

11.4 數據採集的程式實現 263

11.5 本章小結 264

第12章 USB-GPIB控制器的實現 265

12.1 USB-GPIB控制器簡介 265

12.1.1 認識USB 266

12.1.2 GPIB 269

12.2 USB-GPIB控制器的硬體電路設計 271

12.2.1 器件的選擇 272

12.2.2 USB-GPIB控制器電路設計 278

12.3 USB-GPIB控制器的軟體程式的實現 287

12.3.1 USB單片機協定控制晶片與主機(計算機)的數據互動 288

12.3.2 USB協定控制晶片與GPIB控制器的數據互動 299

12.4 USB-GPIB控制器固件的調試與固化 300

12.4.1 USB-GPIB控制器固件的調試 301

12.4.2 USB-GPIB控制器固件程式的固化 302

12.5 本章小結 303

第13章 單片機系統抗干擾技術 304

13.1 研究抗干擾技術的重要性 304

13.2 干擾的分類 305

13.2.1 按噪聲產生的原因分類 306

13.2.2 按噪聲傳導模式分類 306

13.2.3 按噪聲波形及性質分類 307

13.3 干擾的耦合方式 308

13.4 單片機系統可靠性的設計任務與方法 310

13.4.1 單片機系統可靠性設計的任務 310

13.4.2 可靠性設計一般方法 311

13.5 本章小結 313

第14章 單片機系統硬體抗干擾技術 314

14.1 無源濾波器抗干擾 314

14.1.1 電容濾波器 315

14.1.2 電感濾波器 316

14.1.3 RC低通濾波器 316

14.1.4 1LC低通濾波器 318

14.1.5 低通濾波器的結構選擇 319

14.1.6 低通濾波器的平衡結構與串聯形式 319

14.2 有源濾波器抗干擾 321

14.2.1 一級低通有源濾波器 321

14.2.2 二級低通有源濾波器 322

14.3 去耦電路 324

14.3.1 尖峰電流的形成原理 324

14.3.2 去耦電容的配置 325

14.3.3 光電隔離 326

14.3.4 繼電器隔離 328

14.3.5 變壓器隔離 328

14.3.6 布線隔離 329

14.4 接地技術 330

14.5 本章小結 334

第15章 單片機開發的軟體可靠性 335

15.1 概述 335

15.2 指令冗餘技術 336

15.2.1 單位元組指令冗餘 337

15.2.2 重要指令冗餘 337

15.3 軟體陷阱技術 337

15.3.1 未使用的中斷向量區設定陷阱 338

15.3.2 RAM數據區中設定陷阱 338

15.3.3 未使用的EPROM數據區設定陷阱 339

15.3.4 非EPROM單片機空間設定陷阱 339

15.3.5 運行程式區設定陷阱 339

15.4 看門狗技術 339

15.4.1 硬體看門狗技術 340

15.4.2 軟體看門狗技術 342

15.5 本章小結 345

相關詞條

熱門詞條

聯絡我們