注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)PIC技術(shù)寶典

PIC技術(shù)寶典

PIC技術(shù)寶典

定 價:¥99.00

作 者: (美)馬茲迪,(美)麥金萊,(美)考西 著,李中華 等譯
出版社: 人民郵電出版社
叢編項: 圖靈電子與電氣工程叢書
標 簽: 計算機體系結(jié)構(gòu)

ISBN: 9787115185549 出版時間: 2008-10-01 包裝: 平裝
開本: 16開 頁數(shù): 700 字數(shù):  

內(nèi)容簡介

  《PIC技術(shù)寶典》是關(guān)于PIC微控制器的經(jīng)典著作,內(nèi)容緊密圍繞PIC18系列微控制器原理及嵌入式系統(tǒng)應(yīng)用展開,主要介紹了PIC18系列微控制器的硬件和軟件面的基本知識和特性,著重描述其硬件結(jié)構(gòu)、軟件編程和接口技術(shù)及其嵌入式應(yīng)用等問題?!禤IC技術(shù)寶典》適合作為高等院校相關(guān)專業(yè)課程教材,也可供從事微控制器應(yīng)用設(shè)計和嵌入式系統(tǒng)開發(fā)的工程技術(shù)人員參考。

作者簡介

  Muhammad Ali Mazidi,美國DeVry大學資深教授,著名嵌入式系統(tǒng)專家,具有豐富的教學和實踐經(jīng)驗。他編寫的80x86和8051方面的教材已被全世界眾多高校采用,都是公認的經(jīng)典。

圖書目錄

