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