本書全面系統地介紹了51系列單片機及其兼容機的基本結構和工作原理、指令系統、匯編語言程序設計、單片機C語言程序設計、中斷系統及其應用、定時器及其應用、串行口及其應用、系統擴展、人機交互接口、模擬量接口、單片機應用系統設計方法及常用實驗程序等。
《單片機原理及接口技術/高等院校電子信息與電氣學科系列規劃教材》以培養創新型應用人才為目標,全面介紹了單片機原理及接口技術的基礎知識,并注重反映單片機應用的最新技術及發展趨勢,突出“簡明、典型、實用、先進”的特點,特別適用于教師短學時授課以及學生自學掌握單片機的基本原理和應用知識。
《單片機原理及接口技術/高等院校電子信息與電氣學科系列規劃教材》特色:
內容簡明實用。本著“精選內容、突出重點、舉例典型、注重實用”的原則編寫,在講述基本原理時避免過多過細的描述,而是通過典型實例體現其實用價值和應用技巧。
技術與時俱進。注重知識的新穎性與實用性相統一,將單片機的新技術和新器件融入各個章節。介紹了新型STC系列51兼容機的新增資源及技術特點、新型串行接口芯片(12C、SPI、單總線)的應用及KeilIiuision集成開發環境等。
兩種語言并舉。匯編語言面向機器硬件,程序代碼質量高;C語言的可讀性和可移植性好、功能強大。考慮到兩種語言各有優勢且長期并存的狀況,大部分例題及程序段用兩種語言編寫,方便讀者對比和選用。
單片機以體積小、重量輕、價格低、可靠性高、便于控制等特點,在工業控制、智能儀器儀表、通信導航、家用電器及機電一體化等眾多領域獲得了極其廣泛的應用,現已成為現代電子系統中最重要的智能化核心部件之一。目前,單片機的應用能力已成為大專院校工科類電學專業學生的一項重要技能,以單片機為核心的創新型實驗項目與科技類競賽活動日益受到人們的重視。
本書是為貫徹落實《教育部關于以就業為導向深化高等教育改革的若干意見》的精神,適應我國高等教育改革的需要,結合高等教育工科類電學專業的特點而編寫的。編寫時,作者參考了國內外大量文獻和工程設計資料,汲取各家之長,并結合二十多年單片機教學、科研和應用開發的經驗,精選了單片機原理及接口技術的基礎知識,注意反映當代單片機技術的發展趨勢,體現了培養應用型人才的要求。
雖然目前有關單片機的教材種類繁多,但側重點和面向對象各不相同。針對目前大專院校普遍大幅度壓縮授課學時、給學生更多的自主空間這一現狀,本教材突出“簡明、典型、實用、先進”的特色,特別適用于教師短學時授課以及學生自學掌握單片機的基本原理和應用知識。具體特點如下:
1)內容簡明實用。編寫時本著“精選內容、突出重點、舉例典型、注重實用”的原則,在講述基本原理時避免過多、過細的描述,而是通過典型實例體現其實用價值和應用技巧。全書共12章,是最精簡的經典章節組合。
2)技術與時俱進。單片機技術發展迅猛、更新速度快,書中注意結合近年來單片機技術的最新發展,融合先進技術和新型器件,如介紹新型增強型單片機(ATMAL、STC系列)的新增特點、新型串行接口芯片(I2C、SPI、單總線)的應用及Keil μVision集成開發環境等,注重知識的新穎性與實用性的統一。
3)兩種語言并舉。傳統單片機教材多介紹匯編語言,近年來出版的教材卻多采用C語言。匯編語言面向機器硬件,程序代碼質量高、占存儲空間小;C語言以其可讀性和可移植性好、功能強大等優點為眾多編程者(特別是廣大學生)所喜愛。考慮到兩種語言各有優勢且長期并存的狀況,本書兼顧匯編和C51兩種編程語言,大部分章節的例題及程序段同時采用兩種語言編寫,以方便讀者對比和選用。
4)講授與自學兼顧。全書12章均為經典內容,在用于48~60學時的課堂教學時基本無須取舍,且配有作者精心制作的課件(可從wwwhzbookcom上獲取)和附錄中的常用實驗程序,易于教師的教學安排。本書層次分明、語言簡練,給出了大量的硬件和軟件典型應用實例,每章均附有習題,附錄中每個實驗程序均留有調試練習題,便于學生自學和在短時間里全面了解單片機的使用方法。
考慮到51系列單片機及其兼容機完善的結構、開放的體系、廣泛的用戶群及其經典型號的重要地位,本書仍以51系列單片機及其兼容機為主,全面系統地介紹51系列單片機及其兼容機的基本結構和工作原理、指令系統、匯編語言程序設計、C語言程序設計、中斷系統及其應用、定時器及其應用、串行口及其應用、系統擴展、人機交互接口、模擬量I/O接口及單片機應用系統設計方法等。
本書可作為各類大專院校自動化、電氣工程及其自動化、應用電子技術、計算機科學與技術、生物醫學工程、軌道交通控制、測控技術及機電一體化等專業的單片機課程教材,也可供從事單片機應用與開發的工程技術人員參考。
本書由毛曉波教授主編。任慧編寫了第2章、第6章和第7章,張贊編寫了第3章和第5章,劉林陰編寫了第4章和第11章,張端陽編寫了第8章和第10章,其余內容由毛曉波編寫并對全書進行統稿和定稿。機械工業出版社華章公司的王穎編輯為本書的出版提供了大量的幫助和指導性建議,謹此表示衷心的感謝。
限于作者水平,書中難免存在不妥之處,懇請讀者和同行批評指正。
作者2014年12月
前言
教學建議
第1章 緒論
1.1 微型計算機與單片機
1.1.1 電子計算機
1.1.2 微型計算機
1.1.3 單片機
1.2 單片機的發展概況
1.2.1 單片機發展歷程
1.2.2 常用單片機系列簡介
1.3 單片機的應用領域
習題
第2章 51單片機的基本結構和工作原理
2.1 51單片機的基本構成
2.1.1 內部結構
2.1.2 引腳功能
2.2 中央處理器
2.2.1 CPU的功能單元
2.2.2 CPU的時鐘電路與時序
2.2.3 單片機的復位
2.3 存儲器空間
2.3.1 程序存儲器ROM
2.3.2 數據存儲器RAM
2.4 I/O端口結構
2.4.1 P0口和P2口的結構及功能
2.4.2 P1口和P3口的結構及功能
2.4.3 I/O口的應用特性
習題
第3章 51單片機的指令系統
3.1 指令格式
3.1.1 51匯編語言的指令格式
3.1.2 指令中的符號
3.2 尋址方式
3.2.1 立即尋址
3.2.2 直接尋址
3.2.3 寄存器尋址
3.2.4 寄存器間接尋址
3.2.5 變址尋址
3.2.6 相對尋址
3.2.7 位尋址
3.3 指令系統
3.3.1 數據傳送類指令
3.3.2 算術運算類指令
3.3.3 邏輯操作類指令
3.3.4 控制轉移類指令
3.3.5 位操作類指令
習題
第4章 51匯編語言程序設計
4.1 單片機匯編語言概述
4.1.1 匯編語言及其特點
4.1.2 匯編語言的語句格式及偽指令
4.1.3 匯編語言程序設計步驟
4.2 單片機匯編語言程序設計舉例
4.2.1 順序結構
4.2.2 分支結構
4.2.3 循環結構
4.2.4 子程序結構
4.3 實用匯編子程序舉例
4.3.1 定點數與浮點數的表示方法
4.3.2 算術運算子程序
4.3.3 代碼轉換子程序
習題
第5章 51單片機C語言程序設計
5.1 C51的特點
5.2 C51的程序結構
5.3 C51的數據類型、存儲類型及存儲模式
5.3.1 C51的數據類型
5.3.2 C51的存儲類型及存儲模式
5.3.3 51單片機硬件結構的C51定義
5.4 C51的運算符及其表達式
5.4.1 算術運算符及其表達式
5.4.2 關系運算符及其表達式
5.4.3 邏輯運算符及其表達式
5.4.4 位運算符及其表達式
5.4.5 賦值運算符及其表達式
5.5 C51構造數據類型
5.5.1 數組
5.5.2 指針
5.6 C51函數
5.6.1 函數的定義
5.6.2 函數的調用
5.6.3 C51庫函數
5.7 C51流程控制及編程舉例
5.7.1 選擇結構
5.7.2 循環結構
5.8 KeilμVision集成開發環境簡介
5.8.1 KeilμVision界面
5.8.2 工程項目創建與目標文件生成
5.8.3 仿真調試
習題
第6章 51單片機的中斷系統及其應用
6.1 中斷的概念
6.2 51單片機中斷系統的結構
6.2.1 中斷源及中斷入口
6.2.2 中斷控制
6.3 51單片機中斷處理過程
6.3.1 中斷請求
6.3.2 中斷響應
6.3.3 中斷服務
6.3.4 中斷返回
6.4 中斷應用舉例
習題
第7章 51單片機的定時器及其應用
7.1 定時器的結構與功能
7.1.1 定時器的結構
7.1.2 定時器的功能
7.2 定時器的控制和工作方式
7.2.1 定時器的控制
7.2.2 定時器的工作方式
7.3 定時器應用舉例
7.3.1 定時應用
……
第8章 單片機串行口及其應用
第9章 單片機系統擴展
第10章 人機交互接口
第11章 模擬量I/O接口
第12章 單片機應用系統設計方法
附錄A 51單片機指令速查表
附錄B ASCII碼表
附錄C 常用實驗程序
參考文獻