本書基于應用廣泛、高速、低功耗、超強抗干擾的新一代8051單片機——STC系列單片機展開介紹,共有11個項目30個任務21個技能訓練以及2個課程設計范例。前7個項目注重職業(yè)崗位的基本技能訓練,主要介紹單片機硬件系統、單片機開發(fā)系統、單片機并行端口應用、定時與中斷系統、顯示與鍵盤接口技術、A/D與D/A轉換接口、串行接口通信技術以及單片機應用系統設計方法等內容。后4個項目和2個課程設計范例注重職業(yè)崗位的開發(fā)技能訓練,主要介紹鍵盤控制電機方向和轉速、多路溫度采集監(jiān)控系統、按鍵設置液晶電子鐘、16×32 LED點陣顯示、溫濕度監(jiān)控系統和車輛區(qū)間測速系統等單片機產品的開發(fā)方法、關鍵知識以及設計與實現。 本書順應“崗課賽證”融通綜合育人精神,采用“任務驅動、做中學”的編寫思路,貫穿融入全國職業(yè)院校技能大賽“集成電路開發(fā)及應用”賽項中的集成電路應用任務“車輛區(qū)間測速系統”關鍵知識點,每個任務均將相關知識和職業(yè)崗位基本技能融合一起,把知識、技能的學習結合任務完成過程來進行。 本書配有微課視頻、電子課件、電子教案、課程標準、單元設計、習題答案、習題庫及答案、試題庫及答案、項目源程序和仿真電路、綜合應用項目等教學資源。
在第1版的基礎上進一步優(yōu)化,更加復核教學的要求、提升教學效果。
1. 落實立德樹人,加強課程思政。
2. 深入校企合作,真正雙元開發(fā)。
3. 資源豐富實用,優(yōu)化線上線下混合式教學。
郭志勇,省級教學名師、中國計算機學會(CCF)會員、全國技能大賽電子信息類賽項評審專家、全國集成電路專業(yè)群職業(yè)教育標準建設委員會教學標準協作組副主任、2020年全國技能大賽“云計算”賽項監(jiān)督仲裁組組長、2021年“中盈創(chuàng)信杯”計算機維修工職業(yè)技能競賽全國總決賽裁判長。任職于安徽電子信息職業(yè)技術學院,從事于智能控制技術等領域教學研究工作,主持參與獲得省級教學成果二等獎4個,指導學生獲得全國技能大賽“嵌入式應用技術與開發(fā)”賽項二等獎多次,主要講授C語言程序設計、單片機應用技術、嵌入式應用技術等課程,出版國家規(guī)劃教材和省級規(guī)劃教材教材多本。
項目一 發(fā)光二極管LED控制 1
1.1 任務1 點亮一個LED 2
1.1.1 用Proteus設計第 一個LED控制電路 2
1.1.2 用Keil C51設計第 一個C語言LED控制程序 6
1.1.3 用Proteus仿真運行調試 10
1.2 認識單片機 12
1.2.1 單片機概述 12
1.2.2 STC89C52系列單片機的基本結構 16
1.2.3 STC89C52單片機引腳功能 16
1.2.4 單片機最小系統 19
【技能訓練1-1】單片機控制LED閃爍 21
1.3 任務2 LED控制電路焊接制作與調試 23
1.3.1 LED控制電路設計 23
1.3.2 LED控制電路焊接 23
1.3.3 LED控制程序下載與調試 24
1.4 任務3 聲光報警器 27
1.4.1 聲光報警器電路設計 27
1.4.2 聲光報警器程序設計 28
【技能訓練1-2】開關控制聲光報警器 29
1.4.3 C語言程序的基本構成 31
1.4.4 C語言基本語句 32
關鍵知識點小結 33
問題與討論 34
項目二 LED循環(huán)點亮控制 36
2.1 任務4 LED循環(huán)點亮控制 37
2.1.1 LED循環(huán)點亮電路設計 37
2.1.2 LED循環(huán)點亮程序設計 38
2.1.3 LED循環(huán)點亮控制電路焊接制作 39
2.1.4 并行I/O端口電路 40
【技能訓練2-1】P0口外接上拉電阻 43
2.2 MCS-51單片機內存空間 44
2.2.1 數據存儲器 45
2.2.2 特殊功能寄存器 46
2.2.3 “頭文件包含”處理 49
2.2.4 程序存儲器 51
2.3 任務5 開關控制LED循環(huán)點亮 52
2.3.1 開關控制LED循環(huán)點亮電路設計 52
2.3.2 開關控制LED循環(huán)點亮程序設計 52
2.3.3 C51數據類型 54
2.3.4 C語言常量與變量 57
【技能訓練2-2】汽車轉向燈控制設計 59
2.4 任務6 步進電機控制 61
2.4.1 認識步進電機 61
2.4.2 步進電機控制電路設計 62
2.4.3 步進電機控制程序設計 63
【技能訓練2-3】基于ULN2003A的繼電器驅動電路設計 64
關鍵知識點小結 66
問題與討論 67
項目三 數碼管顯示控制 69
3.1 任務7 數碼管循環(huán)顯示0~9 70
3.1.1 認識數碼管 70
3.1.2 數碼管循環(huán)顯示0~9電路設計 72
3.1.3 數碼管顯示程序設計 73
3.1.4 數碼管循環(huán)顯示0~9電路焊接制作 74
【技能訓練3-1】共陽極LED數碼管應用 75
3.2 C語言語句結構 76
3.2.1 關系運算符和關系表達式 76
3.2.2 邏輯運算符和邏輯表達式 77
3.2.3 if語句 78
3.2.4 switch語句 79
3.2.5 循環(huán)結構控制語句 80
3.2.6 break語句和continue語句 83
3.3 任務8 0~99計數器顯示(靜態(tài)顯示) 83
3.3.1 0~99計數顯示電路設計 83
3.3.2 0~99計數顯示程序設計 84
3.3.3 C語言函數 86
【技能訓練3-2】使用74LS47實現0~99計數顯示 88
3.4 任務9 數碼管動態(tài)掃描顯示 90
3.4.1 數碼管動態(tài)掃描顯示電路設計 90
3.4.2 數碼管動態(tài)顯示程序設計 91
3.4.3 C語言數組 92
3.4.4 C51中的位操作 95
關鍵知識點小結 97
問題與討論 98
項目四 鍵盤的設計與實現 100
4.1 任務10 獨立式鍵盤設計與實現 101
4.1.1 認識鍵盤 101
4.1.2 獨立式鍵盤電路設計 102
4.1.3 獨立式鍵盤程序設計 102
4.1.4 獨立式鍵盤電路焊接制作 104
4.1.5 鍵盤防抖動措施 104
【技能訓練4-1】一鍵多功能按鍵識別設計與實現 106
4.2 任務11 矩陣式鍵盤設計與實現 107
4.2.1 矩陣式鍵盤的結構與原理 107
4.2.2 矩陣式鍵盤電路設計 109
4.2.3 矩陣式鍵盤程序設計 110
4.3 任務12 中斷方式矩陣式鍵盤 112
4.3.1 中斷概念 112
4.3.2 中斷方式矩陣式鍵盤電路設計 113
4.3.3 中斷方式矩陣式鍵盤程序設計 114
4.4 MCS-51單片機中斷系統 115
4.4.1 單片機中斷源 115
4.4.2 中斷系統結構 115
4.4.3 與中斷有關的4個特殊功能寄存器 116
4.4.4 中斷處理過程 119
4.4.5 C51中斷服務函數 121
【技能訓練4-2】8路搶答器設計與實現 122
關鍵知識點小結 126
問題與討論 127
項目五 電子鐘設計與實現 129
5.1 任務13 生產線自動打包系統 130
5.1.1 認識定時器/計數器 130
5.1.2 生產線自動打包控制電路 132
5.1.3 生產線自動打包控制程序 133
5.2 任務14 霓虹燈控制系統 134
5.2.1 定時器/計數器工作方式 134
5.2.2 定時器/計數器相關寄存器 136
5.2.3 霓虹燈控制系統設計與實現 137
【技能訓練5-1】0~59秒數碼顯示(定時器) 139
5.3 任務15 基于LCD液晶顯示的電子鐘設計 141
5.3.1 認識LCD1602液晶顯示模塊 141
5.3.2 電子鐘電路設計 144
5.3.3 LCD1602指令操作 145
5.3.4 電子鐘程序設計 147
5.3.5 電子鐘電路焊接制作 150
5.4 intrins.h頭文件的應用 151
5.4.1 _crol_、_irol_和_lrol_函數 151
5.4.2 _cror_、_iror_和_lror_函數 152
5.4.3 _nop_函數 152
5.4.4 _testbit_函數 152
【技能訓練5-2】用_crol_函數實現LED循環(huán)點亮 153
關鍵知識點小結 153
問題與討論 154
項目六 模擬量輸入/輸出設計與實現 156
6.1 任務16 模數轉換LED顯示 157
6.1.1 模擬量輸入/輸出概述 157
6.1.2 模數轉換LED顯示電路 157
6.1.3 模數轉換LED顯示程序 158
6.1.4 模數轉換LED顯示電路焊接制作 159
6.2 ADC0809模數轉換器 160
6.2.1 認識ADC0809模數轉換器 160
6.2.2 ADC0809結構及引腳 161
6.2.3 ADC0809工作過程及編程方法 162
【技能訓練6-1】采用中斷方式完成模數轉換LED顯示 163
6.3 任務17 數字電壓表設計與實現 165
6.3.1 數字電壓表電路設計 165
6.3.2 數字電壓表程序設計 166
6.3.3 C語言結構體類型 168
6.3.4 結構體數組 169
【技能訓練6-2】基于ADC0809的直流電機轉速控制 170
6.4 任務18 信號發(fā)生器設計與實現 172
6.4.1 認識DAC0832數模轉換器 172
6.4.2 信號發(fā)生器電路設計 174
6.4.3 信號發(fā)生器程序設計 176
【技能訓練6-3】正弦波發(fā)生器設計 177
關鍵知識點小結 179
問題與討論 180
項目七 單片機串行通信設計與實現 181
7.1 任務19 單片機點對點數據傳輸 182
7.1.1 串行通信基本知識 182
7.1.2 單片機點對點數據傳輸電路設計 185
7.1.3 單片機點對點數據傳輸程序設計 186
7.1.4 RS-232C串行通信總線及其接口 187
【技能訓練7-1】全雙工RS-232連接電路設計與實現 189
7.2 任務20 水塔水位單片機遠程監(jiān)控系統 189
7.2.1 單片機串行口結構 190
7.2.2 串行通信設置 192
7.2.3 水塔水位單片機遠程監(jiān)控系統設計 194
7.2.4 水塔水位單片機遠程監(jiān)控系統焊接制作 198
【技能訓練7-2】單片機串行口擴展I/O口 199
7.3 任務21 單片機一對多數據傳輸 201
7.3.1 MCS-51單片機多機通信 201
7.3.2 單片機一對多數據傳輸電路設計 202
7.3.3 單片機一對多數據傳輸程序設計 203
7.3.4 RS-485串行接口 206
【技能訓練7-3】全雙工RS-485連接電路設計與實現 207
關鍵知識點小結 208
問題與討論 209
項目八 LCD1602監(jiān)控電機運行 210
8.1 單片機產品開發(fā) 211
8.1.1 單片機產品的結構 211
8.1.2 單片機產品開發(fā)流程 212
8.2 任務22 LCD1602監(jiān)控步進電機運行設計與實現 214
8.2.1 步進電機控制技術 214
8.2.2 認識L298全橋驅動器 215
8.2.3 步進電機控制系統電路設計 216
8.2.4 LCD1602監(jiān)控步進電機運行程序設計 217
8.3 任務23 LCD1602監(jiān)控直流電機運行設計與實現 223
8.3.1 直流電機控制技術 223
8.3.2 LCD1602監(jiān)控直流電機運行電路設計 225
8.3.3 LCD1602監(jiān)控直流電機運行程序設計 225
【技能訓練】智能車基本控制設計 230
關鍵知識點小結 234
問題與討論 234
項目九 按鍵設置液晶顯示電子鐘 235
9.1 RT12864點陣型液晶顯示模塊 236
9.1.1 認識RT12864液晶顯示模塊 236
9.1.2 RT12864液晶顯示模塊內部結構 237
9.1.3 控制指令及相應代碼 239
9.2 任務24 液晶電子鐘電路設計 242
9.2.1 按鍵設置電路設計 242
9.2.2 液晶顯示控制電路設計 242
9.2.3 按鍵設置液晶電子鐘電路設計 243
9.3 任務25 液晶電子鐘程序設計 244
9.3.1 按鍵設置程序設計 244
9.3.2 時間程序設計 247
9.3.3 液晶顯示程序設計 249
【技能訓練】使用DS1302芯片實現液晶電子鐘電路設計 256
關鍵知識點小結 258
問題與討論 259
項目十 8路溫度采集監(jiān)控系統 260
10.1 DS18B20溫度傳感器 261
10.1.1 認識DS18B20 261
10.1.2 DS18B20內部結構及功能 263
10.1.3 DS18B20通信協議 265
10.2 任務26 8路溫度采集監(jiān)控電路設計 268
10.2.1 溫度采集電路設計 268
10.2.2 溫度監(jiān)控電路設計 268
10.2.3 8路溫度采集監(jiān)控電路設計 269
10.3 任務27 8路溫度采集監(jiān)控程序設計 270
10.3.1 按鍵處理程序設計 270
10.3.2 8路溫度采集程序設計 272
10.3.3 8路溫度顯示程序設計 273
【技能訓練】基于LCD1602的8路溫度采集監(jiān)控設計 275
關鍵知識點小結 278
問題與討論 279
項目十一 點陣顯示設計與實現 280
11.1 任務28 8×8 LED點陣顯示設計 281
11.1.1 認識LED點陣顯示屏 281
11.1.2 8×8 LED點陣顯示電路設計 283
11.1.3 8×8 LED點陣顯示程序設計 284
11.2 任務29 16×32 LED點陣顯示電路設計 286
11.2.1 構建16×32 LED點陣顯示模塊 286
11.2.2 16×32 LED點陣顯示的列驅動電路設計 287
11.2.3 16×32 LED點陣顯示的行驅動電路設計 288
11.3 任務30 16×32 LED點陣顯示程序設計 290
11.3.1 使用PCtoLCD2002獲取漢字字!290
11.3.2 16×32 LED點陣漢字顯示程序設計 292
【技能訓練】采用逐行掃描方式,完成16×32 LED點陣漢字顯示設計 296
關鍵知識點小結 300
問題與討論 301
課程設計范例一 雙向四車道交通燈控制 302
課程設計范例二 溫濕度監(jiān)控系統 315