本書主要介紹單片機的硬件結(jié)構(gòu)及工作原理、基于C語言的程序設(shè)計、單片機系統(tǒng)擴(kuò)展技術(shù)、中斷技術(shù)、接口技術(shù)、信息轉(zhuǎn)換與傳輸技術(shù)、單片機技術(shù)的系統(tǒng)應(yīng)用等內(nèi)容。本書以工程實際實訓(xùn)為主線,將8051單片機的傳統(tǒng)理論貫穿到實訓(xùn)實操過程中。為便于教學(xué)組織,特意引入了單片機硬件仿真軟件Proteus 7 Professional作為實訓(xùn)實操的主要載體,可以使單片機的日常教學(xué)擺脫硬件條件的束縛而直接在普通的微機室進(jìn)行。本書適合作為高等職業(yè)院校機電類專業(yè)的教材,也可作為部分中職類相關(guān)專業(yè)教材或參考書,同時還可作為從事電氣類專業(yè)工作的工程技術(shù)人員的自學(xué)或參考書。
本書以單片機系統(tǒng)的工程應(yīng)用為出發(fā)點,將傳統(tǒng)單片機系統(tǒng)原理進(jìn)行了整合,并以實訓(xùn)的形式體現(xiàn)出來,引導(dǎo)學(xué)生通過實訓(xùn)實操,主動學(xué)習(xí)相關(guān)原理知識,即按需學(xué)習(xí),從而提高學(xué)生學(xué)習(xí)的主觀能動性。本書內(nèi)容組織以突出實踐操作技能為主線,實訓(xùn)實操以單片機設(shè)計工作現(xiàn)場為背景,教學(xué)現(xiàn)場以學(xué)生自己操作為主、教師教授為輔,更好地體現(xiàn)了對學(xué)生實踐技能的培養(yǎng)。本書實訓(xùn)內(nèi)容錄制了仿真過程視頻,可以掃描二維碼觀看。
單片機技術(shù)在工業(yè)控制中有著極其廣泛的應(yīng)用,而單片機作為電類的一門專業(yè)基礎(chǔ)課程,在電類專業(yè)課程體系構(gòu)建中也起著至關(guān)重要的作用。在學(xué)習(xí)本課程之前,先期所要學(xué)習(xí)的課程主要包括電工基礎(chǔ)、模擬電子技術(shù)、數(shù)字電子技術(shù)、自動檢測與傳感器技術(shù)、C語言程序設(shè)計等。
本書以單片機系統(tǒng)的工程應(yīng)用為出發(fā)點,將傳統(tǒng)單片機系統(tǒng)原理進(jìn)行了整合,并以實訓(xùn)的形式體現(xiàn)出來,引導(dǎo)學(xué)生通過實訓(xùn)實操,主動學(xué)習(xí)相關(guān)原理知識,即按需學(xué)習(xí),從而提高學(xué)生學(xué)習(xí)的主觀能動性。書中內(nèi)容組織以突出實踐操作技能為主線,實訓(xùn)實操以單片機設(shè)計工作現(xiàn)場為背景,教學(xué)現(xiàn)場以學(xué)生自己操作為主、教師講授為輔,更好地體現(xiàn)了對學(xué)生實踐技能的培養(yǎng)。
書中將8051單片機的理論體系重新整合,分解成數(shù)制與編碼、8051單片機的硬件配置、單片機C語言程序設(shè)計基礎(chǔ)、存儲器系統(tǒng)、中斷技術(shù)、定時/計數(shù)器、I/O設(shè)備與接口、串行通信、A/D及D/A轉(zhuǎn)換接口、綜合實訓(xùn)等10章,且在每章后面(除第10章)都配備了技能實訓(xùn)。全書共安排了18個基礎(chǔ)實訓(xùn)和4個綜合實訓(xùn)。為使學(xué)習(xí)更貼近單片機系統(tǒng)實際開發(fā)現(xiàn)場,特意安排了C語言程序設(shè)計的內(nèi)容,并介紹了Keil C51開發(fā)工具的操作技能。另外,考慮到單片機實驗實訓(xùn)環(huán)節(jié)在具體實施過程中,總會由于諸多硬件方面的問題而使實訓(xùn)案例項目無法實現(xiàn),從而影響教學(xué)效果,故本書特意引入了優(yōu)秀的單片機硬件仿真軟件Proteus 7 Professional作為實訓(xùn)實操的主要載體,可以使單片機實踐教學(xué)的實施直接在普通的微機室即可進(jìn)行。(書中由該軟件繪制的電路圖的圖形符號與國家標(biāo)準(zhǔn)畫法不一致,二者對照關(guān)系參見附錄B。)
本書內(nèi)容組織原則是以如何吸引學(xué)生主動學(xué)習(xí)作為出發(fā)點,為此,每個實訓(xùn)的組織均遵循是什么為什么做什么這樣一條主線,層層遞進(jìn),即先給出所實現(xiàn)任務(wù)的所有軟件、硬件資源及實施方案,使得學(xué)生可以直接利用這些資源得到正確結(jié)果,即首先知道結(jié)果是什么;然后再利用原理解析的形式告訴學(xué)生產(chǎn)生這個結(jié)果的原因,即為什么;在掌握了原理后,再布置一個和原實訓(xùn)相仿的任務(wù),使學(xué)生進(jìn)行創(chuàng)新設(shè)計,進(jìn)一步進(jìn)行單片機系統(tǒng)應(yīng)用任務(wù)的開發(fā),即做什么。
本書于2017年被立項為安徽省高等學(xué)校省級質(zhì)量工程規(guī)劃教材。本次改版也是結(jié)合規(guī)劃教材建設(shè)目標(biāo),在第一版基礎(chǔ)上做了整合處理,以夠用為度,對原理性知識做了進(jìn)一步精簡,適當(dāng)增加了實踐性內(nèi)容。書中還引用了一些STC、STM32、ARM等類型單片機工程應(yīng)用方面的案例,使其內(nèi)容更加符合高職教學(xué)特點,尤其是實訓(xùn)環(huán)節(jié)的操作性更強。全書由安徽職業(yè)技術(shù)學(xué)院宋國富任主編,并負(fù)責(zé)統(tǒng)稿。在本書的編寫過程中,得到了有關(guān)院校同行及領(lǐng)導(dǎo)的大力支持,在此深表感謝。特別感謝安徽職業(yè)技術(shù)學(xué)院洪應(yīng)、黃有金、謝軍等老師的支持與幫助。
由于編者水平有限,書中難免存在疏漏與不足之處,懇請各位專家、同行和讀者批評指正。
編者
2019年3月
第1章數(shù)制與編碼1
11不同進(jìn)位計數(shù)制及其轉(zhuǎn)換1
111進(jìn)位計數(shù)制1
112數(shù)制的轉(zhuǎn)換2
12計算機中數(shù)的表示方法及運算3
121機器數(shù)的特點3
122原碼、反碼和補碼4
13BCD碼及ASCII碼5
1318421BCD編碼5
132ASCII編碼6
14技能實訓(xùn)7
【實訓(xùn)1】Keil C51的使用方法7
習(xí)題16
第2章8051單片機的硬件配置18
21單片機硬件系統(tǒng)的組成18
211單片機概述18
212微型計算機硬件系統(tǒng)的組成19
213單片微型計算機系統(tǒng)的組成20
228051單片機的引腳功能20
221MCS51系列單片機簡介20
2228051單片機的內(nèi)部組成及信號引腳21
238051單片機內(nèi)部資源分配25
2318051單片機的存儲器空間25
2328051單片機片內(nèi)程序存儲器29
24技能實訓(xùn)30
【實訓(xùn)2】并行接口特性30
習(xí)題32
第3章單片機C語言程序設(shè)計基礎(chǔ)34
31單片機C語言程序設(shè)計的一般格式34
311單片機C語言程序設(shè)計的步驟34
312單片機C語言程序的幾個基本概念34
313單片機C語言程序的基本結(jié)構(gòu)36
32單片機開發(fā)C語言程序的數(shù)據(jù)類型37
321常量和符號常量37
322變量38
33單片機C語言程序的運算符和表達(dá)式40
331賦值運算符41
332算術(shù)運算符41
333關(guān)系運算符42
334邏輯運算符43
335其他運算符43
34單片機C語言程序的一般語法結(jié)構(gòu)44
341順序結(jié)構(gòu)44
342分支結(jié)構(gòu)44
343循環(huán)結(jié)構(gòu)46
358051單片機的C語言程序47
351存儲類型及存儲區(qū)47
352特殊功能寄存器50
353中斷標(biāo)識符51
36C語言程序在單片機典型系統(tǒng)中的應(yīng)用52
36188 LED點陣顯示原理及應(yīng)用舉例52
362大屏幕LED點陣顯示屏工作原理及典型應(yīng)用55
37技能實訓(xùn)56
【實訓(xùn)3】Proteus 7 Professional軟件入門56
【實訓(xùn)4】跑馬燈62
習(xí)題65
第4章存儲器系統(tǒng)67
418051單片機外部總線的擴(kuò)展67
4118051單片機的三總線結(jié)構(gòu)67
412典型8位地址總線鎖存芯片68
42存儲器概述69
421存儲器的分類69
422隨機存儲器69
423只讀存儲器71
43存儲器擴(kuò)展的基本方法73
431存儲器擴(kuò)展需要解決的基本問題73
432單片機存儲器的片選技術(shù)73
44技能實訓(xùn)76
【實訓(xùn)5】單片機存儲器的綜合擴(kuò)展76
【實訓(xùn)6】I2總線串行EEPROM 24C02實訓(xùn)77
習(xí)題80
第5章中斷技術(shù)82
51中斷概述82
511中斷的概念82
512中斷的功能及特性83
513計算機的中斷源83
528051單片機的中斷系統(tǒng)84
5218051單片機的中斷系統(tǒng)的結(jié)構(gòu)84
522中斷源和中斷控制85
523中斷處理過程88
524外部中斷源的擴(kuò)展88
53技能實訓(xùn)89
【實訓(xùn)7】多信號彩燈的中斷實現(xiàn)89
習(xí)題92
第6章定時/計數(shù)器94
618051單片機定時/計數(shù)器的構(gòu)成94
6118051單片機定時/計數(shù)器的結(jié)構(gòu)與工作原理94
612定時/計數(shù)器的相關(guān)寄存器96
628051單片機定時/計數(shù)器的工作方式及應(yīng)用97
621定時/計數(shù)器的工作方式97
622定時/計數(shù)器的應(yīng)用100
63技能實訓(xùn)103
【實訓(xùn)8】方波信號發(fā)生器的中斷實現(xiàn)103
習(xí)題105
第7章I/O設(shè)備與接口107
71計算機I/O接口技術(shù)概述107
711I/O設(shè)備及I/O接口107
712CPU與外圍設(shè)備之間的數(shù)據(jù)傳送方式108
72 8051單片機并行I/O接口110
721P0口(80H)的結(jié)構(gòu)和功能110
722P1口(90H)的結(jié)構(gòu)和功能112
723P2口(0A0H)的結(jié)構(gòu)和功能113
724P3口(0B0H)的結(jié)構(gòu)和功能113
738051單片機并行I/O接口的應(yīng)用115
731并行I/O接口的基本輸入/輸出原理115
732并行I/O接口的驅(qū)動能力115
748051單片機并行I/O接口的擴(kuò)展116
741簡單I/O接口的擴(kuò)展117
742通用可編程并行接口8255A的結(jié)構(gòu)117
7438051單片機和8255A的接口方法122
758段LED數(shù)碼顯示技術(shù)123
751LED數(shù)碼管工作原理123
752LED數(shù)碼管的典型應(yīng)用124
76鍵盤接口技術(shù)125
761鍵盤接口技術(shù)及原理125
762獨立式按鍵和矩陣式鍵盤126
77技能實訓(xùn)128
【實訓(xùn)9】多個燈的智能控制128
【實訓(xùn)10】8255A擴(kuò)展的彩燈控制130
【實訓(xùn)11】8段LED數(shù)碼管的顯示控制132
【實訓(xùn)12】6位顯示電子鐘135
【實訓(xùn)13】LED數(shù)碼管動態(tài)顯示的串行驅(qū)動138
【實訓(xùn)14】矩陣式鍵盤的按鍵識別142
習(xí)題146
第8章串行通信147
81串行通信的基本概念147
811并行通信和串行通信147
813串行通信的工作方式149
814串行通