上篇 基 礎 原 理
基礎知識概述 2
項目一 雙閃燈——搭建開發環境 6
1.1 學習目標 6
1.2 項目任務 6
1.3 相關理論知識 6
1.3.1 Proteus仿真平臺 7
1.3.2 Keil μVision5的集成開發環境 14
1.3.3 單片機應用系統的開發流程 15
1.3.4 MCS-51指令系統入門 16
1.3.5 匯編語言程序設計 26
1.4 項目實施的參考方案 28
1.4.1 Proteus平臺硬件電路設計 28
1.4.2 Keil C軟件程序設計 32
1.4.3 Proteus平臺仿真效果 38
1.5 項目回顧與總結 40
1.6 項目拓展與思考 41
1.6.1 課后作業、任務 41
1.6.2 項目拓展 41
項目二 流水燈 42
2.1 學習目標 42
2.2 項目任務 42
2.3 相關理論知識 42
2.3.1 單片機的硬件結構 43
2.3.2 單片機的存儲器結構 46
2.3.3 單片機*小系統 51
2.3.4 單片機I/O口的結構 55
2.3.5 單片機的工作過程和低功耗
工作方式 58
2.3.6 程序設計 59
2.4 項目實施參考方案 63
2.4.1 Proteus平臺硬件電路設計 63
2.4.2 Keil C軟件程序設計 65
2.4.3 Proteus平臺仿真效果 69
2.5 項目回顧與總結 70
2.6 項目拓展與思考 70
2.6.1 課后作業、任務 70
2.6.2 項目拓展 71
項目三 搶答器 72
3.1 學習目標 72
3.2 項目任務 72
3.3 相關理論知識 72
3.3.1 按鍵的檢測原理 73
3.3.2 數碼管顯示 80
3.3.3 驅動接口電路的設計 84
3.3.4 程序設計 85
3.4 項目實施參考方案 86
3.4.1 Proteus平臺硬件電路設計 87
3.4.2 Keil C軟件程序設計 87
3.4.3 Proteus平臺仿真效果 92
3.5 項目回顧與總結 96
3.6 項目拓展與思考 97
3.6.1 課后作業、任務 97
3.6.2 項目拓展 97
項目四 交通燈 98
4.1 學習目標 98
4.2 項目任務 98
4.3 相關理論知識 98
4.3.1 中斷的概念與特點 99
4.3.2 MCS-51中斷系統 100
4.3.3 中斷處理過程 104
4.3.4 程序設計 107
4.4 項目實施參考方案 108
4.4.1 Proteus平臺硬件電路設計 108
4.4.2 Keil C軟件程序設計 109
4.4.3 Proteus平臺仿真效果 113
4.5 項目回顧與總結 116
4.6 項目拓展與思考 116
4.6.1 課后作業、任務 116
4.6.2 項目拓展 117
項目五 定時器 118
5.1 學習目標 118
5.2 項目任務 118
5.3 相關理論知識 118
5.3.1 定時器/計數器的結構與原理 119
5.3.2 定時器/計數器的工作方式 121
5.3.3 定時器/計數器的初始化 123
5.3.4 程序設計 124
5.4 項目實施參考方案 126
5.4.1 Proteus平臺硬件電路設計 126
5.4.2 Keil C軟件程序設計 127
5.4.3 Proteus平臺仿真效果 131
5.5 項目回顧與總結 133
5.6 項目拓展與思考 134
5.6.1 課后作業、任務 134
5.6.2 項目拓展 134
項目六 串口通信 135
6.1 學習目標 135
6.2 項目任務 135
6.3 相關理論知識 135
6.3.1 串行通信基礎 136
6.3.2 單片機的串行口 140
6.3.3 單片機串口通信的應用 149
6.3.4 程序設計 155
6.4 項目實施參考方案 159
6.4.1 Proteus平臺硬件電路設計 160
6.4.2 Keil C軟件程序設計 162
6.4.3 Proteus平臺仿真效果 165
6.5 項目回顧與總結 171
6.6 項目拓展與思考 171
6.6.1 課后作業、任務 171
6.6.2 項目拓展 172
下篇 應 用 設 計
基礎知識概述 174
項目七 99秒馬表 175
7.1 學習目標 175
7.2 項目任務 175
7.3 相關理論知識 175
7.3.1 設計原理 176
7.3.2 程序設計要點 176
7.3.3 設計方法 177
7.4 項目實施參考方案 177
7.4.1 Proteus平臺硬件電路設計 177
7.4.2 Keil C軟件程序設計 178
7.4.3 Proteus平臺仿真效果 183
7.5 項目回顧與總結 185
7.6 項目拓展與思考 185
7.6.1 課后作業、任務 185
7.6.2 項目拓展 185
項目八 動態數碼顯示屏 186
8.1 學習目標 186
8.2 項目任務 186
8.3 相關理論知識 186
8.3.1 設計原理 186
8.3.2 程序設計要點 188
8.4 項目實施參考方案 188
8.4.1 Proteus平臺硬件電路設計 188
8.4.2 Keil C軟件程序設計 189
8.4.3 Proteus平臺仿真效果 191
8.5 項目回顧與總結 193
8.6 項目拓展與思考 193
8.6.1 課后作業、任務 193
8.6.2 項目拓展 194
項目九 簡易電子琴 195
9.1 學習目標 195
9.2 項目任務 195
9.3 相關理論知識 195
9.3.1 樂理基礎 195
9.3.2 設計原理 197
9.3.3 程序設計要點 199
9.4 項目實施參考方案 200
9.4.1 Proteus平臺硬件電路設計 200
9.4.2 Keil C軟件程序設計 201
9.4.3 Proteus平臺仿真效果 210
9.5 項目回顧與總結 212
9.6 項目拓展與思考 212
9.6.1 課后作業、任務 212
9.6.2 項目拓展 213
項目十 數字電壓表 214
10.1 學習目標 214
10.2 項目任務 214
10.3 相關理論知識 214
10.3.1 A/D與D/A轉換 215
10.3.2 ADC0808/ADC0809、DAC0832的
內部結構與引腳功能 216
10.3.3 數字電壓表設計原理 220
10.3.4 程序設計方法 221
10.4 項目實施參考方案 222
10.4.1 Proteus平臺硬件電路設計 222
10.4.2 Keil C軟件程序設計 223
10.4.3 Proteus平臺仿真效果 228
10.5 項目回顧與總結 230
10.6 項目拓展與思考 230
10.6.1 課后作業、任務 230
10.6.2 項目拓展 231
項目十一 數字鐘 232
11.1 學習目標 232
11.2 項目任務 232
11.3 相關理論知識 232
11.3.1 數字鐘的結構與用途 232
11.3.2 設計原理 233
11.3.3 程序設計要點 233
11.3.4 Proteus平臺仿真設計方法 234
11.4 項目實施參考方案 238
11.4.1 Proteus平臺硬件電路設計 239
11.4.2 Keil C軟件程序設計 239
11.4.3 Proteus平臺仿真效果 247
11.5 項目回顧與總結 249
11.6 項目拓展與思考 249
11.6.1 課后作業、任務 249
11.6.2 項目拓展 250
項目十二 液晶顯示萬年歷 251
12.1 學習目標 251
12.2 項目任務 251
12.3 相關理論知識 251
12.3.1 字符液晶LCD1602 252
12.3.2 時鐘芯片DS1302 257
12.3.3 溫度傳感器DS18B20 259
12.3.4 設計原理 266
12.3.5 程序設計要點 267
12.4 項目實施參考方案 270
12.4.1 Proteus平臺硬件電路設計 271
12.4.2 Keil C軟件程序設計 271
12.4.3 Proteus平臺仿真效果 272
12.5 項目回顧與總結 274
12.6 項目拓展與思考 275
12.6.1 課后作業、任務 275
12.6.2 項目拓展 275