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