本書內容包括單片機基礎知識、單片機應用仿真軟件、單片機原理與基本應用系統、匯編語言程序設計、C語言程序設計、診斷系統和定時/計數器、單片機的串行擴展技術和常用測控電路、串行通信、單片機的綜合應用。根據高職高專教育注重培養學生實踐動手能力的要求,本書以單片機內部資源的應用為主線,理論與實踐緊密結合,以一個典型電子產品的設計開發過程貫穿教學全程。注重對單片機資源應用方法的總結,使初學者更容易理解與掌握。每章安排了一定量的習題和思考題,方便讀者練習和提高。
以典型電子產品設計開發過程貫穿全書
單片機作為嵌入式微控制器,在工業控制、家用電器、智能儀表、汽車、通信設備、醫療器械、辦公設備等眾多領域得到了廣泛的應用。各高等院校的電子信息類、自動化類等專業的學生在課程設計、畢業設計、科研項目中會廣泛應用到單片機知識,并且在今后工作中也會密切接觸到與單片機有關的工程項目。雖然單片機的種類很多,但由于8051單片機具有高性價比、資料多、開發裝置多而且成熟、芯片功能夠用適用等特點,因此8051單片機仍是單片機入門學習的首選機型。
本書以8051單片機為例,系統地介紹了單片機的工作原理及應用技術。在內容選取上淡化原理、注重實踐、軟硬結合、虛擬仿真,沿用傳統單片機學習與開發經驗,又結合目前流行的單片機軟、硬件仿真軟件Proteus,進行實物裝置的虛擬仿真學習與訓練,能幫助初學者提高學習興趣和效率。本書注重單片機實用技術學習與訓練,有利于培養讀者分析和解決實際應用項目問題的能力,重點突出讀者實踐動手能力的提升。
本書在內容編排上,前8章為8051單片機的基本知識講解,采用傳統知識體系結構安排章節內容,符合人們對事物的認知規律;借鑒了項目式教學任務驅動的優點,采用趣味實例、小制作對知識點進行講解,提高學習興趣;采用Proteus進行軟件仿真,直觀地展示抽象的知識,提高學習效率。后3章為應用實例,所選內容均為單片機在日常生活中的應用,通過完成實例的制作,讀者可提高解決實際問題和動手的能力,并且能獲得學習的成就感,可以更好地促進對單片機的深入學習。
本書可作為應用型本科及高職高專院校的電子信息類、自動化類專業的教材,也可作為單片機愛好者和工程技術人員的參考用書。
本書配有授課電子課件、相關例題、實例的源代碼、Proteus仿真電路原理圖及習題參考答案,可以登錄wwwcmpeducom免費注冊、審核通過后下載,或聯系編輯索取(QQ:1239258369,電話:01088379739)。
本書由河南職業技術學院王彪、武漫漫任主編。其中,第1~5章、第11章、附錄由河南職業技術學院王彪編寫;第6、7章由河南職業技術學院武漫漫編寫;第8章由溫州市蒼南縣龍港第二職業學校房金雅編寫;第9章由新鄉職業技術學院黃河編寫;第10章由河南職業技術學院萬弢編寫。
本書在編寫過程中,參考了大量的著作、教材和文獻資料,在此一并向有關作者、編者表示真誠的感謝。
由于作者水平有限,書中不妥或錯誤之處,敬請讀者批評指正。
出版說明
前言
第1章單片機系統基本知識
1.1認識單片機
1.1.1單片機的概念
1.1.2單片機的發展概況
1.1.3單片機的特點
1.1.4單片機的應用
1.1.5單片機技術的發展趨勢
1.2單片機系統的組成
1.2.1硬件
1.2.2軟件
1.3單片機應用系統的開發過程
1.3.1開發流程
1.3.2開發工具
1.4單片機中數的表示方法及運算
1.4.1二進制數、十進制數和
十六進制數
1.4.2數制轉換
1.4.3二進制數的運算
1.4.4十六進制數的運算
1.4.5數據在計算機中的表示
1.4.6常用編碼
1.5實訓1單片機系統的認識
1.6習題
第2章8051單片機的基本結構
2.1內部結構和引腳功能
2.1.1內部結構
2.1.2引腳功能
2.2存儲器
2.2.1程序存儲器(ROM)
2.2.2數據存儲器(RAM)
2.2.3特殊功能寄存器(SFR)
2.2.4程序計數器(PC)
2.3I/O端口
2.3.1P0口
2.3.2P1口
2.3.3P2口
2.3.4P3口
2.4時鐘與時序
2.4.1時鐘電路
2.4.2時鐘周期和機器周期
2.5工作方式
2.5.1復位方式
2.5.2低功耗工作方式
2.6ATMEL89系列單片機
2.6.1AT89系列單片機的優點
2.6.2AT89系列單片機的內部結構
2.6.3AT89系列單片機的型號編碼
2.7實訓2制作8051單片機
最小系統
2.8習題
第3章開發軟件使用
3.1WAVE6000軟件認知及使用
3.1.1WAVE6000簡介
3.1.2WAVE6000使用
3.2Proteus軟件認知及使用
3.2.1Proteus簡介
3.2.2Proteus使用
3.3實訓3WAVE6000的使用練習
3.4實訓4Proteus的使用練習
3.5習題
第4章8051單片機的指令系統
4.1指令系統概述
4.1.1指令基本格式
4.1.2指令分類
4.1.3指令系統中的常用符號
4.1.4尋址方式
4.1.5偽指令
4.1.6匯編
4.2指令系統
4.2.1數據傳送類指令
4.2.2算術運算類指令
4.2.3邏輯運算及位移類指令
4.2.4位操作類指令
4.2.5控制轉移類指令
4.3實訓5制作流水燈
4.4習題
第5章匯編語言程序設計
5.1匯編語言程序設計概述
5.1.1程序設計的步驟
5.1.2編寫程序的方法
5.1.3編寫程序的技巧
5.2順序程序設計
5.3分支程序設計
5.4循環程序設計
5.5查表程序設計
5.6散轉程序設計
5.7子程序設計
5.7.1關于子程序的幾點說明
5.7.2在子程序調用時的現場保護與
恢復
5.7.3在子程序調用時參數的傳遞
5.8實訓6制作交通信號燈
5.9習題
第6章8051單片機的中斷系統
6.1中斷概述
6.1.1中斷概念
6.1.2設置中斷的原因
6.2中斷源和中斷控制寄存器
6.2.1中斷源
6.2.2中斷控制寄存器
6.3中斷處理過程
6.3.1中斷請求
6.3.2中斷響應
6.3.3中斷服務
6.3.4中斷返回
6.3.5中斷響應等待時間
6.3.6中斷請求的撤除
6.3.7中斷優先控制和中斷嵌套
6.4中斷程序設計方法
6.4.1中斷初始化
6.4.2中斷服務程序
6.4.3外部中斷的應用舉例
6.5實訓7制作簡易水情報警器
6.6習題
第7章8051單片機的定時/計數器
7.1定時/計數器概述
7.1.1計數
7.1.2定時
7.2定時/計數器的控制寄存器
7.2.1定時/計數器控制
寄存器TCON
7.2.2定時/計數器工作方式控制
寄存器TMOD
7.3定時/計數器工作方式
7.3.1工作方式0
7.3.2工作方式1
7.3.3工作方式2
7.3.4工作方式3
7.4定時/計數器的應用
7.4.1計算定時/計數初值
7.4.2定時/計數器應用
7.5實訓8制作測速器
7.6習題
第8章8051單片機的串行接口
8.1串行通信的基本概念
8.1.1數據通信概念
8.1.2串行通信波特率
8.1.3串行通信的制式
8.1.4串行通信的校驗
8.1.5串行通信接口標準
8.28051單片機的串行口
8.2.1串行口特殊功能寄存器
8.2.2串行口工作方式
8.2.3多機通信
8.3實訓9PC和8051單片機串行
通信
8.4習題
第9章LED數碼管顯示與鍵盤
9.1LED數碼管顯示
9.1.1LED數碼管
9.1.2LED數碼管編碼方式
9.1.3靜態顯示
9.1.4動態顯示
9.2鍵盤
9.2.1鍵盤接口概述
9.2.2獨立式鍵盤
9.2.3矩陣式鍵盤
9.3顯示與鍵盤應用舉例——密碼鎖的
設計
9.3.1設計要求
9.3.2設計方案
9.3.3硬件電路設計
9.3.4軟件設計
9.4實訓10制作密碼鎖
第10章秒表與數字鐘的設計
10.1秒表的設計
10.1.1設計要求
10.1.2設計方案
10.1.3硬件電路設計
10.1.4軟件設計
10.2數字鐘的設計
10.2.1設計要求
10.2.2設計方案
10.2.3硬件電路設計
10.2.4軟件設計
10.3實訓11制作數字鐘
第11章溫度濕度測量儀的設計
11.1DHT11
11.1.1DHT11概述
11.1.2DHT11數據結構
11.1.3DHT11的傳輸時序
11.2設計要求
11.3設計方案
11.4硬件電路設計
11.5軟件設計
11.6實訓12制作溫度濕度測量儀
附錄8051單片機匯編指令表
參考文獻