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