51單片機(jī)C語言應(yīng)用與開發(fā)
定 價(jià):29 元
- 作者:劉榮科 著
- 出版時(shí)間:2010/9/1
- ISBN:9787512401907
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP312C
- 頁碼:243
- 紙張:膠版紙
- 版次:1
- 開本:16開
《51單片機(jī)C語言應(yīng)用與開發(fā)》以51系列單片機(jī)為主,從應(yīng)用角度出發(fā)介紹單片機(jī)的基本工作原理、內(nèi)部資源的使用及C5l程序設(shè)計(jì)的基本方法等相關(guān)知識(shí)。以ELITE-Ⅲ開發(fā)板為基礎(chǔ),介紹了單片機(jī)的系統(tǒng)擴(kuò)展、接口技術(shù)及應(yīng)用系統(tǒng)的開發(fā)過程、編程方法,最后以實(shí)際項(xiàng)目為基礎(chǔ),介紹了LTPA245熱敏打印機(jī)驅(qū)動(dòng)系統(tǒng)、熱球子宮內(nèi)膜治療儀控制系統(tǒng)及移動(dòng)基站動(dòng)力環(huán)境監(jiān)控系統(tǒng)等項(xiàng)目的軟、硬件設(shè)計(jì)方法。《51單片機(jī)C語言應(yīng)用與開發(fā)》摒棄了以學(xué)科體系為主線的編排方式,通過大量的實(shí)例,使讀者能快速、有效地掌握用c51語言開發(fā)51單片機(jī)應(yīng)用系統(tǒng)的方法和流程,真正做到對(duì)相關(guān)知識(shí)的融會(huì)貫通。
《51單片機(jī)C語言應(yīng)用與開發(fā)》適合高等院校計(jì)算機(jī)、自動(dòng)化、電子信息等相關(guān)專業(yè)的學(xué)生學(xué)習(xí),同時(shí)也可供從事單片機(jī)開發(fā)的工程設(shè)計(jì)人員參考使用。
本書強(qiáng)調(diào)以實(shí)際開發(fā)板為學(xué)習(xí)平臺(tái),以應(yīng)用為目的,簡化既抽象、又乏味的單片機(jī)內(nèi)部原理介紹,摒棄復(fù)雜、難懂的匯編語言學(xué)習(xí),代之以易學(xué)、易用且功能性、結(jié)構(gòu)性和可移植性都很強(qiáng)的C語言作為編程語言,很大程度上提高了單片機(jī)應(yīng)用系統(tǒng)的學(xué)習(xí)和開發(fā)效率。書中包含了大量51系列單片機(jī)應(yīng)用系統(tǒng)的電路原理圖和程序代碼,內(nèi)容覆蓋面廣,許多實(shí)例可直接移植到新的設(shè)計(jì)項(xiàng)目中使用。
單片微型計(jì)算機(jī)(single chip Microcomputer,SCM)簡稱為單片機(jī),是嵌入式系統(tǒng)的重要組成部分。由于最早是為工業(yè)控制設(shè)計(jì),因而也稱作微控制器(Micro Controller Unit,MCU)。近年來,單片機(jī)以其高可靠性、高性價(jià)比的優(yōu)勢,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化等諸多領(lǐng)域得到極為廣泛的應(yīng)用。早期的單片機(jī)只能用匯編語言編程,編寫的程序復(fù)雜、難懂,而且硬件相關(guān)性很高,要求開發(fā)人員或?qū)W習(xí)者能清楚知道相關(guān)芯片的內(nèi)部結(jié)構(gòu),尤其是寄存器結(jié)構(gòu)和存儲(chǔ)空間的分配等,這些都限制了單片機(jī)應(yīng)用知識(shí)的推廣。隨著單片機(jī)C語言編譯器的出現(xiàn),那些硬件基礎(chǔ)知識(shí)相對(duì)缺乏的設(shè)計(jì)人員設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的大門也隨之打開;诖耍緯訣LITE-Ⅲ開發(fā)板為背景,由淺入深講述了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)的全部過程,并用大量的案例來滿足不同讀者的需求。
本書強(qiáng)調(diào)以實(shí)際開發(fā)板為學(xué)習(xí)平臺(tái),以應(yīng)用為目的,簡化既抽象、又乏味的單片機(jī)內(nèi)部原理介紹,摒棄復(fù)雜、難懂的匯編語言學(xué)習(xí),代之以易學(xué)、易用且功能性、結(jié)構(gòu)性和可移植性都很強(qiáng)的C語言作為編程語言,很大程度上提高了單片機(jī)應(yīng)用系統(tǒng)的學(xué)習(xí)和開發(fā)效率。書中包含了大量51系列單片機(jī)應(yīng)用系統(tǒng)的電路原理圖和程序代碼,內(nèi)容覆蓋面廣,許多實(shí)例可直接移植到新的設(shè)計(jì)項(xiàng)目中使用。
第1章 51單片機(jī)的基礎(chǔ)知識(shí)1
1.1 51系列單片機(jī)的基本結(jié)構(gòu)1
1.1.1 8051單片機(jī)的硬件組成及內(nèi)部結(jié)構(gòu)1
1.1.2 8051單片機(jī)的引腳功能2
1.1.3 8051單片機(jī)的CPU4
1.2 8051單片機(jī)的存儲(chǔ)器組織6
1.2.1 存儲(chǔ)器組織6
1.2.2 特殊功能寄存器8
1.3 單片機(jī)最小系統(tǒng)9
1.3.1 復(fù)位及復(fù)位電路9
1.3.2 時(shí)鐘電路10
1.3.3 8051單片機(jī)的最小系統(tǒng)11
第2章 C51程序設(shè)計(jì)12
2.1 Keil C5112
2.2 C51的數(shù)據(jù)類型13
2.2.1 常量15
2.2.2 變量17
2.2.3 數(shù)組19
2.2.4 指針21
2.2.5 結(jié)構(gòu)與聯(lián)合25
2.3 運(yùn)算符與表達(dá)式27
2.4 流程控制語句29
2.4.1 條件語句29
2.4.2 while語句30
2.4.3 dowhile循環(huán)語句31
2.4.4 for循環(huán)31
2.4.5 switch語句32
2.4.6 break語句與continue語句33
2.4.7 返回語句return33
2.5 函數(shù)34
2.5.1 函數(shù)的定義34
2.5.2 函數(shù)調(diào)用34
2.5.3 中斷服務(wù)函數(shù)35
2.6 編譯預(yù)處理37
2.6.1 宏定義“#define”指令37
2.6.2 文件包含#include指令39
2.7 C語言和匯編語言混合編程40
第3章 51單片機(jī)的內(nèi)部資源44
3.1 并行I/O口44
3.2 中斷系統(tǒng)45
3.2.1 概述45
3.2.2 中斷控制寄存器46
3.2.3 C51編寫中斷服務(wù)程序47
3.2.4 外部中斷的擴(kuò)充48
3.3 定時(shí)/計(jì)數(shù)器50
3.3.1 工作方式50
3.3.2 定時(shí)/計(jì)數(shù)器控制寄存器51
3.3.3 定時(shí)/計(jì)數(shù)器的初始化52
3.4 串行通信53
3.4.1 串行接口的工作方式53
3.4.2 串行接口控制寄存器54
3.4.3 串行接口應(yīng)用56
第4章 Keil C51集成開發(fā)環(huán)境59
4.1 Keil C51的安裝59
4.2 μVision3集成開發(fā)環(huán)境62
4.2.1 μVision3簡介62
4.2.2 開發(fā)環(huán)境的配置63
4.3 μVision3的欄目和窗口64
4.4 創(chuàng)建項(xiàng)目68
4.5 簡單程序的調(diào)試69
4.6 代碼優(yōu)化70
4.7 使用技巧70
4.8 Keil C編譯器常見警告與錯(cuò)誤信息的解決方法71
第5章 ELITEIII開發(fā)板簡介74
5.1 ELITEIII硬件資源74
5.2 單片機(jī)在系統(tǒng)編程76
5.2.1 AT89S系列單片機(jī)76
5.2.2 Winbond78E系列單片機(jī)80
5.2.3 STC89C系列單片機(jī)82
第6章 ELITEIII開發(fā)應(yīng)用實(shí)例87
6.1 流水燈控制系統(tǒng)設(shè)計(jì)87
6.1.1 流水燈的硬件電路87
6.1.2 流水燈軟件設(shè)計(jì)89
6.1.3 利用定時(shí)器中斷產(chǎn)生延時(shí)93
6.2 I/O口的高級(jí)應(yīng)用95
6.2.1 數(shù)碼管顯示器95
6.2.2 鍵盤接口100
6.2.3 簡易電子鐘設(shè)計(jì)107
6.3 點(diǎn)陣顯示設(shè)計(jì)112
6.3.1 8×8點(diǎn)陣顯示設(shè)計(jì)112
6.3.2 16×16動(dòng)態(tài)點(diǎn)陣顯示119
6.4 步進(jìn)電機(jī)控制123
6.4.1 步進(jìn)電機(jī)123
6.4.2 步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng)126
6.4.3 簡單步進(jìn)電機(jī)控制程序127
6.5 A/D轉(zhuǎn)換設(shè)計(jì)131
6.5.1 A/D轉(zhuǎn)換器的基本原理131
6.5.2 并行接口A/D轉(zhuǎn)換器133
6.6 單片機(jī)串行通信138
6.6.1 串行通信的基礎(chǔ)知識(shí)138
6.6.2 單片機(jī)與PC機(jī)的通信142
6.6.3 單片機(jī)之間的通信149
6.7 I2C總線技術(shù)150
6.7.1 I2C總線151
6.7.2 串行EEPROM AT24C02155
6.8 特殊總線串行通信157
6.8.1 數(shù)字溫度傳感器DS18B20157
6.8.2 時(shí)鐘芯片DS1302166
第7章 LTPA245熱敏打印機(jī)驅(qū)動(dòng)設(shè)計(jì)172
7.1 熱敏打印機(jī)的工作原理172
7.1.1 熱敏打印機(jī)結(jié)構(gòu)原理172
7.1.2 熱敏打印機(jī)設(shè)計(jì)中需要注意的問題173
7.2 熱敏打印機(jī)LTPA245173
7.3 步進(jìn)電機(jī)的驅(qū)動(dòng)176
7.4 單片機(jī)資源分配178
7.5 系統(tǒng)硬件設(shè)計(jì)180
7.6 系統(tǒng)軟件183
第8章 熱球子宮內(nèi)膜治療儀控制系統(tǒng)194
8.1 系統(tǒng)硬件組成及工作原理194
8.1.1 系統(tǒng)結(jié)構(gòu)及工作原理194
8.1.2 電源模塊195
8.1.3 系統(tǒng)復(fù)位及低電壓檢測電路196
8.1.4 A/D轉(zhuǎn)換模塊198
8.1.5 信號(hào)放大及調(diào)理電路201
8.1.6 球囊加熱器故障檢測電路202
8.2 單片機(jī)資源的分配203
8.3 系統(tǒng)軟件204
第9章 移動(dòng)基站動(dòng)力環(huán)境監(jiān)控系統(tǒng)214
9.1 系統(tǒng)總體設(shè)計(jì)方案214
9.1.1 需求分析214
9.1.2 總體方案設(shè)計(jì)216
9.2 硬件電路設(shè)計(jì)219
9.2.1 系統(tǒng)硬件結(jié)構(gòu)219
9.2.2 主控CPU的外圍電路220
9.2.3 開關(guān)量I/O接口擴(kuò)展電路225
9.2.4 串行通信擴(kuò)展227
9.2.5 存儲(chǔ)器的擴(kuò)展232
9.2.6 模擬量的采集233
9.2.7 系統(tǒng)電源電路236
9.3 系統(tǒng)軟件237
9.3.1 主CPU資源分配237
9.3.2 主CPU的部分函數(shù)238
參考文獻(xiàn)244
動(dòng)態(tài)掃描顯示是單片機(jī)應(yīng)用系統(tǒng)中最常見的顯示方法之一,是把所有顯示器8個(gè)字段a~h的各同名端并聯(lián)在一起,并把它們接到字段碼I/0輸出口上。為了防止各個(gè)顯示器同時(shí)顯示同一個(gè)字符,各顯示器的公共端并不接到電源或地,而是接到另一組控制信號(hào),即位輸出口上。在動(dòng)態(tài)掃描顯示方式下,一組數(shù)碼管顯示器需要兩組信號(hào)來控制:一組是字段碼輸出口輸出的字形代碼,用來控制顯示的字符形狀;另一組是位輸出口輸出的控制信號(hào),用于控制哪一位顯示器工作,也稱為位碼。在兩組信號(hào)的共同控制下,可以按順序一位一位地輪流點(diǎn)亮每個(gè)顯示器,顯示各自的字符,以實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài)掃描顯示。由于LED具有余輝特性及人眼的視覺殘留現(xiàn)象,盡管各位顯示器實(shí)際上是分時(shí)斷續(xù)顯示,但只要選取適當(dāng)?shù)膾呙桀l率,給人眼的感覺就會(huì)是連續(xù)穩(wěn)定的顯示,不會(huì)察覺到閃爍現(xiàn)象。