《單片微型計算機原理和應(yīng)用(第3版)》以MCS-51系列單片機中的8051單片機作為典型產(chǎn)品加以介紹。全書共分十章,主要內(nèi)容包括MCS-51單片機系統(tǒng)結(jié)構(gòu)、MCS-51指令系統(tǒng)、匯編語言程序設(shè)計、中斷系統(tǒng)、MCS-51系統(tǒng)擴展、接口技術(shù)等!秵纹⑿陀嬎銠C原理和應(yīng)用(第3版)》內(nèi)容新穎,重點突出,詳略得當,能理論聯(lián)系實際,深入淺出,通俗易懂。
自本書一版、二版發(fā)行以來,單片機的應(yīng)用領(lǐng)域已經(jīng)得到進一步拓寬,單片機的技術(shù)有了長足的發(fā)展。在眾多的單片機中,MCS_51系列單片機具有完整的體系結(jié)構(gòu)、規(guī)范化的指令系統(tǒng)以及豐富的I/0控制功能,這些特色被繼承下來并發(fā)揚光大,形成了品種繁多、功能齊全、各具特色的80C51系列單片機。80C51單片機已經(jīng)在8位單片機中占據(jù)了主導(dǎo)地位,并且這種趨勢還將繼續(xù)保持下去。基于上述的考慮,本書以MCS-51系列單片機中的8051單片機作為典型產(chǎn)品加以介紹。
本書的特點是:
1.以8051單片機為基礎(chǔ),介紹了它的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、編程方法、系統(tǒng)擴展和接口技術(shù)?紤]到教學(xué)上的連貫性,前九章均以匯編語言作為編程語言,第十章 介紹了C語言的編程方法。在第十章 編寫過程中,由于高等院校的學(xué)生在學(xué)習(xí)本課程時已經(jīng)具有C語言的基本知識,為減少篇幅,對c語言的基本語法未做系統(tǒng)的闡述,著重于從單片機開發(fā)應(yīng)用的角度出發(fā),在介紹了C51的基本語法特點后,針對單片機的應(yīng)用系統(tǒng)中常用到的一些關(guān)鍵技術(shù),如中斷、串行口、定時器以及常用的外圍接口、混合編程等做了詳細的敘述,在一些例題的選編上,為了便于將匯編語言程序和c語言程序進行對比,同一例子采用了兩種語言編程,使讀者能在前九章的學(xué)習(xí)基礎(chǔ)上盡快地掌握C51的編程方法和編程技巧。
2.本書的體系結(jié)構(gòu)采用難點分散、深入淺出的方法,逐步引出新概念,逐步上臺階,使學(xué)習(xí)者學(xué)習(xí)起來不感到很困難。編者通過多年來的教學(xué)實踐,證明這樣的編排是合適的,取得了良好的教學(xué)效果。
3.由于單片機這一課程是集硬件、軟件于一體的一門綜合性計算機課程,而學(xué)習(xí)的目的又重在應(yīng)用,因此在程序設(shè)計中列舉的例子比較注重實際應(yīng)用,對于應(yīng)用較多的硬件接口做了較詳細的分析。書中列舉的軟硬件設(shè)計很多取自于編者多年來的科研成果以及實際產(chǎn)品的開發(fā)。
為了順應(yīng)單片機的發(fā)展趨勢,本次主要做了如下修訂:
1.在第一章 中,增加了“單片微型計算機”一節(jié),以期從新的角度來審視單片機的作用和發(fā)展。
第1章 微型計算機基礎(chǔ)知識
1.1 計算機中的數(shù)制與碼制
1.1.1 十進制數(shù)
1.1.2 二進制數(shù)
1.1.3 十六進制數(shù)
1.1.4 數(shù)制轉(zhuǎn)換
1.1.5 BCD碼
1.1.6 ASCII碼
1.2 計算機中數(shù)的運算
1.2.1 機器數(shù)的表示方法
1.2.2 補碼的加減運算
1.3 微型計算機基本工作原理
1.3.1 微處理器
1.3.2 存貯器
1.3.3 L/O設(shè)備
1.3.4 微機簡單工作過程
1.4 單片微型計算機
1.4.1 單片機的發(fā)展過程
1.4.2 單片機的發(fā)展趨勢
1.4.3 單片機的應(yīng)用領(lǐng)域
第2章 MCS-51單片機系統(tǒng)結(jié)構(gòu)
2.1 MCS-51單片機總體結(jié)構(gòu)
2.1.1 CPU
2.1.2 存貯器配置
2.1.3 I/O口
2.2 MCS-51單片機存貯器結(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 端口負載能力和接口要求
2.4 CPU時序
2.4.1 振蕩器和時鐘電路
2.4.2 CPU時序
2.5 MCS-51單片機引腳及功能
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ù)運算指令
3.3.1 加、減法指令
3.3.2 乘、除法指令
3.4 邏輯運算及移位指令
3.4.1 邏輯運算指令
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 機器語言、匯編語言和高級語言
4.1.2 匯編語言格式
4.2 匯編語言源程序的機器匯編和人工匯編
4.2.1 偽指令
4.2.2 機器匯編
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 運算程序設(shè)計
4.7.1 雙字節(jié)無符號數(shù)加減法
4.7.2 無符號數(shù)二進制乘法
4.7.3 無符號數(shù)二進制除法
第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 多機通信原理
6.4.5 單片機和PC機之間的通信
第7章 中斷系統(tǒng)
7.1 中斷概述
7.1.1 計算機與外設(shè)交換信息的方式
7.1.2 中斷的基本概念
7.2 MCS-51單片機的中斷管理系統(tǒng)
7.2.1 中斷源和中斷請求標志
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 外部中斷源的擴展
7.3.2 中斷應(yīng)用
第8章 MCS.5 l系統(tǒng)擴展
8.1 單片機的三總線結(jié)構(gòu)
8.2 程序存貯器擴展
8.2.1 EPROM存貯器
8.2.2 程序存貯器擴展
8.3 數(shù)據(jù)存貯器擴展
8.3.1 靜態(tài)RAM存貯器
8.3.2 數(shù)據(jù)存貯器擴展
8.4 串行E2PROM擴展
8.4.1 串行E2PROM24LC65的結(jié)構(gòu)特點
8.4.2 串行E2PROM的硬件接口及軟件編程
8.5 I/O口擴展
8.5.1 可編程的并行接口8255A
8.5.2 8255和MCS-51單片機的接口
第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 獨立式按鍵
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單片機接口
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ā)機進行調(diào)試
9.6 應(yīng)用系統(tǒng)實例
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語言對單片機進行編程
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 利用串行口實現(xiàn)多機通信的中斷編程
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單片機和A/D轉(zhuǎn)換器接口的C編程
10.7.4 8031和打印機接口的C編程
附錄一 美國標準信息交換碼ASCII碼字符表
附錄二 MCS-51單片機位地址表
附錄三 MCS-51系列單片機指令表
附錄四 C51庫函數(shù)
附錄五 WH型打印機打印命令集
參考書目