本書從介紹微型計算機的基本結構和工作原理入手,以AT89S51單片機為例介紹單片微機的結構、工作原理及應用,注重基礎性和實用性相結合。以二進制和基本邏輯電路為起點闡述微型計算機的基本工作原理,并通過豐富的實例將基本概念、基本理論、基本方法講清講透。本書引入KeilµVision和Proteus,并配備豐富的課堂演示實例,將實驗室搬入教室。另外,例題程序設計采用匯編語言和C語言雙方案,便于讀者對照學習。本書提供配套電子課件、習題解答和教學指南。
徐春輝,華東交通大學電氣與電子工程學院,副教授。江西省自動化學會會員。1984年8月至1987年9月,南昌電纜廠設備動力科任助理工程師;1989年6月至今,華東交通大學任教。
第1章 緒論
1.1 計算機的誕生、發展及基本結構
1.2 計算機類型劃分
1.2.1 通用計算機
1.2.2 嵌入式計算機系統
1.3 嵌入式計算機的類別及應用特點
1.3.1 嵌入式計算機的類別
1.3.2 嵌入式計算機系統的應用特點
1.4 單片微型計算機應用系統舉例
練習與思考題1
第2章 微型計算機基礎
2.1 計算機中的數、編碼和運算
2.1.1 計算機中常用的數制及相互轉換
2.1.2 微型計算機中常用的編碼
2.1.3 微型計算機的運算基礎
第1章 緒論
1.1 計算機的誕生、發展及基本結構
1.2 計算機類型劃分
1.2.1 通用計算機
1.2.2 嵌入式計算機系統
1.3 嵌入式計算機的類別及應用特點
1.3.1 嵌入式計算機的類別
1.3.2 嵌入式計算機系統的應用特點
1.4 單片微型計算機應用系統舉例
練習與思考題1
第2章 微型計算機基礎
2.1 計算機中的數、編碼和運算
2.1.1 計算機中常用的數制及相互轉換
2.1.2 微型計算機中常用的編碼
2.1.3 微型計算機的運算基礎
2.2 微型計算機的基本結構
2.2.1 存儲器的組成及功能
2.2.2 微處理器的結構及工作原理
2.2.3 輸入/輸出設備及其接口電路
2.2.4 微型計算機的總線連接結構
2.3 微型計算機的指令執行過程
2.4 微型計算機系統
2.4.1 微型計算機系統的組成
2.4.2 微型計算機系統的性能指標
2.4.3 微型計算機的分類
2.5 單片微型計算機概述
2.5.1 什么是單片微型計算機
2.5.2 單片機的發展歷史
2.5.3 單片機的特點
2.5.4 單片機的應用
2.5.5 單片機的發展趨勢
2.5.6 單片機的主要制造廠商和機型
2.5.7 51系列單片機簡介
練習與思考題2
第3章 AT89S51單片機的硬件結構與
時序
3.1 AT89S51單片機的結構概述
3.2 AT89S51單片機的外部引腳
3.2.1 電源及時鐘引腳
3.2.2 控制引腳
3.2.3 并行I/O口引腳
3.3 AT89S51單片機的CPU
3.3.1 運算器
3.3.2 控制器
3.4 AT89S51單片機存儲器的結構
3.4.1 程序存儲器空間
3.4.2 數據存儲器空間
3.4.3 特殊功能寄存器
3.4.4 位地址空間
3.5 AT89S51單片機的并行輸入/
輸出接口
3.5.1 P0口
3.5.2 P2口
3.5.3 P1口
3.5.4 P3口
3.6 AT89S51單片機的時鐘電路與
時序
3.6.1 AT89S51單片機的時鐘電路
3.6.2 時序與時序定時單位
3.6.3 AT89S51指令的取指/執行時序
3.6.4 AT89S51對片外存儲器的操作
時序
3.7 復位操作與復位電路
3.8 AT89S51單片機的低功耗節電
模式與看門狗定時器
3.8.1 空閑模式
3.8.2 掉電運行模式
3.8.3 掉電和空閑模式下的看門
狗定時器WDT
練習與思考題3
第4章 51系列單片機的指令系統
4.1 指令及其格式
4.1.1 指令系統概述
4.1.2 指令描述符號的約定
4.1.3 機器指令的字節編碼格式
4.1.4 符號指令的書寫格式
4.2 51系列單片機的尋址方式
4.2.1 立即尋址
4.2.2 直接尋址
4.2.3 寄存器尋址
4.2.4 寄存器間接尋址
4.2.5 變址尋址(基址寄存器加變址
寄存器間址尋址)
4.2.6 相對尋址方式
4.2.7 位尋址方式
4.3 51系列單片機指令系統分類介紹
4.3.1 數據傳送類指令
4.3.2 算術運算類指令
4.3.3 邏輯運算與移位指令
4.3.4 控制轉移類指令
4.3.5 位操作類指令
4.3.6 51系列單片機指令匯總
練習與思考題4
第5章 51系列單片機匯編語言程序
設計及仿真調試
5.1 匯編語言程序設計基礎
5.1.1 機器語言、匯編語言與高級
語言
5.1.2 匯編語言的語句和格式
5.1.3 偽指令
5.1.4 匯編語言源程序的匯編
5.1.5 匯編語言程序設計的一般步驟
5.2 匯編語言源程序的基本結構
5.2.1 順序結構
5.2.2 分支結構
5.2.3 循環結構
5.2.4 子程序
5.3 51系列單片機匯編語言實用
程序設計舉例
5.3.1 查表程序設計
5.3.2 散轉程序設計
5.3.3 碼制轉換程序設計
5.3.4 運算程序設計
5.4 程序調試與集成開發環境軟件
Keil Vision
5.4.1 程序調試概述
5.4.2 Keil Vision軟件簡介
5.4.3 Keil Vision集成開發環境中
調試單片機匯編語言源程序
的方法
練習與思考題5
*第6章 單片機的C語言程序設計
6.1 單片機C語言概述
6.1.1 采用C51的優點
6.1.2 C51的程序框架
6.1.3 C51的程序開發過程
6.2 C51的數據與運算
6.2.1 C51的數據類型
6.2.2 C51的數據存儲類型
6.2.3 C51數據的存儲器模式
6.2.4 C51的指針變量
6.2.5 C51對SFR、可尋址位、存儲
器和I/O口的定義
6.3 C51的運算符和表達式
6.4 C51的基本語句
6.4.1 表達式語句
6.4.2 復合語句
6.4.3 選擇語句
6.4.4 循環語句
6.5 C51的函數
6.5.1 函數的分類
6.5.2 C51函數的定義
6.5.3 C51函數的調用
6.5.4 對被調函數的說明
6.5.5 C51的庫函數
6.6 C51編程實例
6.6.1 C語言程序與匯編語言源
程序的關系
6.6.2 順序程序的設計
6.6.3 循環程序的設計
6.6.4 分支程序的設計
6.7 匯編語言和C語言的混合編程
練習與思考題6
第7章 AT89S51單片機I/O口應用與
軟/硬件系統模擬調試
7.1 AT89S51單片機I/O接口的
應用
7.1.1 AT89S51單片機I/O接口的
操作方式
7.1.2 I/O接口的應用實例:發光二
極管的控制
7.2 軟/硬件系統的模擬調試與Proteus
軟件
7.2.1 Proteus軟件的特點
7.2.2 Proteus軟件對于單片機教學的
重要意義
7.3 Proteus軟件快速入門
7.3.1 Proteus工作界面
7.3.2 使用Proteus進行單片機系統仿
真設計的步驟
7.4 應用實例
7.4.1 原理圖設計
7.4.2 Proteus仿真
練習與思考題7
第8章 AT89S51單片機的中斷系統
8.1 中斷技術概述
8.1.1 中斷的定義和作用
8.1.2 中斷源
8.1.3 中斷分類
8.1.4 中斷系統的功能
8.1.5 中斷處理過程
8.2 AT89S51單片機的中斷系統
8.2.1 AT89S51的中斷請求源和中斷
標志
8.2.2 AT89S51對中斷請求的控制
8.2.3 AT89S51中斷處理的過程
8.3 中斷系統的程序設計及實例
8.3.1 中斷系統的程序設計
8.3.2 中斷系統程序設計舉例
8.4 AT89S51對外部中斷源的擴展
8.4.1 借用定時器溢出中斷擴展
外部中斷源
8.4.2 采用中斷加查詢法擴展外部
中斷源
練習與思考題8
第9章 AT89S51單片機的定時器
/計數器
9.1 定時器/計數器概述
9.2 AT89S51單片機定時器/計數器
的結構
9.2.1 工作方式控制寄存器TMOD
9.2.2 定時器/計數器控制寄存器
TCON
9.3 定時器/計數器的4種工作方式
9.3.1 方式0
9.3.2 方式1
9.3.3 方式2
9.3.4 方式3
9.4 對外部輸入信號的要求
9.5 定時器/計數器的編程和應用
9.5.1 定時器/計數器的編程
9.5.2 定時器/計數器的應用舉例
練習與思考題9
第10章 51系列單片機的串行通信
10.1 計算機串行通信基礎
10.1.1 串行通信的分類
10.1.2 串行通信的制式
10.1.3 串行通信中的調制與解調
10.1.4 串行通信的校驗
10.1.5 串行通信中串行I/O數據的
實現
10.2 AT89S51單片機串行口的結構
及工作原理
10.2.1 串行口的結構
10.2.2 串行口的工作方式
10.3 AT89S51單片機串行口的應用
10.3.1 串行通信的編程要點
10.3.2 串行口在方式0下的應用
10.3.3 串行口在其他方式下的應用
10.4 單片機的多機通信
10.4.1 主從式多機通信原理
10.5 單片機與PC間的串行通信
10.5.1 單片機與PC串行通信的硬件
連接
10.5.2 通信協議與通信程序
練習與思考題10
第11章 51系列單片機的存儲器擴展
11.1 單片機系統擴展概述
11.2 51系列單片機系統總線的構造
11.3 地址空間分配和外部地址
鎖存器
11.3.1 存儲器地址空間分配
11.3.2 外部地址鎖存器
11.4 程序存儲器的擴展
11.4.1 程序存儲器芯片類型的選擇
11.4.2 常用EPROM芯片的簡介
11.4.3 訪問程序存儲器的控制信號
11.4.4 AT89S51單片機與EPROM的
接口電路設計
11.4.5 單片機外擴程序存儲器的時序
分析與使用
11.5 數據存儲器擴展
11.5.1 數據存儲器芯片類型的選擇
11.5.2 常用靜態數據存儲器RAM芯片
簡介
11.5.3 AT89S51單片機與外部RAM
的接口電路設計
11.5.4 單片機外擴數據存儲器的時序
分析與使用
11.6 程序存儲器和數據存儲器的
綜合擴展
11.6.1 綜合擴展的硬件接口電路
11.7 E2PROM的擴展簡介
11.7.1 并行E2PROM芯片簡介
11.7.2 E2PROM的工作方式
11.7.3 并行E2PROM與單片機的
接口設計
11.8 AT89S51單片機片內Flash
存儲器的編程
11.8.1 AT89S51單片機片內Flash
存儲器概況
11.8.2 AT89S51單片機片內Flash
存儲器的編程
練習與思考題11
第12章 51系列單片機的并行I/O接口
擴展
12.1 I/O接口擴展概述
12.1.1 I/O接口的功能
12.1.2 I/O端口的編址
12.1.3 單片機與I/O設備的數據傳送
方式
12.1.4 單片機并行 I/O接口的擴展
方法概述
12.2 簡單I/O接口的擴展
12.3 利用可編程接口芯片82C
擴展并行口
12.3.1 82C55芯片簡介
12.3.2 工作方式選擇控制字及端口
C按位置位/復位控制字
12.3.3 82C55的3種工作方式
12.3.4 AT89S51單片機與82C55的
接口設計
12.4 利用可編程接口芯片81C
擴展并行口
12.4.1 81C55的內部結構和外部
引腳
12.4.2 單片機對81C55端口的
控制
12.4.3 81C55的工作方式
12.4.4 AT89S51單片機與81C55的
接口設計及軟件編程
12.5 利用單片機的串行口擴展
并行I/O口
12.5.1 用74LS165擴展并行輸入口
12.5.2 用74LS164擴展并行輸出口
練習與思考題12
第13章 51系列單片機與常用外設的
接口設計
13.1 AT89S51單片機與LED數碼管
顯示器的接口
13.1.1 LED數碼管的結構與工作
原理
13.1.2 LED數碼管顯示器的工作
原理
13.1.3 LED數碼管顯示器應用
舉例
13.2 AT89S51單片機鍵盤接口
技術
13.2.1 鍵盤的任務和分類
13.2.2 按鍵輸入信號的特點和處理
13.2.3 非編碼鍵盤的工作原理
13.2.4 單片機對鍵盤的監控方式
13.3 鍵盤/顯示器接口設計舉例
13.4 AT89S51單片機與液晶顯示器
的接口
13.4.1 LCD1602模塊的外形與
引腳
13.4.2 LCD1602模塊的組成
13.4.3 LCD1602模塊的命令及
初始化
13.4.4 AT89S51單片機與LCD1
模塊的接口示例
13.5 AT89S51單片機與微型打印機
TP?P-40A/16A的接口
練習與思考題13
第14章 51系列單片機模擬量接口
技術
14.1 51系列單片機與D/A轉換器的
接口
14.1.1 器件選型
14.1.2 AT89S51與8位D/A轉換器
DAC0832的接口設計
14.1.3 AT89S51與12位D/A轉換器
DAC1210的接口設計
14.1.4 AT89S51與串行輸入的12位
D/A轉換器AD7543的接口
設計
14.2 51系列單片機與A/D轉換器的
接口
14.2.1 A/D轉換器簡介
14.2.2 AT89S51與逐次比較型
8位A/D轉換器ADC0809的
接口
練習與思考題14
*第15章 51系列單片機的串行擴展
技術
15.1 I2C總線接口及其擴展
15.1.1 I2C串行總線概述
15.1.2 I2C總線的數據傳送
15.1.3 應用舉例:AT89S51與
AT24C02的接口
15.2 SPI串行總線接口及其擴展
15.2.1 單片機擴展SPI總線的系統
結構
15.2.2 單片機的SPI總線讀寫時序
模擬
15.2.3 應用舉例
練習與思考題15
第16章 單片機應用系統的設計與
調試
16.1 單片機應用系統的設計過程
16.1.1 單片機應用系統的基本
要求
16.1.2 單片機應用系統設計的
步驟
16.2 單片機應用系統設計
16.2.1 硬件設計應考慮的問題
16.2.2 典型的單片機應用系統
16.2.3 單片機應用系統軟件的總體
框架
16.3 單片機應用系統的仿真與
調試
16.4 單片機應用系統設計舉例——
基于AT89S51和模糊控制算法
的溫控儀的設計
16.4.1 設計任務及要求
16.4.2 總體方案設計
16.4.3 硬件設計
16.4.4 系統控制算法的實現
16.4.5 系統軟件的實現
16.4.6 軟件調試與系統仿真
練習與思考題16
附錄A ASCII碼表
附錄B 常用邏輯門電路圖形符號
對照表
附錄C 按字母順序排列的指令表