本書主要內容包括:單片機應用系統(tǒng)的組成及各組成部分的主要功能;系統(tǒng)開發(fā)的主要過程,以及開發(fā)環(huán)境的構建;MCS51單片機引腳輸出狀態(tài)的控制、輸入狀態(tài)的判斷方法;常見程序結構及其匯編語言和C51 語言的實現(xiàn);單片機應用系統(tǒng)硬件設計說明書的編寫和程序流程圖的繪制訓練;單片機中內、外部事件中斷;單片機中定時器、按鍵、串行通信及系統(tǒng)的擴展等。
本書可作為高等職業(yè)院校電類相關專業(yè)學生的教材,也可供單片機開發(fā)愛好者、科研工作者參考。
項目一做好學習單片機的準備工作1
任務一單片機的初步了解 1
一、什么是單片機? 1
二、單片機有哪些主要特點? 3
三、單片機有什么用? 4
四、如何學好單片機? 7
任務二初步熟悉單片機應用系統(tǒng)的開發(fā)過程 9
一、單片機應用系統(tǒng)通常由哪些部分組成? 9
二、單片機應用系統(tǒng)是如何設計開發(fā)出來的? 12
三、單片機應用系統(tǒng)的硬件電路板是如何制作出來的? 13
四、單片機應用系統(tǒng)的控制程序是如何編寫出來的? 16
五、學會單片機能干什么? 18
自測練習 19
項目二初步了解MCS-51系列單片機22
任務一MCS-51系列單片機的總體了解 22
任務二初步熟悉MCS-51系列單片機的硬件基礎知識 23
一、MCS-51系列單片機的內部資源 23
二、MCS-51系列單片機的外部引腳 24
三、MCS-51系列單片機的最小系統(tǒng) 30
任務三初步熟悉MCS-51系列單片機的控制程序編寫 31
一、MCS-51系列單片機的存儲空間 31
二、MCS-51系列單片機的常用寄存器 34
三、MCS-51系列單片機的匯編語言程序書寫規(guī)范 38
四、C51語言的基礎知識 39
五、單片機中的程序是如何執(zhí)行的? 40
任務四構建MCS-51系列單片機開發(fā)環(huán)境 41
一、了解開發(fā)環(huán)境的組成 41
二、構建可用的MCS-51單片機開發(fā)學習環(huán)境 42
自測練習 43
項目三點亮一盞指示燈45
任務一系統(tǒng)總體方案設計 46
一、項目需求分析 46
二、總體方案設計 46
任務二系統(tǒng)硬件電路設計 46
一、單片機I O引腳的使用 46
二、單片機應用系統(tǒng)硬件設計說明書的編寫 47
任務三系統(tǒng)控制程序編寫 48
一、MCS-51單片機匯編語言控制程序的基本結構 48
二、MCS-51單片機相關指令及其使用 48
三、C51語言控制程序的基本結構 50
四、單片機單個引腳輸出狀態(tài)的控制 50
五、MCS-51單片機的位操作指令及其使用 51
六、單片機引腳狀態(tài)控制的C51語言編程實現(xiàn) 52
七、系統(tǒng)控制程序的編程實現(xiàn) 52
任務四系統(tǒng)的軟、硬件聯(lián)合調試 53
一、控制程序的輸入 53
二、控制程序的編譯 56
三、程序的仿真調試 58
四、軟、硬件的聯(lián)合調試 60
任務五使指示燈閃爍起來(教學拓展任務) 63
一、如何讓單片機引腳輸出狀態(tài)保持一段時間? 63
二、利用單片機指令執(zhí)行時間實現(xiàn)延時的方法 63
三、如何熄滅指示燈? 64
四、控制指示燈閃爍的參考程序 65
自測練習 65
項目四順序點亮多盞交通燈67
任務一系統(tǒng)總體方案設計 68
一、項目需求分析 68
二、總體方案設計 68
任務二系統(tǒng)硬件電路設計 68
一、單片機I O引腳的確定 69
二、單片機應用系統(tǒng)硬件設計說明書的編寫 70
任務三系統(tǒng)控制程序編寫 70
一、程序流程圖的繪制 70
二、交通燈控制器控制程序的編寫分析 71
三、項目控制程序實現(xiàn)的關鍵知識學習 72
【拓展知識1】MCS-51單片機的MOV指令及其使用 73
【拓展知識2】邏輯運算的初步了解 76
【拓展知識3】MCS-51單片機轉移指令及其使用 79
四、項目匯編語言控制程序編寫 82
五、項目C51語言控制程序的編寫 86
任務四項目控制程序的調試和完善 87
任務五人行橫道交通燈的控制(教學拓展任務) 89
自測練習 90
項目五具有夜間通行模式交通燈控制器的實現(xiàn)91
任務一系統(tǒng)總體方案設計 92
一、項目需求分析 92
二、總體方案設計 92
任務二系統(tǒng)硬件電路設計 92
一、單片機I O引腳的確定 92
二、系統(tǒng)硬件電路設計 92
任務三系統(tǒng)控制程序編寫 93
一、分支程序流程圖的繪制 93
二、系統(tǒng)控制程序編寫分析 94
三、項目控制程序實現(xiàn)的關鍵知識學習 94
四、項目控制程序的編程實現(xiàn) 97
任務四系統(tǒng)控制程序的調試 97
一、分支程序的調試內容和調試方法 97
二、分支程序的調試 99
任務五添加人行橫道燈的控制程序(教學拓展任務) 102
自測練習 102
項目六交通燈控制器緊急通行模式的實現(xiàn)104
任務一系統(tǒng)總體方案設計 105
一、項目需求分析 105
二、計算機對內、外部事件的響應機制學習 105
三、MCS-51單片機的中斷及其管理 108
四、總體方案設計 114
任務二系統(tǒng)硬件電路設計 114
一、MCS-51單片機外部中斷的使用 114
二、項目硬件電路設計 114
任務三系統(tǒng)控制程序編寫 115
一、系統(tǒng)控制程序的編寫分析 115
二、系統(tǒng)控制程序實現(xiàn)的關鍵知識學習 115
三、MCS-51單片機匯編語言中斷控制程序的實現(xiàn) 116
【拓展知識1】普通子程序和中斷服務子程序有什么相同和不同之處? 116
【拓展知識2】子程序的嵌套調用 117
任務四單片機中斷控制程序的調試 121
一、Keil平臺下中斷程序的仿真調試 121
二、中斷程序調試時的排障思路 122
任務五項目C51控制程序的編寫和調試(教學拓展任務) 123
一、中斷服務函數(shù)及其定義 124
二、C51語言中斷應用程序示例 124
三、系統(tǒng)C51語言控制程序的實現(xiàn) 125
自測練習 125
項目七交通燈控制器通行時間倒計時顯示的實現(xiàn)128
任務一系統(tǒng)總體方案設計 129
一、項目需求分析 129
二、單片機應用系統(tǒng)中精確定時的實現(xiàn) 129
三、單片機應用系統(tǒng)中數(shù)字顯示的實現(xiàn) 129
四、項目系統(tǒng)總體方案設計 131
任務二系統(tǒng)硬件實現(xiàn)方案設計 131
一、深入了解數(shù)碼管 131
【拓展知識1】數(shù)字的BCD編碼表示 134
二、多位數(shù)碼管與單片機信號連線設計 136
三、系統(tǒng)硬件電路的設計 138
任務三系統(tǒng)控制程序編寫 138
一、系統(tǒng)控制程序的編寫分析 138
二、系統(tǒng)控制程序實現(xiàn)的關鍵知識學習 138
【拓展知識2】所要定時的時間超過定時器一次定時的最大時間怎么辦? 143
三、數(shù)碼管軟件譯碼程序的實現(xiàn) 148
【拓展知識3】MCS-51單片機匯編語言程序中查表程序的實現(xiàn) 149
四、數(shù)碼管動態(tài)刷新程序的編寫 154
五、項目控制程序的編寫 155
任務四系統(tǒng)控制程序的調試 156
任務五使用液晶顯示器顯示簡單信息(教學拓展任務) 157
一、單片機應用系統(tǒng)中常用液晶顯示器件了解 157
二、MCS-51單片機應用系統(tǒng)中液晶顯示的實現(xiàn) 157
自測練習 161
項目八交通燈控制器通行時間的現(xiàn)場手動設置163
任務一系統(tǒng)總體方案設計 164
一、項目需求分析 164
二、單片機應用系統(tǒng)中信息輸入接口的實現(xiàn) 164
【拓展知識1】電子系統(tǒng)中開關和按鍵的比較 166
三、系統(tǒng)總體方案設計 166
任務二系統(tǒng)硬件電路設計 167
一、單片機應用系統(tǒng)中的按鍵使用 167
【拓展知識2】單片機應用系統(tǒng)中數(shù)字輸入按鍵的實現(xiàn)方式 171
二、系統(tǒng)硬件電路設計 172
任務三系統(tǒng)控制程序編寫 172
一、系統(tǒng)控制程序的編寫分析 172
二、系統(tǒng)控制程序實現(xiàn)的關鍵知識學習 172
三、系統(tǒng)控制程序的編寫 177
任務四系統(tǒng)控制程序的調試 177
任務五通行時間設置的矩陣式鍵盤實現(xiàn)(教學拓展任務) 177
自測練習 178
項目九交通燈控制器通行時間的遠程設置180
任務一系統(tǒng)總體方案設計 181
一、項目需求分析 181
二、單片機應用系統(tǒng)中遠程通信接口的實現(xiàn) 181
【拓展知識1】幾個通信的基礎概念 183
三、系統(tǒng)總體方案設計 186
任務二系統(tǒng)硬件電路設計 186
一、MCS-51單片機串行通信口的深入了解 187
【拓展知識2】USB接口的相關基礎知識 188
二、項目硬件電路設計 191
任務三系統(tǒng)控制程序的編寫 191
一、系統(tǒng)控制程序的編寫分析 191
二、系統(tǒng)控制程序實現(xiàn)的關鍵知識學習 192
【拓展知識3】單片機之間的多機通信 196
三、系統(tǒng)控制程序的編寫 200
任務四項目控制程序的調試 203
自測練習 210
項目十交通燈控制器通行時間的自動設置212
任務一系統(tǒng)總體方案設計 213
一、項目需求分析 213
二、單片機應用系統(tǒng)中輸入信號的A D轉換 213
三、單片機應用系統(tǒng)中的I O口擴展 214
四、總體方案設計 214
任務二系統(tǒng)硬件電路設計 215
一、常用的A D轉換芯片及其和單片機的硬件連接 215
二、常用的并行口擴展芯片及其和單片機的硬件連接 219
三、單片機I O引腳數(shù)量的確定 222
四、系統(tǒng)硬件電路設計 224
任務三系統(tǒng)控制程序的編寫 224
一、項目控制程序流程圖的繪制 224
二、交通燈控制器控制程序的編寫分析 225
三、項目控制程序實現(xiàn)的關鍵知識學習 225
【拓展知識】MCS-51單片機外部擴展芯片地址的確定 227
四、項目匯編語言控制程序編寫 235
任務四系統(tǒng)控制程序的調試 235
自測練習 236
附錄238
附錄1MCS-51系列單片機匯編指令一覽表 238
附錄2MCS-51單片機引腳定義一覽表 242
附錄3MCS-51系列單片機中斷資源一覽表 243
附錄4MCS-51系列單片機常用特殊功能寄存器功能定義一覽表 244
附錄5Keil平臺下程序編譯常見錯誤信息一覽表 244
參考文獻 245