新概念51單片機C語言教程——入門、提高、開發(fā)、拓展全攻略(第2版)
定 價:88 元
- 作者:郭天祥
- 出版時間:2018/1/1
- ISBN:9787121320224
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1;TP312.8
- 頁碼:460
- 紙張:輕型紙
- 版次:2
- 開本:16開
本書從單片機入門學習者的視角出發(fā),避開了枯燥繁雜的理論介紹,,以實驗過程和實驗現(xiàn)象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內(nèi)外部資源操作篇、提高篇、實戰(zhàn)篇和拓展篇。 本書內(nèi)容豐富,實用性強,書中大部分內(nèi)容均來自科研工作及教學實踐,許多C語言代碼可以直接應用到工程項目中。本書配有13講近30學時的教學視頻和實例代碼(通過掃描二維碼下載或者網(wǎng)站下載),可使讀者更快、更好地掌握單片機知識和應用技能。本書作者還可提供與本書配套的單片機實驗板。 本書可作為大學本、?茊纹瑱C課程教材,適合于51單片機的初學者和使用51單片機從事項目開發(fā)的技術人員,也可供從事自動控制、智能儀器儀表、電力電子、機電一體化等專業(yè)的技術人員參考。
① 本書從實際工程應用入手,以實驗過程和實驗現(xiàn)象為主導,由淺入深、循序漸進地講述使用C語言進行51單片機編程的方法、51單片機的硬件結構和各種功能應用。
② 不同于傳統(tǒng)的講述單片機的書籍,本書中的大部分例程以實際硬件實驗板實驗現(xiàn)象為依據(jù),通過C語言程序來分析單片機工作原理。讀者既能知其然,又能知其所以然,從實際應用中徹底理解和掌握單片機。
③ 本書中的大部分內(nèi)容來自作者及其團隊的科研及教學工作實踐,內(nèi)容涵蓋多年來項目經(jīng)驗總結的精華,并且貫穿一些學習方法的建議。
④ 本書內(nèi)容豐富,實用性強,許多C語言代碼可以直接應用到工程項目中。本書為讀者提供近30小時的單片機教學視頻(可以掃描下文列表中的二維碼進行在線觀看,也可以登錄到http://www.hxedu.com.cn,注冊后下載)。
⑤ 本書適用范圍廣,可以作為高校電子信息類和機電類各專業(yè)的本科、?葡嚓P課程的教材或者大學生創(chuàng)新基地培訓教材,也可供51單片機的初學者和使用51單片機從事項目開發(fā)的技術人員學習和參考,還滿足從事自動控制、智能儀器儀表、電力電子、機電一體化等專業(yè)的技術人員的選用需求。
序一
STC(宏晶科技)創(chuàng)始人 姚永平
郭天祥老師的這本書是單片機界的第一奇書:因為厚,從未被看好;因為廣,被稱為單片機應用龍書;擁有者最多,配套學習板最瘋狂時月銷量超過1萬套,連續(xù)8年各大網(wǎng)站排名單片機類書籍銷量第一名。加上大量未經(jīng)允許的盜版,數(shù)量應在正版5倍以上。配套視頻更是全民皆盜(學單片機的學生),可謂功德無量。
郭靖行走江湖用了降龍十八掌,郭老師沒有十八般武藝,但行走江湖只用了一掌。
一本STC89C52笑傲江湖,將STC領先全球的ISP程序在線下載技術發(fā)揮到極致,雖是學生時代開始創(chuàng)業(yè),卻立即有省長上門指導工作,成為黑龍江省自主創(chuàng)業(yè)標兵,產(chǎn)值迅速做到500萬元/年以上,總部也遷到首都北京,成立北京?酥莿,開拓新的領域!
學生寫單片機教材,有部分老師反對,說太簡單了,不夠深度,大雜燴,雖然全,但不夠專業(yè),還厚,不適合當教材。中國單片機教育界的元老,哈工大教授(教育部單片機精品課程負責教師)說:我跟我的學生講,如果身體不好,或沒時間聽我的課,或聽不懂我的課,就去看郭老師的視頻,看郭老師的書,他講得通俗易懂,書也由淺入深,全面詳實,最后只要通過我張老師的考試就可以了。
河南省一高校老師語:我們學校每年采購郭老師的書1000本以上,全校單片機教材都改用郭天祥的書了,學生說用他的書看他的視頻,一看就透,其他很多書和視頻把簡單的講復雜了,不容易懂,還是郭老師講的簡單到位。
河北省一高校老師語:我們學校每年大學生電子設計競賽都是指定用郭老師的書來陪訓,全面詳實,一本書、一部視頻中,不但有STC89系列單片機從入門到提高、C語言從入門到提高,還有單片機外圍基礎電路知識介紹甚至較復雜的拓展電路知識,是全國大學生電子設計競賽的降龍十八掌。
民間最高業(yè)績:連續(xù)8年各大網(wǎng)站排名單片機類書籍銷量第一名,淘寶上連續(xù)8年配套學習板銷量第一名。
很多企業(yè),新入職單片機工程師培訓,人手一本郭老師的書,統(tǒng)一集中強化。
廣東省的一高校老師講:我的機器人方向的研究生,入學后,發(fā)現(xiàn)他們都人手一本郭天祥的書,很厚,但也確實全面詳實,真是單片機入門的龍書啊!
電子工業(yè)出版社對本書的肯定:多次請郭老師百忙之中將多年暢銷第一的書再豐富一下,補充更多更實用的新知識點進來,讓傳奇成為經(jīng)典。
STC對本書的肯定:創(chuàng)始人連夜通宵為第2版作序,指定本書為STC單片機全國大學計劃教材,STC推薦的全國大學生電子設計競賽指導用書,采用本書作為教材的高校,可優(yōu)先建立STC高性能單片機聯(lián)合實驗室,優(yōu)先獲得免費的8051仿真器贊助,并指定本書為STC內(nèi)部新員工培訓教材。
序二
上海慶科信息技術有限公司CEO 王永虹
目前,各種8位、16位、32位單片機型號眾多,應用適應性各不相同,但51系列單片機從20世紀80年代流行的80C31 至今,從外置EPROM(80C31)、內(nèi)置EPROM(87C51)、內(nèi)置Flash(89C51),到如今眾多廠商、上千種型號,始終保持著高速發(fā)展,體現(xiàn)出勃勃生機,堪稱單片機領域的常青樹、不倒翁。這充分說明了51單片機的經(jīng)典性。
單片機技術和應用在物聯(lián)網(wǎng)時代得到了前所未有的發(fā)展,對單片機開發(fā)應用人才的數(shù)量和要求也越來越高。有人覺得單片機技術難學,是因為其內(nèi)部結構復雜、編程語言抽象,而且實際應用中與其他元器件知識、電子通信技術相互關聯(lián),而一個設計通常需要把很多軟硬件技術結合起來,一開始往往難以下手。如何循序漸進學習單片機、從菜鳥變?yōu)楦呤,郭天祥編著的《新概?1單片機C語言教程入門、提高、開發(fā)、拓展全攻略(第2版)》一書提供了一條很好的進階學習之路。
學習單片機第一階段只需要了解單片機的基本結構、簡單的C語言編程和開發(fā)工具。本書第1篇介紹單片機引腳功能、數(shù)字邏輯和C51基礎、Keil開發(fā)環(huán)境等,既是單片機學習的基礎,也非常容易入門。特別是用軟件點亮一個發(fā)光二極管,是學習單片機的第一個里程碑成就。
第二階段要了解單片機的具體內(nèi)部結構、外設接口、經(jīng)常用到電子技術和元器件知識。本書第2篇介紹定時器、中斷、串行接口、鍵盤和顯示、ADC、DAC、運算放大器基礎等,都是單片機應用系統(tǒng)的常用外設接口和組件,學習原理、編程使用這些外設何組件,可為后續(xù)應用開發(fā)做好準備。
單片機學習的第三階段是學習單片機各種外設接口的多種工作模式、如何與其他設備進行有效對接和通信,還要學習掌握更多的數(shù)據(jù)結構和編程技巧,并進行實踐鍛煉。本書的第3篇(提高篇)和第4篇(實戰(zhàn)篇)介紹了不同定時器和串口的多種工作模式,以及指針的用法,并進行了實時鐘、溫度傳感器、PC機串口通信等應用系統(tǒng)常見模塊的實戰(zhàn)演練。
經(jīng)過以上三個階段的學習進階,一般能進行一些單片機簡單應用的開發(fā)。其他不同應用開發(fā)一般需要學習相關的專業(yè)知識,如電機控制類應用,需要學習各種電機的原理、控制算法;儀器儀表類應用,需要學習各種傳感器原理和編程,數(shù)據(jù)處理以及人機界面GUI等。本書第5篇介紹了電源、常用元器件、PCB設計、物聯(lián)網(wǎng)應用方面的知識,可作為具體項目設計開發(fā)參考。希望此書能幫助讀者進行基于單片機的物聯(lián)網(wǎng)應用系統(tǒng)開發(fā)。
感謝郭天祥編寫了這本好書。相信此書的出版,不僅會給廣大單片機學習者、開發(fā)者提供很好的幫助,也會進一步推動單片機技術的普及、應用和發(fā)展。
前 言
本書第1版在2009年1月出版,至今已印刷近40次,由于采用全新的教學理念和方法,本書深受廣大讀者尤其是在校大學生朋友的喜愛。隨著科學工程技術日新月異的發(fā)展以及高校大學生科技創(chuàng)新活動的蓬勃興起,本書讀者的需求與時俱進,作者一些當年的思路和想法難免略顯陳舊,因此有必要推出第2版,以饗廣大讀者。
第2版主要修訂內(nèi)容
① 雖然單片機應用日趨廣泛和靈活,但51系列單片機內(nèi)核硬件架構和基本開發(fā)方法變化不大,因此本書關于單片機C語言教學部分變化不大,僅對第1版中出現(xiàn)的文字錯誤進行修改,同時補充和細化了基礎運放電路專題。
② 在實戰(zhàn)篇中新增應用單片機做電容感應觸摸按鍵的內(nèi)容,以適應消費類電子產(chǎn)品開發(fā)的需要。
③ 為了適應單片機技術的發(fā)展潮流,拓展篇的內(nèi)容修改較大:新增PCB設計軟件Altium Designer 14、基于Wi-Fi的物聯(lián)網(wǎng)應用、STC8系列單片機的內(nèi)容;在運放擴展專題中加入運算放大器的高階應用內(nèi)容,如程控增益放大器、自動增益放大器等,供讀者選用。
本書特色
① 本書從實際工程應用入手,以實驗過程和實驗現(xiàn)象為主導,由淺入深、循序漸進地講述使用C語言進行51單片機編程的方法、51單片機的硬件結構和各種功能應用。
② 不同于傳統(tǒng)的講述單片機的書籍,本書中的大部分例程以實際硬件實驗板實驗現(xiàn)象為依據(jù),通過C語言程序來分析單片機工作原理。讀者既能知其然,又能知其所以然,從實際應用中徹底理解和掌握單片機。
③ 本書中的大部分內(nèi)容來自作者及其團隊的科研及教學工作實踐,內(nèi)容涵蓋多年來項目經(jīng)驗總結的精華,并且貫穿一些學習方法的建議。
④ 本書內(nèi)容豐富,實用性強,許多C語言代碼可以直接應用到工程項目中。本書為讀者提供近30小時的單片機教學視頻(可以掃描下文列表中的二維碼進行在線觀看,也可以登錄到http://www.hxedu.com.cn,注冊后下載)。
同時,作者開發(fā)了與本書配套的TX-1C單片機實驗板,可幫助讀者邊學邊練,達到學以致用的目的。讀者在學習過程中可以將視頻和圖書互為參考,配合學習,并用單片機實驗板進行實踐,這樣有助于更快更好地掌握單片機應用知識和技能。
⑤ 本書適用范圍廣,可以作為高校電子信息類和機電類各專業(yè)的本科、?葡嚓P課程的教材或者大學生創(chuàng)新基地培訓教材,也可供51單片機的初學者和使用51單片機從事項目開發(fā)的技術人員學習和參考,還滿足從事自動控制、智能儀器儀表、電力電子、機電一體化等專業(yè)的技術人員的選用需求。
本書內(nèi)容組織
本書內(nèi)容共分5篇,分別為入門篇、內(nèi)外部資源操作篇、提高篇、實戰(zhàn)篇和拓展篇。
第1篇主要講解單片機相關基本知識及C語言編程基礎,為初學者入門奠定基礎。相關概念介紹簡捷、易懂,避免長篇累牘的堆積專業(yè)術語,力求好學、好用。
第2篇講解單片機基本操作及其應用。針對每個應用都設計一個具體的實驗項目,通過實驗項目的實現(xiàn),教授單片機的C語言編程使用方法。內(nèi)容組織上循序漸進,由淺入深;教學方法上從原理到實踐,再由實驗現(xiàn)象進一步分析原理;做到理論與實踐互相交融,有助于讀者上手學習。
在前2篇的基礎上,通過實驗,第3篇進一步擴展講解了51單片機的高級功能應用,包括定時器/計數(shù)器以及串口應用,每個應用都設計針對性的實驗項目和編程實例,使讀者看得著,想得到,同時介紹C語言精髓指針的相關應用。
第4篇是作者教學和實際工作中精選出的具有代表性的真實項目,知識涉及面廣,內(nèi)容豐富,是作者開發(fā)經(jīng)驗的精華總結,以期引導讀者綜合運用前面所學知識,搭建51單片機系統(tǒng),建立系統(tǒng)概念。
第5篇為拓展部分,詳細講解了使用Altium Designer 14軟件繪制原理圖、PCB圖、元件庫和元件封裝的過程;詳細介紹了基于Wi-Fi的物聯(lián)網(wǎng)應用;分別講解了直流電機、步進電機和舵機的原理及驅動方法;介紹了STC8系列單片機以及運放的高級應用方法。本篇主要面向具有一定單片機開發(fā)經(jīng)驗的讀者,主要目的拓寬讀者思路,為學習者提供必要參考。
本書學習建議
隨書提供的視頻與本書前3篇基本對應,建議讀者在學習本書之前,最好有一塊與本書中相同的實驗板。學習時先看視頻,對單片機有一個初步的印象,視頻中的互動部分,讀者可親自做實驗;在學習過程中,讀者要多動腦,多動手;邊學邊做,邊做邊學,在不斷實踐中領悟單片機工作原理。
在對實驗原理理解的前提下,讀者要嘗試獨立編寫出書中每章的實例程序,有困惑時再查看書中代碼,反思自己的失誤在哪里,進而積累更多的經(jīng)驗。
在掌握基本單片機使用后,針對具體開發(fā)和應用,讀者可選讀本書其他章節(jié),有目的地閱讀和參考可提高學習和工作效率。
本書教學資
郭天祥 ,單片機教育者,畢業(yè)于哈爾濱工程大學,單片機領域的知名人士,名下有天祥電子網(wǎng)站,其最大成就之一是開設了十天學會單片機系列課程并錄制出來,該課程在網(wǎng)絡上廣泛流傳至今,同時著有《十天學會51單片機視頻教程》、《十天學會PIC單片機視頻教程》、《十天學會AVR單片機視頻教程》三本教程。
目 錄
第1篇 入門篇
第1章 基礎知識必備2
1.1 單片機概述2
1.1.1 什么是單片機2
1.1.2 單片機標號信息及封裝類型2
1.1.3 單片機能做什么5
1.1.4 如何開始學習單片機6
1.2 51單片機外部引腳介紹8
1.3 電平特性11
1.4 二進制和十六進制12
1.4.1 二進制12
1.4.2 十六進制13
1.5 二進制的邏輯運算13
1.6 單片機的C51基礎知識介紹15
1.6.1 利用C語言開發(fā)單片機的優(yōu)點15
1.6.2 C51中的基本數(shù)據(jù)類型15
1.6.3 C51數(shù)據(jù)類型擴充定義16
1.6.4 C51中常用的頭文件17
1.6.5 C51中的運算符17
1.6.6 C51中的基礎語句18
1.6.7 學習單片機應該掌握的主要內(nèi)容18
第2章 Keil軟件使用及流水燈設計19
2.1 Keil工程建立及常用按鈕介紹19
2.1.1 Keil工程的建立19
2.1.2 常用按鈕23
2.2 點亮第一個發(fā)光二極管24
2.3 while語句35
2.4 for語句及簡單延時語句37
2.5 Keil仿真及延時語句的精確計算38
2.6 不帶參數(shù)函數(shù)的寫法及調(diào)用42
2.7 帶參數(shù)函數(shù)的寫法及調(diào)用44
2.8 利用C51庫函數(shù)實現(xiàn)流水燈45
第2篇 內(nèi)外部資源操作篇
第3章 數(shù)碼管顯示原理及應用實現(xiàn)50
3.1 數(shù)碼管顯示原理50
3.2 數(shù)碼管靜態(tài)顯示51
3.3 數(shù)碼管動態(tài)顯示55
3.4 中斷概念57
3.5 單片機的定時器中斷61
第4章 鍵盤檢測原理及應用實現(xiàn)70
4.1 獨立鍵盤檢測70
4.2 矩陣鍵盤檢測76
第5章 A/D和D/A工作原理84
5.1 模擬量與數(shù)字量概述84
5.2 A/D轉換原理及參數(shù)指標85
5.3 ADC0804工作原理及其實現(xiàn)方法92
5.4 D/A轉換原理及其參數(shù)指標98
5.5 DAC0832工作原理及實現(xiàn)方法104
5.6 DAC0832輸出電流轉換成電壓的方法109
第6章 串行口通信原理及操作流程110
6.1 并行與串行基本通信方式110
6.2 RS-232電平與TTL電平的轉換113
6.3 波特率與定時器初值的關系115
6.4 51單片機串行口結構描述118
6.5 串行口方式1編程與實現(xiàn)120
6.6 串行口打印在調(diào)試程序中的應用123
第7章 通用型1602、12232、12864液晶操作方法131
7.1 液晶概述131
7.2 常用1602液晶操作實例132
7.3 常用12232液晶操作實例139
7.4 常用12864液晶操作實例148
第8章 I2C總線AT24C02芯片應用157
8.1 I2C總線概述157
8.2 單片機模擬I2C總線通信159
8.3 E2PROM AT24C02與單片機的通信實例162
第9章 基礎運放電路專題170
9.1 運放概述及參數(shù)介紹170
9.2 反相放大器171
9.3 同相放大器172
9.4 電壓跟隨器173
9.5 加法器173
9.6 差分放大器174
9.7 微分器174
9.8 積分器175
9.9 比較器176
第3篇 提高篇
第10章 定時器/計數(shù)器應用提高180
10.1 方式0應用180
10.2 方式2應用181
10.3 方式3應用183
10.4 52單片機定時器2介紹185
10.5 計數(shù)器應用191
第11章 串行口應用提高195
11.1 方式0應用195
11.2 方式2和方式3應用197
11.3 單片機雙機通信199
11.4 單片機多機通信206
第12章 指針215
12.1 指針和指針變量215
12.1.1 內(nèi)存單元、地址和指針215
12.1.2 指針變量的定義、賦值與引用217
12.2 指針變量的運算218
12.3 指針與數(shù)組219
12.3.1 指針與一維數(shù)組219
12.3.2 指針與多維數(shù)組221
12.4 指針與函數(shù)223
12.4.1 指針作為函數(shù)的參數(shù)223
12.4.2 指向函數(shù)的指針224
12.4.3 指針型函數(shù)226
12.5 指針與字符串227
12.5.1 字符串的表達形式227
12.5.2 字符指針作為函數(shù)參數(shù)227
12.5.3 使用字符指針與字符數(shù)組的區(qū)別228
12.6 指針數(shù)組與命令行參數(shù)229
12.6.1 指針數(shù)組的定義和使用229
12.6.2 指向指針的指針231
12.6.3 指針數(shù)組作為main()函數(shù)的命令行參數(shù)232
12.7 指針小結233
12.7.1 指針概念綜述233
12.7.2 指針運算小結234
12.7.3 等價表達式235
12.8 C51中指針的使用236
12.8.1 指針變量的定義236
12.8.2 指針應用237
第4篇 實戰(zhàn)篇
第13章 利用51單片機的定時器設計一個時鐘240
13.1 如何從矩陣鍵盤中分解出獨立按鍵240
13.2 原理圖分析241
13.3 實例講解242
第14章 使用DS12C887時鐘芯片設計高精度時鐘250
14.1 時鐘芯片概述250
14.2 DS12C887時鐘芯片介紹250
14.3 如何用TX-1C實驗板擴展本實驗256
14.4 原理圖分析257
14.5 實例講解257
第15章 使用DS18B20溫度傳感器設計溫控系統(tǒng)268
15.1 溫度傳感器概述268
15.2 DS18B20溫度傳感器介紹269
15.3 實例講解275
第16章 太陽能充/放電控制器280
16.1 控制器原理圖分析281
16.2 控制器板上元件介紹284
16.3 實例講解286
第17章 VC、VB(MSCOMM控件)與單片機通信實現(xiàn)溫度顯示303
17.1 VC MSCOMM控件與單片機通信實現(xiàn)溫度顯示303
17.2 VB MSCOMM控件與單片機通信實現(xiàn)溫度顯示309
第18章 應用單片機內(nèi)部ADC做電容感應觸摸按鍵313
第5篇 拓展篇
第19章 使用Altium Designer 14繪制電路圖320
19.1 繪制電路板概述320
19.2 建立工程322
19.3 制作元件庫325
19.4 添加封裝及制作PCB封裝庫328
19.5 項目編譯及生成PCB331
19.6 布線電氣特性設置334
19.7 自動布線和手動布線338
第20章 基于Wi-Fi的物聯(lián)網(wǎng)應用341
20.1 物聯(lián)網(wǎng)系統(tǒng)架構341
20.2 常用的物聯(lián)網(wǎng)無線傳輸技術342
20.3 IoT云平臺343
20.4 基于Wi-Fi的嵌入式設備入網(wǎng)方式347
20.5 微軟Azure系列IoT物聯(lián)網(wǎng)開發(fā)板352
第21章 電機專題353
21.1 直流電機原理及應用353
21.2 步進電機原理及應用360
21.3 舵機原理及其應用370
第22章 STC8系列單片機介紹377
22.1 STC8單片機的優(yōu)勢377
22.2 ADC數(shù)模轉換377
22.3 PCA/CCP/PWM應用379
22.4 同步串行外設接口SPI382
22.5 I2C總線386
第23章 常用元器件介紹391
23.1 二極管391
23.2 電容395
23.3 場效應管399
23.4 光耦403
23.5 蜂鳴器405
23.6 繼電器405
23.7 自恢復保險410
23.8 瞬態(tài)電壓抑制器411
23.9 晶閘管(可控硅)414
23.10 電荷泵416
第24章 直流穩(wěn)壓電源專題417
23.1 整流電路417
24.2 濾波電路419
24.3 穩(wěn)壓電路421
24.4 集成穩(wěn)壓模塊的使用423
24.5 串聯(lián)開關型穩(wěn)壓電源428
第25章 運放擴展專題431
25.1 簡單低通濾波器431
25.2 電流-電壓轉換電路431
25.3 光電放大器432
25.4 精密電流源432
25.5 可調(diào)參考電壓源433
25.6 復位穩(wěn)定放大器434
25.7 模擬乘法器435
25.8 全波整流器和平均值濾波器436
25.9 正弦波振蕩器437
25.10 三角波發(fā)生器437
25.11 自動跟蹤對稱電源438
25.12 可調(diào)實驗電源439
25.13 運放相關術語441
附錄A 天祥電子開發(fā)實驗板簡介442
A.1 TX-1C 51單片機開發(fā)板442
A.2 AVR單片機開發(fā)板443
A.3 PIC單片機開發(fā)板444
A.4 TX-3A ARM7入門級嵌入式系統(tǒng)開發(fā)板445
A.5 TX-3C ARM7提高級嵌入式系統(tǒng)開發(fā)板446
A.6 TX-2440A ARM9嵌入式系統(tǒng)開發(fā)板447
A.7 TX-51STAR單片機綜合實驗箱448
A.8 TX-2A CPLD開發(fā)板449
參考文獻451