《單片機原理及控制技術(shù)》著重介紹計算機控制系統(tǒng)的組成、單片微型計算機的結(jié)構(gòu),軟硬件系統(tǒng),基本控制算法及在工業(yè)控制中的應(yīng)用技術(shù)。全書共9章,主要內(nèi)容以單片機控制系統(tǒng)為例,介紹微機控制系統(tǒng)的結(jié)構(gòu)、組成、算法;分別講述基于MCS-51系列單片機的結(jié)構(gòu)及工作原理、指令系統(tǒng)及程序設(shè)計(包括C51程序設(shè)計)、中斷系統(tǒng)及定時/計數(shù)器、串行通信、系統(tǒng)擴展技術(shù)、過程輸入/輸出通道、數(shù)字控制器設(shè)計、計算機控制系統(tǒng)設(shè)計與開發(fā)等內(nèi)容。
《單片機原理及控制技術(shù)》可作為高等院校自動化、電氣、計算機科學與技術(shù)、機電一體化等專業(yè)計算機控制技術(shù)或單片機課程的教材,也可作為從事計算機控制系統(tǒng)技術(shù)人員的參考書。
近年來,由于單片計算機具有集成度高、功能強、速度快、體積小、可靠性高、價格低等優(yōu)點,已廣泛應(yīng)用于工業(yè)控制、通信工程,以及人們?nèi)粘I畹母鱾方面。它對社會經(jīng)濟的發(fā)展有舉足輕重的影響,利用單片機技術(shù)不僅可以開發(fā)新產(chǎn)品,而且可以改造現(xiàn)有的老設(shè)備,提高其效率、降低能源消耗。因而,單片機的開發(fā)應(yīng)用前景十分廣闊。
如今,單片機的種類和型號非常多,各行業(yè)選用的單片機也不盡相同,而各大學所講授的大多是以MCS-51系列單片機為主。由于不同種類單片機的指令系統(tǒng)不同,相應(yīng)的匯編語言不能通用,且編程繁雜。為培養(yǎng)能盡快適應(yīng)社會需求的應(yīng)用型技術(shù)人才,使畢業(yè)的學生到企業(yè)后,面對各種不同類型的單片機,能很快上手,本書根據(jù)掌握知識結(jié)構(gòu)的規(guī)律和實際應(yīng)用的要求,在傳統(tǒng)匯編語言的基礎(chǔ)上增加了C51語言程序設(shè)計,以C51語言和匯編語言各自的特色來實現(xiàn)單片機應(yīng)用程序,使教學更緊密地與企業(yè)需求相結(jié)合。
本書是基于MCS-51系列單片機進行講解的計算機控制技術(shù),結(jié)合目前應(yīng)用非常廣泛的C51程序設(shè)計以及Kei1C51編譯器,在匯編程序設(shè)計的基礎(chǔ)上,增加單片機C51語言應(yīng)用程序設(shè)計。本書注重實例引導(dǎo),使讀者快速、輕松地進入C51語言編程的環(huán)境,盡量減少枯燥和壓力感。
全書共分為9章:第1章簡要介紹計算機控制系統(tǒng)的組成、分類及目前市場上常用的51系列單片機;第2章介紹基于MCS-51系列單片機的結(jié)構(gòu)及功能;第3章主要介紹單片機的尋址方式、指令系統(tǒng),以及匯編語言程序設(shè)計。本章在講述指令的同時,列舉了大量的實用例題,以便提高學生對MCS_51系列單片機匯編語言的編程技巧;第4章介紹C51高級語言程序設(shè)計,從c51編程結(jié)構(gòu)到如何高效地寫出c51程序做了詳盡的介紹;第5章對MCS一51單片機的中斷系統(tǒng)做了較為詳盡的介紹;第6章針對計算機控制系統(tǒng)設(shè)計中的人機交互與系統(tǒng)擴展進行了較為全面的介紹;第7章介紹計算機控制系統(tǒng)設(shè)計中的過程通道;第8章介紹計算機控制系統(tǒng)中的常用數(shù)字控制器的設(shè)計原理及設(shè)計方法;第9章介紹單片機應(yīng)用系統(tǒng)的設(shè)計與開發(fā)過程,作為前幾章學習后的綜合應(yīng)用,供實驗、課程設(shè)計及學生課外設(shè)計時參考。
本書是編者多年從事“單片機原理及應(yīng)用”、“計算機控制技術(shù)”課程教學和科研的經(jīng)驗總結(jié)。書中的很多例題、習題都是精心挑選具有典型功能程序或選自不同項目的部分應(yīng)用程序,實用性很強。本書在內(nèi)容安排上由淺人深、由易到難、重點突出、通俗易懂,在單片機原理的基礎(chǔ)上,列舉了較多的應(yīng)用實例,突出易學實用的特點。每章后都有相關(guān)的習題,幫助學生和參考人員理解消化本書上所講的理論知識。
本書由王君、祝超群、劉仲民和楊彬共同完成。其中,第1、2、5章由祝超群、楊彬編寫,第6章由祝超群、王君編寫,第7、8章由王君編寫,第3、4、9章由劉仲民編寫,附錄由祝超群編寫。最后,全書由王君統(tǒng)稿完成。
前言
第1章 緒論
1.1 計算機控制系統(tǒng)的組成
1.1.1 計算機控制系統(tǒng)的硬件
1.1.2 計算機控制系統(tǒng)的軟件
1.2 計算機控制系統(tǒng)的分類
1.2.1 操作指導(dǎo)系統(tǒng)
1.2.2 直接數(shù)字控制系統(tǒng)
1.2.3 計算機監(jiān)督控制系統(tǒng)
1.2.4 分布式控制系統(tǒng)
1.2.5 現(xiàn)場總線控制系統(tǒng)
1.3 常用的51系列單片機
1.3.1 Intel公司的MCS-51系列單片機
1.3.2 Atmel公司的AT89系列單片機
1.3.3 Philips公司的51系列單片機
1.4 習題
第2章 MCS-51單片機的結(jié)構(gòu)和時序
2.1 MCS-51單片機的結(jié)構(gòu)
2.1.1 MCS-51的組成
2.1.2 CPU的結(jié)構(gòu)
2.1.3 存儲器的結(jié)構(gòu)
2.1.4 MCS-51的并行I/O端口
2.1.5 MCS-51的定時/計數(shù)器
2.1.6 MCS-51的中斷系統(tǒng)
2.1.7 MCS-51的串行接口
2.2 MCS-51的引腳功能及片外總線結(jié)構(gòu)
2.2.1 MCS-51的引腳功能
2.2.2 MCS-51的片外總線結(jié)構(gòu)
2.3 MCS-51單片機的工作方式
2.3.1 復(fù)位工作方式
2.3.2 程序執(zhí)行工作方式
2.3.3 節(jié)電工作方式
2.3.4 編程和校驗工作方式
2.4 MCS-51單片機的時序
2.4.1 時鐘電路
2.4.2 CPU時序的有關(guān)概念
2.4.3 MCS-51的取指令和執(zhí)行指令時序
2.4.4 MCS-51訪問外部存儲器的指令時序
2.5 習題
第3章 MCS-51系列單片機的指令系統(tǒng)及匯編程序設(shè)計
3.1 指令系統(tǒng)概述
3.1.1 匯編指令格式
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 Mcs-51系列單片機的指令系統(tǒng)
3.3.1 數(shù)據(jù)傳送類指令
3.3.2 算術(shù)運算類指令
3.3.3 邏輯運算及移位指令
3.3.4 位操作指令
3.3.5 控制轉(zhuǎn)移類指令
3.4 匯編語言程序設(shè)計
3.4.1 匯編語言程序偽指令
3.4.2 結(jié)構(gòu)化程序設(shè)計
3.5 習題
第4章 C51高級語言程序設(shè)計
4.1 C語言高級編程
4.1.1 C語言的特點
4.1.2 c語言與MCS-51系列單片機
4.1.3 C51編譯器
4.1.4 Keil8051開發(fā)工具
4.1.5 C51程序結(jié)構(gòu)
4.2 C51對標準C語言的擴展
4.2.1 存儲區(qū)域
4.2.2 數(shù)據(jù)類型
4.2.3 常量和變量
4.2.4 存儲器模式
4.2.5 絕對地址的訪問
4.3 C51的運算符及表達式
4.3.1 算術(shù)運算符
4.3.2 關(guān)系和邏輯運算符
4.3.3 位運算符
4.3.4 逗號運算符
4.3.5 賦值運算符
4.3.6 條件運算符
4.3.7 指針與地址運算符
4.3.8 表達式和表達式語句
4.4 C51函數(shù)
4.5 C51構(gòu)造數(shù)據(jù)類型
4.5.1 數(shù)組和指針
4.5.2 結(jié)構(gòu)、共同體和枚舉
4.6 C51庫函數(shù)
4.6.1 本征庫函數(shù)和非本征庫函數(shù)
4.6.2 訪問SFR和位地址的REGxxx.H文件
4.6.3 c51庫函數(shù)
4.7 C51程序編寫
4.7.1 c51程序的基本結(jié)構(gòu)
4.7.2 編寫高效的C51程序及優(yōu)化程序
4.8 C51語言與匯編語言
4.8.1 C51與匯編語言的接口
4.8.2 函數(shù)的聲明及段名的命名規(guī)則
4.9 習題
第5章 MCS-51的定時器、中斷系統(tǒng)以及串行口
5.1 Mcs-51單片機的定時/計數(shù)器
5.1.1 定時/計數(shù)器的結(jié)構(gòu)
5.1.2 定時/計數(shù)器的控制
5.1.3 定時/計數(shù)器的工作方式
5.1.4 定時/計數(shù)器的初始化
5.1.5 定時/計數(shù)器應(yīng)用舉例
5.2 Mcs-51單片機的中斷系統(tǒng)
5.2.1 MCS-51的中斷系統(tǒng)組成
5.2.2 中斷源和中斷請求標志
5.2.3 中斷控制
5.2.4 中斷的處理過程及響應(yīng)時間
5.2.5 中斷系統(tǒng)的初始化及應(yīng)用
5.2.6 中斷源的擴展
5.3 MCS-51的串行接口
5.3.1 串行口的結(jié)構(gòu)
5.3.2 串行口的工作方式
5.3.3 串行口的通信波特率
5.3.4 串行口的初始化
5.3.5 串行口的應(yīng)用舉例
5.3.6 串行口在多機通信中的應(yīng)用
5.4 習題
第6章 單片機的人機交互與擴展技術(shù)
6.1 單片機系統(tǒng)的人機交互技術(shù)
6.1.1 顯示器接口技術(shù)
6.1.2 鍵盤接口技術(shù)
6.1.3 串行通信接口技術(shù)
6.2 存儲器的擴展技術(shù)
6.2.1 存儲器擴展中應(yīng)考慮的問題
6.2.2 存儲器的并行擴展
6.2.3 存儲器的串行擴展
6.3 系統(tǒng)擴展技術(shù)
6.3.1 并行I/O接口的擴展及應(yīng)用
6.3.2 可編程串行顯示接口芯片MAX7219及擴展應(yīng)用
6.4 習題
第7章 過程通道
7.1 輸入/輸出通道的結(jié)構(gòu)
7.1.1 輸入通道的結(jié)構(gòu)
7.1.2 輸出通道的結(jié)構(gòu)
7.2 多路開關(guān)及采樣量化保持
7.2.1 多路模擬開關(guān)
7.2.2 信號采樣及量化
7.2.3 保持器
7.3 模擬量輸出通道接口技術(shù)
7.3.1 DAC的主要性能指標
7.3.2 并行DAC及接口技術(shù)
7.3.3 串行DAC及接口技術(shù)
7.4 模擬量輸入通道接口技術(shù)
7.4.1 ADC的主要技術(shù)指標
7.4.2 并行ADC及接口技術(shù)
7.4.3 串行ADC及接口技術(shù)
……
第8章 數(shù)字控制器設(shè)計
第9章 MCS-51系列單片機應(yīng)用系統(tǒng)開發(fā)與設(shè)計
附錄
參考文獻
1.程序存儲器程序存儲器用于存放用戶程序、數(shù)據(jù)和表格等信息,它以16位的程序計數(shù)器(Pc)作為地址指針,因此可直接尋址的地址空間為64KB。在MCS-51系列單片機中,不同的芯片其片內(nèi)程序存儲器的容量是不同的。8031無內(nèi)部程序存儲器,在使用時程序存儲器只能外擴,最大的擴展空間為64KB;8051和8751有4KB的片內(nèi)ROM/EPROM,片外可擴展60KB的程序存儲器,但是,片內(nèi)和片外程序存儲器統(tǒng)一編址,共享64KB的地址空間。當單片機的EA引腳接高電平時,如果程序計數(shù)器的值在0000H~0FFFH的范圍內(nèi),則單片機執(zhí)行片內(nèi)ROM的程序,如果程序計數(shù)器的值在1:FFFH~FFFFH的范圍內(nèi),則單片機自動讀取片外ROM的程序來執(zhí)行;當單片機的EA引腳接低電平時,單片機忽略片內(nèi)的程序存儲器,直接從外部程序存儲器執(zhí)行程序,此時,外部程序存儲器從0000H開始編址。因此,對于無片內(nèi)ROM的8031而言,必須使其EA引腳接地。
程序地址空間原則上在64KB范圍內(nèi)可由用戶任意安排,但是某些特定的單元被保留,用于特定的程序人口地址。這些人口地址在MCS-51系列單片機中是固定的,用戶不能更改。相應(yīng)的入口地址見表2-2。
MCS-51單片機在系統(tǒng)復(fù)位后程序計數(shù)器地址為0000H,所以,系統(tǒng)從0000H開始取指令并執(zhí)行程序。因此,0000-0002H3個單元被保留,用于初始化人口地址。這3個字節(jié)的單元一般存放一條無條件轉(zhuǎn)移指令,將程序引導(dǎo)到主程序的人口地址。從0003H~0002.AH單元被均勻地分成5段,用于作為5個中斷服務(wù)程序的人口。每個中斷源的人口地址之間僅僅相隔8個單元,沒有足夠的空間存放中斷服務(wù)程序。