單片機(jī)開發(fā)技術(shù)和編程技術(shù)日新月異,為了使讀者能夠盡快掌握這一技術(shù),根據(jù)工科大學(xué)生的知識(shí)背景編寫了本教材。
《普通高等教育“十二五”機(jī)電類規(guī)劃教材:單片機(jī)原理及應(yīng)用(第2版)》主要包括單片機(jī)基礎(chǔ)知識(shí),51單片機(jī)的基本硬件結(jié)構(gòu),MCS-51單片機(jī)的指令系統(tǒng),MCS-51匯編語言的編寫方法和格式,MCS-51系統(tǒng)總線及其構(gòu)造技術(shù),功率接口電路及編程方法,C51特點(diǎn)及編程注意事項(xiàng),基于RTX51的實(shí)時(shí)操作系統(tǒng)的程序設(shè)計(jì)方法,單片機(jī)開發(fā)選型應(yīng)注意的事項(xiàng)等內(nèi)容。
《普通高等教育“十二五”機(jī)電類規(guī)劃教材:單片機(jī)原理及應(yīng)用(第2版)》力求通俗易懂,注重實(shí)用,可作為高等院校本專科教材,也可供科技人員參考或自學(xué)。為了方便教學(xué)和學(xué)習(xí),《普通高等教育“十二五”機(jī)電類規(guī)劃教材:單片機(jī)原理及應(yīng)用(第2版)》配有教學(xué)課件。
單片機(jī)技術(shù)廣泛應(yīng)用于智能化測控設(shè)備及儀器儀表中,為了培養(yǎng)學(xué)生能夠熟練掌握單片機(jī)技術(shù),并能夠利用所學(xué)知識(shí)開發(fā)、應(yīng)用智能產(chǎn)品,作者結(jié)合多年來單片機(jī)教學(xué)經(jīng)驗(yàn)編寫了《單片機(jī)原理及應(yīng)用》一書,該書經(jīng)過幾年的使用,得到許多同仁的關(guān)愛和指正。隨著電子技術(shù)和軟件技術(shù)的高速發(fā)展,新的元器件、新的程序設(shè)計(jì)理念和手段不斷涌現(xiàn)出來。為了使學(xué)生了解和掌握最前沿的技術(shù)和知識(shí),根據(jù)近幾年的教學(xué)實(shí)踐經(jīng)驗(yàn)和社會(huì)需求,對原教材進(jìn)行了修訂和補(bǔ)充,增加了單片機(jī)C語言程序設(shè)計(jì)和基于RTX51實(shí)時(shí)操作系統(tǒng)的單片機(jī)程序開發(fā)等內(nèi)容。
本教材的特點(diǎn)是:在內(nèi)容編排上融入了編者多年的教學(xué)經(jīng)驗(yàn),針對工科類學(xué)生的課程特點(diǎn),既考慮內(nèi)容的系統(tǒng)性和完整性,又照顧到各專業(yè)學(xué)生的知識(shí)特點(diǎn),力求做到書中內(nèi)容和實(shí)際應(yīng)用不脫節(jié),理論和實(shí)踐相結(jié)合,所學(xué)內(nèi)容即是社會(huì)所需。為方便教學(xué)和學(xué)習(xí),本書還配備了詳細(xì)的電子課件。
全書內(nèi)容共分9章。其中,第1章介紹單片機(jī)的基本知識(shí),計(jì)算機(jī)中數(shù)的表示方法,計(jì)算機(jī)中一些常用的術(shù)語。第2章主要介紹MCS-51單片機(jī)的基本硬件結(jié)構(gòu)和特點(diǎn),通過本章的學(xué)習(xí),使學(xué)生對51系列單片機(jī)有一個(gè)全面的理解和掌握,為后面章節(jié)的學(xué)習(xí)打下基礎(chǔ)。第3章全面系統(tǒng)地介紹MCS-51單片機(jī)的指令系統(tǒng)。第4章介紹MCS-51匯編語言的編寫方法和格式,通過實(shí)例介紹51單片機(jī)匯編程序的開發(fā)過程及各部分的功能開發(fā)。第5章介紹MCS-51單片機(jī)系統(tǒng)總線及其構(gòu)造技術(shù),以及常用接口芯片的擴(kuò)展技術(shù),其中包括程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器(RAM)、I/O口,以及常用并行和串行D/A和A/D的擴(kuò)展技術(shù),并且通過實(shí)例介紹這些芯片的外圍擴(kuò)展電路及基本編程方法。第6章介紹鍵盤接口設(shè)計(jì)及LED、LCD顯示器與單片機(jī)的接口電路及程序設(shè)計(jì)方法,學(xué)習(xí)功率器件在工業(yè)控制中的應(yīng)用、功率接口電路及編程方法。第7章介紹基于C語言的51單片機(jī)程序開發(fā)。鑒于目前工科學(xué)生基本已經(jīng)掌握了C語言,因此本章闡述了C51與普通C語言的異同之處,通過實(shí)例介紹單片機(jī)C語言的開發(fā)過程。第8章介紹基于實(shí)時(shí)操作系統(tǒng)的51單片機(jī)程序的設(shè)計(jì)。第9章介紹單片機(jī)應(yīng)用系統(tǒng)的開發(fā)方法、研制過程;介紹常用單片機(jī)開發(fā)工具,敘述單片機(jī)軟件、硬件設(shè)計(jì)方法及調(diào)試方法,使學(xué)生進(jìn)一步學(xué)習(xí)和領(lǐng)會(huì)單片機(jī)應(yīng)用系統(tǒng)的開發(fā)方法和技巧,為學(xué)生走向社會(huì)進(jìn)行實(shí)際設(shè)計(jì)開發(fā)打下基礎(chǔ)。
參加本書編寫和修訂的有河北農(nóng)業(yè)大學(xué)蔡振江、索雪松、馬躍進(jìn)、邢雅周、張德寧、華北電力大學(xué)韓慶瑤、天津工業(yè)大學(xué)岳建鋒、廊坊學(xué)院陳貴峰、銅陵學(xué)院崔雪英。全書由蔡振江教授統(tǒng)稿。在編寫和修訂過程中牛琳媛、連貫、張得龍等同學(xué)做了大量的工作,在此對他們表示感謝。
本書在修訂和編寫過程中,參考和吸收了兄弟院校教材的部分內(nèi)容,并得到了有關(guān)院校老師的鼓勵(lì)和支持,在此謹(jǐn)向有關(guān)同事、作者表示衷心的感謝!
限于編者水平,本書雖然進(jìn)行了全面的修訂和補(bǔ)充,但書中一定還存在不妥之處,懇請廣大讀者、專家學(xué)者予以批評指正。
編者
2011年12月
第1章 單片機(jī)基礎(chǔ)
1.1 概述
1.1.1 計(jì)算機(jī)發(fā)展概況
1.1.2 計(jì)算機(jī)分類
1.1.3 單片機(jī)的特點(diǎn)及主要應(yīng)用領(lǐng)域
1.2 單片機(jī)的發(fā)展歷史及典型機(jī)型
1.2.1 單片機(jī)的發(fā)展歷史
1.2.2 常用單片機(jī)的機(jī)型
1.3 計(jì)算機(jī)中的數(shù)制及相互轉(zhuǎn)換
1.3.1 計(jì)算機(jī)中數(shù)的表示方法
1.3.2 進(jìn)位計(jì)數(shù)制
1.3.3 進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換
1.4 二進(jìn)制數(shù)的運(yùn)算
1.4.1 二進(jìn)制數(shù)的加法
1.4.2 二進(jìn)制數(shù)的減法
1.4.3 二進(jìn)制數(shù)的乘法
1.4.4 二進(jìn)制數(shù)的除法
1.5 單片機(jī)的組成及工作過程
1.5.1 單片機(jī)的組成
1.5.2 單片機(jī)的工作過程
習(xí)題一
第2章 MCS-51單片機(jī)硬件結(jié)構(gòu)
2.1 概述
2.2 MCS-51單片機(jī)內(nèi)部硬件組成
2.2.1 總體結(jié)構(gòu)
2.2.2 中央處理器CPU
2.2.3 單片機(jī)的引腳及其功能
2.2.4 存儲(chǔ)器的結(jié)構(gòu)
2.3 時(shí)鐘與復(fù)位
2.3.1 時(shí)鐘輸入
2.3.2 單片機(jī)工作的基本時(shí)序
2.3.3 單片機(jī)的復(fù)位
2.4 并行輸入/輸出接口
2.4.1 P0口的結(jié)構(gòu)與功能
2.4.2 P1口的結(jié)構(gòu)與功能
2.4.3 P2口的結(jié)構(gòu)與功能
2.4.4 P3口的結(jié)構(gòu)與功能
2.5 中斷系統(tǒng)
2.5.1 中斷技術(shù)概述
2.5.2 中斷請求源與中斷請求標(biāo)志
2.5.3 中斷控制與中斷響應(yīng)
2.5.4 中斷處理過程
2.6 定時(shí)器/計(jì)數(shù)器
2.6.1 定時(shí)器/計(jì)數(shù)器T0和T1的結(jié)構(gòu)
2.6.2 定時(shí)器/計(jì)數(shù)器的方式寄存器和控制寄存器
2.6.3 4種工作方式
2.7 串行口
2.7.1 串行口通信的基本概念
2.7.2 MCS- 51單片機(jī)串行通信接口
2.7.3 串行通信接口工作方式及多機(jī)通信
2.7.4 波特率設(shè)置
習(xí)題二
第3章 MCS-51單片機(jī)指令系統(tǒng)
3.1 匯編指令與格式
3.1.1 匯編指令格式和常用符號(hào)
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 按字節(jié)數(shù)分
3.3.2 按指令的執(zhí)行時(shí)間分
3.3.3 按指令的功能分
3.4 數(shù)據(jù)傳送類指令
3.4.1 內(nèi)部數(shù)據(jù)傳送指令
3.4.2 片外數(shù)據(jù)傳送指令
3.4.3 訪問程序存儲(chǔ)器的傳送指令
3.4.4 數(shù)據(jù)交換指令
3.4.5 堆棧操作指令
3.5 算術(shù)運(yùn)算類指令
3.5.1 加法指令
3.5.2 減法指令
3.5.3 十進(jìn)制調(diào)整指令
3.5.4 乘法指令
3.5.5 除法指令
3.6 邏輯運(yùn)算類指令
3.6.1 累加器A的邏輯操作指令
3.6.2 邏輯與指令
3.6.3 邏輯或指令
3.6.4 邏輯異或指令
3.7 控制轉(zhuǎn)移類指令
3.7.1 無條件轉(zhuǎn)移指令
3.7.2 條件轉(zhuǎn)移指令
3.7.3 子程序調(diào)用和返回指令
3.8 位操作類指令
3.8.1 位傳送指令
3.8.2 置位和清0指令
3.8.3 位邏輯運(yùn)算指令
3.8.4 位條件轉(zhuǎn)移指令
習(xí)題三
第4章 MCS-51匯編語言程序設(shè)計(jì)
4.1 匯編語言程序設(shè)計(jì)
4.1.1 程序設(shè)計(jì)語言
4.1.2 匯編語言程序設(shè)計(jì)步驟
4.1.3 單片機(jī)4大程序結(jié)構(gòu)
4.2 單片機(jī)程序舉例
4.2.1 查表程序
4.2.2 運(yùn)算程序
4.2.3 數(shù)值轉(zhuǎn)換程序
4.2.4 排序程序
4.3 中斷程序結(jié)構(gòu)
4.4 定時(shí)器/計(jì)數(shù)器程序
4.4.1 定時(shí)器/計(jì)數(shù)器的應(yīng)用
4.4.2 定時(shí)器方式0應(yīng)用
4.4.3 定時(shí)器方式1應(yīng)用
4.4.4 定時(shí)器方式2應(yīng)用
4.5 串行通信程序
4.5.1 串行口方式0應(yīng)用
4.5.2 串行口方式1應(yīng)用
4.5.3 串行口方式2、3應(yīng)用
習(xí)題四
第5章 MCS-51單片機(jī)系統(tǒng)的擴(kuò)展
5.1 系統(tǒng)總線及總線構(gòu)建
5.1.1 系統(tǒng)總線
5.1.2 構(gòu)建系統(tǒng)總線
5.2 外部存儲(chǔ)器的擴(kuò)展
5.2.1 存儲(chǔ)器擴(kuò)展地址分配
5.2.2 程序存儲(chǔ)器擴(kuò)展
5.2.3 數(shù)據(jù)存儲(chǔ)器擴(kuò)展
5.3 輸入/輸出接口的擴(kuò)展
5.3.1 簡單并行輸入口擴(kuò)展
5.3.2 簡單并行輸出口擴(kuò)展
5.3.3 可編程I/O并行接口的擴(kuò)展
5.4 D/A和A/D接口功能的擴(kuò)展
5.4.1 D/A轉(zhuǎn)換器的基本工作原理
5.4.2 DAC0832的應(yīng)用
5.4.3 A/D轉(zhuǎn)換器的基本工作原理
5.4.4 ADC0809的應(yīng)用
5.5 常用串行接口D/A和A/D轉(zhuǎn)換器
5.5.1 12位串行DAC MAX538的擴(kuò)展及其應(yīng)用
5.5.2 12位串行ADC MAX1247的擴(kuò)展及其應(yīng)用
習(xí)題五
第6章 鍵盤、顯示器及功率接口
6.1 鍵盤的接口
6.1.1 鍵盤輸入的抖動(dòng)問題
6.1.2 消除按鍵抖動(dòng)的措施
6.1.3 非編碼鍵盤的接口方法
6.1.4 BCD碼撥盤接口
6.1.5 串行鍵盤應(yīng)用
6.2 LED 7段發(fā)光顯示器接口
6.2.1 靜態(tài)顯示接口及編程
6.2.2 動(dòng)態(tài)顯示接口及編程
6.2.3 8155作為LED顯示器接口
6.3 LCD顯示器接口
6.3.1 點(diǎn)陣式字符LCD
6.3.2 字符型LCD與單片機(jī)接口
6.3.3 軟件設(shè)計(jì)
6.4 大功率器件接口電路
6.4.1 繼電器型驅(qū)動(dòng)接口及編程
6.4.2 晶閘管型驅(qū)動(dòng)接口
6.4.3 功率晶體管型驅(qū)動(dòng)接口及編程
6.4.4 功率驅(qū)動(dòng)電路應(yīng)用實(shí)例
習(xí)題六
第7章 Keil C51簡介及編程
7.1 Keil C51與標(biāo)準(zhǔn)C語言
7.1.1 C51程序的結(jié)構(gòu)
7.1.2 C51擴(kuò)展關(guān)鍵字
7.1.3 C51數(shù)據(jù)的存儲(chǔ)類型
7.2 Keil C51函數(shù)
7.2.1 C51函數(shù)的定義
7.2.2 C51函數(shù)的聲明
7.2.3 C51函數(shù)的調(diào)用
7.2.4 C51常用庫函數(shù)
7.3 C51運(yùn)算符
7.4 C51編程舉例
7.4.1 簡單I/O口編程舉例
7.4.2 中斷程序編寫
7.4.3 定時(shí)器/計(jì)數(shù)器程序編寫
7.4.4 串行通信接口編程
習(xí)題七
第8章 RTX 51實(shí)時(shí)操作系統(tǒng)
8.1 RTX51實(shí)時(shí)操作系統(tǒng)概述
8.2 基于RTX51 Tiny工作機(jī)制
8.2.1 RTX51程序結(jié)構(gòu)
8.2.2 任務(wù)管理
8.2.3 RTX51任務(wù)調(diào)度
8.2.4 RTX51參數(shù)的設(shè)置
8.3 RTX51的參考函數(shù)
8.4 基于RTX51實(shí)時(shí)操作系統(tǒng)的程序設(shè)計(jì)
8.4.1 RTX51實(shí)時(shí)操作系統(tǒng)程序設(shè)計(jì)的結(jié)構(gòu)特點(diǎn)
8.4.2 應(yīng)用舉例
習(xí)題八
第9章 單片機(jī)應(yīng)用系統(tǒng)綜合開發(fā)應(yīng)用
9.1 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)概述
9.1.1 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的內(nèi)容
9.1.2 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的方法與步驟
9.2 單片機(jī)程序的仿真與調(diào)試
9.2.1 單片機(jī)的開發(fā)與開發(fā)工具
9.2.2 單片機(jī)開發(fā)系統(tǒng)所具有的一般功能
9.2.3 軟件設(shè)計(jì)方法
……