51單片機C語言程式設計教程

51單片機C語言程式設計教程

本書巧妙地將對單片機原理的講述與硬體實驗設備結合起來,列舉了大量有趣易懂的小例子,深入淺出地用實操案例來講述單片機的工作原理、擴展知識、編程技巧,講授單片機項目開發的流程及方法。綜合王雲老師多年項目經驗及教研成果,內容細緻、風格突出、是一本全面講述51單片機及其工程套用的書籍。

基本信息

編輯推薦

本書從開發的角度,從零開始手把手地帶大家學習單片機技術。
基於單片機的*小系統來介紹單片機的基礎知識。
以單片機套用開發為主導,循序漸進地講解單片機常用模組的使用及其編程方法。
通過實踐深入理解數字電路的概念、C語言的基本知識以及C語言如何同實際電路發生聯繫。
講解單片機套用的擴展知識好編程技巧,單片機項目的開發流程及其方法。
本書配有課件、示例代碼和19個教學視頻。

內容簡介

本書遵循由淺入深、循序漸進的原則,講解單片機開發經典案例。本書以YL51單片機開發板為平台,通過案例逐個講解開發板上各個器件模組的使用及其編程方法,包括單片機*小系統、數碼管顯示原理、中斷與定時器、數模\模數轉換工作原理、LCD液晶顯示、串列口通信、步進電機驅動原理、PWM脈寬調製與直流電機等內容。

作者簡介

王雲,從事單片機研發工作多年,具有豐富的單片機、嵌入式系統的軟體和硬體研發經驗;曾研發自動控制器、數據採集儀等多款產品,現從事單片機培訓工作,主講了系列視頻課程——雲龍51單片機實訓課程。該課程因其通俗易懂的語言、現場互動的教學風格獲得了讀者的一致好評,在網上廣為流傳。

目錄

