本書為51單片機編程,內(nèi)容包括51單片機學(xué)習(xí)環(huán)境搭建、單片機C語言編程、單片機硬件原理、單片機接口技術(shù)和應(yīng)用實例等,既有電子愛好者關(guān)心的內(nèi)容,也有工程設(shè)計應(yīng)用方面的內(nèi)容。本書內(nèi)容講解和制作實例都以宏晶科技的STC8系統(tǒng)單片機為例,實例內(nèi)容有難有易、涵蓋面廣。
本書可供電子愛好者、單片機初學(xué)者和電子技術(shù)相關(guān)專業(yè)學(xué)生閱讀,也可作為單片機研發(fā)工程師和嵌入式軟件工程師的參考書。
第1章 51單片機學(xué)習(xí)路線 001
1.1 單片機學(xué)習(xí)環(huán)境搭建 001
1.1.1 編程軟件KeilC 001
1.1.2 程序下載軟件STC-ISP 003
1.1.3 STC8單片機學(xué)習(xí)板 006
1.1.4 第一個測試程序 006
1.2 單片機基本知識 014
1.2.1 C語言基本概念 014
1.2.2 單片機硬件基本原理 016
1.2.3 軟、硬件接口-特殊功能寄存器 019
1.3 單片機學(xué)習(xí)進階 022
1.3.1 單片機學(xué)習(xí)的幾個階段 022
1.3.2 單片機項目開發(fā)流程 023
第2章 51單片機C語言編程 024
2.1 編程基礎(chǔ) 024
2.1.1 數(shù)的進制 024
2.1.2 常量和變量 025
2.1.3 數(shù)據(jù)的基本類型 027
2.1.4 數(shù)據(jù)的構(gòu)造類型 028
2.1.5 運算符 031
2.1.6 條件語句 034
2.1.7 開關(guān)語句 035
2.1.8 循環(huán)語句 035
2.1.9 注釋語句 037
2.2 KeilC軟件應(yīng)用 037
2.2.1 基本C程序結(jié)構(gòu) 037
2.2.2 復(fù)雜C程序結(jié)構(gòu) 040
2.2.3 Keil C51常用函數(shù)庫 041
2.2.4 程序調(diào)試 045
2.3 常用算法 046
2.3.1 通信數(shù)據(jù)校驗 046
2.3.2 頻譜分析FFT 048
2.3.3 自動控制PID 050
第3章 STC8單片機硬件結(jié)構(gòu) 052
3.1 時鐘 052
3.1.1 時鐘控制 052
3.1.2 系統(tǒng)復(fù)位 054
3.1.3 看門狗復(fù)位 054
3.1.4 省電模式 055
3.2 中斷 057
3.2.1 中斷基礎(chǔ)知識 057
3.2.2 STC8系列單片機中斷列表 058
3.2.3 中斷相關(guān)寄存器 059
3.3 存儲器 062
3.3.1 程序存儲器 062
3.3.2 數(shù)據(jù)存儲器 062
3.3.3 EEPROM 063
3.4 I/O口 065
3.4.1 I/O口結(jié)構(gòu) 065
3.4.2 I/O口模式配置 067
3.4.3 流水燈控制實例 067
3.5 定時器/計數(shù)器 069
3.5.1 定時器/計數(shù)器工作模式 069
3.5.2 定時器相關(guān)寄存器配置 071
3.5.3 LED數(shù)碼管驅(qū)動示例 074
3.6 比較器 077
3.6.1 比較器功能說明 077
3.6.2 比較器相關(guān)寄存器配置 077
3.6.3 比較器中斷功能測試 078
3.7 ADC模數(shù)轉(zhuǎn)換 080
3.7.1 A/D轉(zhuǎn)換器 080
3.7.2 ADC相關(guān)寄存器配置 081
3.7.3 直流電壓測量示例 082
3.8 PWM定時器 084
3.8.1 PWM功能簡介 084
3.8.2 用PWM實現(xiàn)16位DAC(數(shù)模轉(zhuǎn)換) 084
第4章 51單片機通信接口 087
4.1 串口通信 087
4.1.1 串口通信基本原理 087
4.1.2 串口相關(guān)寄存器配置 088
4.1.3 串口通信示例 090
4.2 I2C通信 093
4.2.1 I2C通信基本原理 093
4.2.2 I2C總線相關(guān)寄存器配置 093
4.2.3 LM75A測溫實例 096
4.3 SPI通信 102
4.3.1 SPI通信基本原理 102
4.3.2 SPI相關(guān)寄存器配置 104
4.3.3 K型熱電偶測溫實例 104
第5章 單片機硬件接口擴展和外部存儲擴展 110
5.1 開關(guān)量輸入/輸出 110
5.1.1 開關(guān)量輸入 110
5.1.2 開關(guān)量輸出 114
5.1.3 開關(guān)量數(shù)量擴展 116
5.2 模擬量輸入/輸出 119
5.2.1 模擬量輸入轉(zhuǎn)換 119
5.2.2 外接AD轉(zhuǎn)換電路 122
5.2.3 外接DA轉(zhuǎn)換電路 124
5.2.4 電子秤電路應(yīng)用實例 127
5.3 PWM功能應(yīng)用 129
5.3.1 轉(zhuǎn)速測量 129
5.3.2 DC 4~20mA信號輸出調(diào)試工具 131
5.4 數(shù)據(jù)存儲 141
5.4.1 TF卡 141
5.4.2 U盤 149
第6章 單片機與功能模塊配合應(yīng)用 154
6.1 串口接口模塊 154
6.1.1 NFC模塊PN532 154
6.1.2 GPS模塊ATGM336H 158
6.1.3 紅外體溫計模塊GY-614V 161
6.1.4 紅外點陣測溫MLX90640模塊 163
6.2 其他接口模塊 170
6.2.1 加速度傳感器MMA7361 170
6.2.2 鉑電阻測溫MAX31865 171
6.2.3 超聲波測距模塊JSN-SR04T 176
第7章 以太網(wǎng)通信 178
7.1 W5500網(wǎng)絡(luò)通信 178
7.1.1 W5500簡介 178
7.1.2 W5500驅(qū)動程序 180
7.1.3 TCP-Server通信測試 188
7.1.4 TCP-Client通信測試 191
7.1.5 UDP通信測試 192
7.2 DM9000A網(wǎng)絡(luò)通信 195
7.2.1 DM9000A簡介 195
7.2.2 DM9000A驅(qū)動程序 200
7.2.3 以太網(wǎng)幀格式 203
7.2.4 軟件TCP/IP協(xié)議棧 206
7.2.5 網(wǎng)絡(luò)通信編程 213
第8章 無線通信 218
8.1 藍牙遙控實例 218
8.1.1 電路設(shè)計 218
8.1.2 單片機編程 219
8.1.3 手機編程 221
8.2 WiFi遙控實例 229
8.2.1 電路設(shè)計 229
8.2.2 單片機編程 230
8.2.3 手機編程 231
8.3 GPRS遙控實例 234
8.3.1 電路設(shè)計 234
8.3.2 單片機編程 235
8.3.3 手機遙控 237
8.4 無線通信網(wǎng)絡(luò)簡介 238
8.4.1 無線通信網(wǎng)絡(luò)應(yīng)用 238
8.4.2 長距離無線通信LoRa 238
8.4.3 窄帶物聯(lián)網(wǎng)NB-IoT 239
第9章 電子愛好者工具DIY實例 241
9.1 可調(diào)直流穩(wěn)壓電源和白光烙鐵控制器 241
9.1.1 電路設(shè)計 241
9.1.2 人機接口—串口觸摸屏 243
9.1.3 單片機編程 245
9.2 USB接口虛擬萬用表 250
9.2.1 電路設(shè)計 250
9.2.2 單片機C51編程 252
9.2.3 Android手機編程 260
參考文獻 268