編者通過總結(jié)多年來的教學(xué)實踐,結(jié)合目前高等學(xué)校單片機課程的實際教學(xué)安排,在本書第1、2版的基礎(chǔ)上,對全書內(nèi)容作了合理整合,更能體現(xiàn)單片機課程的基本教學(xué)需求和實際應(yīng)用情況。全書共分11章。以典型的MCS-51單片機為例,系統(tǒng)地介紹單片機的硬件結(jié)構(gòu)、定時/計數(shù)器、串行接口、中斷系統(tǒng)的工作原理,指令系統(tǒng)及匯編語言程序設(shè)計,針對單片機內(nèi)部資源的C51語言編程方法及其與匯編語言的混合編程,通過并行接口擴展外部總線、外部存儲器、并行接口、鍵盤、LED和LCD顯示器、A/D和D/A轉(zhuǎn)換器的方法,采用I2C、SPI、1-Wire等目前廣為應(yīng)用的串行擴展技術(shù)擴展EEPROM和Flash存儲器、鍵盤和LED顯示器、A/D和D/A轉(zhuǎn)換器的方法,以及單片機系統(tǒng)電源設(shè)計、硬件和軟件抗干擾技術(shù)等,各部分內(nèi)容都舉例講解。還介紹了目前普遍應(yīng)用的高性能單片機的結(jié)構(gòu)和性能,結(jié)合C8051F020介紹新型單片機的片內(nèi)資源、交叉開關(guān)配置和JTAG邊界掃描及在系統(tǒng)調(diào)試等,并給出一個以C8051F020單片機開發(fā)的應(yīng)用系統(tǒng)設(shè)計實例。另外,介紹了應(yīng)用Keil C51進行單片機軟件開發(fā)調(diào)試和應(yīng)用Proteus進行單片機應(yīng)用系統(tǒng)硬件及軟件仿真調(diào)試的方法。給出了基本實驗和課程設(shè)計參考題目及內(nèi)容。
李曉林,太原理工大信息學(xué)院學(xué)副教授,多年來一直從事是智能儀表、集散控制系統(tǒng)及應(yīng)用等方向的教學(xué)與科研工作。
第1章 概述
1.1 單片機的結(jié)構(gòu)組成、特點和指標(biāo)
1.1.1 微型計算機的基本結(jié)構(gòu)
1.1.2 單片機的基本結(jié)構(gòu)
1.1.3 單片機的特點
1.1.4 單片機的重要指標(biāo)
1.2 單片機的發(fā)展歷史和產(chǎn)品類型
1.2.1 單片機的發(fā)展歷史
1.2.2 單片機的產(chǎn)品類型
1.2.3 80C51系列單片機
1.2.4 其他系列單片機
1.3 單片機的應(yīng)用
1.3.1 單片機應(yīng)用領(lǐng)域
1.3.2 單片機應(yīng)用舉例
1.4 單片機技術(shù)相關(guān)網(wǎng)站
思考題與習(xí)題1
第2章 MCS-51硬件結(jié)構(gòu)和工作原理
2.1 MCS-51系列單片機的分類
2.2 單片機硬件結(jié)構(gòu)
2.2.1 單片機的引腳功能
2.2.2 單片機的內(nèi)部結(jié)構(gòu)
2.3 中央處理器(CPU)
2.3.1 運算器
2.3.2 控制器
2.3.3 布爾(位)處理器
2.4 存儲器
2.4.1 程序存儲器
2.4.2 數(shù)據(jù)存儲器
2.5 并行輸入/輸出(I/O)端口
2.5.1 P1口
2.5.2 P2口
2.5.3 P3口
2.5.4 P0口
2.5.5 并行口的應(yīng)用
2.6 時鐘電路和時序
2.6.1 時鐘電路
2.6.2 時序
2.7 單片機的工作方式
2.7.1 復(fù)位方式
2.7.2 程序執(zhí)行方式
2.7.3 低功耗運行方式
思考題與習(xí)題2
第3章 MCS-51指令系統(tǒng)及匯編程序設(shè)計
3.1 指令系統(tǒng)簡介
3.1.1 指令系統(tǒng)的分類
3.1.2 指令格式
3.1.3 指令中的常用符號
3.1.4 尋址方式
3.2 指令系統(tǒng)
3.2.1 數(shù)據(jù)傳送指令
3.2.2 算術(shù)運算指令
3.2.3 邏輯運算指令
3.2.4 控制轉(zhuǎn)移指令
3.2.5 位操作指令
3.3 匯編語言程序設(shè)計
3.3.1 匯編語言程序設(shè)計的步驟
3.3.2 匯編語言的程序編輯和匯編
3.3.3 結(jié)構(gòu)化程序設(shè)計方法
思考題與習(xí)題3
第4章 MCS-51的C程序設(shè)計
4.1 C51概述
4.2 C51語法基礎(chǔ)
4.2.1 標(biāo)識符和關(guān)鍵字
4.2.2 數(shù)據(jù)類型
4.2.3 C51運算符
4.2.4 程序結(jié)構(gòu)
4.3 C51對MCS-51單片機的訪問
4.3.1 存儲類型
4.3.2 存儲模式
4.3.3 對特殊功能寄存器的訪問
4.3.4 對存儲器和并行口的訪問
4.3.5 位地址訪問
4.3.6 中斷函數(shù)
4.4 C51結(jié)構(gòu)化程序設(shè)計
4.4.1 順序結(jié)構(gòu)程序
4.4.2 選擇結(jié)構(gòu)程序
4.4.3 循環(huán)結(jié)構(gòu)程序
4.5 C51程序設(shè)計實例
4.5.1 查表程序
4.5.2 單片機內(nèi)/外部資源應(yīng)用程序設(shè)計
4.5.3 C51語言和MCS-51匯編語言混合編程
4.5.4 編程優(yōu)化的概念
思考題與習(xí)題4
第5章 MCS-51中斷、定時/計數(shù)器及串口接口
5.1 中斷系統(tǒng)
5.1.1 中斷系統(tǒng)概述
5.1.2 MCS-51中斷系統(tǒng)
5.1.3 中斷系統(tǒng)應(yīng)用舉例
5.2 定時/計數(shù)器
5.2.1 定時/計數(shù)器的結(jié)構(gòu)與原理
5.2.2 定時/計數(shù)器的工作方式
5.2.3 定時/計數(shù)器對輸入信號的要求
5.2.4 定時/計數(shù)器的應(yīng)用
5.3 串行通信接口
5.3.1 串行通信基礎(chǔ)知識
5.3.2 MCS-51串行通信接口
5.3.3 串行通信接口的應(yīng)用
思考題與習(xí)題5
第6章 單片機系統(tǒng)基本并行擴展技術(shù)
6.1 并行擴展概述
6.2 外部總線擴展
6.3 外部存儲器擴展
6.3.1 外部程序存儲器擴展
6.3.2 外部數(shù)據(jù)存儲器擴展
6.3.3 多片存儲器芯片擴展
6.4 并行接口擴展
6.4.1 8155可編程并行接口芯片
6.4.2 8155與單片機的接口方法
6.5 顯示器與鍵盤擴展
6.5.1 LED顯示器擴展
6.5.2 LCD顯示器擴展
6.5.3 鍵盤接口擴展
6.5.4 鍵盤和顯示器接口設(shè)計實例
6.6 A/D和D/A轉(zhuǎn)換擴展
6.6.1 并行接口A/D轉(zhuǎn)換擴展
6.6.2 并行接口D/A轉(zhuǎn)換擴展
思考題與習(xí)題6
第7章 單片機系統(tǒng)常用串行擴展技術(shù)
7.1 串行擴展概述
7.2 常用串行總線協(xié)議
7.2.1 I2C串行總線
7.2.2 SPI總線
7.2.3 單線總線
7.3 串行存儲器擴展
7.3.1 I2C接口EEPROM的存儲器擴展
7.3.2 SPI接口的大容量Flas存儲器擴展
7.4 串行轉(zhuǎn)并行I/O接口擴展
7.4.1 串行轉(zhuǎn)并行I/O擴展芯片的工作原理
7.4.2 串行總線擴展I/O接口實例
7.5 串行鍵盤和LED顯示器擴展
7.5.1 串行鍵盤和LED顯示器控制芯片的工作原理
7.5.2 串行鍵盤和LED顯示器擴展實例
7.6 串行接口A/D和D/A轉(zhuǎn)換擴展
7.6.1 串行接口A/D轉(zhuǎn)換擴展
7.6.2 串行接口D/A轉(zhuǎn)換擴展
思考題與習(xí)題7
第8章 C8051F020單片機簡介
8.1 C8051F020單片機概述
8.1.1 C8051F020的結(jié)構(gòu)和性能
8.1.2 CIP-51TM CPU的性能
8.1.3 片內(nèi)存儲器
8.1.4 中斷
8.1.5 定時/計數(shù)器
8.1.6 可編程數(shù)字I/O和交叉開關(guān)
8.1.7 可編程計數(shù)器陣列
8.1.8 串行端口
8.1.9 12位A/D轉(zhuǎn)換器
8.1.10 8位A/D轉(zhuǎn)換器
8.1.11 D/A轉(zhuǎn)換器和比較器
8.1.12 JTAG調(diào)試和邊界掃描
8.2 交叉開關(guān)配置
8.2.1 I/O端口
8.2.2 低端口優(yōu)先權(quán)交叉開關(guān)譯碼器
8.2.3 高端口
8.3 系統(tǒng)時鐘源
8.4 系統(tǒng)復(fù)位及初始化
8.4.1 上電復(fù)位
8.4.2 掉電復(fù)位
8.4.3 外部復(fù)位
8.4.4 "看門狗"定時器復(fù)位
8.4.5 初始化設(shè)置
8.5 JTAG接口在系統(tǒng)調(diào)試
8.6 C8051F020單片機應(yīng)用系統(tǒng)設(shè)計實例
8.6.1 系統(tǒng)結(jié)構(gòu)
8.6.2 硬件設(shè)計
8.6.3 軟件設(shè)計
思考題與習(xí)題8
第9章 單片機系統(tǒng)電源設(shè)計與抗干擾技術(shù)
9.1 單片機系統(tǒng)電源設(shè)計的考慮因素
9.2 線性穩(wěn)壓供電電源
9.2.1 三端固定輸出集成穩(wěn)壓器電源電路
9.2.2 三端可調(diào)輸出集成穩(wěn)壓器電源電路
9.2.3 低壓差線性穩(wěn)壓器(LDO)電源電路
9.3 DC/DC供電電源
9.3.1 降壓型DC/DC電源電路
9.3.2 升壓型DC/DC電源電路
9.3.3 DC/DC模塊電源的選擇與應(yīng)用
9.4 AC/DC供電技術(shù)
9.4.1 AC/DC電源技術(shù)
9.4.2 AC/DC模塊電源
9.5 基準(zhǔn)電源的產(chǎn)生方法
9.5.1 穩(wěn)壓管基準(zhǔn)電壓源電路
9.5.2 集成塊基準(zhǔn)電壓源電路
9.6 干擾對單片機應(yīng)用系統(tǒng)的影響
9.7 硬件抗干擾技術(shù)
9.7.1 無源濾波
9.7.2 有源濾波
9.7.3 去耦電路
9.7.4 屏蔽技術(shù)
9.7.5 隔離技術(shù)
9.7.6 接地技術(shù)
9.8 軟件抗干擾技術(shù)
9.8.1 軟件抗干擾的一般方法
9.8.2 指令冗余技術(shù)
9.8.3 軟件陷阱技術(shù)
9.8.4 "看門狗"技術(shù)
思考題與習(xí)題9
第10章 單片機系統(tǒng)開發(fā)工具
10.1 單片機應(yīng)用系統(tǒng)開發(fā)環(huán)境
10.1.1 開發(fā)系統(tǒng)的功能
10.1.2 開發(fā)系統(tǒng)的分類
10.2 KEIL C51開發(fā)工具及仿真調(diào)試方法
10.2.1 Keil C51開發(fā)工具
10.2.2 應(yīng)用Keil C51進行單片機軟件開發(fā)調(diào)試的方法
10.2.3 應(yīng)用Keil C51調(diào)試C51應(yīng)用程序舉例
10.3 PROTEUS電路分析與實物仿真軟件及調(diào)試方法
10.3.1 Proteus仿真軟件
10.3.2 應(yīng)用Proteus進行單片機應(yīng)用系統(tǒng)仿真調(diào)試的方法
10.3.3 應(yīng)用Proteus進行單片機系統(tǒng)仿真調(diào)試舉例
思考題與習(xí)題10
第11章 實驗及課程設(shè)計
11.1 概述
11.2 實驗
11.2.1 實驗1——BCD碼/十六進制碼轉(zhuǎn)換
11.2.2 實驗2——排序程序
11.2.3 實驗3——定時/計數(shù)器
11.2.4 實驗4——基本輸入/輸出
11.2.5 實驗5——外部中斷
11.2.6 實驗6——并行接口擴展 302
11.2.7 實驗7——A/D轉(zhuǎn)換 305
11.2.8 實驗8——D/A轉(zhuǎn)換 306
11.3 課程設(shè)計 307
11.3.1 課程設(shè)計的目的 307
11.3.2 課程設(shè)計要求 308
11.3.3 課程設(shè)計參考題目及要求 308
附錄A MCS-51匯編指令-機器碼對照表 312
附錄B ASCII編碼表 314
參考文獻 315