《單片微型計算機(jī)原理和應(yīng)用(第3版)》以MCS-51系列單片機(jī)中的8051單片機(jī)作為典型產(chǎn)品加以介紹。全書共分十章,主要內(nèi)容包括MCS-51單片機(jī)系統(tǒng)結(jié)構(gòu)、MCS-51指令系統(tǒng)、匯編語言程序設(shè)計、中斷系統(tǒng)、MCS-51系統(tǒng)擴(kuò)展、接口技術(shù)等!秵纹⑿陀嬎銠C(jī)原理和應(yīng)用(第3版)》內(nèi)容新穎,重點(diǎn)突出,詳略得當(dāng),能理論聯(lián)系實(shí)際,深入淺出,通俗易懂。
自本書一版、二版發(fā)行以來,單片機(jī)的應(yīng)用領(lǐng)域已經(jīng)得到進(jìn)一步拓寬,單片機(jī)的技術(shù)有了長足的發(fā)展。在眾多的單片機(jī)中,MCS_51系列單片機(jī)具有完整的體系結(jié)構(gòu)、規(guī)范化的指令系統(tǒng)以及豐富的I/0控制功能,這些特色被繼承下來并發(fā)揚(yáng)光大,形成了品種繁多、功能齊全、各具特色的80C51系列單片機(jī)。80C51單片機(jī)已經(jīng)在8位單片機(jī)中占據(jù)了主導(dǎo)地位,并且這種趨勢還將繼續(xù)保持下去。基于上述的考慮,本書以MCS-51系列單片機(jī)中的8051單片機(jī)作為典型產(chǎn)品加以介紹。
本書的特點(diǎn)是:
1.以8051單片機(jī)為基礎(chǔ),介紹了它的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、編程方法、系統(tǒng)擴(kuò)展和接口技術(shù)?紤]到教學(xué)上的連貫性,前九章均以匯編語言作為編程語言,第十章 介紹了C語言的編程方法。在第十章 編寫過程中,由于高等院校的學(xué)生在學(xué)習(xí)本課程時已經(jīng)具有C語言的基本知識,為減少篇幅,對c語言的基本語法未做系統(tǒng)的闡述,著重于從單片機(jī)開發(fā)應(yīng)用的角度出發(fā),在介紹了C51的基本語法特點(diǎn)后,針對單片機(jī)的應(yīng)用系統(tǒng)中常用到的一些關(guān)鍵技術(shù),如中斷、串行口、定時器以及常用的外圍接口、混合編程等做了詳細(xì)的敘述,在一些例題的選編上,為了便于將匯編語言程序和c語言程序進(jìn)行對比,同一例子采用了兩種語言編程,使讀者能在前九章的學(xué)習(xí)基礎(chǔ)上盡快地掌握C51的編程方法和編程技巧。
2.本書的體系結(jié)構(gòu)采用難點(diǎn)分散、深入淺出的方法,逐步引出新概念,逐步上臺階,使學(xué)習(xí)者學(xué)習(xí)起來不感到很困難。編者通過多年來的教學(xué)實(shí)踐,證明這樣的編排是合適的,取得了良好的教學(xué)效果。
3.由于單片機(jī)這一課程是集硬件、軟件于一體的一門綜合性計算機(jī)課程,而學(xué)習(xí)的目的又重在應(yīng)用,因此在程序設(shè)計中列舉的例子比較注重實(shí)際應(yīng)用,對于應(yīng)用較多的硬件接口做了較詳細(xì)的分析。書中列舉的軟硬件設(shè)計很多取自于編者多年來的科研成果以及實(shí)際產(chǎn)品的開發(fā)。
為了順應(yīng)單片機(jī)的發(fā)展趨勢,本次主要做了如下修訂:
1.在第一章 中,增加了“單片微型計算機(jī)”一節(jié),以期從新的角度來審視單片機(jī)的作用和發(fā)展。
第1章 微型計算機(jī)基礎(chǔ)知識
1.1 計算機(jī)中的數(shù)制與碼制
1.1.1 十進(jìn)制數(shù)
1.1.2 二進(jìn)制數(shù)
1.1.3 十六進(jìn)制數(shù)
1.1.4 數(shù)制轉(zhuǎn)換
1.1.5 BCD碼
1.1.6 ASCII碼
1.2 計算機(jī)中數(shù)的運(yùn)算
1.2.1 機(jī)器數(shù)的表示方法
1.2.2 補(bǔ)碼的加減運(yùn)算
1.3 微型計算機(jī)基本工作原理
1.3.1 微處理器
1.3.2 存貯器
1.3.3 L/O設(shè)備
1.3.4 微機(jī)簡單工作過程
1.4 單片微型計算機(jī)
1.4.1 單片機(jī)的發(fā)展過程
1.4.2 單片機(jī)的發(fā)展趨勢
1.4.3 單片機(jī)的應(yīng)用領(lǐng)域
第2章 MCS-51單片機(jī)系統(tǒng)結(jié)構(gòu)
2.1 MCS-51單片機(jī)總體結(jié)構(gòu)
2.1.1 CPU
2.1.2 存貯器配置
2.1.3 I/O口
2.2 MCS-51單片機(jī)存貯器結(jié)構(gòu)
2.2.1 程序存貯器
2.2.2 內(nèi)部數(shù)據(jù)存貯器和特殊功能寄存器
2.2.3 外部數(shù)據(jù)存貯器
2.3 MCS-51輸入/輸出端口
2.3.1 P0口
2.3.2 P1口
2.3.3 P2口
2.3.4 P3口
2.3.5 端口負(fù)載能力和接口要求
2.4 CPU時序
2.4.1 振蕩器和時鐘電路
2.4.2 CPU時序
2.5 MCS-51單片機(jī)引腳及功能
2.5.1 引腳及功能
2.5.2 復(fù)位電路及掉電操作
第3章 MCS-51指令系統(tǒng)
3.1 MCS-51尋址方式
3.2 數(shù)據(jù)傳送指令
3.2.1 內(nèi)部8位數(shù)據(jù)傳送指令
3.2.2 16位數(shù)據(jù)傳送指令
3.2.3 外部數(shù)據(jù)傳送指令
3.2.4 交換與查表類指令
3.2.5 堆棧操作指令
3.3 算術(shù)運(yùn)算指令
3.3.1 加、減法指令
3.3.2 乘、除法指令
3.4 邏輯運(yùn)算及移位指令
3.4.1 邏輯運(yùn)算指令
3.4.2 循環(huán)移位指令
3.5 控制轉(zhuǎn)移指令
3.5.1 無條件轉(zhuǎn)移指令
3.5.2 條件轉(zhuǎn)移指令
3.5.3 調(diào)用和返回指令
3.6 位操作指令
第4章 匯編語言程序設(shè)計
4.1 匯編語言的基本概念
4.1.1 機(jī)器語言、匯編語言和高級語言
4.1.2 匯編語言格式
4.2 匯編語言源程序的機(jī)器匯編和人工匯編
4.2.1 偽指令
4.2.2 機(jī)器匯編
4.2.3 人工匯編
4.3 簡單程序設(shè)計
4.3.1 流程圖
4.3.2 直接程序的設(shè)計
4.4 分支程序設(shè)計
4.5 循環(huán)程序設(shè)計
4.5.1 循環(huán)程序的導(dǎo)出
4.5.2 循環(huán)程序舉例
4.6 子程序設(shè)計
4.6.1 子程序的概念
4.6.2 子程序的設(shè)計
4.7 運(yùn)算程序設(shè)計
4.7.1 雙字節(jié)無符號數(shù)加減法
4.7.2 無符號數(shù)二進(jìn)制乘法
4.7.3 無符號數(shù)二進(jìn)制除法
第5章 MCS-51定時器
5.1 定時器結(jié)構(gòu)
5.1.1 定時器方式寄存器TMOD
5.1.2 定時器控制寄存器TCON
5.2 定時器工作方式
5.2.1 方式0
5.2.2 方式1
5.2.3 方式2
5.2.4 方式3
5.3 定時器應(yīng)用舉例
5.3.1 方式0應(yīng)用
5.3.2 方式1應(yīng)用
5.3.3 方式2應(yīng)用
5.3.4 門控位應(yīng)用
第6章 MCS-51串行接口
6.1 串行通信的基本知識
6.1.1 并行通信和串行通信
6.1.2 串行通信兩種基本方式
6.1.3 波特率
6.1.4 通信方向
6.2 串行接口的控制
6.2.1 串行口緩沖寄存器SBUF
6.2.2 串行口控制寄存器SCON
6.2.3 電源控制寄存器PCON
6.3 串行口的波特率
6.4 串行口的工作方式及應(yīng)用
6.4.1 方式0及其應(yīng)用
6.4.2 方式1及其應(yīng)用
6.4.3 方式2和方式3及其應(yīng)用
6.4.4 多機(jī)通信原理
6.4.5 單片機(jī)和PC機(jī)之間的通信
第7章 中斷系統(tǒng)
7.1 中斷概述
7.1.1 計算機(jī)與外設(shè)交換信息的方式
7.1.2 中斷的基本概念
7.2 MCS-51單片機(jī)的中斷管理系統(tǒng)
7.2.1 中斷源和中斷請求標(biāo)志
7.2.2 中斷的開放和關(guān)閉
7.2.3 中斷源的優(yōu)先級
7.2.4 中斷響應(yīng)過程
7.2.5 中斷響應(yīng)時間
7.3 中斷系統(tǒng)的應(yīng)用
7.3.1 外部中斷源的擴(kuò)展
7.3.2 中斷應(yīng)用
第8章 MCS.5 l系統(tǒng)擴(kuò)展
8.1 單片機(jī)的三總線結(jié)構(gòu)
8.2 程序存貯器擴(kuò)展
8.2.1 EPROM存貯器
8.2.2 程序存貯器擴(kuò)展
8.3 數(shù)據(jù)存貯器擴(kuò)展
8.3.1 靜態(tài)RAM存貯器
8.3.2 數(shù)據(jù)存貯器擴(kuò)展
8.4 串行E2PROM擴(kuò)展
8.4.1 串行E2PROM24LC65的結(jié)構(gòu)特點(diǎn)
8.4.2 串行E2PROM的硬件接口及軟件編程
8.5 I/O口擴(kuò)展
8.5.1 可編程的并行接口8255A
8.5.2 8255和MCS-51單片機(jī)的接口
第9章 接口技術(shù)
9.1 顯示接口
9.1.1 LED顯示器
9.1.2 靜態(tài)顯示方式
9.1.3 動態(tài)顯示方式
9.2 鍵盤接口
9.2.1 鍵盤接口需解決的問題
9.2.2 獨(dú)立式按鍵
9.2.3 行列式鍵盤
9.2.4 可編程的鍵盤接口芯片8279
9.3 A/D轉(zhuǎn)換器接口
9.3.1 ADC0809結(jié)構(gòu)
9.3.2 ADC0809與803l的連接
9.3.3 AD574與8031單片機(jī)接口
9.4 D/A接口
9.4.1 DAC0832數(shù)模轉(zhuǎn)換器
9.4.2 DAC0832與8031接口
9.4.3 D/A轉(zhuǎn)換器的應(yīng)用
9.5 系統(tǒng)設(shè)計及開發(fā)方法
9.5.1 總體設(shè)計
9.5.2 硬件及軟件設(shè)計
9.5.3 利用開發(fā)機(jī)進(jìn)行調(diào)試
9.6 應(yīng)用系統(tǒng)實(shí)例
9.6.1 概述
9.6.2 數(shù)學(xué)模型
9.6.3 系統(tǒng)總體設(shè)計
9.6.4 功能模塊設(shè)計
9.6.5 數(shù)據(jù)處理方法
9.6.6 抗干擾措施
9.6.7 主程序設(shè)計
第10章 用C語言對單片機(jī)進(jìn)行編程
10.1 C51的數(shù)據(jù)類型
10.2 C51存貯類型
10.2.1 存貯類型
10.2.2 存貯模式
10.2.3 絕對地址訪問
10.3 C51的指針和數(shù)組
10.3.1 指針
10.3.2 數(shù)組
10.4 函數(shù)
10.4.1 函數(shù)定義
10.4.2 函數(shù)調(diào)用
10.4.3 函數(shù)調(diào)用中參數(shù)傳遞
10.5 8051中斷的C編程
10.5.1 定時器中斷
10.5.2 利用串行口實(shí)現(xiàn)多機(jī)通信的中斷編程
10.6 C51和匯編混合編程
10.6.1 用C文件產(chǎn)生匯編文件
10.6.2 內(nèi)含匯編語言
10.6.3 在C程序中調(diào)用匯編語言程序
10.7 C51應(yīng)用程序?qū)嵗?br />
10.7.1 鍵盤顯示接口的C編程
10.7.2 串行E2PROM的C編程
10.7.3 8031單片機(jī)和A/D轉(zhuǎn)換器接口的C編程
10.7.4 8031和打印機(jī)接口的C編程
附錄一 美國標(biāo)準(zhǔn)信息交換碼ASCII碼字符表
附錄二 MCS-51單片機(jī)位地址表
附錄三 MCS-51系列單片機(jī)指令表
附錄四 C51庫函數(shù)
附錄五 WH型打印機(jī)打印命令集
參考書目