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