51單片機(jī)編程——原理·接口·制作實(shí)例
定 價:88 元
- 作者:周長鎖 編著
- 出版時間:2023/4/1
- ISBN:9787122425102
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:269
- 紙張:
- 版次:01
- 開本:16開
本書為51單片機(jī)編程,內(nèi)容包括51單片機(jī)學(xué)習(xí)環(huán)境搭建、單片機(jī)C語言編程、單片機(jī)硬件原理、單片機(jī)接口技術(shù)和應(yīng)用實(shí)例等,既有電子愛好者關(guān)心的內(nèi)容,也有工程設(shè)計(jì)應(yīng)用方面的內(nèi)容。本書內(nèi)容講解和制作實(shí)例都以宏晶科技的STC8系統(tǒng)單片機(jī)為例,實(shí)例內(nèi)容有難有易、涵蓋面廣。
本書可供電子愛好者、單片機(jī)初學(xué)者和電子技術(shù)相關(guān)專業(yè)學(xué)生閱讀,也可作為單片機(jī)研發(fā)工程師和嵌入式軟件工程師的參考書。
51單片機(jī)是對兼容英特爾8051指令系統(tǒng)的單片機(jī)的統(tǒng)稱,學(xué)習(xí)資源豐富,應(yīng)用范圍廣泛,是單片機(jī)初學(xué)者的。51單片機(jī)使用的KeilC編程軟件有支持32位單片機(jī)的版本,學(xué)會51單片機(jī)后能比較輕松進(jìn)階32位單片機(jī)的學(xué)習(xí)。
STC8系列單片機(jī)是宏晶科技設(shè)計(jì)的51系列單片機(jī),不需要外部晶振和外部復(fù)位,具有寬電壓(1.9~5.5V)、抗干擾能力強(qiáng)、比傳統(tǒng)51單片機(jī)快約12倍等特點(diǎn),擁有豐富的數(shù)字外設(shè)(串口、定時器、PWM以及I2C、SPI)接口和模擬外設(shè)(ADC、比較器)接口,有較大容量的RAM存儲器、Flash存儲器和EEPROM存儲器。
全書共分為9章,各章內(nèi)容安排如下。
第1章為51單片機(jī)學(xué)習(xí)路線。講解了單片機(jī)基本工作原理和入門學(xué)習(xí)方法以及注意事項(xiàng),說明如何搭建學(xué)習(xí)環(huán)境,如何安裝使用C語言編程軟件和程序下載軟件。
第2章為51單片機(jī)C語言編程。包括數(shù)的進(jìn)制、數(shù)據(jù)基本類型、數(shù)據(jù)構(gòu)造類型、運(yùn)算符、選擇語句和循環(huán)語句等基礎(chǔ)知識。KeilC軟件應(yīng)用重點(diǎn)講解程序的基本構(gòu)成、常用的內(nèi)部函數(shù)庫以及程序的調(diào)試方法。常用算法講解了通信數(shù)據(jù)校驗(yàn)、頻譜分析FFT、自動控制PID。
第3章為STC8單片機(jī)硬件結(jié)構(gòu)。包括時鐘、中斷、存儲器、I/O口、定時器/計(jì)數(shù)器、比較器、ADC模數(shù)轉(zhuǎn)換和PWM定時等功能,通過實(shí)例程序掌握如何通過特殊寄存器驅(qū)動單片機(jī)硬件,實(shí)現(xiàn)輸入檢測、輸出控制和通信等功能。
第4章為51單片機(jī)通信接口。講解了STC8系列單片機(jī)的串口、I2C和SPI通信接口工作原理和應(yīng)用實(shí)例。
第5章為單片機(jī)硬件接口擴(kuò)展和外部數(shù)據(jù)存儲擴(kuò)展。硬件接口包括開關(guān)量輸入輸出和模擬量輸入輸出外部電路,單片機(jī)通過硬件接口擴(kuò)展采集信息、控制外部設(shè)備工作。外部數(shù)據(jù)存儲擴(kuò)展包括TF卡和U盤的數(shù)據(jù)讀寫操作。
第6章為單片機(jī)與功能模塊配合應(yīng)用。單片機(jī)設(shè)計(jì)產(chǎn)品時可以直接選用現(xiàn)有功能模塊,能在很大程度上降低電路設(shè)計(jì)難度,提高產(chǎn)品設(shè)計(jì)效率。
第7章為以太網(wǎng)通信。講解了以太網(wǎng)控制器W5500和DM9000A的單片機(jī)控制方法,介紹了TCP/IP通信基本知識和TCP/IP簡易協(xié)議棧的實(shí)現(xiàn)方法。
第8章為無線通信。單片機(jī)通過串口連接各種無線模塊,實(shí)現(xiàn)藍(lán)牙、WiFi、GPRS、窄帶物聯(lián)網(wǎng)NB-IoT和長距離無線LoRa等無線通信。
第9章為電子愛好者工具DIY實(shí)例。包括可調(diào)直流穩(wěn)壓電源和白光烙鐵控制器以及USB接口虛擬萬用表,其中USB接口虛擬萬用表能測量交直流電壓和電流、電阻、電容及二極管壓降。
由于水平有限,書中不足之處在所難免,懇請廣大讀者批評指正。
編著者
第1章 51單片機(jī)學(xué)習(xí)路線 001
1.1 單片機(jī)學(xué)習(xí)環(huán)境搭建 001
1.1.1 編程軟件KeilC 001
1.1.2 程序下載軟件STC-ISP 003
1.1.3 STC8單片機(jī)學(xué)習(xí)板 006
1.1.4 第一個測試程序 006
1.2 單片機(jī)基本知識 014
1.2.1 C語言基本概念 014
1.2.2 單片機(jī)硬件基本原理 016
1.2.3 軟、硬件接口-特殊功能寄存器 019
1.3 單片機(jī)學(xué)習(xí)進(jìn)階 022
1.3.1 單片機(jī)學(xué)習(xí)的幾個階段 022
1.3.2 單片機(jī)項(xiàng)目開發(fā)流程 023
第2章 51單片機(jī)C語言編程 024
2.1 編程基礎(chǔ) 024
2.1.1 數(shù)的進(jìn)制 024
2.1.2 常量和變量 025
2.1.3 數(shù)據(jù)的基本類型 027
2.1.4 數(shù)據(jù)的構(gòu)造類型 028
2.1.5 運(yùn)算符 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ù)校驗(yàn) 046
2.3.2 頻譜分析FFT 048
2.3.3 自動控制PID 050
第3章 STC8單片機(jī)硬件結(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系列單片機(jī)中斷列表 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 流水燈控制實(shí)例 067
3.5 定時器/計(jì)數(shù)器 069
3.5.1 定時器/計(jì)數(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實(shí)現(xiàn)16位DAC(數(shù)模轉(zhuǎn)換) 084
第4章 51單片機(jī)通信接口 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測溫實(shí)例 096
4.3 SPI通信 102
4.3.1 SPI通信基本原理 102
4.3.2 SPI相關(guān)寄存器配置 104
4.3.3 K型熱電偶測溫實(shí)例 104
第5章 單片機(jī)硬件接口擴(kuò)展和外部存儲擴(kuò)展 110
5.1 開關(guān)量輸入/輸出 110
5.1.1 開關(guān)量輸入 110
5.1.2 開關(guān)量輸出 114
5.1.3 開關(guān)量數(shù)量擴(kuò)展 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)用實(shí)例 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章 單片機(jī)與功能模塊配合應(yīng)用 154
6.1 串口接口模塊 154
6.1.1 NFC模塊PN532 154
6.1.2 GPS模塊ATGM336H 158
6.1.3 紅外體溫計(jì)模塊GY-614V 161
6.1.4 紅外點(diǎn)陣測溫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 藍(lán)牙遙控實(shí)例 218
8.1.1 電路設(shè)計(jì) 218
8.1.2 單片機(jī)編程 219
8.1.3 手機(jī)編程 221
8.2 WiFi遙控實(shí)例 229
8.2.1 電路設(shè)計(jì) 229
8.2.2 單片機(jī)編程 230
8.2.3 手機(jī)編程 231
8.3 GPRS遙控實(shí)例 234
8.3.1 電路設(shè)計(jì) 234
8.3.2 單片機(jī)編程 235
8.3.3 手機(jī)遙控 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實(shí)例 241
9.1 可調(diào)直流穩(wěn)壓電源和白光烙鐵控制器 241
9.1.1 電路設(shè)計(jì) 241
9.1.2 人機(jī)接口—串口觸摸屏 243
9.1.3 單片機(jī)編程 245
9.2 USB接口虛擬萬用表 250
9.2.1 電路設(shè)計(jì) 250
9.2.2 單片機(jī)C51編程 252
9.2.3 Android手機(jī)編程 260
參考文獻(xiàn) 268