本書圍繞4個“教、學、做一體化”的項目展開,引導讀者通過4個項目的實踐性學習,逐步掌握現代智能電子技術的思想、方法與基本內容。內容編排有:認識單片機部分(第1~3章);初步使用單片機部分(第4~6章);深入認識單片機內部功能單元部分(第7~9章);熟練使用單片機部分(第10~13章)。本書可使讀者在重點掌握單片機的基本知識與基本技能的同時,具備學習擴展其他嵌入式系統(tǒng)的能力。
雷建龍,教授,從事教學工作36年。曾作為主編公開出版教材四本。多次獲最佳教師稱號,主持完成省職業(yè)院校應用電子技術專業(yè)教學標準,主持課題獲過中國職教學會一等獎,完成多項省級以上課題,公開發(fā)表論文60余篇,其中核心論文10篇。
第1章 認識單片機并制作、使用單片機系統(tǒng) 1
1.1 單片機控制的跑馬燈 2
1.1.1 開發(fā)板實物圖 2
1.1.2 實物圖說明 2
1.1.3 下載控制程序到單片機中 2
1.2 知識鏈接:單片機及其應用 4
1.2.1 單片機及其發(fā)展的特點 4
1.2.2 單片機嵌入式系統(tǒng)的應用領域及特點 5
? 項目一 跑馬燈的設計與制作 7
? 項目一 任務1 點亮8個發(fā)光二極管 7
1.3 用單片機點亮8個發(fā)光二極管 7
1.3.1 實物圖 7
1.3.2 步驟 7
1.4 知識鏈接:MCS-51系列單片機 9
1.4.1 MCS-51系列單片機內部功能簡介 9
1.4.2 引腳及功能介紹 11
1.5 單片機運行的基本過程 12
1.6 單片機復位及復位電路、時鐘電路、時序與機器周期 12
1.6.1 單片機復位及復位電路 12
1.6.2 時鐘電路 14
1.6.3 時序的概念 14
1.6.4 機器周期的計算 15
1.7 補充知識:二進制數 15
1.7.1 十進制數 15
1.7.2 二進制數 15
1.7.3 二進制數與十進制數的相互轉換 15
1.7.4 十六進制數 16
1.7.5 有符號數的表示方法 17
1.7.6 位、字節(jié)、字 17
1.7.7 BCD碼 17
1.7.8 ASCⅡ碼 18
小結 18
習題 19
第2章 Keil C的操作及單片機的存儲器、I/O接口 21
? 項目一 任務2 Keil C的操作練習 22
2.1 Keil C軟件的操作 22
2.2 MCS-51系列單片機存儲器的結構 29
2.2.1 程序存儲器 30
2.2.2 內部數據存儲器 31
2.2.3 外部數據存儲器 32
? 項目一 任務3 測試與改變I/O端口的狀態(tài) 32
2.3 I/O端口的測試 32
2.4 I/O端口的內部結構與特點 33
2.4.1 P1口的結構組成 33
2.4.2 P0口的結構組成 34
2.5 補充知識:數字電子技術相關內容 35
2.5.1 基本邏輯門 35
2.5.2 門電路 37
2.5.3 LED數碼管 38
小結 39
習題 40
第3章 仿真演練與程序的下載 42
? 項目一 任務4 仿真數碼管顯示 42
3.1 Proteus的仿真演練 43
3.1.1 數碼管顯示電路原理圖 43
3.1.2 Proteus 8 Professional界面簡介 44
3.1.3 繪制原理圖 46
3.2 Keil C與Proteus連接調試 51
3.3 制作與使用ISP 53
3.4 開發(fā)板電路圖 56
小結 61
習題 62
第4章 C51程序的編制 63
? 項目一 任務5 點亮一個發(fā)光二極管 64
4.1 C51的數據結構 64
4.1.1 C51應用舉例 64
4.1.2 數據的存儲種類 66
4.1.3 基本數據類型 67
4.1.4 C51擴展數據類型 67
4.1.5 數據的存儲位置 70
? 項目一 任務6 根據輸入狀態(tài)決定輸出端口的狀態(tài) 74
4.2 C51的程序結構 74
4.2.1 C51的運算符 74
4.2.2 C51的基本語句 75
? 項目一 任務7 跑馬燈的控制1 79
? 項目一 任務8 計算1+2+3+…+10 81
? 項目一 任務9 跑馬燈的控制2 81
? 項目一 任務10 跑馬燈的控制3 83
? 項目一 任務11 跑馬燈的設計 84
? 項目一 任務12 跑馬燈的控制4 87
4.2.3 C51函數 88
? 項目一 任務13 跑馬燈的控制5 92
4.3 交通燈控制器 93
4.3.1 程序的移植 93
? 項目二 交通燈控制器的設計 94
? 項目二 任務1 交通燈的控制 96
4.3.2 交通燈的控制 96
4.4 補充知識:數組的概念 99
小結 100
習題 101
第5章 單片機的中斷系統(tǒng) 106
? 項目二 任務2 改進的交通燈控制器 106
5.1 中斷概念的引出 107
5.2 單片機中斷系統(tǒng)的結構 108
5.2.1 8051的中斷源 109
5.2.2 中斷請求標志 110
5.2.3 中斷允許控制 110
5.2.4 中斷優(yōu)先級控制 111
5.2.5 中斷的入口 111
5.2.6 8051單片機中斷處理過程 112
5.3 中斷服務程序的編制 112
5.3.1 中斷服務程序編制的格式 112
5.3.2 項目二任務2的解答:交通燈中斷控制器設計 113
5.3.3 關于中斷觸發(fā)方式及程序編制的討論 116
小結 119
習題 119
第6章 單片機的定時器 123
? 項目二 任務3 定時器中斷控制的跑馬燈 123
6.1 定時器的結構與特點 125
6.2 定時器的控制寄存器 126
6.2.1 工作方式寄存器 126
6.2.2 控制寄存器 127
6.2.3 TH、TL 127
6.3 定時器的工作方式 127
6.3.1 方式0 127
6.3.2 方式1 127
6.3.3 方式2 128
6.3.4 方式3 128
6.4 定時器計數初值的確定 129
6.5 定時器應用舉例 129
6.5.1 定時器中斷控制的跑馬燈 129
? 項目二 任務4 信號發(fā)生器 131
6.5.2 信號發(fā)生器 131
? 項目二 任務5 定時器中斷控制的交通燈 133
6.5.3 定時器中斷控制的交通燈 133
小結 136
習題 136
第7章 單片機的串行通信接口 139
? 項目二 任務6 數碼管顯示 139
7.1 串行通信概述 140
7.1.1 串行通信與并行通信 140
7.1.2 異步通信與同步通信 140
7.1.3 串行通信的傳輸方向 142
7.1.4 傳輸速率 142
7.2 8051串行口的結構 143
7.2.1 串行口的結構 143
7.2.2 8051串行口的控制寄存器 143
7.3 8051串行口的工作方式 144
7.3.1 方式0 144
? 項目二 任務7 數據的并、串行轉換 146
? 項目二 任務8 雙機通信仿真 148
7.3.2 方式1 148
7.3.3 方式2和方式3 153
7.3.4 波特率的計算 154
7.4* 補充知識:I2C總線及其應用 155
7.4.1 I2C總線的特點 155
7.4.2 I2C總線的工作原理 155
7.4.3 I2C應用實例AT24C01 157
小結 163
習題 163
第8章 鍵盤接口及顯示接口 167
8.1 鍵盤接口 168
8.1.1 鍵盤基本問題 168
8.1.2 獨立式鍵盤 169
8.1.3 行列式鍵盤 170
? 項目二 任務9 計數顯示器 174
8.2 顯示接口 175
8.2.1 靜態(tài)顯示 175
? 項目二 任務10 帶倒計時的交通燈控制器 176
8.2.2 動態(tài)顯示 177
? 項目二 任務11 數字鐘 181
8.2.3 LED驅動芯片MAX7219/7221及其應用 182
? 項目三 數字萬年歷的設計與制作 188
? 項目三 任務1 萬年歷的輸出顯示設計 190
8.2.4 LCD顯示 190
? 項目三 任務2 用字符LCD顯示“GOOD” 198
8.3* 補充知識:Keil C51絕對地址訪問 200
小結 202
習題 202
第9章 數模與模數轉換 206
? 項目三 任務3 數模轉換器(DAC)設計 206
9.1 數模轉換 207
9.1.1 數模轉換器的工作機制及主要技術指標 207
9.1.2 DAC0832——電流輸出型數模轉換器 209
9.1.3 串行8位數模轉換器MAX517 213
? 項目三 任務4 模數轉換仿真1 218
9.2 模數轉換 218
9.2.1 模數轉換器及其主要技術指標 218
9.2.2 12位并行模數轉換芯片AD1674及其應用 219
? 項目三 任務5 模數轉換仿真2 225
9.2.3 MCP3204——帶SPI接口的12位模數轉換器 225
? 項目三 任務6 8位ADC實驗 230
9.2.4 帶有模數轉換功能的單片機應用 230
9.3* 補充知識:SPI總線 232
9.3.1 SPI概述 232
9.3.2 SPI總線接口及時序 233
9.3.3 應用舉例 234
小結 235
習題 235
第10章 單片機系統(tǒng)的開發(fā) 239
? 項目三 任務7 數字萬年歷單片機系統(tǒng)的開發(fā) 240
10.1 單片機系統(tǒng)的開發(fā)方法 240
10.2 單片機系統(tǒng)的穩(wěn)定性 243
10.2.1 單片機的低功耗設置 243
10.2.2 單片機的“看門狗”設置 247
10.3 數字萬年歷系統(tǒng)總體設計 253
? 項目三 任務8 數字溫度傳感器的使用 254
10.3.1 溫度傳感器DS18B20 255
10.3.2 日歷時間芯片DS1302及其在數字萬年歷中的應用 260
10.3.3 總體設計與程序 265
? 項目四 智能小車的控制 266
? 項目四 任務1 小車綜合任務 267
10.4 智能小車的總體設計 269
10.4.1 STC8單片機及智能小車的硬件電路 270
10.4.2 關鍵部件:超聲傳感器、光電檢測、磁尋跡、LoRa通信 270
10.4.3 運動的控制:流程圖、運動控制分析、控制程序 273
? 項目四 任務2 小車綜合任務修改 274
小結 274
習題 275
參考文獻 279