新編51單片機(jī)C語(yǔ)言教程:從入門到精通實(shí)例詳解全攻略(第2版)
定 價(jià):59 元
- 作者:蔡杏山
- 出版時(shí)間:2024/6/1
- ISBN:9787121476747
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1;TP312.8
- 頁(yè)碼:240
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)是一本以實(shí)例詳解方式介紹51單片機(jī)與C語(yǔ)言編程的圖書(shū),主要內(nèi)容有單片機(jī)入門、51單片機(jī)的硬件系統(tǒng)、Keil C51編程軟件的使用、單片機(jī)驅(qū)動(dòng)LED與LED數(shù)碼管的電路及編程、中斷的使用及編程、定時(shí)器/計(jì)數(shù)器的使用及編程、獨(dú)立按鍵與矩陣鍵盤(pán)輸入電路及編程、點(diǎn)陣和液晶顯示屏的使用及編程、步進(jìn)電動(dòng)機(jī)的使用及編程、串行通信的使用及編程、I2C總線通信的使用及編程、AD(模數(shù))與DA(數(shù)模)轉(zhuǎn)換電路及編程。本書(shū)具有講解由淺入深、語(yǔ)言通俗易懂的特點(diǎn),并且內(nèi)容結(jié)構(gòu)安排符合學(xué)習(xí)認(rèn)知規(guī)律,適合作為初學(xué)者學(xué)習(xí)51單片機(jī)及編程的自學(xué)圖書(shū),也適合作為職業(yè)院校電類專業(yè)的單片機(jī)教材。
蔡杏山,電工電子領(lǐng)域?qū)<遥卸嗄杲虒W(xué)經(jīng)驗(yàn),曾先后任教不同的大、中專院校,培訓(xùn)班,所授課程涉及廣泛,已編著出版各類電工電子類圖書(shū)超過(guò)100種,并創(chuàng)單本銷量10萬(wàn)冊(cè)以上的佳績(jī),深受讀者好評(píng)。
第1章 單片機(jī)入門 1
1.1 單片機(jī)簡(jiǎn)介 1
1.1.1 什么是單片機(jī) 1
1.1.2 單片機(jī)應(yīng)用系統(tǒng)的組成及舉例說(shuō)明 2
1.1.3 單片機(jī)的分類 3
1.1.4 單片機(jī)的應(yīng)用領(lǐng)域 4
1.2 用實(shí)例了解單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程 5
1.2.1 明確控制要求并選擇合適型號(hào)的單片機(jī) 5
1.2.2 設(shè)計(jì)單片機(jī)電路原理圖 5
1.2.3 制作單片機(jī)電路 6
1.2.4 用Keil 軟件編寫(xiě)單片機(jī)控制程序 7
1.2.5 計(jì)算機(jī)、單片機(jī)和下載(燒錄)器的連接 10
1.2.6 用燒錄軟件將程序?qū)懭雴纹瑱C(jī) 13
1.2.7 單片機(jī)的供電與測(cè)試 15
1.3 與單片機(jī)有關(guān)的基礎(chǔ)知識(shí) 17
1.3.1 單片機(jī)基礎(chǔ)電路 17
1.3.2 數(shù)制與數(shù)制的轉(zhuǎn)換 24
1.3.3 數(shù)的表示及運(yùn)算 27
1.4 C51語(yǔ)言基礎(chǔ) 29
1.4.1 常量 29
1.4.2 變量 30
1.4.3 運(yùn)算符 31
1.4.4 關(guān)鍵字 34
1.4.5 數(shù)組 35
1.4.6 循環(huán)語(yǔ)句 36
1.4.7 選擇語(yǔ)句 37
第2章 51單片機(jī)的硬件系統(tǒng) 40
2.1 8051單片機(jī)的引腳功能與內(nèi)部結(jié)構(gòu) 40
2.1.1 引腳功能說(shuō)明 40
2.1.2 單片機(jī)與片外存儲(chǔ)器的連接與控制 43
2.1.3 內(nèi)部結(jié)構(gòu)說(shuō)明 44
2.2 8051單片機(jī)I/O端口的結(jié)構(gòu)與工作原理 47
2.2.1 P0端口 47
2.2.2 P1端口 48
2.2.3 P2端口 49
2.2.4 P3端口 50
2.3 8051單片機(jī)的存儲(chǔ)器 51
2.3.1 存儲(chǔ)器的存儲(chǔ)單位與編址 51
2.3.2 片內(nèi)、片外程序存儲(chǔ)器的使用與編址 52
2.3.3 片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器的使用與編址 53
2.3.4 數(shù)據(jù)存儲(chǔ)器的分區(qū) 53
2.3.5 特殊功能寄存器的介紹 56
2.4 STC89C5x系列單片機(jī)介紹 59
2.4.1 STC89C5x單片機(jī)的版本、封裝形式和引腳功能說(shuō)明 60
2.4.2 STC89C5x系列單片機(jī)的型號(hào)命名規(guī)則 63
2.4.3 STC89C5x系列單片機(jī)的主要參數(shù) 64
2.4.4 STC89C5x系列單片機(jī)的I/O端口 65
2.4.5 STC89C5x系列單片機(jī)的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器 67
2.4.6 STC89C5x系列單片機(jī)的特殊功能寄存器 69
第3章 Keil C51編程軟件的使用 71
3.1 Keil C51軟件的安裝 71
3.1.1 Keil C51軟件的版本及獲取 71
3.1.2 Keil C51軟件的安裝 71
3.2 程序的編寫(xiě)與編譯 73
3.2.1 啟動(dòng)Keil C51軟件并新建工程文件 73
3.2.2 新建源程序文件并與工程關(guān)聯(lián)起來(lái) 75
3.2.3 編寫(xiě)程序 77
3.2.4 編譯程序 79
3.3 程序的仿真與調(diào)試 82
3.3.1 軟件仿真調(diào)試 82
3.3.2 硬件仿真調(diào)試 88
第4章 單片機(jī)驅(qū)動(dòng)LED與LED數(shù)碼管的電路及編程 91
4.1 單片機(jī)驅(qū)動(dòng)LED的電路及編程 91
4.1.1 發(fā)光二極管(LED)的外形、性質(zhì)與檢測(cè) 91
4.1.2 單片機(jī)連接8個(gè)LED的電路 93
4.1.3 采用位操作與字節(jié)操作方式點(diǎn)亮單個(gè)LED的程序及詳解 94
4.1.4 單個(gè)LED閃爍發(fā)光的程序及詳解 96
4.1.5 單個(gè)LED以不同頻率閃爍發(fā)光的程序及詳解 97
4.1.6 采用位操作和字節(jié)操作方式點(diǎn)亮多個(gè)LED的程序及詳解 98
4.1.7 多個(gè)LED以不同頻率閃爍發(fā)光的程序及詳解 99
4.1.8 多個(gè)LED左移和右移的程序及詳解 99
4.1.9 LED循環(huán)左移和右移的程序及詳解 101
4.1.10 LED左右移動(dòng)并閃爍發(fā)光的程序及詳解 102
4.1.11 用查表方式控制LED發(fā)光的程序及詳解 103
4.1.12 LED花樣發(fā)光的程序及詳解 104
4.1.13 用PWM(脈寬調(diào)制)方式調(diào)節(jié)LED亮度的原理與程序 104
4.2 單片機(jī)驅(qū)動(dòng)一位LED數(shù)碼管顯示的電路及編程 106
4.2.1 一位LED數(shù)碼管的外形、結(jié)構(gòu)與檢測(cè) 106
4.2.2 單片機(jī)連接單個(gè)數(shù)碼管的電路 108
4.2.3 單個(gè)數(shù)碼管靜態(tài)顯示一個(gè)字符的程序及詳解 109
4.2.4 單個(gè)數(shù)碼管動(dòng)態(tài)顯示多個(gè)字符的程序及詳解 109
4.2.5 單個(gè)數(shù)碼管環(huán)形顯示的程序及詳解 110
4.2.6 單個(gè)數(shù)碼管顯示邏輯電平的程序及詳解 111
4.3 單片機(jī)驅(qū)動(dòng)8位LED數(shù)碼管顯示的電路及編程 111
4.3.1 多位LED數(shù)碼管的外形、結(jié)構(gòu)與檢測(cè) 111
4.3.2 單片機(jī)連接8位共陰極數(shù)碼管的電路 113
4.3.3 8位數(shù)碼管顯示1個(gè)字符的程序及詳解 114
4.3.4 8位數(shù)碼管逐位顯示8個(gè)字符的程序及詳解 115
4.3.5 8位數(shù)碼管同時(shí)顯示8個(gè)字符的程序及詳解 116
4.3.6 8位數(shù)碼管動(dòng)態(tài)顯示8個(gè)以上字符的程序及詳解 116
第5章 中斷的使用及編程 118
5.1 中斷的基本概念與處理過(guò)程 118
5.1.1 中斷的基本概念 118
5.1.2 中斷的處理過(guò)程 118
5.2 中斷系統(tǒng)結(jié)構(gòu)與控制寄存器 119
5.2.1 中斷系統(tǒng)結(jié)構(gòu) 119
5.2.2 中斷源寄存器 120
5.2.3 中斷允許寄存器 121
5.2.4 中斷優(yōu)先級(jí)控制寄存器 122
5.3 中斷的應(yīng)用編程舉例 123
5.3.1 中斷使用的電路例圖 123
5.3.2 外部中斷0以低電平方式觸發(fā)中斷的程序 123
5.3.3 外部中斷1以下降沿方式觸發(fā)中斷的程序 124
第6章 定時(shí)器/計(jì)數(shù)器的使用及編程 126
6.1 定時(shí)器/計(jì)數(shù)器的定時(shí)與計(jì)數(shù)功能 126
6.1.1 定時(shí)功能 126
6.1.2 計(jì)數(shù)功能 127
6.2 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)與工作原理 127
6.2.1 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu) 127
6.2.2 定時(shí)器/計(jì)數(shù)器的工作原理 128
6.3 定時(shí)器/計(jì)數(shù)器的控制寄存器與工作方式 129
6.3.1 TCON寄存器 129
6.3.2 TMOD寄存器 130
6.3.3 定時(shí)器/計(jì)數(shù)器的工作方式 131
6.4 定時(shí)器/計(jì)數(shù)器的應(yīng)用及編程 135
6.4.1 產(chǎn)生1kHz方波信號(hào)的程序及詳解 135
6.4.2 產(chǎn)生50kHz方波信號(hào)的程序及詳解 136
6.4.3 產(chǎn)生周期為1s方波信號(hào)的程序及詳解 137
第7章 獨(dú)立按鍵與矩陣鍵盤(pán)輸入電路及編程 139
7.1 獨(dú)立按鍵輸入電路及編程 139
7.1.1 因開(kāi)關(guān)輸入產(chǎn)生的抖動(dòng)及軟、硬件解決方法 139
7.1.2 8個(gè)獨(dú)立按鍵與8個(gè)LED的單片機(jī)電路 140
7.1.3 一個(gè)按鍵點(diǎn)動(dòng)控制一個(gè)LED亮滅的程序及詳解 141
7.1.4 一個(gè)按鍵鎖定控制一個(gè)LED亮滅的程序及詳解 141
7.1.5 4路搶答器的程序及詳解 142
7.1.6 獨(dú)立按鍵控制LED和LED數(shù)碼管的單片機(jī)電路 143
7.1.7 兩個(gè)按鍵控制一位數(shù)字增、減并用8位數(shù)碼管顯示的程序及詳解 144
7.1.8 兩個(gè)按鍵控制多位數(shù)字增、減并用8位數(shù)碼管顯示的程序及詳解 145
7.1.9 按鍵長(zhǎng)按與短按產(chǎn)生不同控制效果的程序及詳解 147
7.1.10 8個(gè)獨(dú)立按鍵控制LED和LED數(shù)碼管顯示的程序及詳解 149
7.2 矩陣鍵盤(pán)輸入電路及編程 151
7.2.1 16鍵矩陣鍵盤(pán)輸入與8位數(shù)碼管顯示的單片機(jī)電路 151
7.2.2 矩陣鍵盤(pán)行列掃描方式輸入和顯示的程序及詳解 153
7.2.3 中斷觸發(fā)鍵盤(pán)行列掃描的矩陣鍵盤(pán)輸入和顯示的電路及程序 156
7.2.4 矩陣鍵盤(pán)密碼鎖程序及詳解 161
第8章 點(diǎn)陣和液晶顯示屏的使用及編程 165
8.1 雙色LED點(diǎn)陣顯示屏介紹 165
8.1.1 外形 165
8.1.2 共陽(yáng)型和共陰型點(diǎn)陣的電路結(jié)構(gòu) 165
8.1.3 混色規(guī)律 166
8.1.4 點(diǎn)陣的靜態(tài)字符或圖形顯示原理 166
8.1.5 點(diǎn)陣的動(dòng)態(tài)字符或圖形顯示原理 169
8.1.6 點(diǎn)陣的識(shí)別與檢測(cè) 170
8.2 雙色LED點(diǎn)陣顯示屏的應(yīng)用電路及編程 172
8.2.1 單片機(jī)配合74HC595芯片驅(qū)動(dòng)雙色LED點(diǎn)陣的電路 172
8.2.2 雙色點(diǎn)陣顯示一種顏色字符的程序及詳解 173
8.2.3 雙色點(diǎn)陣交替顯示兩種顏色字符的程序及詳解 176
8.2.4 字符移入和移出點(diǎn)陣的程序及詳解 177
第9章 步進(jìn)電動(dòng)機(jī)的使用及編程 181
9.1 步進(jìn)電動(dòng)機(jī)與驅(qū)動(dòng)芯片介紹 181
9.1.1 步進(jìn)電動(dòng)機(jī)的結(jié)構(gòu)與工作原理 181
9.1.2 驅(qū)動(dòng)芯片ULN2003 184
9.1.3 五線四相步進(jìn)電動(dòng)機(jī) 186
9.2 單片機(jī)驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)的電路及編程 187
9.2.1 由按鍵、單片機(jī)、驅(qū)動(dòng)芯片和數(shù)碼管構(gòu)成的步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)電路 187
9.2.2 用單四拍方式驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)正轉(zhuǎn)的程序及詳解 188
9.2.3 用雙四拍方式驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)自動(dòng)正反轉(zhuǎn)的程序及詳解 188
9.2.4 用外部中斷信號(hào)控制步進(jìn)電動(dòng)機(jī)正反轉(zhuǎn)的程序及詳解 190
第10章 串行通信的使用及編程 192
10.1 概述 192
10.1.1 串行通信的兩種方式 192
10.1.2 串行通信的數(shù)據(jù)傳送方式 194
10.2 串行通信口的結(jié)構(gòu)與工作原理 195
10.2.1 串行通信口的結(jié)構(gòu) 195
10.2.2 串行通信口的工作原理 196
10.3 串行通信口的控制寄存器 196
10.3.1 串行控制寄存器(SCON) 196
10.3.2 電源控制寄存器(PCON) 197
10.4 串行通信口的4種工作方式與波特率的設(shè)置 197
10.4.1 方式0 197
10.4.2 方式1 199
10.4.3 方式2 199
10.4.4 方式3 200
10.4.5 波特率的設(shè)置 200
10.5 串行通信口的應(yīng)用編程 202
10.5.1 利用串行通信口工作在方式0實(shí)現(xiàn)產(chǎn)品計(jì)數(shù)顯示的電路及編程 202
10.5.2 利用串行通信口工作在方式1實(shí)現(xiàn)雙機(jī)通信的電路及編程 203
第11章 I2C總線通信的使用及編程 207
11.1 I2C總線介紹 207
11.1.1 概述 207
11.1.2 I2C總線的通信協(xié)議 208
11.1.3 I2C總線的數(shù)據(jù)傳送格式 208
11.2 24C02存儲(chǔ)芯片 209
11.2.1 24C02的外形與引腳功能 209
11.2.2 器件地址的設(shè)置 210
11.2.3 讀/寫(xiě)操作 210
11.3 單片機(jī)與24C02的I2C總線通信電路及編程 213
11.3.1 模擬I2C總線通信的程序及詳解 213
11.3.2 利用I2C總線從24C02讀寫(xiě)一個(gè)數(shù)據(jù)并用LED顯示的電路及程序 216
11.3.3 利用I2C總線從24C02讀寫(xiě)多個(gè)數(shù)據(jù)并用LED顯示的電路及程序 217
第12章 AD(模數(shù))與DA(數(shù)模)轉(zhuǎn)換電路及編程 219
12.1 AD與DA轉(zhuǎn)換 219
12.1.1 AD轉(zhuǎn)換 219
12.1.2 DA轉(zhuǎn)換 221
12.2 AD與DA轉(zhuǎn)換芯片PCF8591 221
12.2.1 外形與引腳功能說(shuō)明 222
12.2.2 器件地址和內(nèi)部電路功能設(shè)置 222
12.3 由PCF8591芯片構(gòu)成的AD和DA轉(zhuǎn)換電路及編程 224
12.3.1 由單片機(jī)、PCF8591芯片與8位數(shù)碼管構(gòu)成的轉(zhuǎn)換及顯示電路 224
12.3.2 1路AD轉(zhuǎn)換并顯示轉(zhuǎn)換值的程序及詳解 225
12.3.3 DA轉(zhuǎn)換輸出顯示的程序及詳解 227