本書共分為6章,分別介紹單片機的硬件系統(tǒng)、單片機C 語言介紹、單片機并行輸入/輸出口介紹等等。本書主要特點,本書采用現(xiàn)在流行的C語言對單片機應用進行程序編寫,以項目式介紹單片機的內(nèi)部資源使用以及外圍擴展應用,1、本書采用當今流行的C語言對單片機開發(fā)系統(tǒng)進行編程,為使用者后續(xù)進行單片機系統(tǒng)開發(fā)學習及工作奠定基礎;2、書中章節(jié)均采用項目式書寫,介紹相關理論知識同時,并配有具體的項目分析、討論,逐步引導理論知識的理解以及實踐能力的提升;3、書中案例均來自于單片機實際應用系統(tǒng),使理論知識和實際應用緊密結合;4、本書編者均來自武漢市民辦高校,編者有多年的教學及實踐經(jīng)驗。在民辦高校向應用型轉(zhuǎn)型階段,該書的出版對本科教學有一定的指導意義。
本書由民辦院校聯(lián)盟《單片機》課程組的老師編寫,第一版在我社出版,本書屬于第二版改版。本書內(nèi)容較之前版本有很大的改動,內(nèi)容更加偏向?qū)嵺`教學,緊貼應用技術應用,增加了更多的教學實踐內(nèi)容,從整體框架上從新對教學內(nèi)容進行了梳理,讓學生在做中學,在學中做。以項目為基礎引導學生主動學習,在動手的過程中學習理論知識,而不是被動的學習。
單片機原理及應用前言本書由多所高校單片機課程教學一線教師編寫,在內(nèi)容的編排上結合應用型人才的特點,力求內(nèi)容適當,知識由易到難、由淺到深,以能力培養(yǎng)為主線,以技術應用為目的,著重對單片機系統(tǒng)開發(fā)項目進行需求分析、電路設計、程序設計等,將理論知識融入項目設計過程中,使讀者在應用中理解理論知識。本書具有如下特點。在項目選擇上,結合實際、突出應用;在編排上循序漸進;在內(nèi)容闡述上,力求簡明扼要、圖文并茂、通俗易懂,便于教學和自學。項目的硬件電路和程序可在Proteus軟件平臺上仿真、運行,通過調(diào)試項目,讀者可對單片機資源使用及系統(tǒng)開發(fā)有完整的認知。全書共分6章:第1章介紹單片機的發(fā)展歷史、應用領域和單片機系統(tǒng)開發(fā)常用軟件Keil的使用方法以及單片機內(nèi)部硬件結構;第2章介紹單片機項目開發(fā)中常用的編程語言——C51語言的數(shù)據(jù)類型、關鍵字以及對單片機的主要資源控制方法;第3章介紹單片機并行輸入/輸出接口的內(nèi)部結構及功能;第4章、第5章介紹單片機定時器/計數(shù)器、中斷和串行口的結構及功能;第6章介紹單片機開發(fā)中常用的外圍擴展技術,包括可調(diào)式電子時鐘、多點測溫系統(tǒng)等。本書由韓彩霞主編,孔祥斌、張勝男、鄒靜、劉新竹參與了全書的大綱制定、結構設計和編寫等工作。本書第1、2章由武昌工學院張勝男編寫,第3章及附錄由武漢文理學院韓彩霞編寫,第4章由武昌工學院劉新竹編寫,第5章、第6章由武昌工學院鄒靜編寫。感謝湖北工業(yè)大學工程技術學院孔祥斌對全書結構設計的指導。本書參考了國內(nèi)相關教材和專著,在此謹向有關作者致以衷心的感謝!由于編者水平有限,加之時間倉促,書中難免有疏漏或不妥之處,在此敬請各位讀者多提寶貴意見及進行批評指正。編者
2020年7月
韓彩霞,副教授,1999年畢業(yè)于北京理工大學控制理論與控制工程專業(yè),畢業(yè)后在供電公司工作三年。 2002年就讀于大慶石油學院電氣自動化專業(yè),2005年碩士研究生畢業(yè),研究方向為模糊控制! ≈魇凇秵纹瑱C原理及應用》《自動控制原理》、《C語言程序設計》等課程。
單片機原理及應用目錄目錄
第1章單片機硬件系統(tǒng)1
1.1單片機簡介1
1.1.1微型計算機1
1.1.2單片機的組成1
1.1.3單片機的發(fā)展歷史2
1.2單片機的應用3
1.3單片機系統(tǒng)開發(fā)常用軟件介紹4
1.3.1編程軟件Keil4
1.3.2仿真軟件Proteus9
1.48051單片機的內(nèi)部結構9
1.4.1中央處理器9
1.4.2存儲器10
1.4.3I/O口10
1.4.4中斷源和定時器/計數(shù)器10
1.5單片機的引腳10
1.5.1電源引腳10
1.5.2時鐘引腳11
1.5.3控制信號引腳11
1.5.4I/O引腳11
1.6單片機的存儲器結構12
1.6.1程序存儲器12
1.6.2數(shù)據(jù)存儲器12
1.6.3特殊功能寄存器13
習題一14
第2章單片機C語言基礎15
2.1C51語言的標識符與關鍵字16
2.2C51語言的數(shù)據(jù)17
2.2.1數(shù)據(jù)類型17
2.2.2常量和變量20
2.3C51語言對單片機主要資源的控制23
2.3.1特殊功能寄存器的定義23
2.3.2位變量的定義23
2.3.3絕對地址的訪問24
2.4C51語言的基本運算與流程控制語句25
2.4.1基本運算25
2.4.2流程控制語句29
2.5C51語言的數(shù)組和指針32
2.5.1數(shù)組32
2.5.2指針33
2.6C51語言的函數(shù)34
2.6.1函數(shù)定義34
2.6.2函數(shù)的參數(shù)35
2.6.3函數(shù)的返回值35
2.6.4函數(shù)的調(diào)用和聲明35
2.6.5C51語言的庫函數(shù)36
習題二37
第3章單片機的并行輸入/輸出接口38
3.1單片機并行輸入/輸出接口介紹38
3.1.1P0口38
3.1.2P1口40
3.1.3P2口40
3.1.4P3口41
3.2項目一:單片機控制發(fā)光二極管42
3.2.1單片機控制1只發(fā)光二極管42
3.2.2單片機控制8只發(fā)光二極管53
3.3項目二:單片機檢測按鍵狀態(tài)59
習題三65
第4章單片機定時器/計數(shù)器、中斷系統(tǒng)66
4.1單片機定時器/計數(shù)器66
4.1.1定時器/計數(shù)器的結構66
4.1.2定時器/計數(shù)器的工作原理66
4.1.3定時器/計數(shù)器的工作方式67
4.1.4定時器/計數(shù)器的初值計算69
4.2中斷的概念及中斷處理過程70
4.2.1中斷系統(tǒng)的結構73
4.2.2中斷源73
4.3項目一:一只LED燈閃爍(查詢方式與中斷方式)75
4.4項目二:一只LED燈閃爍(閃爍頻率確定,長時間定時)78
4.5項目三:八段數(shù)碼管依次顯示0~979
4.6項目四:秒表82
習題四87
第5章單片機串行接口89
5.1單片機串行接口介紹89
5.1.1串行通信89
5.1.2串行接口91
5.2項目一:并行輸出口擴展99
5.3項目二:并行輸入口擴展101
5.4項目三:雙機通信102
習題五105
第6章單片機常用外圍擴展技術106
6.1項目一:可調(diào)式電子時鐘106
6.2項目二:多點測溫系統(tǒng)124
6.3項目三:波形發(fā)生器133
6.4項目四:數(shù)字電壓表136
6.5項目五:交通燈控制系統(tǒng)140
6.6項目六:簡易電子琴153
6.7項目七:步進電機控制系統(tǒng)160
附錄1ANSIC標準關鍵字165
附錄2匯編指令表167
參考文獻172