本書系統介紹了基于PIC單片機設計微控制系統的基本方法。首先重點介紹PIC16F84A芯片的基本結構和編程技術;其次介紹了如何使用免費的PIC單片機開發軟件MPLABIDE,以及ProteusVSM交互式電子設計軟件,開發自己的應用程序并對功能進行仿真;后重點介紹了基本接口、電機驅動、溫度控制和一般控制系統的設計方法,并提供了相應的完整的軟件代碼示例。本書可作為電類專業微處理器課程的本科生教材,還可作為微控制器愛好者和專業工程師的參考書籍。
第3版前言
微控制器是目前許多電子產品的核心。手機、微波爐、數字電視、信用卡、互聯網和其他許多現有的技術都依靠這些小而不顯眼的設備,使這一切成為可能。
本書嘗試向初學者介紹這種無處不在而又復雜的技術。從標準的PC開始,講述基本概念和術語:微處理器系統、存儲器、輸入和輸出以及一般的數字系統概念。然后,我們將繼續學習PIC微控制器(MCU)。在小規模的工業應用市場上它占主導地位,其制造商為Microchip Technology公司。
我們將從研究一個商業上不再重要,但比較簡單,且擁有少量高級功能的芯片PIC 16F84A開始。它是第一個具有閃存程序存儲器和記憶棒的小型微控制器之一,這些功能使得它可以很容易重新編程,因此它非常適合學習者和電子產品愛好者使用。我們將學習如何連接此芯片和在芯片上編程,并且設計簡單的應用,如輸出讓LED閃爍。此外,還會介紹仿真軟件使得設計過程更容易、更有趣。然后,我們將繼續介紹PIC 16F690芯片,它是PIC領域中功能較多,最具代表性的產品。在實際應用(如汽車發動機控制或通信系統)中,使用的許多單片機都比較強大,但操作原理是一樣的。其他類型的控制技術將與本書介紹的微控制器進行比較分析。
本書采用的大部分例子都與電動機控制有關,因為電動機控制是一個非常常見的應用程序(磁盤驅動器、洗衣機、輸送機等)。小型直流電動機價格低廉,通過一個簡單的電流驅動接口可以很容易地連接到PIC芯片上。電動機的響應可能很復雜,但是很容易被觀察到,這都表明它是與實時系統控制相關的問題。電動機還提供了一個與更多工程領域的鏈接,如機電一體化、機器人、數控機床和工業系統,這些知識對該學科的學生和工程師都非常有用。
區分微處理器和微控制器最大的問題是要充分理解它們的工作原理,需要同時了解兩者的硬件和軟件。因此,我們要圍繞這個主題,從不同角度了解系統,直到建立一個合理的認知水平。本書包括基本的硬件設計、接口、程序開發、調試、測試,并使用一系列簡單的例子進行分析。數字系統、數字化的原則和微處理器的系統概念,以及系統設計練習,這些基本概念會在附錄中介紹,以供不具備這種必要背景的讀者參考。附錄E介紹了使用Proteus VSM電子設計套件進行設計的整個過程。
在每章開始有個該章重點,以使該章的內容一目了然。在每章最后列出一組問題,用于學生的自我評估和正式測試(答案在本書末),根據需要,建議實踐活動可以演變為實際評估。本書的風格可供寫實際評估技術報告的學生作為一個模型借鑒。應用程序開發的各個階段應清楚地標明以下情況:規范、設計、實現和測試。
每章的內容既兼顧了整本書的連續性,又允許每個章節可以獨立閱讀。因此在章節之間會有少量重復內容,這有助于讀者學習。主體總是龐大而復雜,因此在這類書里到底應該包含什么總是很難決定。我的原則是始終保持簡單,我希望我的選擇將幫助讀者開始了解微控制器的奇妙世界,對開發的實際應用有合理的理解,進而可以從事微控制器的設計和應用。然而,對微控制器的理解是任何電氣工程師必不可少的基礎,因為該技術是現在大多數電子產品和工業系統的核心。
譯者序
第3版序
第3版前言
第一部分 入門
第1章 計算機系統2
1.1 個人計算機系統3
1.2 文字處理器的操作7
1.3 微處理器系統9
1.4 微控制器的應用12
第2章 微控制器的操作20
2.1 微控制器的架構21
2.2 程序操作25
第3章 簡單的PIC應用35
3.1 硬件設計36
3.2 程序執行39
3.3 程序BIN141
3.4 匯編語言43
第4章 PIC程序開發49
4.1 程序開發50
4.2 程序設計52
4.3 程序編輯53
4.4 程序結構57
4.5 程序分析58
4.6 程序匯編62
4.7 程序仿真65
4.8 程序下載68
4.9 程序測試71
第二部分 PIC微控制器
第5章 PIC架構74
5.1 框圖76
5.2 程序執行77
5.3 文件寄存器的設置78
第6章 編程技術86
6.1 程序時序圖87
6.2 硬件計數/定時器88
6.3 中斷92
6.4 寄存器操作98
6.5 特殊功能105
6.6 匯編偽指令107
6.7 偽指令112
6.8 數值類型112
6.9 數據表114
第7章 PIC開發系統117
7.1 在線編程118
7.2 PICkit2演示系統119
7.3 PIC 16F690 芯片120
7.4 測試程序121
7.5 模擬輸入123
7.6 仿真測試124
7.7 硬件測試125
7.8 其他PIC演示套件125
7.9 在線調試127
7.10 在線仿真129
第三部分 PIC應用
第8章 應用設計132
8.1 設計規范133
8.2 硬件設計135
8.3 軟件設計137
8.4 程序實現142
第9章 程序調試148
9.1 語法錯誤149
9.2 邏輯錯誤151
9.3 測試計劃157
9.4 交互式調試159
9.5 硬件測試163
第10章 硬件原型設計165
10.1 硬件設計166
10.2 硬件結構167
10.3 Dizi84板的設計172
10.4 Dizi84板的應用176
第11章 PIC電動機應用192
11.1電動機控制193
11.2電動機應用板MOT2194
11.3電動機控制方法197
11.4MOT2的測試程序198
11.5閉環速度控制203
11.6電動機控制模塊209
第四部分 微控制器系統
第12章 更多的PIC微控制器216
12.1共同特征218
12.2器件選擇222
12.3外設接口227
12.4串口230
第13章 更多的PIC應用236
13.1TEMCON2溫度控制器237
13.2簡化的溫度控制器252
13.3PIC的C語言編程254
第14章 更多的控制系統259
14.1其他微控制器260
14.2微處理器系統262
14.3控制技術266
14.4控制系統設計273
第五部分 附錄
附錄A 二進制數278
附錄B 微電子器件290
附錄C 數字系統305
附錄D Dizi84演示板317
附錄E Dizi690演示板334
習題參考答案350