第1章初步認識單片機1
1.1單片機的特點及套用2
1.2應該學什麼樣的單片機2
1.3如何學好單片機2
1.4學前準備和單片機學習開發環境的建立3
1.5課後作業3
第2章單片機最小系統及Keil軟體介紹4
2.1單片機概述5
2.1.1各大公司MCS51單片機簡介5
2.1.2單片機標號信息及封裝類型5
2.1.3單片機引腳功能介紹9
2.2單片機最小系統12
2.2.1電源電路13
2.2.2時鐘振盪電路13
2.2.3復位電路14
2.3如何點亮一個發光二極體14
2.3.1硬體電路構成14
2.3.2Keil建立工程檔案16
2.3.3編寫點亮一個發光二極體的C程式代碼20
2.3.4程式下載、觀察結果23
2.3.5知識點講解25
2.4課後作業28
第3章C51基礎知識及流水燈設計29
3.1C51的特點及優勢30
3.2C51數據類型30
3.2.1C51的基本數據類型30
3.2.2C51的擴充數據類型31
3.2.3特殊功能暫存器聲明及位定義32
3.3C51的基本運算33
3.3.1二進制與十六進制33
3.3.2C51賦值運算符及其表達式34
3.3.3C51算術運算符及其表達式35
3.3.4C51關係運算符及其表達式35
3.3.5C51邏輯運算符及其表達式36
3.3.6C51位操作及其表達式36
3.4C51程式的基本語句37
3.4.1if選擇語句37
3.4.2while循環語句39
3.4.3for循環語句40
3.4.4switch/case多分支選擇語句41
3.4.5do…while循環語句42
3.5C51函式43
3.5.1函式的定義43
3.5.2函式的聲明及調用44
3.5.3變數的作用域45
3.6C51套用編程實例(流水燈設計)46
3.6.1閃爍的LED47
3.6.2花樣流水燈50
3.7課後作業52
第4章數碼管顯示原理及靜態顯示53
4.1數碼管的結構和顯示原理54
4.2數碼管在YL51開發板上的套用55
4.3數組的定義及調用方法58
4.3.1數組的定義方式58
4.3.2數組初始化賦值及調用59
4.3.3套用舉例59
4.4課後作業62
第5章中斷與定時器63
5.1單片機中斷64
5.1.1中斷的概念64
5.1.2MCS-51中斷系統的結構65
5.1.3單片機中斷套用舉例68
5.2定時器/計數器69
5.2.1定時器/計數器的結構69
5.2.2定時/計數器套用舉例72
5.3課後作業73
第6章數碼管動態顯示與定時器套用74
6.1數碼管動態顯示的基本原理75
6.2實例講解數碼管動態顯示原理75
6.3課後作業85
第7章按鍵學習:獨立按鍵和矩陣按鍵86
7.1鍵盤的分類87
7.2獨立鍵盤檢測原理及套用87
7.3矩陣鍵盤檢測原理及套用91
7.4課後作業94
第8章數模轉換(D/A)工作原理及套用95
8.1D/A轉換的工作原理及分類96
8.1.1權電阻解碼網路D/A轉換器96
8.1.2T型電阻解碼網路D/A轉換器97
8.1.3D/A轉換器的主要性能指標99
8.2DAC0832晶片及其與單片機接口99
8.2.1DAC0832晶片簡介99
8.2.2DAC0832晶片工作方式101
8.3課後作業105
第9章模數轉換(A/D)工作原理及套用106
9.1A/D轉換的工作原理及分類107
9.1.1A/D轉換的一般過程107
9.1.2A/D轉換器分類108
9.1.3A/D轉換器的主要技術指標111
9.2ADC0804晶片及其套用112
9.2.1ADC0804晶片簡介112
9.2.2ADC0804晶片套用112
9.3課後作業117
第10章LCD液晶顯示原理及套用118
10.1LCD液晶基礎知識119
10.21602液晶介紹與實例分析120
10.2.11602液晶硬體接口介紹120
10.2.21602液晶時序操作介紹121
10.2.31602液晶實例演示125
10.312864液晶介紹與實例分析131
10.3.112864液晶硬體接口介紹131
10.3.212864液晶時序操作介紹132
10.3.312864液晶實例演示138
10.4課後作業141
第11章串列口通信原理及套用142
11.1通信基礎知識143
11.1.1並行通信143
11.1.2串列通信143
11.2串列通信的分類144
11.2.1異步通信144
11.2.2同步通信145
11.2.3串列通信方式145
11.3串列通信接口標準146
11.3.1RS232接口146
11.3.2RS232串列口通信電路147
11.3.3USB轉串列口通信電路147
11.480C51串列口的結構148
11.4.180C51串列口基本工作原理148
11.4.280C51串列口的控制暫存器149
11.4.380C51串列口的工作方式151
11.5波特率的計算154
11.6實例講解155
11.7課後作業160
第12章I2C匯流排原理和模組化編程方法161
12.1I2C匯流排概述162
12.1.1I2C匯流排簡介162
12.1.2I2C器件接口162
12.2I2C匯流排的數據傳送163
12.2.1I2C匯流排數據操作有效性規定163
12.2.2I2C匯流排的數據傳送格式163
12.3單片機的普通I/O口模擬I2C通信165
12.3.1I2C匯流排信號時序分析165
12.3.2I2C匯流排基本操作時序分析167
12.4I2C器件AT24C02的套用169
12.4.1I2C器件AT24C02簡介169
12.4.2I2C器件AT24C02的讀/寫時序170
12.4.3用模組化編程對AT24C02進行操作173
12.5課後作業179
第13章紅外通信原理及套用180
13.1紅外線簡介181
13.1.1紅外線181
13.1.2紅外信號發生電路181
13.1.3紅外信號接收電路181
13.2紅外通信原理182
13.2.1紅外基帶信號傳送協定182
13.2.2紅外基帶信號調製184
13.2.3紅外信號解調185
13.3紅外解碼實例介紹186
13.4課後作業190
第14章DS18B20測溫原理及套用191
14.1DS18B20簡介192
14.1.1DS18B20封裝及引腳說明192
14.1.2功能特性192
14.1.3兩種供電方式193
14.2DS18B20內部結構及功能193
14.2.1DS18B20內部結構193
14.2.2功能介紹194
14.3單匯流排簡介196
14.3.1單匯流排概述196
14.3.2單匯流排信號類型196
14.4DS18B20時序過程198
14.4.1單匯流排初始化198
14.4.2ROM操作命令198
14.4.3存儲器操作命令198
14.4.4數理處理199
14.5DS18B20套用實例199
14.6課後作業203
第15章步進電機驅動原理及套用204
15.1步進電機概述205
15.1.1步進電機的認識205
15.1.2步進電機分類205
15.1.3步進電機的主要技術指標205
15.2步進電機工作原理206
15.2.1步進電機的驅動206
15.2.2步進電機的勵磁方式207
15.328BYJ-48步進電機套用208
15.3.128BYJ-48步進電機參數209
15.3.228BYJ-48步進電機驅動電路209
15.3.3步進電機套用實例211
15.4課後作業213
第16章LED點陣驅動原理及套用214
16.1LED點陣簡介215
16.1.1認識8×8點陣模組215
16.1.28×8點陣與單片機連線217
16.2點陣的顯示原理217
16.2.1點陣的靜態顯示218
16.2.2點陣的動態顯示219
16.3點陣取模軟體介紹222
16.3.1使用演示223
16.3.2術語介紹225
16.3.3套用舉例225
16.4課後作業228
第17章DS1302實時時鐘與SPI通信原理229
17.1DS1302簡介230
17.1.1功能特點230
17.1.2封裝及引腳230
17.1.3DS1302的主要性能指標230
17.1.4DS1302與單片機連線電路231
17.2DS1302的暫存器及片內RAM231
17.2.1與日曆、時鐘相關暫存器232
17.2.2BCD碼簡介233
17.2.3控制暫存器233
17.2.4防寫暫存器234
17.2.5充電暫存器234
17.3DS1302數據讀寫時序及SPI通信原理235
17.3.1單位元組寫操作235
17.3.2單位元組讀操作235
17.4DS1302實例操作236
17.5課後作業241
第18章蜂鳴器與繼電器驅動原理及套用242
18.1蜂鳴器簡介243
18.1.1蜂鳴器分類243
18.1.2有源蜂鳴器和無源蜂鳴器的特點243
18.1.3蜂鳴器選用基本要點244
18.1.4驅動電路244
18.2蜂鳴器套用實例244
18.3繼電器簡介245
18.3.1繼電器工作原理246
18.3.2繼電器常用參數246
18.3.3繼電器的控制電路247
18.4繼電器套用實例248
18.5課後作業252
第19章PWM脈寬調製與直流電機調速253
19.1PWM簡介254
19.1.1脈衝寬度調製(PWM)原理254
19.1.2占空比的概念254
19.2PWM套用實例255
19.2.1直流電機介紹255
19.2.2直流電機PWM調速原理257
19.3課後作業261
第20章單片機系統設計——多功能萬年曆262
20.1項目功能概述263
20.2原理圖構建263
20.3程式代碼設計265
第21章常用電子製作工具289
21.1焊接工具及材料290
21.1.1電烙鐵290
21.1.2焊錫絲291
21.1.3輔助焊接工具291
21.2測量工具292
21.2.1萬用表292
21.2.2示波器295
附錄300
附錄1C語言優先權詳細列表301
附錄2ASCII表303
參考文獻304

熱門詞條

聯絡我們