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