單片機原理及套用教程(第2版)是教育部高等學校機械類專業教學指導委員會規劃教材之一。
本書內容豐富,深入淺出,適合作為單片機原理及套用課程的教材,也可以幫助自學者解決在設計和套用單片機時所遇到的實際問題。
基本介紹
- 書名:單片機原理及套用教程(第2版)
- 作者:張元良 呂艷 周志民
- ISBN:9787302454779
- 頁數:364
- 定價:46
- 出版社:清華大學出版社
- 出版時間:2016.12.01
圖書簡介,前言,目錄信息,
圖書簡介
本書系統地介紹了MCS51系列單片機的結構、指令系統、程式設計、中斷系統、定時器/計數器、串列口、系統擴展及實用I/O接口技術等基本原理及初步套用;還介紹了基於單片機的嵌入式系統開發流程;重點介紹了幾種常用單片機開發套用軟體(Keil、AltiumDesigner、Proteus),以利於讀者邊學習邊實踐;而且,對目前常用的幾種單片機進行了簡單介紹。
本書含有豐富的實例詳解及習題,特別適合作為大中專院校單片機原理及套用課程的教材,還可作為單片機愛好者的自學用書,也可作為單片機套用開發技術人員、智慧型儀表開發技術人員及研究生的設計參考用書。
前言
本書第1版出版以來,受到了廣大讀者的好評。通過第1版的教學實踐,第2版做了如下修訂:①配套有高質量的PPT課件、習題答案、套用實例的源程式,讀者可通過掃描書上印的二維碼從網上下載;②增加一節C51語言內容介紹,引導讀者用C語言編程;③增加計算機中數的表示方法介紹;④增加一章常用單片機簡介及套用舉例,使讀者了解單片機的最新發展,引導讀者在實際套用中採用最適合的、性價比最高的單片機;⑤在單片機開發流程一章中,增加KeilC51軟體套用簡介;⑥在套用實例中加入由作者課題組最新承擔的實際工程套用課題實例。
全書共15章。第1章概述了單片機的有關基礎知識,介紹了計算機數的表示方法。第2章介紹了MCS51系列單片機的內部結構、時序及單片機的最小系統。第3章介紹了MCS51系列單片機的指令系統,每一類型指令系統介紹結束後都有實例解析,幫助學生加深對51系列單片機程式指令的理解;同時介紹了單片機C語言結構與編程方法。第4章通過實例介紹了單片機彙編語言程式設計的流程和方法。第5~7章分別介紹了單片機中斷系統、定時器/計數器及串列口的結構與工作原理,在介紹中斷系統、定時器/計數器以及串列口的章節後,都有非常簡單、實用、完整的實例解析。詳細解析電路原理圖的設計、程式的編寫以及仿真軟體的套用。學生可以實際操作一遍,就相當於完成了一個完整的工程實際設計的仿真調試,從而了解單片機實際開發流程。第8章通過實例介紹了單片機系統擴展及實用接口技術。第9章系統地介紹了單片機開發流程,並簡單明了地介紹了Keil、Proteus、AltiumDesigner等單片機系統常用設計和調試軟體工具的使用和調試方法。第10章向讀者推薦了幾個常用單片機系列,並通過非常簡單的實例解釋其套用方法。第11~15章介紹了5個完整的工程實例。
本書前幾章的實例是非常簡單的LED或數碼管驅動電路和程式,後幾章的實例是為學有餘力的學生準備的。學生們可以用仿真軟體Keil檢查自己的作業,也可以對書中介紹的實例進行仿真調試。Protues軟體可以對書中介紹的實例或學生自己的小設計進行軟、硬體綜合仿真。書中的實例多選用AT89C51或AT89S51,這兩種單片機都是MCS51系列兼容機,引腳和指令系統完全兼容,因內部有Flash存儲器而得到廣泛套用。
本書內容豐富,深入淺出,適合作為單片機原理及套用課程的教材,也可以幫助自學者解決在設計和套用單片機時所遇到的實際問題。
本書主要由張元良(大連理工大學)、呂艷(大連工業大學)、周志民(大連測控技術研究所)、李濤(大連理工大學)、劉淑傑(大連理工大學)、劉偉嵬(大連理工大學)等編寫,參加編寫工作的還有劉全利、李乾坤、沈毅鴻、王若飛、勾萬強、王金龍、張浩、郭俊飛、何希平、關澤明、張敏、趙清晨、姜輝、李瑞品等,在此表示感謝!
限於作者的水平和經驗,書中難免存在錯誤和不足之處,歡迎廣大讀者給予指正
作者
2016年6月
目錄信息
第1章微型計算機基礎知識
1.1微型計算機的組成
1.2計算機中數據的表示方法
1.2.1進位計數制
1.2.2數制間的相互轉換
1.2.3二進制數的運算
1.2.4數值數據的表示
1.2.5非數值數據的表示
1.3單片機概述
1.3.1單片機的基本結構
1.3.2單片機的發展
1.3.3單片機的特點及套用
習題
第2章MCS51系列單片機的硬體結構
2.1單片機的內部結構
2.1.1內部結構框圖
2.1.2引腳與功能
2.2單片機的存儲器結構
2.2.1程式存儲器
2.2.2數據存儲器
2.2.3特殊功能暫存器
2.3單片機的並行I/O口
2.3.1I/O口的特點
2.3.2I/O口的內部結構
2.3.3I/O口的功能
2.3.4I/O口的負載能力
2.4單片機的時鐘與時序
2.4.1時鐘電路
2.4.2CPU時序
2.5單片機的復位
2.6單片機最小系統
習題
第3章MCS51系列單片機的指令系統
3.1指令系統簡介
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單片機指令系統及實例解析
3.3.1數據傳送指令
3.3.2算術指令
3.3.3邏輯指令
3.3.4轉移指令
3.3.5位操作指令
3.3.6偽指令
3.4MCS51單片機C51語言
3.4.1C51語言概述
3.4.2C51語言的程式結構、數據與存儲類型
3.4.3C51語言的頭檔案與庫函式
3.4.4C51語言中絕對地址的訪問
3.4.5C51語言編程方法
習題
第4章彙編語言程式設計
4.1彙編語言源程式彙編
4.2程式設計的基本步驟
4.3順序程式的設計
4.4分支程式設計
4.4.1單分支程式
4.4.2多分支程式
4.5循環程式設計
4.5.1單循環
4.5.2多重循環
4.5.3按條件轉移控制的循環
4.6查表程式設計
4.7子程式設計和調用
4.8套用控制流程設計
習題
第5章MCS51系列單片機的中斷系統
5.1中斷的概念
5.2中斷源
5.3中斷控制暫存器
5.4中斷的優先權
5.5中斷的回響
5.6由中斷模組程式認知中斷處理過程
5.6.1外部中斷模組代碼
5.6.2定時器中斷模組代碼
5.7通過實例掌握外部中斷
習題
第6章MCS51系列單片機的定時器/計數器
6.1定時器/計數器的結構
6.1.1計數功能
6.1.2定時功能
6.2定時器/計數器的相關暫存器
6.2.1定時器/計數器的方式暫存器TMOD
6.2.2定時器/計數器的控制暫存器TCON
6.2.3中斷允許暫存器IE
6.2.4中斷優先權暫存器IP
6.3定時器/計數器的工作方式
6.4定時器/計數器的知識擴展
6.4.1定時器的溢出同步問題
6.4.2運行中讀取定時器/計數器
6.4.3由定時器/計數器模組程式認知定時器/計數器處理過程
6.5通過實例掌握定時器(例程:定時器與LED)
6.5.1採用中斷處理方式的程式
6.5.2採用查詢方式處理的程式
6.6通過實例掌握計數器(例程:計數器與LED)
習題
第7章MCS51系列單片機的串列口
7.1串列通信的概念
7.2MCS51系列單片機串列口的結構
7.2.1串列口的結構
7.2.2串列口控制暫存器
7.2.3串列口的工作方式
7.2.4串列通信的波特率
7.3串列口通信
7.3.1雙機通信
7.3.2多機通信
7.4通過實例掌握串列口通信(例程:PC控制數碼管)
7.4.1硬體設計
7.4.2軟體設計
7.4.3PC與單片機串列通信的實現
習題
第8章MCS51系列單片機系統擴展及實用I/O接口技術
8.1常用緩衝/驅動接口晶片介紹
8.1.1SN7407緩衝/驅動晶片
8.1.2達林頓電晶體陣列ULN2003A
8.1.3光電耦合器
8.1.4串列通信接口RS485
8.2開關量輸入接口設計
8.2.1鍵盤接口
8.2.24×4矩陣鍵盤掃描實例
8.2.3繼電器輸入接口
8.2.4行程開關輸入接口
8.2.5光電編碼器輸入接口
8.3開關量輸出接口設計
8.3.1蜂鳴器輸出接口
8.3.2繼電器輸出接口
8.3.3固態繼電器輸出接口
8.4液晶顯示模組接口設計
8.4.1LCD的基本結構與驅動原理
8.4.2段式LCD
8.4.3點陣LCD
8.5常用A/D轉換接口設計
8.5.1TLC2543與單片機接口實例
8.5.2ADC0832與單片機接口實例
8.5.3A/D轉換器(TLC2543)套用實例
8.6常用D/A轉換接口設計
8.6.1TLC5618與單片機接口實例
8.6.2MAX518與單片機接口實例
習題
第9章MCS51系列單片機開發流程
9.1總體方案設計
9.1.1系統功能要求
9.1.2硬體總體方案
9.1.3軟體總體方案
9.2硬體和軟體細分設計
9.2.1硬體設計
9.2.2軟體設計及調試
9.3系統的仿真與調試
9.3.1Keil軟體簡介
9.3.2利用Keil進行程式調試
9.3.3Proteus軟體使用簡介
9.3.4利用Proteus繪製電路原理圖
9.3.5在Proteus中調試程式
9.3.6AltiumDesigner簡介
9.3.7利用AltiumDesigner設計電路板
9.4系統調試
9.4.1單片機套用系統的一般調試方法
9.4.2數碼管顯示系統調試
第10章常用單片機簡介及套用舉例
10.1STC15系列單片機
10.1.1STC15系列單片機簡介
10.1.2STC15W4K32S4套用舉例
10.2AVR系列單片機
10.2.1AVR系列單片機簡介
10.2.2ATmega64單片機套用舉例
10.3MSP430系列單片機
10.3.1MSP430系列單片機簡介
10.3.2MSP430F149單片機套用舉例
10.4KinetisK60系列單片機
10.4.1KinetisK60系列單片機簡介
10.4.2MK60DN512ZVLQ10單片機套用舉例
10.5STM32系列單片機
10.5.1STM32系列單片機簡介
10.5.2STM32F103VET6單片機套用舉例
第11章數字電子鐘設計實例
11.1設計要求
11.2硬體設計
11.2.1按鍵電路設計
11.2.2時鐘晶片DS1302的性能特點和工作原理
11.2.3時鐘晶片DS1302與單片機的連線
11.2.4總體電路原理圖
11.3軟體設計
11.3.1顯示子程式流程圖
11.3.2顯示子程式的代碼
11.3.3主函式程式流程圖
11.3.4總的彙編語言源程式代碼
第12章LED陣列動態顯示設計實例
12.1設計要求
12.2硬體設計
12.2.174HC595簡介
12.2.2點陣LED簡介
12.2.3總體電路原理圖
12.3軟體設計
12.3.1程式流程圖
12.3.2源程式代碼
第13章數字溫度計設計實例
13.1設計要求
13.2硬體設計
13.2.1溫度晶片DS18B20簡介
13.2.2一線式匯流排的概念
13.2.3總體電路原理圖
13.3軟體設計
13.3.1DS18B20子程式流程圖
13.3.2DS18B20子程式代碼
13.3.3數碼管串列方式顯示子程式流程圖
13.3.4數碼管串列方式顯示子程式代碼
13.3.5主程式流程圖
13.3.6整體源程式代碼
第14章小型直流電動機驅動設計實例
14.1設計要求
14.2硬體設計
14.2.1L298N雙H橋電動機驅動晶片
14.2.2L298N與單片機接口設計
14.2.3總體電路原理圖
14.3軟體設計
14.3.1單片機產生脈寬調製信號
14.3.2源程式代碼
第15章步進電機驅動設計實例
15.1設計要求
15.2硬體設計
15.2.1步進電機概述
15.2.2TA8435步進電機專用驅動晶片
15.2.3TA8435細分驅動原理
15.2.4總體電路原理圖
15.3軟體設計
15.3.1程式流程圖
15.3.2源程式代碼
附錄AASCII碼字元表(常規字元集)
附錄BMCS51系列單片機彙編指令表
參考文獻