本教材以AT89S51單片機為例全面系統(tǒng)地介紹了單片機的工作原理、各種并行和串行接口技術以及開發(fā)方法。第一章對單片機的起源,嵌入式系統(tǒng)、國內(nèi)常見的單片機型號與廠商、ARM單片機、單片機系統(tǒng)中的數(shù)制與編碼以及AT89S51單片機的特點進行了簡單介紹;第二章和第四章主要講解了單片機內(nèi)部的CPU結構、存儲器組織、定時/計數(shù)器、中斷系統(tǒng)以及串行口等的工作原理;第三章主要介紹了單片機的各種指令和匯編語言程序設計方法;第五章主要講授了單片機的工作時序、半導體存儲器及其和單片機的接口方法以及單片機應用系統(tǒng)譯碼電路的設計方法;第六章主要講授了單片機應用系統(tǒng)各種并行接口的設計方法,包括鍵盤/LED顯示接口、A/D和D/A接口、微型打印機接口以及時鐘系統(tǒng)擴展技術等。第七章主要講解了單片機的各種串行接口技術,主要包括I2C、SPI、1-Wire、USB以及CAN總線技術,并給出了2例用串行接口擴展鍵盤/LED顯示和LCD顯示的方法。第八章介紹了單片機學習需要的硬件平臺和常用的開發(fā)工具Protues、μVision3和Protel 99等。
第1章 單片機技術基礎
1.1 單片機與嵌入式系統(tǒng)概述
1.1.1 單片機的起源與發(fā)展
1.1.2 單片機的特點與應用領域
1.1.3 嵌入式系統(tǒng)
1.2 國內(nèi)常見的單片機簡介
1.2.1 Intel系列單片機
1.2.2 Motorola系列單片機
1.2.3 Atmel系列單片機
1.2.4 Mieroehip系列單片機
1.2.5 其他系列單片機
1.3 ARM公司及ARM單片機
1.3.1 ARM公司簡介
1.3.2 ARM單片機
1.4 單片機系統(tǒng)中使用的數(shù)制
1.4.1 十進制、二進制與十六進制計數(shù)方法
1.4.2 不同數(shù)制之間的轉換
1.4.3 單片機系統(tǒng)中有符號數(shù)的表示方法
1.5 單片機系統(tǒng)常用的編碼
1.5.1 ASCII碼
1.5.2 BCD碼
1.6 AT89S51單片機簡介
習題
第2章 AT89S51單片機的硬件結構
2.1 AT89S51單片機的組成
2.2 AT89S51單片機CPU的結構
2.3 AT89S51單片機系統(tǒng)的存儲器組織
2.3.1 程序存儲器
2.3.2 數(shù)據(jù)存儲器
2.4 AT89S51單片機引腳及功能
2.5 AT89S51的時鐘電路
2.5.1 時鐘電路
2.5.2 單片機的工作周期
2.6 AT89S51的復位電路
2.7 節(jié)電運行方式
習題
第3章 指令系統(tǒng)及匯編語言程序設計
3.1 AT89S51單片機尋址方式
3.1.1 指令的格式
3.1.2 尋址方式
3.2 AT89S51單片機指令系統(tǒng)
3.2.1 數(shù)據(jù)傳送類指令
3.2.2 算術運算類指令
3.2.3 邏輯運算類指令
3.2.4 程序分支指令
3.2.5 位操作類指令
3.2.6 空操作指令
3.3 匯編語言程序設計方法
3.3.1 匯編語言偽指令
3.3.2 匯編語言語句格式
3.3.3 匯編語言程序設計步驟
3.3.4 匯編語言程序設計實例
習題
第4章 AT89S51單片機的內(nèi)部資源
4.1 AT89S51單片機中斷系統(tǒng)
4.1.1 單片機的中斷源
4.1.2 中斷系統(tǒng)的控制
4.1.3 中斷響應過程與響應時間
4.1.4 中斷服務程序設計
4.1.5 多外部中斷源系統(tǒng)設計
4.2 AT89S51單片機定時/計數(shù)器
4.2.1 定時/計數(shù)器的控制
4.2.2 定時/計數(shù)器的4種工作方式
4.2.3 定時/計數(shù)器計數(shù)時對輸入信號的要求
4.2.4 定時/計數(shù)器應用編程實例
4.3 AT89S51單片機串行接口
4.3.1 串行通信基礎知識
4.3.2 AT89S51串行口的結構與控制
4.3.3 AT89S51串行口的4種工作方式
4.3.4 AT89S51串行口波特率設置方法
4.3.5 多機系統(tǒng)通信原理
4.3.6 RS-232和RS-422A/485通信接口
4.3.7 串行口應用編程實例
習題
第5章 單片機系統(tǒng)的外部存儲器與譯碼電路設計
5.1 AT89S51單片機最小系統(tǒng)組成
5.2 單片機的時序
5.2.1 單片機讀取指令和執(zhí)行時序
5.2.2 單片機訪問外部存儲器的時序
5.3 半導體存儲器
5.3.1 隨機存取存儲器(RAM)
5.3.2 只讀存儲器(ROM)
5.3.3 非易失性存儲器(NVRAM)
5.3.4 存儲器的主要參數(shù)
5.3.5 并行接口存儲器容量的計算
5.4 單片機系統(tǒng)譯碼電路的設計方法
5.4.1 單片機系統(tǒng)的地址、數(shù)據(jù)和控制總線
5.4.2 線選譯碼法
5.4.3 專用譯碼器74LS138譯碼法
5.4.4 使用可編程邏輯器件GAL16V8或GAL20V8進行譯碼電路
5.5 單片機系統(tǒng)存儲器的擴展
5.5.1 程序存儲器(EPROM/E2PROM/Flash)的擴展技術
5.5.2 單片機系統(tǒng)數(shù)據(jù)存儲器(SRAM/E2PROM/Flash)的擴展
習題
第6章 AT89s51單片機并行接口擴展技術
6.1 鍵盤/顯示器
6.1.1 鍵盤的工作原理
6.1.2 數(shù)碼管顯示器LED簡介
6.2 邏輯門電路擴展I/O口以及系統(tǒng)總線的驅動方法
6.2.1 用74LS245和74LS273擴展8位并行I/O口
6.2.2 通過串行口擴展I/O口
6.2.3 系統(tǒng)總線的驅動
6.3 可編程接口芯片擴展I/O口
6.3.1 81C55及其擴展鍵盤/顯示接口技術
6.3.2 82C55A及其與打印機的接口
6.3.3 專用可編程鍵盤/顯示器接口芯片8279及應用
6.4 單片機與D/A轉換器的接口
6.4.1 D/A轉換器的工作原理與技術指標
6.4.2 DAC0832與單片機的接口
6.5 單片機與A/D轉換器的接口
6.5.1 A/D轉換器的分類與工作原理
6.5.2 ADC0809及其與AT89S51單片機的接口
6.6 DS12C887及其與單片機的接口技術
6.6.1 DS12C887簡介
6.6.2 DS12C887的內(nèi)部結構
6.6.3 DS12C887引腳分配及功能
6.6.4 DS12C887與AT89S51單片機的接口
習題
第7章 串行總線技術
7.1 I2C總線接口
7.1.1 I2C總線簡介
7.1.2 I2C總線的工作原理
7.1.3 E2PROM芯片AT24COXB簡介
7.1.4 AT89S51單片機與An4COXB的接口及編程舉例
7.2 SPI總線技術
7.2.1 SPI總線簡介
7.2.2 SPI接口芯片X5045簡介
7.2.3 AT89S51單片機與X5045的接口及編程方法
7.2.4 Microwire簡介
7.3 1-wire總線
7.3.1 1-Wire總線簡介
7.3.2 1-Wire總線的工作原理
7.3.3 數(shù)字溫度傳感器DSl8820簡介
7.3.4 基于DSl8820的溫度測量系統(tǒng)設計
7.4 CAN總線
7.4.1 CAN總線概述
7.4.2 CAN總線控制器SJA1000
7.4.3 CAN總線驅動器PCA82C250
7.4.4 CAN總線接口設計及編程舉例
7.4.5 CAN總線系統(tǒng)的應用
7.5 USB接口
7.5.1 USB接口的機械特性
7.5.2 基于USB接口的設備開發(fā)
7.5.3 USB-to-UART轉換芯片F(xiàn)T232RL
7.5.4 單片機系統(tǒng)與計算機USB接口設計實例
7.6 串行接口的鍵盤/LED及LCD顯示電路設計
7.6.1 串行接口芯片CH451及其組成的鍵盤/LED顯示接口電路設計
7.6.2 串行接口的LCD顯示電路設計
習題
第8章 單片機技術實驗教學與開發(fā)工具簡介
8.1 易學單片機實驗教學系統(tǒng)
8.1.1 易學單片機實驗教學系統(tǒng)的特點
8.1.2 易學單片機實驗教學系統(tǒng)的結構和功能
8.1.3 易學單片機實驗教學系統(tǒng)的集成開發(fā)環(huán)境
8.2 Proteus
8.2.1 ISIS簡介
8.2.2 Proteus仿真實例
8.3 單片機高級語言程序開發(fā)環(huán)境μVision3簡介
8.3.1 μVision3簡介
8.3.2 使用真μVision3進行單片機程序開發(fā)的方法
8.3.3 Keil C51與ANSI C的差別
8.4 印制電路板設計工具軟件Protel 99 SE簡介
8.4.1 Protel 99 SE的功能
8.4.2 Altium Designer簡介
附錄 AT89S51單片機指令表
參考文獻