本書旨在培養和鍛煉學生單片機應用系統的開發能力和水平,全書以六個實戰項目為主線,讓學習者在一個個任務案例中逐步掌握單片機電路設計與程序代碼編寫的能力。書中的內容從昀初點亮 LED 燈的基礎任務,到設計溫濕度采集系統的拓展任務,再到昀后的電子日歷的綜合項目開發,不僅有原理性知識的介紹,更重要的是給學習者提供了實際項目開發的思路和經驗,可以讓大家從實踐過程中逐步提高自己發現問題、分析問題、解決問題的能力。
本書的內容涵蓋了大量符合教學規律并且在實際項目中所采用的技術和技巧,具有很強的實時性和先進性,可以幫助讀者快速上手單片機開發工作。
本書可作為職業院校電子信息類、機電控制類等相關專業的單片機教材,同時對電子相關行業的從業技術人員也有一定的參考價值。
項目 1 LED流水燈的設計與制作 001
項目任務描述 001
學習目標 001
學習與工作內容 002
學業評價 002
任務 1.1 初識單片機 003
1.1.1 單片機的外觀模樣 003
1.1.2 單片機的應用領域 003
1.1.3 MCS-51系列單片機 004
1.1.4 單片機的信號引腳 005
1.1.5 單片機的內部結構 006
1.1.6 單片機的并行端口 007
1.1.7 單片機的時鐘與復位 010
1.1.8 單片機的存儲器組織 012
1.1.9 單片機的程序存儲器 012
1.1.10 單片機的數據存儲器 013
1.1.11 單片機的特殊功能寄存器 014
1.1.12 單片機的片外數據存儲器 016
任務 1.2 點亮你的 LED燈 016
1.2.1 最簡單的單片機系統 016
1.2.2 怎樣使用單片機 017
1.2.3 Keil μVision5 C51軟件的操作使用 019
1.2.4 Proteus8.5軟件的操作使用 028
1.2.5 點亮單只 LED發光管 031
任務 1.3 認識單片機的 C語言 035
1.3.1 單片機的 C語言 035
1.3.2 C51的基本數據類型 036
1.3.3 C51的基本運算 036
1.3.4 C51的流程控制語句 040
1.3.5 C51的函數 042
任務 1.4 按鍵控制 LED燈 051
1.4.1 按鍵的工作原理 051
1.4.2 按鍵的軟件檢測 051
1.4.3 硬件電路與軟件程序設計 052
任務 1.5 按鍵控制 LED流水燈的設計與實現 054
1.5.1 任務與計劃 054
1.5.2 按鍵控制移位點亮 LED 055
1.5.3 按鍵控制流水燈軟硬件設計 058
1.5.4 調試與仿真運行 060
1.5.5 實物制作效果 060
拓展任務矩陣鍵盤控制的設計與應用 061
總結與思考 068
習題 069
項目 2 電子鐘的設計與制作 070
項目任務描述 070
學習目標 070
學習與工作內容 070
學業評價 071
任務 2.1 單片機的中斷系統 072
2.1.1 什么是單片機的中斷 072
2.1.2 單片機中斷的應用 073
任務 2.2 認識單片機的計數器/定時器 079
2.2.1單片機的定時器/計數器 079
2.2.2 定時器/計數器的工作方式 082
任務 2.3點亮一個數碼管 086
2.3.1 7段 LED數碼管顯示器 086
2.3.2數碼管的靜態顯示 087
任務 2.4 點亮多位數碼管 089
任務 2.5 簡易秒表的設計與實現 092
2.5.1 任務與計劃 092
2.5.2 硬件電路與軟件程序設計 092
2.5.3 調試與仿真運行 096
任務 2.6 電子鐘的設計與實現 097
2.6.1 任務與計劃 097
2.6.2 硬件電路與軟件程序設計 097
2.6.3 調試與仿真運行 107
2.6.4 電子鐘實物制作 108
拓展任務交通燈系統的設計與應用 109
總結與思考 113
習題 114
項目 3 串口控制終端的設計與實現 116
項目任務描述 116
學習目標 116
學習與工作內容 117
學業評價 117
任務 3.1 認識串行通信與串行口 118
3.1.1 串行通信的概念 118
3.1.2 單片機串行口的結構與控制寄存器 121
3.1.3 單片機串行口的工作方式 122
3.1.4 串行口的波特率 123
任務 3.2 單片機的雙機通信 125
3.2.1 任務與計劃 125
3.2.2 案例硬件電路與軟件程序設計 125
3.2.3 調試與仿真運行 128
任務 3.3 單片機與 PC串行通信 128
3.3.1 任務與計劃 128
3.3.2 案例硬件電路與軟件程序設計 129
3.3.3 調試與仿真運行 131
任務3.4 串口控制終端的設計與實現 132
3.4.1 任務與計劃 132
3.4.2 案例硬件電路與軟件程序設計 133
3.4.3 調試與仿真運行 140
拓展任務串行通信接口與 MODBUS通信協議 141
總結與思考 146
習題 147
項目 4 數字電壓表的設計與實現 149
項目任務描述 149
學習目標 149
學習與工作內容 149
學業評價 150
任務 4.1 認識 LCD1602液晶顯示屏 151
4.1.1 LCD1602液晶顯示模塊簡介 151
4.1.2 LCD1602液晶顯示模塊的顯示方法 152
4.1.3 單片機控制 LCD1602液晶顯示模塊的電路圖設計 154
4.1.4 單片機控制液晶顯示模塊程序編寫 155
4.1.5 液晶顯示模塊運行效果 157
任務4.2 認識A/D轉換器芯片ADC0809 158
4.2.1 A/D轉換相關概念 158
4.2.2 了解ADC0809芯片的功能以及使用方法 158
任務 4.3 數字電壓表的設計與實現 160
4.3.1 任務與計劃 160
4.3.2 硬件電路與軟件程序設計 160
4.3.3調試與仿真運行 164
4.3.4 實物制作調試 165
拓展任務基于 DA0832的簡易信號發生器的設計與應用 165
總結與思考 175
習題 175
項目 5 數字溫度控制器的設計與制作 176
項目任務描述 176
學習目標 176
學習與工作內容 176
學業評價 177
任務 5.1 認識數字溫度傳感器 178
5.1.1 DS18B20數字溫度傳感器 178
5.1.2 傳感器的讀寫時序 179
5.1.3 傳感器的操作使用 183
任務 5.2 溫度報警器的設計 184
5.2.1 任務與計劃 184
5.2.2 硬件電路與軟件程序設計 185
5.2.3 調試與仿真運行 188
任務 5.3 直流電機控制器的設計 190
5.3.1 任務與計劃 190
5.3.2 電機的 PWM驅動 190
5.3.3 硬件電路與軟件程序設計 191
5.3.4 調試與仿真運行 197任務
5.4 數字溫度控制器的設計 198
5.4.1 任務與計劃 198
5.4.2 硬件電路與軟件程序設計 198
5.4.3 調試與仿真運行 203
5.4.4 實物運行圖 204
任務 5.5建立自己的函數庫——以 LCD1602液晶顯示屏相關驅動函數為例 205
5.5.1 編寫頭文件 lcd1602.h 205
5.5.2 編寫實現文件 lcd1602.c 207
5.5.3 運用 lcd1602.h與 lcd1602.c完成項目 5中的任務 2 210
拓展任務數字溫濕度監測系統 213
總結與思考 223
習題 224
項目 6 電子日歷的設計與實現 225
項目任務描述 225
學習目標 225
學習與工作內容 226
學業評價 226
任務6.1 認識SPI總線 227
6.1.1 SPI總線擴展原理 227
6.1.2使用 I/O端口來模擬 SPI總線 229
6.1.3 SPI總線在單片機系統中的應用 230
任務6.2 認識實時時鐘電路 232
6.2.1 DS1302的使用說明 232
6.2.2 DS1302的應用設計 238
任務6.3認識LCD12864液晶顯示屏 242
6.3.1 LCD12864液晶顯示模塊的操作使用 242
6.3.2LCD12864液晶顯示模塊的應用設計 249
任務6.4 電子日歷的設計 254
6.4.1 任務與計劃 254
6.4.2 硬件電路與軟件程序設計 255
6.4.3 調試與仿真 262
拓展任務基于 I 2C總線的 E 2PROM應用 263
總結與思考 275
習題 276
參考文獻 277