從零開始學(xué)51單片機(jī)C語言 采用新穎的講解形式,深入淺出地介紹了51單片機(jī)的組成、開發(fā)環(huán)境及單片機(jī)C語言基礎(chǔ)知識(shí),結(jié)合大量實(shí)例,詳細(xì)演練了中斷、定時(shí)器、串行通信、鍵盤接口、LED數(shù)碼管、LCD顯示器、DS1302時(shí)鐘芯片、EEPROM存儲(chǔ)器、單片機(jī)看門狗、溫度傳感器DS18B20、紅外和無線遙控電路、A/D和D/A轉(zhuǎn)換器、步進(jìn)電機(jī)、語音電路、LED點(diǎn)陣屏等內(nèi)容。本書中的所有實(shí)例均具有較高的實(shí)用性和針對(duì)性,且全部通過了實(shí)驗(yàn)板驗(yàn)證;尤為珍貴的是,所有源程序均具有較強(qiáng)的移植性,讀者只需將其簡(jiǎn)單修改甚至不用修改,即可應(yīng)用到自己開發(fā)的產(chǎn)品中。
全書語言通俗,實(shí)例豐富,圖文結(jié)合,簡(jiǎn)單明了,適合單片機(jī)愛好者和初學(xué)者,也可作為中等專業(yè)技術(shù)學(xué)校、中等職業(yè)學(xué)校等教學(xué)用書。
圖書提供作者編寫的實(shí)驗(yàn)程序及源代碼下載,可幫助讀者輕松學(xué)習(xí)C語言編程
全書共有16大類實(shí)例演練、案例解析及開發(fā)實(shí)例,手把手帶讀者從零開始學(xué)
購買圖書者可加入用戶社群分享學(xué)習(xí)資料
劉建清
自1995年以來,先后在《電子報(bào)》、《無線電》、《家電維修》等多家雜志、報(bào)刊發(fā)表論文近百篇。1999年獲全國(guó)電子產(chǎn)品維修大獎(jiǎng)賽三等獎(jiǎng);2000年和2001年,連續(xù)兩年被《家電維修》雜志社評(píng)為全國(guó)十佳作者。 在電子產(chǎn)品開發(fā)、售后技術(shù)支持及培訓(xùn)工作中取得了較大的成績(jī),根據(jù)經(jīng)驗(yàn)和體會(huì),書寫電子科技圖書八十余部,內(nèi)容涉及到電子元器件、電路基礎(chǔ)、模擬電路、數(shù)字電路、單片機(jī)、CPLD、PLC、電路設(shè)計(jì)自動(dòng)化、液晶彩電/顯示器、等離子彩電、VCD/DVD、手機(jī)、汽車電子、電動(dòng)機(jī)等多方面,并由人民郵電、電子工業(yè)、國(guó)防工業(yè)、電子科技大學(xué)等出版社出版發(fā)行,且很多圖書在當(dāng)當(dāng)網(wǎng)、卓越網(wǎng)上排在同類圖書銷售榜的前三名。
第 1章 51單片機(jī)基本組成 1
1.1 單片機(jī)內(nèi)部結(jié)構(gòu)與引腳 1
1.1.1 單片機(jī)的內(nèi)部結(jié)構(gòu)組成 1
1.1.2 單片機(jī)的引腳 3
1.2 單片機(jī)的存儲(chǔ)器 5
1.3 單片機(jī)的最小系統(tǒng)電路 6
1.3.1 單片機(jī)的工作電源 7
1.3.2 單片機(jī)的復(fù)位電路 7
1.3.3 單片機(jī)的時(shí)鐘電路 7
第 2章 走進(jìn)單片機(jī)開發(fā)的世界 8
2.1 單片機(jī)C語言入門 8
2.1.1 C語言的特點(diǎn) 8
2.1.2 單片機(jī)采用C語言編程的
好處 8
2.1.3 如何學(xué)習(xí)單片機(jī)C語言 10
2.1.4 一個(gè)簡(jiǎn)單的流水燈程序 10
2.1.5 利用C51庫函數(shù)實(shí)現(xiàn)流
水燈 13
2.1.6 小結(jié) 14
2.2 低成本單片機(jī)開發(fā)板介紹 15
2.2.1 低成本單片機(jī)開發(fā)板1 15
2.2.2 低成本單片機(jī)開發(fā)板2 17
2.2.3 低成本單片機(jī)開發(fā)板3 18
2.2.4 低成本單片機(jī)開發(fā)板4 18
2.2.5 單片機(jī)仿真器 19
2.3 單片機(jī)開發(fā)六步走 20
2.3.1 第 一步:硬件電路設(shè)計(jì)與
制作 20
2.3.2 第二步:編寫程序 20
2.3.3 第三步:編譯程序 26
2.3.4 第四步:仿真調(diào)試 27
2.3.5 第五步:燒寫程序 28
2.3.6 第六步:脫機(jī)運(yùn)行檢查 29
第3章 單片機(jī)C語言重點(diǎn)難點(diǎn)
解析 30
3.1 C51基本知識(shí) 30
3.1.1 標(biāo)識(shí)符和關(guān)鍵字 30
3.1.2 數(shù)據(jù)類型 32
3.1.3 常量 35
3.1.4 變量 36
3.1.5 運(yùn)算符和表達(dá)式 38
3.1.6 表達(dá)式語句和復(fù)合語句 42
3.1.7 條件選擇語句 43
3.1.8 循環(huán)語句 45
3.2 C51函數(shù) 50
3.2.1 函數(shù)概述 50
3.2.2 函數(shù)的參數(shù)和返回值 53
3.2.3 函數(shù)的調(diào)用 53
3.2.4 局部變量和全局變量 55
3.2.5 變量的存儲(chǔ)種類 56
3.3 C51數(shù)組 57
3.3.1 一維數(shù)組 57
3.3.2 二維數(shù)組 59
3.3.3 字符數(shù)組 60
3.4 C51指針 61
3.4.1 指針概述 61
3.4.2 一般指針和基于存儲(chǔ)器的
指針 65
3.4.3 絕對(duì)地址的訪問 66
3.5 C51結(jié)構(gòu)、共同體與枚舉 67
3.5.1 結(jié)構(gòu) 67
3.5.2 共同體 70
3.5.3 枚舉 70
第4章 中斷系統(tǒng)實(shí)例演練 72
4.1 中斷系統(tǒng)基本知識(shí) 72
4.1.1 51單片機(jī)的中斷源 72
4.1.2 中斷的控制 73
4.1.3 中斷的響應(yīng) 76
4.1.4 中斷的撤除 76
4.1.5 C51中斷函數(shù)的寫法 77
4.2 中斷系統(tǒng)實(shí)例解析 77
4.2.1 實(shí)例解析1—外中斷
練習(xí)1 77
4.2.2 實(shí)例解析2—外中斷
練習(xí)2 79
第5章 定時(shí)/計(jì)數(shù)器實(shí)例演練 81
5.1 定時(shí)/計(jì)數(shù)器基本知識(shí) 81
5.1.1 什么是計(jì)數(shù)和定時(shí) 81
5.1.2 定時(shí)/計(jì)數(shù)器的組成 82
5.1.3 定時(shí)/計(jì)數(shù)器的寄存器 82
5.1.4 定時(shí)/計(jì)數(shù)器的工作方式 84
5.2 定時(shí)/計(jì)數(shù)器實(shí)例演練 88
5.2.1 實(shí)例解析1—定時(shí)器中斷
方式實(shí)驗(yàn) 88
5.2.2 實(shí)例解析2—定時(shí)器查詢
方式實(shí)驗(yàn) 90
5.2.3 實(shí)例解析3—實(shí)時(shí)顯示
計(jì)數(shù)值 91
5.2.4 實(shí)例解析4—單片機(jī)唱歌 93
5.2.5 實(shí)例解析5—秒表 96
第6章 串行通信實(shí)例演練 99
6.1 串行通信基本知識(shí) 99
6.1.1 串行通信基本概念 99
6.1.2 51單片機(jī)串行口的結(jié)構(gòu) 104
6.1.3 串行通信控制寄存器 105
6.1.4 串行口工作方式 106
6.2 串行通信實(shí)例演練 109
6.2.1 實(shí)例解析1—單片機(jī)向
PC送字符串 109
6.2.2 實(shí)例解析2—PC向
單片機(jī)發(fā)號(hào)施令 112
6.2.3 實(shí)例解析3—PC和
單片機(jī)進(jìn)行串行通信
(不進(jìn)行奇偶校驗(yàn)) 113
6.2.4 實(shí)例解析4—PC和
單片機(jī)進(jìn)行串行通信
(進(jìn)行奇偶校驗(yàn)) 115
第7章 鍵盤接口實(shí)例演練 118
7.1 鍵盤接口電路基本知識(shí) 118
7.1.1 鍵盤的工作原理 118
7.1.2 鍵盤與單片機(jī)的連接形式 119
7.1.3 鍵盤的掃描方式 119
7.2 鍵盤接口電路實(shí)例演練 120
7.2.1 實(shí)例解析1—按鍵掃描
方式練習(xí) 120
7.2.2 實(shí)例解析2—可控
流水燈 124
7.2.3 實(shí)例解析3—用數(shù)碼管
顯示矩陣按鍵的鍵號(hào) 126
7.2.4 實(shí)例解析4—單片機(jī)
電子琴 131
第8章 LED數(shù)碼管實(shí)例演練 137
8.1 LED數(shù)碼管基本知識(shí) 137
8.1.1 LED數(shù)碼管的結(jié)構(gòu) 137
8.1.2 LED數(shù)碼管的顯示碼 139
8.1.3 LED數(shù)碼管的顯示方式 139
8.2 LED數(shù)碼管實(shí)例演練 143
8.2.1 實(shí)例解析1—程序控制
動(dòng)態(tài)顯示 143
8.2.2 實(shí)例解析2—定時(shí)中斷
動(dòng)態(tài)顯示 146
8.2.3 實(shí)例解析3—簡(jiǎn)易數(shù)碼管
電子鐘 149
8.2.4 實(shí)例解析4—具有鬧鈴
功能的數(shù)碼管電子鐘 155
第9章 LCD顯示實(shí)例演練 161
9.1 字符型LCD基本知識(shí) 161
9.1.1 字符型LCD引腳功能 161
9.1.2 字符型LCD內(nèi)部結(jié)構(gòu) 162
9.1.3 字符型LCD控制指令 164
9.1.4 字符型LCD與單片機(jī)的
連接 168
9.1.5 字符型LCD驅(qū)動(dòng)程序軟件
包的制作 168
9.2 字符型LCD實(shí)例解析 171
9.2.1 實(shí)例解析1—1602 LCD
顯示字符串 171
9.2.2 實(shí)例解析2—1602 LCD
移動(dòng)顯示字符串 172
9.2.3 實(shí)例解析3—1602 LCD
滾動(dòng)顯示字符串 174
9.2.4 實(shí)例解析4—1602 LCD
電子鐘 175
9.3 12864點(diǎn)陣型LCD介紹與實(shí)例
演練 179
9.3.1 12864點(diǎn)陣型LCD介紹 180
9.3.2 實(shí)例解析5—12864 LCD
顯示漢字 187
9.3.3 實(shí)例解析6—12864 LCD
顯示圖形 188
第 10章 時(shí)鐘芯片DS1302實(shí)例
演練 191
10.1 時(shí)鐘芯片DS1302基本知識(shí) 191
10.1.1 DS1302介紹 191
10.1.2 DS1302的控制命令字 192
10.1.3 DS1302的寄存器 192
10.1.4 DS1302的數(shù)據(jù)傳輸方式 194
10.1.5 DS1302驅(qū)動(dòng)程序軟件包的
制作 194
10.2 DS1302讀寫實(shí)例演練 195
10.2.1 實(shí)例解析1—DS1302
數(shù)碼管電子鐘 195
10.2.2 實(shí)例解析2—DS1302 LCD
電子鐘 198
第 11章 EEPROM存儲(chǔ)器實(shí)例
演練 202
11.1 24CXX實(shí)例解析 202
11.1.1 24CXX數(shù)據(jù)存儲(chǔ)器介紹 202
11.1.2 I2C總線驅(qū)動(dòng)程序軟件包的
制作 206
11.1.3 實(shí)例解析1—具有記憶
功能的計(jì)數(shù)器 206
11.1.4 實(shí)例解析2—花樣
流水燈 208
11.2 STC89Cxx內(nèi)部EEPROM的
使用 210
11.2.1 STC89C系列單片機(jī)內(nèi)部
EEPROM介紹 210
11.2.2 STC89C系列單片機(jī)內(nèi)部
EEPROM驅(qū)動(dòng)程序軟件包
的制作 210
11.2.3 實(shí)例解析3—STC89C系列
單片機(jī)內(nèi)部EEPROM
演示 211
第 12章 單片機(jī)看門狗與低功耗模式
實(shí)例演練 214
12.1 單片機(jī)看門狗實(shí)例演練 214
12.1.1 單片機(jī)看門狗基本
知識(shí) 214
12.1.2 看門狗實(shí)例演練 215
12.2 單片機(jī)低功耗模式實(shí)例演練 217
12.2.1 單片機(jī)低功耗模式基本
知識(shí) 217
12.2.2 低功耗模式實(shí)例演練 217
第 13章 溫度傳感器DS18B20實(shí)例
解析 221
13.1 溫度傳感器DS18B20基本
知識(shí) 221
13.1.1 溫度傳感器DS18B20
介紹 221
13.1.2 溫度傳感器DS18B20驅(qū)動(dòng)
程序軟件包的制作 224
13.2 DS18B20數(shù)字溫度計(jì)實(shí)例
解析 225
13.2.1 實(shí)例解析1—LED數(shù)碼管
數(shù)字溫度計(jì) 225
13.2.2 實(shí)例解析2—LCD數(shù)字
溫度計(jì) 228
13.2.3 實(shí)例解析3—LCD溫度
控制器 231
第 14章 紅外遙控和無線遙控實(shí)例
演練 241
14.1 紅外遙控基本知識(shí) 241
14.1.1 紅外遙控系統(tǒng) 241
14.1.2 紅外遙控的編碼與
解碼 242
14.1.3 DD-900實(shí)驗(yàn)開發(fā)板遙控
電路介紹 243
14.2 紅外遙控實(shí)例解析 243
14.2.1 實(shí)例解析1—LED數(shù)碼管
顯示遙控器鍵值 243
14.2.2 實(shí)例解析2—遙控器控制
花樣流水燈 246
14.3 無線遙控電路介紹與演練 250
14.3.1 無線遙控電路基礎(chǔ)知識(shí) 250
14.3.2 無線遙控模塊介紹 252
14.3.3 實(shí)例解析3—遙控模塊
控制LED燈和蜂鳴器 253
第 15章 A/D和D/A轉(zhuǎn)換實(shí)例演練 256
15.1 A/D轉(zhuǎn)換電路介紹及實(shí)例
解析 256
15.1.1 A/D轉(zhuǎn)換電路介紹 256
15.1.2 實(shí)例解析1—LED數(shù)碼管
顯示電位器檢測(cè)的AD值 258
15.2 D/A轉(zhuǎn)換電路及實(shí)例演練 259
15.2.1 D/A轉(zhuǎn)換電路介紹 259
15.2.2 實(shí)例解析2—D/A轉(zhuǎn)換
實(shí)驗(yàn) 260
第 16章 步進(jìn)電機(jī)和直流電機(jī)實(shí)例
演練 262
16.1 步進(jìn)電機(jī)實(shí)例解析 262
16.1.1 步進(jìn)電機(jī)基本知識(shí) 262
16.1.2 實(shí)例解析1—步進(jìn)電機(jī)
正轉(zhuǎn)與反轉(zhuǎn) 266
16.1.3 實(shí)例解析2—步進(jìn)電機(jī)
加速與減速運(yùn)轉(zhuǎn) 268
16.1.4 實(shí)例解析3—用按鍵
控制步進(jìn)電機(jī)正反轉(zhuǎn) 270
16.1.5 實(shí)例解析4—用按鍵
控制步進(jìn)電機(jī)轉(zhuǎn)速 272
16.2 直流電機(jī)介紹及實(shí)例解析 276
16.2.1 直流電機(jī)基本知識(shí) 276
16.2.2 實(shí)例解析5—用按鍵
控制直流電機(jī)轉(zhuǎn)速 279
第 17章 LED點(diǎn)陣屏實(shí)例解析 281
17.1 簡(jiǎn)易LED點(diǎn)陣屏開發(fā)實(shí)例 281
17.1.1 LED點(diǎn)陣屏基本知識(shí) 281
17.1.2 LED點(diǎn)陣屏實(shí)例演練 288
17.2 雙核LED點(diǎn)陣屏開發(fā)實(shí)例 303
17.2.1 雙核LED點(diǎn)陣屏開發(fā)板及
漢字顯示原理 303
17.2.2 雙核LED點(diǎn)陣屏實(shí)例
演練 308
第 18章 ISD1700語音電路實(shí)例
演練 313
18.1 ISD1700語音電路基礎(chǔ)知識(shí) 313
18.1.1 ISD1700系列芯片的基本
功能及特性 313
18.1.2 ISD1700引腳定義 314
18.1.3 ISD1700語音模塊說明及
其工作模式 316
18.2 ISD1700實(shí)例演練 318
18.2.1 實(shí)現(xiàn)的功能 318
18.2.2 源程序 318
第 19章 單片機(jī)綜合實(shí)例演練 321
19.1 12864萬年歷實(shí)例演練 321
19.1.1 硬件電路 321
19.1.2 實(shí)現(xiàn)的功能 321
19.1.3 源程序 322
19.2 串口測(cè)溫實(shí)例演練 323
19.2.1 PC與單片機(jī)串行通信
介紹 323
19.2.2 串口測(cè)溫程序?qū)嵗?br>演練 331
19.3 nRF905、nRF2401實(shí)例演練 337
19.3.1 無線通信溫度監(jiān)控系統(tǒng)的
組成和功能 337
19.3.2 nRF905介紹 338
19.3.3 基于nRF905無線通信溫度
監(jiān)控系統(tǒng)的設(shè)計(jì) 341
19.4 智能小車開發(fā) 346
19.4.1 智能小車介紹 346
19.4.2 智能小車開發(fā)實(shí)例 347
第 20章 單片機(jī)高級(jí)開發(fā)指南與程序
錯(cuò)誤剖析 352
20.1 USB接口設(shè)備的開發(fā) 352
20.1.1 USB接口基本知識(shí) 352
20.1.2 基于PDIUSBD12的應(yīng)用
系統(tǒng)開發(fā) 353
20.2 FM數(shù)字調(diào)諧收音機(jī)的
開發(fā) 354
20.2.1 TEA5767介紹 354
20.2.2 硬件電路設(shè)計(jì) 355
20.2.3 軟件設(shè)計(jì) 356
20.3 GSM/GPRS模塊的開發(fā) 357
20.3.1 GSM/GPRS模塊介紹 357
20.3.2 由GSM/GPRS模塊組成的
應(yīng)用系統(tǒng) 357
20.4 GPS模塊的開發(fā) 358
20.4.1 GPS概述 358
20.4.2 GPS原理 359
20.4.3 硬件與軟件設(shè)計(jì) 359
20.5 超聲波測(cè)距儀的開發(fā) 359
20.5.1 超聲波測(cè)距基本原理 359
20.5.2 超聲波測(cè)距儀硬件設(shè)計(jì) 360
20.5.3 軟件設(shè)計(jì)基本思路 362
20.6 TFT觸摸屏模塊的開發(fā) 362
20.6.1 TFT觸摸屏模塊介紹 362
20.6.2 供電及連接說明 363
20.6.3 TFT觸摸屏模塊程序
設(shè)計(jì) 364
20.7 非接觸式IC卡門禁系統(tǒng)的
開發(fā) 366
20.7.1 非接觸式IC卡門禁系統(tǒng)的
組成 366
20.7.2 Mifare1卡 366
20.7.3 讀寫芯片MF RC522
介紹 367
20.7.4 軟件設(shè)計(jì) 368
20.8 程序錯(cuò)誤、熱啟動(dòng)與冷啟動(dòng)
剖析 368
20.8.1 程序錯(cuò)誤的分類 368
20.8.2 程序錯(cuò)誤的常用排錯(cuò)
方法 371
20.8.3 熱啟動(dòng)與冷啟動(dòng)探討 374