第0章 計算入門 1
0.1 數(shù)制和編碼系統(tǒng) 1
0.1.1 十進制和二進制數(shù)制系統(tǒng) 1
0.1.2 十進制數(shù)轉(zhuǎn)換成二進制數(shù) 2
0.1.3 二進制數(shù)轉(zhuǎn)換成十進制數(shù) 2
0.1.4 十六進制系統(tǒng) 3
0.1.5 二進制和十六進制之間的轉(zhuǎn)換 3
0.1.6 十進制數(shù)轉(zhuǎn)換成十六進制數(shù) 4
0.1.7 十六進制數(shù)轉(zhuǎn)換成十進制數(shù) 4
0.1.8 十進制、二進制和十六進制計數(shù) 5
0.1.9 二進制數(shù)和十六進制數(shù)加法 5
0.1.10 補碼 6
0.1.11 十六進制數(shù)的加法和減法 6
0.1.12 十六進制數(shù)的加法 6
0.1.13 十六進制數(shù)的減法 6
0.1.14 ASCII碼 7
0.1.15 復(fù)習題 7
0.2 數(shù)字入門 8
0.2.1 二進制邏輯 8
0.2.2 邏輯門 8
0.2.3 使用邏輯門設(shè)計電路 10
0.2.4 譯碼器 11
0.2.5 觸發(fā)器 12
0.2.6 復(fù)習題 12
0.3 計算機內(nèi)部 12
0.3.1 一些重要術(shù)語 12
0.3.2 計算機的內(nèi)部組成 13
0.3.3 數(shù)據(jù)總線概述 13
0.3.4 地址總線概述 14
0.3.5 CPU及其和RAM、ROM的關(guān)系 14
0.3.6 CPU內(nèi)部 15
0.3.7 計算機的內(nèi)部工作 16
0.3.8 復(fù)習題 17
小結(jié) 17
習題 18
復(fù)習題答案 19
第1章 PIC微控制器的歷史和特性 21
1.1 微控制器與嵌入式處理器 21
1.1.1 微控制器和通用微處理器 21
1.1.2 應(yīng)用于嵌入式系統(tǒng)的微控制器 22
1.1.3 x86PC嵌入式應(yīng)用 23
1.1.4 微控制器的選擇 24
1.1.5 微控制器的選擇標準 24
1.1.6 機電學與微控制器 25
1.1.7 復(fù)習題 25
1.2 PIC18系列概述 25
1.2.1 PIC微控制器的發(fā)展簡史 25
1.2.2 PIC18特性 26
1.2.3 其他微控制器 30
1.2.4 復(fù)習題 31
小結(jié) 31
習題 32
復(fù)習題答案 33
第2章 PIC體系結(jié)構(gòu)與匯編語言編程 34
2.1 PIC的WREG寄存器 34
2.1.1 WREG寄存器 35
2.1.2 MOVLW指令 35
2.1.3 ADDLW指令 35
2.1.4 復(fù)習題 37
2.2 PIC文件寄存器 37
2.2.1 PIC文件寄存器(數(shù)據(jù)RAM)空間分配 37
2.2.2 PIC芯片中的GP RAM和EEPROM比較 38
2.2.3 PIC18的文件寄存器與訪問存儲區(qū) 39
2.2.4 復(fù)習題 41
2.3 默認訪問存儲區(qū)的指令操作 41
2.3.1 MOVWF指令 41
2.3.2 關(guān)于WREG和訪問存儲區(qū)的更多指令 42
2.3.3 COMF指令 46
2.3.4 DECF指令 47
2.3.5 MOVE指令 47
2.3.6 MOVFF指令 48
2.3.7 復(fù)習題 49
2.4 PIC 狀態(tài)寄存器 49
2.4.1 PIC18狀態(tài)寄存器 49
2.4.2 ADDLW指令和狀態(tài)寄存器 50
2.4.3 并非所有指令都會影響標志位 50
2.4.4 標志位和判決 52
2.4.5 復(fù)習題 52
2.5 PIC數(shù)據(jù)格式和偽指令 53
2.5.1 PIC數(shù)據(jù)類型 53
2.5.2 數(shù)據(jù)格式描述 53
2.5.3 匯編偽指令 54
2.5.4 使用EQU做定值分配 55
2.5.5 使用EQU做SFR地址分配 55
2.5.6 使用EQU做RAM地址分配 56
2.5.7 匯編語言的標簽規(guī)則 57
2.5.8 復(fù)習題 57
2.6 PIC匯編語言編程 58
2.6.1 匯編語言結(jié)構(gòu) 58
2.6.2 復(fù)習題 59
2.7 匯編和連接PIC程序 60
2.7.1 關(guān)于asm、err和目標文件的更多信息 61
2.7.2 列表文件和映像文件 62
2.7.3 復(fù)習題 62
2.8 PIC的程序計數(shù)器和程序ROM空間 62
2.8.1 PIC的程序計數(shù)器 63
2.8.2 PIC18系列ROM的內(nèi)存分配 63
2.8.3 通電時PIC的啟動 64
2.8.4 在程序ROM里放置代碼 65
2.8.5 程序的逐字節(jié)執(zhí)行 66
2.8.6 PIC18 ROM數(shù)據(jù)寬度 66
2.8.7 PIC的哈佛結(jié)構(gòu) 68
2.8.8 PIC18的指令大小 69
2.8.9 MOVLW指令格式 69
2.8.10 ADDLW指令格式 69
2.8.11 MOVWF指令格式 69
2.8.12 MOVFF指令格式 70
2.8.13 GOTO指令格式 70
2.8.14 從其他微處理器過渡到PIC18 70
2.8.15 復(fù)習題 71
2.9 PIC的RISC結(jié)構(gòu) 71
2.9.1 RISC結(jié)構(gòu) 72
2.9.2 RISC的特性 72
2.9.3 復(fù)習題 74
2.10 使用MPLAB仿真器查看寄存器和存儲器 74
小結(jié) 74
習題 76
復(fù)習題答案 80
第3章 分支、調(diào)用和時延循環(huán) 82
3.1 分支指令和循環(huán) 82
3.1.1 PIC的循環(huán)語句 82
3.1.2 循環(huán)嵌套 85
3.1.3 循環(huán)100 000次 87
3.1.4 其他的條件轉(zhuǎn)移指令 87
3.1.5 所有的條件分支指令都是短跳轉(zhuǎn) 89
3.1.6 短轉(zhuǎn)移地址的計算 89
3.1.7 無條件分支指令 90
3.1.8 帶有$符號的GOTO指令 91
3.1.9 復(fù)習題 92
3.2 CALL(調(diào)用)指令和棧 92
3.2.1 CALL指令 92
3.2.2 PIC18的棧和棧指針 92
3.2.3 如何訪問PIC18的?!?3
3.2.4 壓?!?3
3.2.5 出?!?3
3.2.6 CALL指令和棧的作用 94
3.2.7 棧的上限 95
3.2.8 在主程序里調(diào)用多個子例程 95
3.2.9 RCALL指令(相對調(diào)用指令) 97
3.2.10 復(fù)習題 98
3.3 PIC18的時延與指令流水線 98
3.3.1 PIC18的時延計算 98
3.3.2 流水線 98
3.3.3 PIC的指令周期時間 99
3.3.4 分支代價 99
3.3.5 PIC18的時延計算 100
3.3.6 時延的嵌套循環(huán) 101
3.3.7 PIC多級執(zhí)行流水線 103
3.3.8 復(fù)習題 104
小結(jié) 105
習題 105
復(fù)習題答案 107
第4章 PIC I/O端口編程 108
4.1 PIC18的I/O端口編程 108
4.1.1 I/O端口引腳及其功能 108
4.1.2 TRIS寄存器在數(shù)據(jù)輸出中的作用 110
4.1.3 TRIS寄存器在數(shù)據(jù)輸入中的作用 111
4.1.4 端口A 114
4.1.5 端口A用作輸入端口 114
4.1.6 端口B 114
4.1.7 端口B用作輸入端口 115
4.1.8 端口A和端口B的雙重功能 115
4.1.9 端口C 115
4.1.10 端口C用作輸入端口 116
4.1.11 端口D 116
4.1.12 端口D作為輸入端口 116
4.1.13 端口C和端口D的雙重功能 116
4.1.14 端口E 117
4.1.15 訪問8位數(shù)據(jù)的不同方法 117
4.1.16 讀取后緊接的寫I/O操作 118
4.1.17 復(fù)位時的端口狀態(tài) 119
4.1.18 復(fù)習題 119
4.2 I/O位操作編程 120
4.2.1 I/O端口與位尋址 120
4.2.2 BSF(置位fileReg) 121
4.2.3 BCF(清零fileReg) 121
4.2.4 BTG(位翻轉(zhuǎn)fileReg) 123
4.2.5 檢測輸入引腳 123
4.2.6 BTFSS(位測試fileReg,若為1則跳過) 123
4.2.7 BTFSC(位測試fileReg,若為0則跳過) 123
4.2.8 監(jiān)測二進制位 124
4.2.9 讀取二進制位 127
4.2.10 讀輸入引腳與讀LATx端口 127
4.2.11 讀端口的LATx 128
4.2.12 復(fù)習題 129
小結(jié) 129
習題 129
復(fù)習題答案 130
第5章 算術(shù)、邏輯指令和程序示例 132
5.1 算術(shù)指令 132
5.1.1 無符號數(shù)的加法 132
5.1.2 ADDWF和單字節(jié)的加法 133
5.1.3 ADDWFC和16位數(shù)的加法 134
5.1.4 BCD(二進制編碼的十進制數(shù))數(shù)字系統(tǒng) 134
5.1.5 非壓縮BCD數(shù) 134
5.1.6 壓縮BCD數(shù) 135
5.1.7 DAW指令 135
5.1.8 無符號數(shù)的減法 136
5.1.9 PIC減法的C標志位 138
5.1.10 無符號數(shù)的乘法 138
5.1.11 無符號數(shù)的除法 139
5.1.12 除法的應(yīng)用 139
5.1.13 復(fù)習題 140
5.2 有符號數(shù)的概念及其算術(shù)運算 141
5.2.1 計算機中有符號數(shù)的概念 141
5.2.2 有符號的8位操作數(shù) 141
5.2.3 正數(shù) 141
5.2.4 負數(shù) 141
5.2.5 有符號數(shù)運算中的溢出問題 143
5.2.6 何時設(shè)置OV標志位 143
5.2.7 二進制補碼運算指令 144
5.2.8 復(fù)習題 145
5.3 邏輯和比較指令 145
5.3.1 AND指令 145
5.3.2 OR指令 145
5.3.3 EX-OR指令 146
5.3.4 COMF指令(將fileReg取反) 147
5.3.5 NEGF指令(將fileReg取補) 147
5.3.6 比較指令 148
5.3.7 CPFSGT指令 148
5.3.8 CPFSEQ指令 148
5.3.9 CPFSLT指令 149
5.3.10 復(fù)習題 151
5.4 移位指令和數(shù)據(jù)串行化 152
5.4.1 文件寄存器的左移或右移操作 152
5.4.2 帶進位的移位 152
5.4.3 串行化數(shù)據(jù) 153
5.4.4 字節(jié)數(shù)據(jù)的串行化 153
5.4.5 SWAPF fileReg, d 155
5.4.6 復(fù)習題 155
5.5 BCD和ASCII碼轉(zhuǎn)換 156
5.5.1 ASCII數(shù) 156
5.5.2 從壓縮BCD碼到ASCII碼的轉(zhuǎn)換 157
5.5.3 從ASCII碼到壓縮BCD碼的轉(zhuǎn)換 157
5.5.4 復(fù)習題 157
小結(jié) 158
習題 158
復(fù)習題答案 162
第6章 存儲區(qū)轉(zhuǎn)換、表處理、宏和模塊 163
6.1 立即尋址與直接尋址方式 164
6.1.1 立即尋址方式 164
6.1.2 直接尋址方式 164
6.1.3 指令I(lǐng)NCF fileReg,W與INCF fileReg,F(xiàn)的區(qū)別 165
6.1.4 DECFSZ指令和DECF指令 165
6.1.5 SFR及其地址 166
6.1.6 復(fù)習題 167
6.2 寄存器間接尋址方式 168
6.2.1 寄存器間接尋址方式 168
6.2.2 寄存器間接尋址方式的優(yōu)點 168
6.2.3 FSR的自動增量 170
6.2.4 復(fù)習題 173
6.3 查詢表與表處理 173
6.3.1 DB偽指令和程序ROM中的定值數(shù)據(jù) 173
6.3.2 PIC18的讀表操作 174
6.3.3 TBLPTR的自動增量 175
6.3.4 查表和RETLW指令 177
6.3.5 訪問RAM中的查詢表 179
6.3.6 PIC18的寫表操作 181
6.3.7 復(fù)習題 181
6.4 數(shù)據(jù)RAM的位尋址 181
6.4.1 可位尋址的文件寄存器數(shù)據(jù)RAM 182
6.4.2 文件寄存器的位尋址 182
6.4.3 狀態(tài)寄存器的位尋址 184
6.4.4 復(fù)習題 185
6.5 PIC18的存儲區(qū)轉(zhuǎn)換 185
6.5.1 位A和存儲區(qū)轉(zhuǎn)換 185
6.5.2 BSR寄存器和存儲區(qū)轉(zhuǎn)換 186
6.5.3 存儲區(qū)轉(zhuǎn)換和指令I(lǐng)NCF F,D,A 186
6.5.4 MOVFF指令和存儲區(qū) 189
6.5.5 用MPLAB仿真器檢查數(shù)據(jù)RAM空間 190
6.5.6 復(fù)習題 192
6.6 校驗和與ASCII碼子例程 192
6.6.1 ROM中的校驗和 192
6.6.2 校驗和程序 192
6.6.3 BCD到ASCII的轉(zhuǎn)換程序 194
6.6.4 二進制(十六進制)到ASCII的轉(zhuǎn)換程序 196
6.6.5 用存儲區(qū)作為棧 197
6.6.6 復(fù)習題 198
6.7 宏和模塊 198
6.7.1 什么是宏以及怎樣聲明宏 198
6.7.2 宏的定義 198
6.7.3 LOCAL偽指令 199
6.7.4 INCLUDE偽指令 201
6.7.5 NOEXPAND/EXPAND偽指令 201
6.7.6 宏與子例程 203
6.7.7 模塊 204
6.7.8 編寫模塊 204
6.7.9 EXTERN偽指令 204
6.7.10 GLOBAL偽指令 204
6.7.11 連接模塊 206
6.7.12 復(fù)習題 207
小結(jié) 207
習題 207
復(fù)習題答案 211
第7章 PIC C語言編程 213
7.1 C語言中的數(shù)據(jù)類型和時延 214
7.1.1 PIC18的C語言數(shù)據(jù)類型 214
7.1.2 無符號字符 214
7.1.3 有符號字符 216
7.1.4 無符號整型 216
7.1.5 有符號整型 216
7.1.6 其他數(shù)據(jù)類型 216
7.1.7 時延 217
7.1.8 復(fù)習題 219
7.2 C語言I/O編程 219
7.2.1 字節(jié)I/O編程 219
7.2.2 位尋址I/O編程 221
7.2.3 端口位的結(jié)構(gòu) 222
7.2.4 復(fù)習題 227
7.3 邏輯操作 227
7.3.1 C語言的位操作符 228
7.3.2 C語言的按位移位操作 228
7.3.3 復(fù)習題 231
7.4 C語言的數(shù)據(jù)轉(zhuǎn)換程序 231
7.4.1 ASCII數(shù) 231
7.4.2 壓縮BCD碼到ASCII碼的轉(zhuǎn)換 232
7.4.3 ASCII碼到壓縮BCD碼的轉(zhuǎn)換 232
7.4.4 ROM的校驗和 234
7.4.5 PIC18二進制(十六進制)到十進制和ASCII的轉(zhuǎn)換 235
7.4.6 復(fù)習題 236
7.5 C語言的數(shù)據(jù)串行化 236
7.6 C18程序存儲區(qū)配置 239
7.6.1 RAM數(shù)據(jù)空間與代碼數(shù)據(jù)空間 239
7.6.2 為數(shù)據(jù)分配程序空間 239
7.6.3 用于程序的NEAR與FAR 240
7.6.4 Pragma和數(shù)據(jù)與程序的固定地址分配 241
7.6.5 在指定的ROM地址放置代碼 242
7.6.6 在指定的ROM地址放置代碼 242
7.6.7 復(fù)習題 243
7.7 C18的數(shù)據(jù)RAM分配 243
7.7.1 C18 C編譯器中RAM數(shù)據(jù)空間的用法 244
7.7.2 用于數(shù)據(jù)的near與far 245
7.7.3 在指定內(nèi)存地址存放數(shù)據(jù) 246
7.7.4 覆蓋存儲類 248
7.7.5 復(fù)習題 250
小結(jié) 250
習題 251
復(fù)習題答案 252
第8章 PIC18F硬件連接與ROM程序載入 254
8.1 PIC18F452/458的引腳連接 254
8.1.1 復(fù)位后的程序計數(shù)器值 256
8.1.2 端口A、B、C、D和E 257
8.1.3 復(fù)習題 258
8.2 PIC18配置寄存器 258
8.2.1 CONFIG1H寄存器和振蕩器時鐘源 259
8.2.2 CONFIG2L寄存器和復(fù)位電壓 262
8.2.3 CONFIG2H寄存器和看門狗定時器 264
8.2.4 CONFIG4L寄存器和背景調(diào)試程序 265
8.2.5 LIST偽指令 266
8.2.6 設(shè)置所有的配置寄存器 267
8.2.7 在MPLAB C18 C編譯器中設(shè)置CONFIG寄存器 268
8.2.8 復(fù)習題 269
8.3 解釋PIC18的Intel十六進制文件 269
8.3.1 分析Intel十六進制(INHX8M)文件 270
8.3.2 分析Intel十六進制文件(INHX32) 272
8.3.3 Intel十六進制分段文件(INHX8S) 275
8.3.4 復(fù)習題 275
8.4 PIC18 Trainer的設(shè)計和裝載 276
8.4.1 基于PIC18F452/458的Trainer 277
8.4.2 PIC18 Trainer的連接 278
8.4.3 PIC18 Trainer程序下載 278
8.4.4 匯編語言和C語言編寫的PIC18測試程序 278
8.4.5 故障檢修的技巧 281
8.4.6 復(fù)習題 281
小結(jié) 282
習題 282
復(fù)習題答案 284
第9章 PIC18定時器的匯編編程和C編程 285
9.1 定時器0和定時器1編程 285
9.1.1 定時器的基本寄存器 285
9.1.2 定時器0寄存器和編程 285
9.1.3 T0CON(定時器0控制)寄存器 286
9.1.4 TMR0IF標志位 287
9.1.5 16位定時器編程 288
9.1.6 在16位模式下定時器0的編程步驟 288
9.1.7 計算定時器的載入值 291
9.1.8 使用Windows計算器尋找TH和TL 293
9.1.9 預(yù)分頻器和長時延的產(chǎn)生 293
9.1.10 定時器0的8位模式編程 295
9.1.11 定時器0的8位模式編程步驟 296
9.1.12 編譯器和負值 297
9.1.13 定時器1編程 298
9.1.14 復(fù)習題 301
9.2 計數(shù)器編程 301
9.2.1 T0CON寄存器中的T0CS位 301
9.2.2 使用外部晶振作為定時器1的時鐘 302
9.2.3 復(fù)習題 306
9.3 定時器0和定時器1的C編程 306
9.3.1 用C訪問定時器 306
9.3.2 計算使用定時器的時延 306
9.3.3 定時器0和定時器1用作計數(shù)器的C編程 311
9.4 定時器2和定時器3的編程 314
9.4.1 定時器2的編程 314
9.4.2 定時器3的編程 317
9.4.3 復(fù)習題 322
小結(jié) 322
習題 322
復(fù)習題答案 324
第10章 PIC18串行端口的匯編編程和C編程 326
10.1 串行通信基礎(chǔ) 326
10.1.1 半雙工和全雙工傳輸 327
10.1.2 異步串行通信和數(shù)據(jù)幀 328
10.1.3 起始位和結(jié)束位 328
10.1.4 數(shù)據(jù)傳輸率 329
10.1.5 RS232標準 329
10.1.6 RS232引腳 329
10.1.7 數(shù)據(jù)通信的分類 330
10.1.8 檢查RS232的握手信號 331
10.1.9 IBM PC/兼容 COM 端口 332
10.1.10 復(fù)習題 332
10.2 PIC18連接到RS232 332
10.2.1 PIC18的RX和TX引腳 332
10.2.2 MAX232 333
10.2.3 MAX233 333
10.2.4 復(fù)習題 334
10.3 PIC18串行端口的匯編語言編程 334
10.3.1 PIC18的SPBRG寄存器和波特率 334
10.3.2 TXREG寄存器 336
10.3.3 RCREG寄存器 336
10.3.4 TXSTA(發(fā)送狀態(tài)和控制寄存器) 336
10.3.5 RCSTA(接收狀態(tài)和控制寄存器) 337
10.3.6 PIR1(外部中斷請求寄存器1) 338
10.3.7 PIC18串行數(shù)據(jù)發(fā)送編程 338
10.3.8 TXIF標志位的重要性 340
10.3.9 PIC18串行數(shù)據(jù)接收編程 340
10.3.10 RCIF標志位的重要性 341
10.3.11 PIC18的波特率翻兩番 342
10.3.12 波特率的誤差計算 344
10.3.13 發(fā)送和接收 347
10.3.14 基于中斷的數(shù)據(jù)傳輸 348
10.3.15 復(fù)習題 349
10.4 PIC18串行端口的C編程 349
10.4.1 PIC18 C的數(shù)據(jù)發(fā)送和接收 349
10.4.2 復(fù)習題 350
小結(jié) 352
習題 352
復(fù)習題答案 354
第11章 用匯編和C語言進行中斷編程 356
11.1 PIC18中斷 356
11.1.1 中斷和查詢 356
11.1.2 中斷服務(wù)程序 357
11.1.3 中斷執(zhí)行的步驟 357
11.1.4 PIC18的中斷源 357
11.1.5 中斷的使能和禁用 358
11.1.6 使能中斷的步驟 359
11.1.7 復(fù)習題 360
11.2 定時器中斷編程 360
11.2.1 定時器復(fù)零標志位和中斷 360
11.2.2 使用C18編譯器的PIC18中斷C編程 365
11.2.3 復(fù)習題 369
11.3 外部硬件中斷編程 369
11.3.1 外部中斷INT0、INT1和INT2 369
11.3.2 下降沿觸發(fā)中斷 371
11.3.3 邊沿觸發(fā)中斷采樣 373
11.3.4 復(fù)習題 374
11.4 串行通信中斷編程 374
11.4.1 RCIF和TXIF標志位與中斷 374
11.4.2 使用PIC18中的串行COM 375
11.4.3 復(fù)習題 378
11.5 PORTB變化中斷 378
11.6 PIC18的中斷優(yōu)先級 382
11.6.1 設(shè)置中斷優(yōu)先級 382
11.6.2 低優(yōu)先級中斷的C編程 390
11.6.3 中斷嵌套 393
11.6.4 在任務(wù)轉(zhuǎn)換時變量的快速保存 393
11.6.5 中斷延遲 394
11.6.6 軟件觸發(fā)中斷 394
11.6.7 復(fù)習題 394
小結(jié) 394
習題 395
復(fù)習題答案 397
第12章 LCD和鍵盤接口 399
12.1 LCD接口 399
12.1.1 LCD操作 399
12.1.2 LCD引腳描述 399
12.1.3 為LCD發(fā)送帶時間延遲的命令和數(shù)據(jù) 401
12.1.4 使用busy標志位向LCD發(fā)送命令或數(shù)據(jù) 403
12.1.5 LCD數(shù)據(jù)表 405
12.1.6 使用TBLRD指令向LCD發(fā)送信息 408
12.1.7 復(fù)習題 412
12.2 鍵盤接口 413
12.2.1 鍵盤和PIC18的接口 413
12.2.2 使用掃描法進行按鍵檢測 418
12.2.3 復(fù)習題 420
小結(jié) 420
習題 420
復(fù)習題答案 421
第13章 ADC、DAC和傳感器接口 422
13.1 ADC特性 422
13.1.1 ADC設(shè)備 422
13.1.2 復(fù)習題 426
13.2 PIC18的ADC編程 426
13.2.1 PIC18F452/458的ADC特性編程 426
13.2.2 ADCON0寄存器 427
13.2.3 ADCON1寄存器 429
13.2.4 計算A/D轉(zhuǎn)換時間 431
13.2.5 使用查詢法對A/D轉(zhuǎn)換器編程 432
13.2.6 PIC18F458 ADC的匯編語言編程 432
13.2.7 PIC18F458 A/D的C語言編程 433
13.2.8 使用中斷法對A/D轉(zhuǎn)換器編程 434
13.2.9 復(fù)習題 436
13.3 DAC接口 436
13.3.1 數(shù)模轉(zhuǎn)換器(DAC) 436
13.3.2 MC1408 DAC(或DAC0808) 437
13.3.3 把DAC0808的Iout轉(zhuǎn)換成電壓 438
13.3.4 產(chǎn)生正弦波 438
13.3.5 DAC的C語言編程 440
13.3.6 復(fù)習題 441
13.4 傳感器接口和信號調(diào)整 441
13.4.1 溫度傳感器 441
13.4.2 LM34和LM35溫度傳感器 441
13.4.3 信號調(diào)整和PIC18的LM35接口 442
13.4.4 溫度的讀取和顯示 443
13.4.5 復(fù)習題 445
小結(jié) 445
習題 445
復(fù)習題答案 447
第14章 用閃存與EEPROM存儲數(shù)據(jù) 448
14.1 半導(dǎo)體存儲器 448
14.1.1 存儲容量 448
14.1.2 存儲區(qū)組織 448
14.1.3 速度 449
14.1.4 ROM 450
14.1.5 PROM和OTP 450
14.1.6 EPROM與UV-EPROM 450
14.1.7 EEPROM 451
14.1.8 閃存EPROM 452
14.1.9 掩模ROM 452
14.1.10 RAM(隨機訪問存儲器) 453
14.1.11 SRAM 453
14.1.12 NV-RAM 454
14.1.13 DRAM 454
14.1.14 DRAM的封裝問題 455
14.1.15 DRAM存儲區(qū)組織 455
14.1.16 復(fù)習題 456
14.2 PIC18F只讀閃存的擦寫 457
14.2.1 使用TBLWR向閃存寫入數(shù)據(jù) 457
14.2.2 寫閃存的步驟 459
14.2.3 擦除閃存的步驟 464
14.2.4 閃存擦寫操作的C語言編程 467
14.2.5 復(fù)習題 470
14.3 PIC18 EEPROM的數(shù)據(jù)讀取和寫入 470
14.3.1 向EEPROM寫入數(shù)據(jù) 470
14.3.2 寫EEPROM的步驟 471
14.3.3 讀EEPROM的步驟 472
14.3.4 使用C語言訪問EEPROM 475
14.3.5 復(fù)習題 478
小結(jié) 478
習題 478
復(fù)習題答案 480
第15章 CCP和ECCP編程 481
15.1 標準型和增強型CCP模塊 481
15.1.1 CCP和計時器 481
15.1.2 CCP寄存器 482
15.1.3 CCP引腳 483
15.1.4 復(fù)習題 483
15.2 比較模式編程 483
15.2.1 比較模式編程的步驟 485
15.2.2 復(fù)習題 488
15.3 捕捉模式編程 489
15.3.1 捕捉模式編程的步驟 489
15.3.2 測量脈沖周期 489
15.3.3 測量脈寬 491
15.3.4 復(fù)習題 494
15.4 PWM編程 494
15.4.1 PWM周期 495
15.4.2 PWM的占空比 496
15.4.3 PWM編程的步驟 496
15.4.4 占空比與Fosc 499
15.4.5 復(fù)習題 499
15.5 ECCP編程 499
15.5.1 ECCP比較模式的編程步驟 501
15.5.2 ECCP捕捉模式的編程步驟 503
15.5.3 ECCP的PWM特征 504
15.5.4 ECCP的PWM編程步驟 504
15.5.5 復(fù)習題 505
小結(jié) 505
習題 505
復(fù)習題答案 507
第16章 SPI協(xié)議和DS1306RTC接口 508
16.1 SPI總線協(xié)議 508
16.1.1 SPI總線 508
16.1.2 SPI讀寫協(xié)議 509
16.1.3 將數(shù)據(jù)寫入SPI設(shè)備的步驟 509
16.1.4 從SPI設(shè)備讀數(shù)據(jù)的步驟 510
16.1.5 復(fù)習題 511
16.2 DS1306 RTC接口和編程 511
16.2.1 控制寄存器中WP位的重要性 514
16.2.2?。模?306的地址映射 514
16.2.3 時間和日期地址的位置和模式 515
16.2.4 使用MSSP模塊來連接PIC18和DS1306 516
16.2.5 使用匯編設(shè)置時間 518
16.2.6 使用匯編設(shè)置日期 518
16.2.7 RTC設(shè)置、讀取和顯示時間和日期 519
16.2.8 復(fù)習題 522
16.3 DS1306 RTC的C編程 522
16.3.1 使用C語言設(shè)置時間和日期 522
16.3.2 使用C語言讀取和顯示時間和日期 523
16.3.3 復(fù)習題 524
16.4 DS1306的警報和中斷特征 525
小結(jié) 533
習題 533
復(fù)習題答案 535
第17章 電機控制:繼電器、PWM、DC電機和步進電機 536
17.1 繼電器和光隔離器 536
17.1.1 機電繼電器 536
17.1.2 繼電器驅(qū)動 538
17.1.3 固態(tài)繼電器 539
17.1.4 簧片開關(guān) 540
17.1.5 光隔離器 540
17.1.6 光隔離器的連接 540
17.1.7 復(fù)習題 541
17.2 步進電機的接口 542
17.2.1 步進電機 542
17.2.2 步進角 543
17.2.3 每秒的步數(shù)和rpm的關(guān)系 545
17.2.4 四步順序和電機轉(zhuǎn)子的齒數(shù) 545
17.2.5 電機速度 545
17.2.6 保持轉(zhuǎn)矩 546
17.2.7 波驅(qū)動四步順序 546
17.2.8 單極性與雙極性步進電機的接口 546
17.2.9 使用晶體管作為驅(qū)動器 547
17.2.10 通過光隔離器來控制步進電機 548
17.2.11 用PIC18 C語言來控制步進電機 549
17.2.12 復(fù)習題 550
17.3 DC電機的接口和PWM 550
17.3.1 DC電機 550
17.3.2 單方向控制 551
17.3.3 雙方向控制 551
17.3.4 脈沖寬度調(diào)制(PWM) 555
17.3.5 使用光隔離器控制DC電機 556
17.3.6 DC電機的控制和PWM的C編程 558
17.3.7 復(fù)習題 560
17.4 使用CCP來控制PWM電機 561
17.4.1 使用CCP來控制DC電機 561
17.4.2 復(fù)習題 561
17.5 使用ECCP來控制DC電機 563
17.5.1 使用ECCP來雙向控制DC電機 563
17.5.2 復(fù)習題 566
小結(jié) 566
習題 567
復(fù)習題答案 568
附錄A 569
附錄B 608
附錄C 610
附錄D 626
附錄E 630
附錄F 632
附錄G 634
附錄H 636
索引 690

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號