新編51單片機C語言教程:從入門到精通實例詳解全攻略(第2版)
定 價:59 元
- 作者:蔡杏山
- 出版時間:2024/6/1
- ISBN:9787121476747
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1;TP312.8
- 頁碼:240
- 紙張:
- 版次:01
- 開本:16開
本書是一本以實例詳解方式介紹51單片機與C語言編程的圖書,主要內容有單片機入門、51單片機的硬件系統(tǒng)、Keil C51編程軟件的使用、單片機驅動LED與LED數碼管的電路及編程、中斷的使用及編程、定時器/計數器的使用及編程、獨立按鍵與矩陣鍵盤輸入電路及編程、點陣和液晶顯示屏的使用及編程、步進電動機的使用及編程、串行通信的使用及編程、I2C總線通信的使用及編程、AD(模數)與DA(數模)轉換電路及編程。本書具有講解由淺入深、語言通俗易懂的特點,并且內容結構安排符合學習認知規(guī)律,適合作為初學者學習51單片機及編程的自學圖書,也適合作為職業(yè)院校電類專業(yè)的單片機教材。
蔡杏山,電工電子領域專家,有多年教學經驗,曾先后任教不同的大、中專院校,培訓班,所授課程涉及廣泛,已編著出版各類電工電子類圖書超過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 單片機的應用領域 4
1.2 用實例了解單片機應用系統(tǒng)的開發(fā)過程 5
1.2.1 明確控制要求并選擇合適型號的單片機 5
1.2.2 設計單片機電路原理圖 5
1.2.3 制作單片機電路 6
1.2.4 用Keil 軟件編寫單片機控制程序 7
1.2.5 計算機、單片機和下載(燒錄)器的連接 10
1.2.6 用燒錄軟件將程序寫入單片機 13
1.2.7 單片機的供電與測試 15
1.3 與單片機有關的基礎知識 17
1.3.1 單片機基礎電路 17
1.3.2 數制與數制的轉換 24
1.3.3 數的表示及運算 27
1.4 C51語言基礎 29
1.4.1 常量 29
1.4.2 變量 30
1.4.3 運算符 31
1.4.4 關鍵字 34
1.4.5 數組 35
1.4.6 循環(huán)語句 36
1.4.7 選擇語句 37
第2章 51單片機的硬件系統(tǒng) 40
2.1 8051單片機的引腳功能與內部結構 40
2.1.1 引腳功能說明 40
2.1.2 單片機與片外存儲器的連接與控制 43
2.1.3 內部結構說明 44
2.2 8051單片機I/O端口的結構與工作原理 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 片內、片外程序存儲器的使用與編址 52
2.3.3 片內、片外數據存儲器的使用與編址 53
2.3.4 數據存儲器的分區(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系列單片機的主要參數 64
2.4.4 STC89C5x系列單片機的I/O端口 65
2.4.5 STC89C5x系列單片機的程序存儲器與數據存儲器 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 新建源程序文件并與工程關聯(lián)起來 75
3.2.3 編寫程序 77
3.2.4 編譯程序 79
3.3 程序的仿真與調試 82
3.3.1 軟件仿真調試 82
3.3.2 硬件仿真調試 88
第4章 單片機驅動LED與LED數碼管的電路及編程 91
4.1 單片機驅動LED的電路及編程 91
4.1.1 發(fā)光二極管(LED)的外形、性質與檢測 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(脈寬調制)方式調節(jié)LED亮度的原理與程序 104
4.2 單片機驅動一位LED數碼管顯示的電路及編程 106
4.2.1 一位LED數碼管的外形、結構與檢測 106
4.2.2 單片機連接單個數碼管的電路 108
4.2.3 單個數碼管靜態(tài)顯示一個字符的程序及詳解 109
4.2.4 單個數碼管動態(tài)顯示多個字符的程序及詳解 109
4.2.5 單個數碼管環(huán)形顯示的程序及詳解 110
4.2.6 單個數碼管顯示邏輯電平的程序及詳解 111
4.3 單片機驅動8位LED數碼管顯示的電路及編程 111
4.3.1 多位LED數碼管的外形、結構與檢測 111
4.3.2 單片機連接8位共陰極數碼管的電路 113
4.3.3 8位數碼管顯示1個字符的程序及詳解 114
4.3.4 8位數碼管逐位顯示8個字符的程序及詳解 115
4.3.5 8位數碼管同時顯示8個字符的程序及詳解 116
4.3.6 8位數碼管動態(tài)顯示8個以上字符的程序及詳解 116
第5章 中斷的使用及編程 118
5.1 中斷的基本概念與處理過程 118
5.1.1 中斷的基本概念 118
5.1.2 中斷的處理過程 118
5.2 中斷系統(tǒng)結構與控制寄存器 119
5.2.1 中斷系統(tǒng)結構 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章 定時器/計數器的使用及編程 126
6.1 定時器/計數器的定時與計數功能 126
6.1.1 定時功能 126
6.1.2 計數功能 127
6.2 定時器/計數器的結構與工作原理 127
6.2.1 定時器/計數器的結構 127
6.2.2 定時器/計數器的工作原理 128
6.3 定時器/計數器的控制寄存器與工作方式 129
6.3.1 TCON寄存器 129
6.3.2 TMOD寄存器 130
6.3.3 定時器/計數器的工作方式 131
6.4 定時器/計數器的應用及編程 135
6.4.1 產生1kHz方波信號的程序及詳解 135
6.4.2 產生50kHz方波信號的程序及詳解 136
6.4.3 產生周期為1s方波信號的程序及詳解 137
第7章 獨立按鍵與矩陣鍵盤輸入電路及編程 139
7.1 獨立按鍵輸入電路及編程 139
7.1.1 因開關輸入產生的抖動及軟、硬件解決方法 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數碼管的單片機電路 143
7.1.7 兩個按鍵控制一位數字增、減并用8位數碼管顯示的程序及詳解 144
7.1.8 兩個按鍵控制多位數字增、減并用8位數碼管顯示的程序及詳解 145
7.1.9 按鍵長按與短按產生不同控制效果的程序及詳解 147
7.1.10 8個獨立按鍵控制LED和LED數碼管顯示的程序及詳解 149
7.2 矩陣鍵盤輸入電路及編程 151
7.2.1 16鍵矩陣鍵盤輸入與8位數碼管顯示的單片機電路 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 共陽型和共陰型點陣的電路結構 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芯片驅動雙色LED點陣的電路 172
8.2.2 雙色點陣顯示一種顏色字符的程序及詳解 173
8.2.3 雙色點陣交替顯示兩種顏色字符的程序及詳解 176
8.2.4 字符移入和移出點陣的程序及詳解 177
第9章 步進電動機的使用及編程 181
9.1 步進電動機與驅動芯片介紹 181
9.1.1 步進電動機的結構與工作原理 181
9.1.2 驅動芯片ULN2003 184
9.1.3 五線四相步進電動機 186
9.2 單片機驅動步進電動機的電路及編程 187
9.2.1 由按鍵、單片機、驅動芯片和數碼管構成的步進電動機驅動電路 187
9.2.2 用單四拍方式驅動步進電動機正轉的程序及詳解 188
9.2.3 用雙四拍方式驅動步進電動機自動正反轉的程序及詳解 188
9.2.4 用外部中斷信號控制步進電動機正反轉的程序及詳解 190
第10章 串行通信的使用及編程 192
10.1 概述 192
10.1.1 串行通信的兩種方式 192
10.1.2 串行通信的數據傳送方式 194
10.2 串行通信口的結構與工作原理 195
10.2.1 串行通信口的結構 195
10.2.2 串行通信口的工作原理 196
10.3 串行通信口的控制寄存器 196
10.3.1 串行控制寄存器(SCON) 196
10.3.2 電源控制寄存器(PCON) 197
10.4 串行通信口的4種工作方式與波特率的設置 197
10.4.1 方式0 197
10.4.2 方式1 199
10.4.3 方式2 199
10.4.4 方式3 200
10.4.5 波特率的設置 200
10.5 串行通信口的應用編程 202
10.5.1 利用串行通信口工作在方式0實現(xiàn)產品計數顯示的電路及編程 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總線的數據傳送格式 208
11.2 24C02存儲芯片 209
11.2.1 24C02的外形與引腳功能 209
11.2.2 器件地址的設置 210
11.2.3 讀/寫操作 210
11.3 單片機與24C02的I2C總線通信電路及編程 213
11.3.1 模擬I2C總線通信的程序及詳解 213
11.3.2 利用I2C總線從24C02讀寫一個數據并用LED顯示的電路及程序 216
11.3.3 利用I2C總線從24C02讀寫多個數據并用LED顯示的電路及程序 217
第12章 AD(模數)與DA(數模)轉換電路及編程 219
12.1 AD與DA轉換 219
12.1.1 AD轉換 219
12.1.2 DA轉換 221
12.2 AD與DA轉換芯片PCF8591 221
12.2.1 外形與引腳功能說明 222
12.2.2 器件地址和內部電路功能設置 222
12.3 由PCF8591芯片構成的AD和DA轉換電路及編程 224
12.3.1 由單片機、PCF8591芯片與8位數碼管構成的轉換及顯示電路 224
12.3.2 1路AD轉換并顯示轉換值的程序及詳解 225
12.3.3 DA轉換輸出顯示的程序及詳解 227