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