PIC單片機(jī)快速入門(附CD-ROM光盤1張)
定 價(jià):39.5 元
叢書名:快速入門系列叢書
- 作者:徐瑋 ,等 著
- 出版時(shí)間:2010/1/1
- ISBN:9787512400108
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP368.1
- 頁碼:373
- 紙張:膠版紙
- 版次:1
- 開本:16開
《PIC單片機(jī)快速入門》是以目前流行的PIC系列單片機(jī)為主體,使用C語言來進(jìn)行描述。全書分為單片機(jī)基礎(chǔ)知識(shí)、C程序設(shè)計(jì)知識(shí)、單片機(jī)入門基礎(chǔ)實(shí)例、單片機(jī)高級(jí)應(yīng)用實(shí)例和配套學(xué)習(xí)套件使用說明五大部分,采用理論與實(shí)踐相結(jié)合的方式進(jìn)行講解。實(shí)例豐富,圖文并茂,并帶視頻演示!禤IC單片機(jī)快速入門》的配套光盤中包含所有實(shí)驗(yàn)的源程序代碼、實(shí)驗(yàn)過程照片、實(shí)驗(yàn)演示視頻錄像以及一些常用資料。
《PIC單片機(jī)快速入門》可作為單片機(jī)愛好者自學(xué)PIC單片機(jī)的參考用書,也可作為中等職業(yè)學(xué)校、高等職業(yè)學(xué)校、電視大學(xué)等的教學(xué)用書。
《PIC單片機(jī)快速入門》是以目前流行的PIC系列單片機(jī)為主體,使用C語言來進(jìn)行描述、全書分為單片機(jī)基礎(chǔ)知識(shí)、C程序設(shè)計(jì)知識(shí)、單片機(jī)入門基礎(chǔ)實(shí)例、單片機(jī)高級(jí)應(yīng)用實(shí)例和配套學(xué)習(xí)套件使用說明五大部分,采用理論與實(shí)踐相結(jié)合的方式來進(jìn)行講解。實(shí)例豐富。圖文并茂,并帶視頻演示! 禤IC單片機(jī)快速入門》配套的PIC單片機(jī)開發(fā)套件是綜合多年教學(xué)經(jīng)驗(yàn)開發(fā)出來的PIC單片機(jī)學(xué)習(xí)與研發(fā)平臺(tái),包括ICD2仿真燒寫器、增強(qiáng)型PIC實(shí)驗(yàn)板以及相關(guān)實(shí)驗(yàn)附件..實(shí)驗(yàn)板集成了常用的單片機(jī)外圍硬件電路,系統(tǒng)附帶了豐富的匯編/C語言源程序?qū)嵗,可以讓您在最短的時(shí)間內(nèi),全面地了解掌握單片機(jī)編程技術(shù),特別適合于PIC單片機(jī)初學(xué)者、大中專院校學(xué)生、單片機(jī)工程師和實(shí)驗(yàn)室選用! 禤IC單片機(jī)快速入門》配套增強(qiáng)型PIC實(shí)驗(yàn)板 硬件資源豐富,操作便捷,滿足深入學(xué)習(xí)的需要8路LED發(fā)光管、6位數(shù)碼管、16X2字符液晶接口、128X64點(diǎn)陣液晶接口、6路直控按鍵、實(shí)時(shí)時(shí)鐘、蜂鳴器、繼電器、IC總線、SPI總線、A/D轉(zhuǎn)換、串口通信、紅外線遙控、無線電遙控、溫度采樣、步進(jìn)電機(jī)控制等, 《PIC單片機(jī)快速入門》的配套光盤中已含所有實(shí)驗(yàn)的源程序代碼,同時(shí)。大量實(shí)驗(yàn)過程照片和視頻錄像記錄了實(shí)驗(yàn)的全過程及發(fā)生的現(xiàn)象。更加激發(fā)了讀者朋友對(duì)單片機(jī)的興趣愛好,讀者朋友也可以在我們的網(wǎng)站進(jìn)行單片機(jī)知識(shí)的學(xué)習(xí)與交流.
當(dāng)今世界科學(xué)技術(shù)飛速發(fā)展,以前需要花費(fèi)大量時(shí)間和精力來搭建一個(gè)需要大量兀器件的模擬電路;而現(xiàn)在只需要一塊小小的單片機(jī)芯片,再寫入相應(yīng)功能的程序,便可以代替以前分立元件組成的電路了。相信讀者掌握了單片機(jī)技術(shù)后,無論在今后開發(fā)或是工作上,都會(huì)帶來意想不到的驚喜。
本書作者著眼于“陜遞入門”、“通俗易懂”、“趣味學(xué)習(xí)”、“學(xué)以致用”的指導(dǎo)思想,以理論與實(shí)踐相結(jié)合為主線,能夠使讀者輕松地掌握單片機(jī)基礎(chǔ)知識(shí),并使讀者朋友具有初步開發(fā)、設(shè)計(jì)單片機(jī)產(chǎn)品的能力。本書講解風(fēng)格通俗易懂,條理清晰,實(shí)例豐富,圖文并茂,同時(shí)配套光盤包含各程序?qū)嵗囊曨l演示錄像,使讀者的學(xué)習(xí)更為方便,查看演示效果更為直觀。即使讀者是一位單片機(jī)的門外漢,相信看了本書以后,也能運(yùn)用單片機(jī)知識(shí)來解決一些實(shí)際問題,將知識(shí)轉(zhuǎn)為生產(chǎn)力。
全書總共分為五大部分:單片機(jī)基礎(chǔ)知識(shí)、C程序設(shè)計(jì)知識(shí)、單片機(jī)入門基礎(chǔ)實(shí)例、單片機(jī)高級(jí)應(yīng)用實(shí)例和配套學(xué)習(xí)套件使用說明。
(1)單片機(jī)基礎(chǔ)知識(shí)(第1~3章):首先,介紹單片機(jī)的發(fā)展歷史,揭開它的神秘之處。相信初學(xué)者朋友最關(guān)心的一個(gè)實(shí)際問題是:單片機(jī)到底能夠做哪些事?這也是我們要學(xué)習(xí)單片機(jī)技術(shù)的理由。當(dāng)明確了學(xué)習(xí)目標(biāo)后,肯定需要做好學(xué)習(xí)實(shí)踐平臺(tái)的準(zhǔn)備,在此,我們會(huì)一一進(jìn)行講解,并給出學(xué)習(xí)單片機(jī)的有效方法與途徑。其次,講解單片機(jī)的內(nèi)部結(jié)構(gòu)、引腳定義、存儲(chǔ)器、寄存器、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)和串行通信等相關(guān)知識(shí),讓讀者對(duì)單片機(jī)有一個(gè)實(shí)質(zhì)性的了解。
。2)C程序設(shè)計(jì)知識(shí)(第4~8章):經(jīng)常會(huì)有人問,單片機(jī)應(yīng)用開發(fā)用C語言好,還是用匯編語言好,其實(shí)這兩種語言都有各自的特點(diǎn)。匯編語言的優(yōu)點(diǎn)是比較靈活,但程序不易理解,對(duì)產(chǎn)品的升級(jí)、維護(hù)不太有利;而C語言有非常豐富的庫函數(shù)供用戶所使用,因?yàn)樗歉呒?jí)語言,程序代碼的編寫也非常人性化,易于閱讀、理解,C語言已經(jīng)成為在整個(gè)計(jì)算機(jī)界普遍應(yīng)用的語言。因此,本書也是以C語言來進(jìn)行描述的,介紹C語言的數(shù)據(jù)類型、運(yùn)算符與表達(dá)式、分支與循環(huán)控制語句、編譯預(yù)處理與位運(yùn)算、數(shù)組與函數(shù)、指針、結(jié)構(gòu)體與共用體等知識(shí),使大家具有C語言程序設(shè)計(jì)的能力。
。3)單片機(jī)入門基礎(chǔ)實(shí)例(第10章):前面幾章講的都是理論知識(shí)內(nèi)容,由于單片機(jī)是一門實(shí)踐性非常強(qiáng)的學(xué)科,即使有再多的理論基礎(chǔ),也必須通過較多的實(shí)踐操作才能真正學(xué)好這門技術(shù)。因此,在第10章中,先引入一系列具有趣味性且簡單易懂的基礎(chǔ)實(shí)例,如點(diǎn)亮一個(gè)發(fā)光管,流水燈控制,按鍵、蜂鳴器、數(shù)碼管、繼電器的操作和使用,串行通信等。在此,暫時(shí)不求技術(shù)深,只求讓讀者明白單片機(jī)到底如何來實(shí)現(xiàn)我們所需要的特定功能,又如何通過軟件程序最終從硬件功能上反映出來。
第1章 什么是PIC單片機(jī)1
1.1 PIC單片機(jī)的概念及其特點(diǎn)1
1.1.1什么是PIC單片機(jī)1
1.1.2 PIC單片機(jī)有什么優(yōu)勢(shì)2
1.2 單片機(jī)能夠做哪些具體應(yīng)用3
1.3 PIC單片機(jī)學(xué)習(xí)的軟、硬件實(shí)驗(yàn)設(shè)備7
1.3.1 增強(qiáng)型PIC實(shí)驗(yàn)板7
1.3.2 PIC Pro編程器9
1.3.3 ICD2 PIC仿真燒寫器10
1.3.4 PIC實(shí)驗(yàn)附件10
1.4 單片機(jī)學(xué)習(xí)的有效方法與途徑12
第2章 PIC系列單片機(jī)系統(tǒng)的結(jié)構(gòu)和工作原理13
2.1 PIC單片機(jī)概述13
2.2 PIC16F877硬件系統(tǒng)概況13
2.2.1內(nèi)部結(jié)構(gòu)15
2.2.2指令系統(tǒng)18
2.3 I/O端口的結(jié)構(gòu)及工作原理21
2.3.1 I/O端口基本特征21
2.3.2 PORTA端口的特點(diǎn)22
2.3.3 PORTB端口的特點(diǎn)25
2.3.4 PORTC端口的特點(diǎn)27
2.3.5 PORTD端口的特點(diǎn)28
2.3.6 PORTE端口的特點(diǎn)29
2.3.7 PSP并行從動(dòng)端口31
2.4 中斷系統(tǒng)33
2.4.1 中斷概述33
2.4.2 PIC16F877中斷源33
2.4.3 中斷寄存器34
2.4.4 中斷處理38
2.5 定時(shí)器/計(jì)數(shù)器38
2.5.1 TMR0主要特征38
2.5.2 TMR1主要特征39
2.5.3 TMR2主要特征42
2.6 輸入捕捉/輸出比較/脈寬調(diào)制CCP45
2.6.1 輸入捕捉模式45
2.6.2 輸出比較工作模式48
2.6.3 脈寬調(diào)制輸出工作模式50
2.7 片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器53
2.7.1 片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器概述53
2.7.2 片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器寄存器54
2.7.3 片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)和操作原理56
2.8 片內(nèi)模/數(shù)轉(zhuǎn)換器58
2.8.1 PIC16F877的片內(nèi)ADC模塊58
2.8.2 片內(nèi)ADC模塊相關(guān)寄存器58
2.8.3 片內(nèi)ADC模塊結(jié)構(gòu)和操作原理61
2.8.4 片內(nèi)ADC模塊的轉(zhuǎn)換過程62
2.8.5 片內(nèi)ADC模塊時(shí)鐘與參考電壓的選擇62
2.9 USART通信模塊及其使用63
2.9.1 USART通信模塊簡介64
2.9.2 USART通信模塊寄存器65
2.9.3 USART波特率設(shè)定68
2.9.4 USART模塊的異步通信69
2.9.5 USART模塊的同步通信73
2.10 主控同步串口端口MSSP及其應(yīng)用75
2.10.1 同步串行接口簡介75
2.10.2 同步串行端口的SPI模式76
2.10.3 同步串行端口的I2C模式82
第3章 軟件集成開發(fā)環(huán)境MPLABIDE88
3.1 MPLABIDE的組成88
3.2 MPLABIDE軟件的獲取89
3.3 MPLABIDE軟件的安裝與卸載89
3.4 PICC編譯器的安裝與使用方法93
3.5 初次使用PICC的設(shè)置96
第4章 C語言概論、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式98
4.1 C語言概論98
4.1.1 C語言的發(fā)展過程98
4.1.2 C語言的特點(diǎn)98
4.1.3 C源程序的結(jié)構(gòu)特點(diǎn)98
4.1.4 C語言的字符集100
4.1.5 C語言詞匯100
4.2 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式101
4.2.1 C語言的數(shù)據(jù)類型101
4.2.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式110
4.2.3 關(guān)系運(yùn)算符和表達(dá)式113
4.2.4 邏輯運(yùn)算符和表達(dá)式115
第5章 分支與循環(huán)控制118
5.1 if語句118
5.1.1程序的三種基本結(jié)構(gòu)118
5.1.2 if語句的三種形式119
5.1.3 if語句的嵌套123
5.2 條件運(yùn)算符和條件表達(dá)式125
5.3 switch語句126
5.4 循環(huán)控制129
5.4.1概述129
5.4.2 goto語句和if語句構(gòu)成循環(huán)129
5.4.3 while語句130
5.4.4 dowhile語句131
5.4.5 for語句133
5.4.6 循環(huán)的嵌套135
5.4.7 break和continue語句136
第6章 編譯預(yù)處理與位運(yùn)算預(yù)處理命令139
6.1 概述139
6.2 宏定義139
6.2.1 不帶參數(shù)的宏定義139
6.2.2 帶參數(shù)的宏定義141
6.3 文件包含143
6.4 條件編譯143
6.5 位操作運(yùn)算符145
第7章 數(shù)組與函數(shù)148
7.1 一維數(shù)組的定義和引用148
7.1.1 一維數(shù)組的定義148
7.1.2 一維數(shù)組元素的引用150
7.1.3 一維數(shù)組的初始化151
7.1.4 一維數(shù)組程序舉例152
7.2 二維數(shù)組的定義和引用153
7.2.1 二維數(shù)組的定義153
7.2.2 二維數(shù)組元素的引用153
7.2.3 二維數(shù)組的初始化155
7.3 字符數(shù)組155
7.3.1 字符數(shù)組的定義155
7.3.2 字符數(shù)組的初始化156
7.3.3 字符數(shù)組的引用156
7.3.4 字符串和字符串結(jié)束標(biāo)志157
7.4 函數(shù)概述157
7.4.1 函數(shù)定義的一般形式157
7.4.2 函數(shù)的參數(shù)和函數(shù)的值158
7.4.3 函數(shù)的返回值159
7.4.4 函數(shù)的調(diào)用160
7.4.5 被調(diào)用函數(shù)的聲明和函數(shù)原型160
7.4.6 函數(shù)的嵌套調(diào)用161
7.4.7 函數(shù)的遞歸調(diào)用162
7.4.8 數(shù)組作為函數(shù)參數(shù)163
7.5 局部變量和全局變量165
7.5.1 局部變量166
7.5.2 全局變量167
第8章 指針、結(jié)構(gòu)體與共用體169
8.1 指針和地址169
8.2 指針變量和指針運(yùn)算符169
8.3 指針與函數(shù)參數(shù)173
8.4 指針、數(shù)組和字符串指針175
8.5 指針數(shù)組178
8.6 多級(jí)指針179
8.7 返回指針的函數(shù)181
8.8 函數(shù)指針181
8.9 結(jié)構(gòu)與聯(lián)合182
8.9.1 結(jié)構(gòu)的定義182
8.9.2 結(jié)構(gòu)數(shù)組184
8.9.3 結(jié)構(gòu)與函數(shù)185
8.9.4 結(jié)構(gòu)的初始化187
8.9.5 聯(lián)合187
第9章 PIC開發(fā)套件快速入門189
9.1 PIC開發(fā)套件入門說明189
9.1.1 增強(qiáng)型PIC實(shí)驗(yàn)板189
9.1.2 增強(qiáng)型PIC實(shí)驗(yàn)板各模塊說明192
9.1.3 PIC Pro編程器203
9.1.4 ICD2 PIC仿真燒寫器207
9.2 如何建立第一個(gè)工程項(xiàng)目208
9.2.1 開發(fā)環(huán)境和燒寫軟件的安裝208
9.2.2 實(shí)驗(yàn)電路原理分析208
9.2.3 程序代碼編寫與工程創(chuàng)建209
9.2.4 燒寫芯片與程序驗(yàn)證211
9.3 如何使用ICD2測(cè)試程序212
9.3.1 通過ICD2仿真程序方式執(zhí)行程序212
9.3.2 通過ICD2燒寫程序方式執(zhí)行程序216
9.4 PIC開發(fā)套件常見問題解答219
第10章 單片機(jī)基礎(chǔ)實(shí)例223
10.1發(fā)光二極管閃動(dòng)實(shí)驗(yàn)223
10.1.1 實(shí)例功能223
10.1.2 器件和原理223
10.1.3 硬件電路224
10.1.4 程序設(shè)計(jì)225
10.2 流水燈實(shí)驗(yàn)226
10.2.1 實(shí)例功能226
10.2.2 器件和原理227
10.2.3 硬件電路228
10.2.4 程序設(shè)計(jì)229
10.3 按鍵實(shí)驗(yàn)229
10.3.1 實(shí)例功能229
10.3.2 器件和原理230
10.3.3 硬件電路231
10.3.4 程序設(shè)計(jì)231
10.4 蜂鳴器實(shí)驗(yàn)232
10.4.1 實(shí)例功能232
10.4.2 器件和原理233
10.4.3 硬件電路233
10.4.4 程序設(shè)計(jì)234
10.5 繼電器實(shí)驗(yàn)234
10.5.1 實(shí)例功能234
10.5.2 器件和原理235
10.5.3 硬件電路236
10.5.4 程序設(shè)計(jì)237
10.6 數(shù)碼管實(shí)驗(yàn)237
10.6.1 實(shí)例功能238
10.6.2 器件和原理238
10.6.3 硬件電路240
10.6.4 程序設(shè)計(jì)240
10.7 串行口實(shí)驗(yàn)242
10.7.1 實(shí)例功能242
10.7.2 器件和原理244
10.7.3 硬件電路246
10.7.4 程序設(shè)計(jì)246
第11章 單片機(jī)高級(jí)應(yīng)用實(shí)例248
11.1 步進(jìn)電機(jī)應(yīng)用實(shí)例248
11.1.1 步進(jìn)電機(jī)簡介248
11.1.2 步進(jìn)電機(jī)的控制256
11.1.3 步進(jìn)電機(jī)的軟、硬件設(shè)計(jì)258
11.2 單總線數(shù)字溫度傳感器DS18B20應(yīng)用實(shí)例260
11.2.1 單總線技術(shù)簡介260
11.2.2 單總線溫度傳感器DS18B20簡介261
11.3 24CXX系列存儲(chǔ)器應(yīng)用實(shí)例276
11.3.1 I2C總線簡介276
11.3.2 I2C總線器件工作原理及時(shí)序278
11.3.3 AT24C系列存儲(chǔ)器的軟、硬件設(shè)計(jì)282
11.4 93CXX系列存儲(chǔ)器應(yīng)用實(shí)例290
11.4.1 SPI總線簡介291
11.4.2 93C46存儲(chǔ)器的軟、硬件設(shè)計(jì)293
11.5 DS1302時(shí)鐘芯片應(yīng)用實(shí)例304
11.5.1 實(shí)時(shí)時(shí)鐘簡介304
11.5.2 DS1302時(shí)鐘芯片簡介305
11.5.3 DS1302的軟、硬件設(shè)計(jì)308
11.6 A/D轉(zhuǎn)換應(yīng)用實(shí)例314
11.7 1602字符型LCD應(yīng)用實(shí)例319
11.7.1 液晶顯示簡介320
11.7.2 1602字符型LCD簡介321
11.7.3 1602字符型LCD的軟、硬件設(shè)計(jì)326
11.8 12864點(diǎn)陣型LCD應(yīng)用實(shí)例331
11.8.1 點(diǎn)陣LCD的顯示原理331
11.8.2 12864點(diǎn)陣型LCD簡介332
11.8.3 12864點(diǎn)陣型LCD軟、硬件設(shè)計(jì)338
11.9 紅外遙控軟件解碼應(yīng)用實(shí)例348
11.9.1 紅外遙控概述348
11.9.2 6121紅外接收的軟件解碼應(yīng)用實(shí)例354
11.10 無線通信模塊應(yīng)用363
11.10.1 無線通信概述363
11.10.2 PT2262/2272無線模塊簡介364
11.10.3 無線模塊的軟、硬件設(shè)計(jì)369
參考文獻(xiàn)374
1-1-1 什么是PIc單片機(jī)
PIC單片機(jī)(Pei·ipher-aIInterfaceController)是一種用來開發(fā)控制外圍設(shè)備的集成電路(IC),一種具有分散作用(多任務(wù))的CPU。與人類相比,CPU就是大腦,PIC共享的部分相當(dāng)于人的神經(jīng)系統(tǒng)。
PIC單片機(jī)有計(jì)算功能和記憶內(nèi)存,像CPU并由軟件控制執(zhí)行。然而,它的處理能力和存儲(chǔ)器容量卻很有限,這主要取決于PIC的類型。此系列單片機(jī)最高工作頻率都在20MHz左右,用做寫程序的存儲(chǔ)器容量約為1~4KB。
時(shí)鐘頻率與掃描程序的時(shí)間和執(zhí)行程序指令的時(shí)間有關(guān)系,但不能僅以時(shí)鐘頻率來判斷程序處理能力,它還會(huì)隨處理裝置的體系結(jié)構(gòu)而改變。當(dāng)體系結(jié)構(gòu)相同時(shí),時(shí)鐘頻率較高的處理能力會(huì)較強(qiáng)。
這里用字來解釋程序容量,用一個(gè)指令表示一個(gè)字。通常用字節(jié)來表示存儲(chǔ)器容量。一個(gè)字節(jié)有8位,每位由1或0組成。PICl6F84A單片機(jī)的指令由14位構(gòu)成。1K字轉(zhuǎn)換成位:1x1024×14=14336位,再轉(zhuǎn)換為字節(jié):14336/(8×1024)=1.7 5KB。在計(jì)算存儲(chǔ)器的容量時(shí),規(guī)定:1GB=1024MB,1MB=1024KB,1。KB=1024B。它們不是以1000為倍數(shù),因?yàn)檫@是用二進(jìn)制計(jì)算。
據(jù)統(tǒng)計(jì),我國的單片機(jī)年產(chǎn)量已達(dá)1~3億片,且每年以16%左右的速度增長,然而相對(duì)于世界市場我國的占有率還不到1%。這從一個(gè)側(cè)面也說明單片機(jī)應(yīng)用在我國才剛剛起步,有著非常廣闊的前景,培養(yǎng)單片機(jī)應(yīng)用人才,在工程技術(shù)人員中普及單片機(jī)知識(shí)有著重要的現(xiàn)實(shí)意義。
當(dāng)今單片機(jī)廠商琳瑯滿目,產(chǎn)品性能各異。針對(duì)具體情況,應(yīng)選何種型號(hào)呢?首先,需要弄清兩個(gè)概念:集中指令集(2ISC)和精簡指令集(RISC)。采用CISC結(jié)構(gòu)的單片機(jī)數(shù)據(jù)線和指令線分時(shí)復(fù)用,即馮·諾伊曼結(jié)構(gòu)。