《PIC單片機常用模組與綜合系統設計實例精講》是2009年電子工業出版社出版的書籍,作者是夏彬彬、任明全、屈金學。
基本介紹
- 書名:PIC單片機常用模組與綜合系統設計實例精講
- 作者:夏彬彬,任明全,屈金學
- ISBN:9787121079962
- 類別:計算機
- 頁數:340頁
- 定價:45.00元(含光碟1張)
- 出版社:電子工業出版社
- 出版時間:2009-3-1
- 開本:16開
內容簡介,圖書前言,書籍特色,章節目錄,
內容簡介
全書從實用的角度出發,通過大量實例精講的形式,詳細介紹了PIC單片機常用模組與綜合系統設計的方法與技巧。全書共分3篇18章,主要內容安排如下:
第一篇為基礎知識篇,包括第1~4章,簡要介紹了PIC單片機的硬體內部結構、CPU特色、中斷系統、指令系統及PIC常用開發工具,引導讀者入門。
第二篇為PIC單片機常用模組設計篇,包括第5~15章,通過18個模組實例詳細介紹了PIC單片機的各種開發技術和使用技巧,這些模組實例基礎、實用、易學易懂,全部調試通過,幾乎涵蓋了PIC單片機所有的開發技術。
第三篇為綜合系統設計實例篇,包括第16~18章,通過3個綜合系統實例,對前面介紹的PIC單片機常用模組進行了綜合套用設計,經過此篇學習,讀者對於PIC單片機綜合系統設計的能力將迅速提升,並可產生質的飛躍。
本書語言通俗易懂,結構合理,基礎知識與大量實例相結合,邊學邊練。不但詳細介紹了PIC單片機的硬體電路設計和模組化編程,而且提供了綜合系統設計思路,對實例的所有程式代碼做了詳細注釋,有利於讀者理解和鞏固知識點。
本書配有光碟一張,包含了全書所有實例的硬體原理圖和程式原始碼,方便讀者學習和使用。本書適合計算機、自動化、電子及硬體等相關專業的高校學生及從事PIC單片機的科研人員使用。
圖書前言
PIC單片機套用十分廣泛,它由美國Microchip公司生產,具有硬體系統設計便捷、指令系統設計精練、採用精簡指令集和哈佛雙匯流排結構,擁有速度高、功率低、驅動電流大、控制能力強等優點,能滿足各種用戶的需要,因此受到廣大用戶歡迎,同時也是比較容易學習、開發效率較高的單片機系列。
在目前市場上PIC單片機類的圖書中,介紹程式語言和基礎原理的較多,而對常用模組的開發實例涉及甚少,從常用模組到綜合套用系統的實例提高更是處於空白,本書的出版可以填補這種空白。
書籍特色
歸納起來,本書主要具備以下特色:
(1)本書語言通俗,結構合理,內容豐富,由簡到難,基礎知識與大量實例相結合,可做到邊學邊練。
(2)本書安排了18個PIC單片機常用模組實例,這些實例基礎、典型、實用、易學易懂,涵蓋了幾乎所有的PIC單片機開發技術,為讀者提供了難得的學習途徑。
(3)最後安排了3個綜合系統實例,對PIC單片機的基本知識和常用模組進行了綜合套用,有利於讀者舉一反三,實現從入門到精通的學習目的。
(4)本書不但詳細介紹了PIC單片機的硬體電路設計和模組化編程,而且提供了綜合系統設計思路,對實例的所有程式代碼做了詳細注釋,有利於讀者理解和鞏固知識點,是讀者學習PIC單片機開發的必備寶典。
本書主要由夏彬彬、任明全、屈金學編寫,另外參加編寫的人員還有:唐清善、邱寶良、周克足、劉斌、李亞捷、李永懷、李寧宇、劉偉捷、黃小歡、嚴劍忠、黃小寬、李彥超、付軍鵬、張廣安、賈素龍、王艷波、金 平、徐春林、謝正義、鄭貞平、張小紅等。他們在資料收集、整理和技術支持方面做了大量的工作,在此一併向他們表示感謝!
由於時間倉促,再加之作者的水平有限,書中難免存在一些不足之處,歡迎廣大讀者批評和指正。
編著 者
章節目錄
第一篇 基礎知識篇
第1章 PIC單片機概述 2
1.1 PIC單片機的特點 2
1.2 PIC單片機的系列產品 5
1.2.1 基本級PIC系列單片機 6
1.2.2 中級PIC系列單片機 6
1.2.3 高級PIC系列單片機 8
1.3 PIC16F87X單片機的硬體
1.3 結構 10
1.3.1 PIC16F87X的主要特色 10
1.3.2 PIC16F87X的內部結構 11
1.3.3 PIC16F87X的引腳功能 16
1.4 本章小結 21
第2章 PIC單片機的CPU和中斷系統 22
2.1 PIC單片機的CPU 22
2.1.1 系統配置 22
2.1.2 振盪器配置 24
2.1.3 復位 26
2.1.4 中斷 33
2.1.5 監視定時器WDT 33
2.1.6 睡眠模式 35
2.1.7 線上調試 37
2.1.8 程式代碼保護 37
2.1.9 用戶標識碼 37
2.1.10 線上串列編程技術ICSP(In-Circuit Serial Programming) 37
2.2 中斷系統 38
2.2.1 中斷的基本概念 38
2.2.2 PIC16F87X的中斷源及中斷邏輯 39
2.2.3 與中斷相關的暫存器 44
2.2.4 CPU對中斷的處理 48
2.3 本章小結 51
第3章 PIC單片機的指令系統 52
3.1 PIC彙編語言指令格式 53
3.2 PIC16F87X指令集 54
3.3 偽操作指令 60
3.4 定址方式 64
3.5 本章小結 67
第4章 PIC單片機的開發工具 68
4.1 PIC系列單片機的仿真器 68
4.2 PIC系列單片機的編程器及開發套件 73
4.3 MPLAB-IDE 7.4版集成開發環境 77
4.3.1 MPLAB-IDE 7.4概述 77
4.3.2 MPLAB-IDE 7.4工程創建實例 80
4.3.3 幾個常用的選單項 83
4.4 本章小結 85
第二篇 PIC常用模組設計實例篇
第5章 I/O輸入輸出模組 88
5.1 44掃描鍵盤設計實例 88
5.1.1 實例說明 88
5.1.2 鍵盤知識介紹 88
5.1.3 硬體電路設計 90
5.1.4 軟體設計 90
5.1.5 實例總結 93
5.2 直接驅動LED顯示 94
5.2.1 實例說明 94
5.2.2 LED數碼管知識 94
5.2.3 硬體電路設計 94
5.2.4 軟體設計 95
5.2.5 實例總結 96
第6章 LCD液晶顯示模組:溫度測量系統設計實例 97
6.1 實例說明 97
6.2 DS18B20與YMSC-G12864
6.2 IDYEWWD 98
6.2.1 溫度感測器DS18B20 98
6.2.2 液晶顯示屏YMSC-G12864I-DYEWWD 100
6.3 硬體電路設計 103
6.4 軟體設計 105
6.4.1 溫度感測器DS18B20的軟體設計 105
6.4.2 液晶顯示屏YMSC-G12864-IDYEWWD的軟體設計 109
6.5 實例總結 116
第7章 定時器模組:用定時器控制連線埠輸出實例 117
7.1 實例說明 117
7.2 定時器Timer0介紹 117
7.3 硬體電路設計 118
7.4 軟體設計 119
7.5 實例總結 120
第8章 A/D模組:壓力測量系統設計實例 121
8.1 實例說明 121
8.2 A/D轉換相關知識 121
8.2.1 A/D轉換的原理說明 121
8.2.2 單片機相關暫存器介紹 122
8.2.3 A/D轉換操作對時間的要求 124
8.3 硬體電路設計 125
8.4 軟體設計 125
8.4.1 程式設計流程 126
8.4.2 程式代碼說明 126
8.5 實例總結 128
第9章 存儲器模組:基於I2C對EEPROM 24C02的讀寫 129
9.1 實例說明 129
9.2 24C02與I2C接口介紹 129
9.2.1 24C02簡介 129
9.2.2 PIC16F877 I2C接口簡介 130
9.2.3 I2C匯流排規則 130
9.3 硬體電路設計 131
9.4 軟體設計 132
9.5 實例總結 136
第10章 比較與檢測模組 137
10.1 利用CCP模組控制繼電器 137
10.1.1 實例說明 137
10.1.2 定時器TMR1介紹 137
10.1.3 硬體電路設計 139
10.1.4 軟體設計 140
10.1.5 實例總結 141
10.2 脈衝頻率的檢測設計 141
10.2.1 實例說明 141
10.2.2 定時器TMR2介紹 141
10.2.3 硬體電路設計 142
10.2.4 軟體設計 143
10.2.5 實例總結 144
10.3 電壓測量模組 144
10.3.1 實例介紹 144
10.3.2 硬體電路設計 145
10.3.3 軟體設計 145
10.3.4 實例總結 147
第11章 步進電機模組 148
11.1 實例說明 148
11.2 步進電機驅動工作原理 148
11.3 硬體電路設計 149
11.4 軟體設計 150
11.4.1 軟體設計流程 151
11.4.2 程式代碼說明 152
11.5 實例總結 153
第12章 信號發生模組 154
12.1 PWM實現DA轉換 154
12.1.1 實例說明 154
12.1.2 PWM模組架構 155
12.1.3 硬體電路設計 156
12.1.4 軟體設計程式 157
12.1.5 實例總結 158
12.2 正弦波發生器 158
12.2.1 實例說明 158
12.2.2 TLC5620介紹 158
12.2.3 硬體電路設計 160
12.2.4 軟體程式設計 160
12.2.5 實例總結 162
第13章 數字PID控制模組 163
13.1 PID控制概述 163
13.2 位置式PID控制算法 164
13.3 增量式PID控制算法 165
13.3.1 增量式控制算法流程 166
13.3.2 數字PID控制算法的改進 167
13.4 數字PID控制算法代碼 168
13.5 實例總結 170
第14章 直流數控穩壓電源模組 171
14.1 實例說明 171
14.2 設計思路分析 171
14.2.1 D/A轉換器DAC0832 172
14.2.2 步進0.1V實現 172
14.3 硬體電路設計 172
14.3.1 模數轉換電路 172
14.3.2 電流放大電路 173
14.3.3 人機接口電路 173
14.3.4 穩壓電源電路 174
14.4 軟體設計 174
14.4.1 程式設計流程 174
14.4.2 程式代碼說明 174
14.5 實例總結 177
第15章 網路通信與數據傳輸模組 178
15.1 USART串列通信模組實例 178
15.1.1 實例說明 178
15.1.2 印表機並口介紹 178
15.1.3 硬體電路設計 180
15.1.4 軟體設計 181
15.1.5 實例總結 182
15.2 I2C匯流排通信模組實例 182
15.2.1 實例說明 182
15.2.2 I2C匯流排介紹 183
15.2.3 硬體電路設計 187
15.2.4 軟體設計 188
15.2.5 實例總結 195
15.3 SPI匯流排通信模組實例 195
15.3.1 實例說明 195
15.3.2 SPI模組相關的暫存器 195
15.3.3 硬體電路設計 197
15.3.4 軟體設計 198
15.3.5 實例總結 200
15.4 通信模組:CAN匯流排模組實例 200
15.4.1 實例說明 201
15.4.2 設計思路分析 202
15.4.3 硬體電路設計 206
15.4.4 軟體程式設計 207
15.4.5 實例總結 212
15.5 通信模組:USB數據傳輸模組實例 212
15.5.1 實例說明 212
15.5.2 設計思路分析 213
15.5.3 硬體電路設計 219
15.5.4 USB固件程式設計 220
15.5.5 實例總結 225
第三篇 綜合系統設計實例篇
第16章 智慧型手電筒開發實例 228
16.1 系統功能說明 228
16.2 系統工作原理與實現方法 229
16.2.1 系統的供電 229
16.2.2 燈珠和LED點亮或熄滅的實現 229
16.2.3 按鍵掃描電路和A/D轉換電路圖原理 230
16.2.4 數據的顯示 231
16.2.5 蜂鳴器驅動和背光源驅動 235
16.2.6 電池的自動充電實現 236
16.3 軟體設計與代碼分析 237
16.3.1 軟體設計 237
16.3.2 主程式 239
16.3.3 中斷子程式 244
16.3.4 時鐘處理子程式 245
16.3.5 2ms到處理子程式 247
16.3.6 A/D中斷子程式 252
16.4 實例總結 255
第17章 汽車應急啟動器系統開發實例 257
17.1 系統功能說明 257
17.2 系統硬體框圖 258
17.3 系統各模組工作原理與實現方法 259
17.3.1 系統電源部分 259
17.3.2 蜂鳴器驅動與系統檢測按鍵掃描電路 259
17.3.3 燈管驅動與燈管按鍵掃描電路 260
17.3.4 發光二極體驅動與內部電池電壓按鍵掃描電路 261
17.3.5 液晶顯示器(LCD)驅動電路 261
17.3.6 內部電池與外部電池連線正確與否檢測電路 264
17.3.7 應急啟動控制電路 264
17.3.8 輪胎壓力檢測電路 265
17.3.9 輪胎氣泵啟動控制與輪胎
17.3.9 充氣按鍵掃描電路 267
17.3.10 加鍵與減鍵掃描電路 268
17.3.11 外部電池檢測按鍵掃描電路 269
17.3.12 電池電壓檢測與電池充電電路 269
17.4 軟體設計與代碼分析 270
17.4.1 主程式 271
17.4.2 氣泵處理程式 280
17.4.3 燈管處理程式 280
17.4.4 外部電池檢測程式 282
17.4.5 系統檢測程式 283
17.4.6 時鐘中斷程式 284
17.4.7 內部電池充電程式 288
17.5 實例總結 289
第18章 無功功率補償控制器設計實例 290
18.1 系統功能說明 290
18.2 系統硬體框圖 292
18.3 系統各模組工作原理與實現方法 292
18.3.1 系統的供電 292
18.3.2 按鍵掃描電路 293
18.3.3 電流和電壓相位差檢測電路 294
18.3.4 電流和電壓的A/D轉換電路 297
18.3.5 八段數碼管和LED指示燈電路 298
18.3.6 十路電力電容驅動電路 298
18.3.7 EEPROM的驅動電路 300
18.4 軟體設計與代碼分析 301
18.4.1 初始化、欠流判斷和開機按鍵掃描程式 301
18.4.2 檢測電力電容容量程式 308
18.4.3 檢測功率因數程式
18.4.3 (主程式) 310
18.4.4 參數設定程式 323
18.5 實例總結 325