本書共11章,包括單片機基礎(chǔ)知識、單片機硬件結(jié)構(gòu)和工作原理、C51程序設(shè)計、中斷系統(tǒng)、定時/計數(shù)器、串行口、系統(tǒng)擴展技術(shù)(存儲器擴展和I/O端口擴展)、接口技術(shù)(鍵盤、LED、LCD、A/D、D/A等)、總線技術(shù)、Keil C51和Proteus仿真軟件及聯(lián)合調(diào)試技術(shù)、單片機應(yīng)用系統(tǒng)實例等。
“單片機原理與應(yīng)用”是電氣工程、自動化、電子信息、計算機、機械等工科專業(yè)重要的基礎(chǔ)課程,也是一門知識性、應(yīng)用性實踐性很強的綜合性技術(shù)課程通討該課程可以鍛煉學(xué)生小型單片機應(yīng)用系統(tǒng)的硬件設(shè)計、分析、制作與軟件編寫、調(diào)試的能力,提高學(xué)生的動手實踐能力,培養(yǎng)學(xué)生的創(chuàng)新意識與創(chuàng)造性思維,終為學(xué)生在校期間參加全國性競賽(如大學(xué)生機器人大賽、智能車大賽等),以及學(xué)會采用單片機設(shè)計相關(guān)控制系統(tǒng)解決專業(yè)中的各種具體問題奠定堅實的理論與實踐基礎(chǔ),使他們畢業(yè)時能獲得更好的就業(yè)機會與崗位,并成為未來工作中負責(zé)應(yīng)用系統(tǒng)研究開發(fā)的技術(shù)骨干。可以說,“單片機原理與應(yīng)用”是一門重要的課程。
傳統(tǒng)的單片機課程要存在三大問題:一是教學(xué)模式采用“先理論講解,再動手實驗”,導(dǎo)致“教學(xué)-實驗”分離、“理論-實踐”不同步,不僅使學(xué)生理論理解困難,而且感覺枯燥乏味,使初學(xué)者感覺入門較難,難以培養(yǎng)興趣甚至厭學(xué),終造成單片機課程教學(xué)效果不理想;二是實驗教學(xué)采用統(tǒng)一的單片機實驗箱(板),存在硬件電路固定、實驗內(nèi)容固定、學(xué)生不能隨意更改、程序無法實時在線調(diào)試、與工程實際應(yīng)用脫節(jié)等缺點,很難培養(yǎng)學(xué)生的實踐動手能力與創(chuàng)造性思維;三是缺乏對單片機系統(tǒng)化設(shè)計的培養(yǎng),教學(xué)中通常將軟硬件分離介紹,加上實驗采用現(xiàn)成的電路板,大多只完成簡單、分塊的驗證性程序設(shè)計,基本不涉及硬件設(shè)計,導(dǎo)致學(xué)生硬件設(shè)計與復(fù)雜軟件設(shè)計能力薄弱,在構(gòu)建實際的單片機應(yīng)用系統(tǒng)時缺乏硬臺搭建與系統(tǒng)軟件調(diào)試能力,終造成學(xué)生的單片機應(yīng)用系統(tǒng)綜合設(shè)計能力嚴重不足。
鑒于傳統(tǒng)教學(xué)模式存在的不足,本書編者對單片機課程教行改革,提出了一種基于Proteus與Keil聯(lián)調(diào)及項目導(dǎo)向的新型單片機教學(xué)模式。它的核心思想是將單片機課程教學(xué)圍繞具體應(yīng)用項目展開,使項目設(shè)計貫穿整個教學(xué)過程,授課時將每個應(yīng)用項目分解階式的多個子模塊,按照模塊化思路講解相關(guān)軟硬件設(shè)計的知識點,并采用Proteus與Keil軟件構(gòu)成虛擬實臺,實現(xiàn)“教師邊講邊指導(dǎo)、學(xué)生邊學(xué)邊實踐”的教學(xué)形式,達到理論與實踐教學(xué)的同步。這種教學(xué)形式對學(xué)生來說,增強了單片機學(xué)觀性和生動有趣的真實感,激發(fā)了他們的學(xué)與積極主動性,提高了他們的學(xué)感,終在整體上提高了學(xué)生的單片機綜合設(shè)計能力,使教學(xué)效率和教學(xué)質(zhì)量得到大幅度提升;對教師來說,在普通機房或教室(學(xué)生自帶筆記本計算機)授課即可實現(xiàn)理論與實踐結(jié)合,不依賴于實驗室及其單片機開發(fā)板,并能及時了解學(xué)生學(xué)機時存在的問題與不足,做到及時和有針對性的輔導(dǎo),提高與鞏固教學(xué)效果。
本書以工程應(yīng)用為主調(diào),是編者在單片機教學(xué)與開發(fā)過程中,對教學(xué)模式與教學(xué)方法改革成果、實踐經(jīng)驗教訓(xùn)、心得感悟結(jié)和整理。全書圍繞“Keil+Proteus聯(lián)調(diào)技術(shù)”核心方法,通過多個“Keil+Proteus實際應(yīng)用案例”幫助學(xué)生掌握所學(xué)內(nèi)容,增強對單片機硬件資源的理解與使用,提高學(xué)生的實際硬件設(shè)計與編程調(diào)試能力,使學(xué)生在課后易于根據(jù)教材自行學(xué)采用Keil與Proteus軟行單片機實驗。
本書共1pan>章,內(nèi)括緒論、MCS-5pan>單片機的硬件結(jié)構(gòu)及工作原理、C語言基礎(chǔ)與C5pan>程序設(shè)計、MCS-5pan>中斷系統(tǒng)、MCS-5pan>定時/計數(shù)器、MCS-5pan>串行口、MCS-5pan>系統(tǒng)擴展技術(shù)、MCS-5pan>單片機接口技術(shù)、MCS-5pan>單片線技術(shù)、Keil C5pan>和Proteus軟件及聯(lián)合調(diào)試技術(shù)、單片機應(yīng)用系統(tǒng)設(shè)計實例。在每一章前列出了本章的學(xué)或重要知識點,每章結(jié)尾給出本章小結(jié),以便幫助讀者回顧和復(fù)要說明的是,由于C語言是當(dāng)今微控制器
或微處理器應(yīng)用系統(tǒng)的主要開發(fā)語言,因此本書不介紹匯編語言,僅在附錄列出MCS-5pan>單片機的匯編指令,教師可根據(jù)講解單片機工作原理的需要,自行增加部分匯編語言的基本講解。
本書部分圖片保留了軟件固有的元器件符號,可能會與國家標準中的符號不一致,讀者可
查閱相關(guān)資料。
本書獲得廈門理工學(xué)院教材建設(shè)資助。全書由陳志英副教授、徐敏編,并參與全書的執(zhí)筆編寫;林峰和曾漢超參編,并為本書做了許多校對工作,在此表示衷心的感謝。
本書編寫過程中參閱借鑒了一些相關(guān)教材和文獻,在此向其編著者表示謝意。由于編者有限,書中疏漏之處在所難免,懇請讀者批評指正。
前言
第1章 緒論
1.1 單片機的基本概念
1.1.1 單片機的分類
1.1.2 單片機的指標
1.2 單片機的發(fā)展
1.2.1 單片機的發(fā)展概況
1.2.2 單片機的發(fā)展趨勢
1.3 單片機的特點和應(yīng)用
1.4 微型計算機的組成與工作原理
1.4.1 微型計算機的組成
1.4.2 微型計算機的工作原理
1.5 計算機中的數(shù)與編碼
1.5.1 計算機中的數(shù)制
1.5.2 數(shù)制之間的轉(zhuǎn)換
1.5.3 原碼、反碼、補碼
1.5.4 制數(shù)的算術(shù)運算
1.5.5 常用編碼
本章小結(jié)
第2章 MCS-51單片機的硬件結(jié)構(gòu)及工作原理
2.1 MCS-51單片機內(nèi)部結(jié)構(gòu)和能
2.1.1 MCS-51單片機內(nèi)部結(jié)構(gòu)
2.1.2 MCS-51單片機的能
2.2 MCS-51的CPU
2.2.1 運算器
2.2.2 控制器
2.3 MCS-51存儲器的結(jié)構(gòu)
2.3.1 程序存儲器(使用MOVC訪問)
2.3.2 外部數(shù)據(jù)存儲器(使用MOVX訪問)
2.3.3 內(nèi)部數(shù)據(jù)存儲器(使用MOV訪問)
2.3.4 能寄存器SFR(使用MOV訪問)
2.3.5 位地址空間
2.4 并行I/O口
2.4.1 P0口
2.4.2 P1口
2.4.3 P2口
2.4.4 P3口
2.4.5 使用P0~P3口時應(yīng)注意的問題
2.4.6 P0~P3口的使用r/>
2.5 時鐘電路與時序
2.5.1 時鐘電路
2.5.2 時鐘周期、機器周期與指令周期
2.5.3 MCS-51指令的取指/執(zhí)行時序
2.5.4 訪問片外ROM/RAM的指令時序
2.6 復(fù)位操作和復(fù)位電路
2.7耗運行模式
2.8 單片機小系統(tǒng)
本章小結(jié)
第3章 C語言基礎(chǔ)與C51程序設(shè)計
3.1 C51語言概述
3.2 C51語言的基本語法
3.2.1 C51的標識符和關(guān)鍵字
3.2.2 C51的數(shù)據(jù)類型
3.2.3 變量的存儲種類和存儲類型
3.2.4 保證地址的訪問
3.2.5 C51的運算符和表達式
3.3 中斷服務(wù)函數(shù)
3.4 C51的庫函數(shù)
3.5 C51程序設(shè)計與應(yīng)用技巧
3.6 基于Keil與Proteus聯(lián)調(diào)的C51應(yīng)用編程舉例
本章小結(jié)
第4章 MCS-51中斷系統(tǒng)
4.1 中斷系統(tǒng)概述
4.2 MCS-51單片機的中斷系統(tǒng)
4.2.1 中斷源及中斷入口
4.2.2 中斷控制
4.3 中斷處理過程
4.3.1 中斷響應(yīng)
4.3.2 中斷處理
4.3.3 中斷返回
4.3.4 中斷響應(yīng)時間
4.3.5 中斷請求的撤除
4.4 中斷程序設(shè)計結(jié)構(gòu)及應(yīng)用舉例
4.4.1 中斷程序的一般設(shè)計方法
4.4.2 基于Keil與Proteus聯(lián)調(diào)的中斷程序應(yīng)用舉例
4.4.3 采用查詢方式處理中斷請求
4.4.4 外部中斷的擴展
本章小結(jié)
第5章 MCS-51定時/計數(shù)器
5.1 定時/計數(shù)器概述
5.1.1 定時/計數(shù)器T0、T1的結(jié)構(gòu)
5.1.2 定時/計數(shù)器的工作原理
5.2 定時/計數(shù)器的控制
5.3 定時/計數(shù)器的工作方式
5.4 定時/計數(shù)器的應(yīng)用編程
5.4.1 定時/計數(shù)器的初始化
5.4.2 基于Keil與Proteus聯(lián)調(diào)的定時器應(yīng)用舉例
5.4.3 基于Keil與Proteus聯(lián)調(diào)的計數(shù)器應(yīng)用舉例
5.4.4 門控制位GATE的應(yīng)用舉例
本章小結(jié)
第6章 MCS-51串行口
6.1 串行通信的基本概念
6.2 MCS-51串行口結(jié)構(gòu)與工作原理
6.2.1 串行口控制寄存器SCON
6.2.2 能寄存器PCON
6.2.3 波特率的設(shè)置
6.3 串行口的4種工作方式
6.3.1 方式0
6.3.2 方式1
6.3.3 方式2
6.3.4 方式3
6.4 串行口的應(yīng)用編程
6.4.1 串行口的初始化與發(fā)送/接收步驟
6.4.2 串行口應(yīng)用程序的一般結(jié)構(gòu)
6.4.3 基于Keil與Proteus聯(lián)調(diào)的串行口應(yīng)用舉例
6.5 多機通信
6.6 串行通信接口標準
6.6.1 RS-232C接口
6.6.2 RS-485接口
本章小結(jié)
第7章 MCS-51系統(tǒng)擴展技術(shù)
7.1 存儲器概述
7.1.1 存儲器的分類
7.1.2 存儲器的主要性能指標
7.1.3 存儲器常用芯片
7.2 系統(tǒng)擴展結(jié)構(gòu)線構(gòu)造
7.2.1 系統(tǒng)擴展結(jié)構(gòu)
7.2.2 系線構(gòu)造
7.2.3 系統(tǒng)擴展常用芯片
7.3 存儲器擴展方法
7.3.1 線選法
7.3.2 譯碼法
7.3.3 存儲器擴展具體步驟
7.3.4 外部存儲器的C51訪問方法
7.4 程序存儲器的擴展與應(yīng)用
7.5 數(shù)據(jù)存儲器的擴展與應(yīng)用
7.6 存儲器的綜合擴展
7.7 輸入/輸出(I/O)接口的擴展
7.7.1 I/O接口擴展概述
7.7.2 TTL芯片擴展
7.7.38 25可編程并行I/O接口
本章小結(jié)
第8章 MCS-51單片機接口技術(shù)
8.1 鍵盤接口技術(shù)
8.1.1 鍵盤工作原理及消抖
8.1.2 鍵盤接口的工作原理
8.1.3 矩陣鍵盤設(shè)計實例
8.2 LED數(shù)碼顯示器
8.2.1 LED顯示器的結(jié)構(gòu)與原理
8.2.2 LED顯示方式
8.2.3 LED與單片機的接口與應(yīng)用
8.3 LCD液晶顯示器
8.3.1 字符型液晶顯示模塊的組成和基本特點