從零開始學編程:從零開始學51單片機

從零開始學編程:從零開始學51單片機

《從零開始學編程:從零開始學51單片機》是2012年9月1日電子工業出版社出版的圖書,作者是賀亮。

基本介紹

  • 中文名:從零開始學編程:從零開始學51單片機
  • 作者:賀亮
  • 出版社電子工業出版社
  • 出版時間:2012年9月1日
  • 頁數:269 頁
  • 定價:39.00
  • 開本:16 開
  • ISBN:9787121174995
  • 類型:計算機與網際網路
  • 語種:簡體中文
內容簡介,圖書目錄,

內容簡介

本書由淺入深、全面、系統地介紹了單片機C51開發技術。本書提供了大量實例,供讀者實戰演練。另外,作者專門為每一章的內容設定了練習題,用來加深、鞏固對每一章知識的理解,有些章節設定了擴展式的練習,留給讀者去思考、提高。 本書共分5篇。第1篇介紹單片機的發展史、套用領域、軟體開發環境Keil C μVision3的搭建、硬體最小系統的製作、編程器的製作和STC燒錄工具的使用;第2篇介紹51單片機C語言編程中常用的數據類型、運算符與表達式、流程控制語句、函式、數組和指針、結構體與共用體等;第3篇介紹51單片機的片內資源,包括單片機的I/O編程、中斷系統、定時器/計數器、USART通用串列接口、片內EEPROM和看門狗;第4篇介紹增強型單片機的功能,包括第2通用串列接口USART2、同步外圍串列接口SPI、PWM脈寬調製、A/D轉換;第5篇設計了一個完整的套用實例,詳細介紹了整個系統的開發過程,以提高讀者實戰水平。 本書涉及面廣,從C語言編程知識到硬體電路原理,再到單片機片內功能模組的配置和使用,最後到項目開發,幾乎涉及51單片機開發的所有重要知識。本書拋開了單片機複雜的內部資源,弱化了對數量龐大的暫存器的講解,把重點放在原理設計和功能實現上。
《從零開始學51單片機》適合所有想全面學習51單片機開發技術的人員閱讀,也適合各種使用51單片機進行開發的工程技術人員使用。對於經常使用51單片機做開發的人員,更是一本不可多得的案頭必備參考書。

圖書目錄

第1篇入門與提高
第1章認識51系列單片機1
1.1單片機的發展史1
1.2單片機的套用1
1.351單片機的開發環境——KeilμVision2
1.4快速掌握單片機的開發要點2
1.5STC89C51RC/RD+系列單片機3
1.5.1STC89C51系列單片機選型4
1.5.2常見的封裝類型4
1.6STC89C51RC/RD+系列單片機的外部引腳5
1.7小結7
1.8習題7
第2章開發環境的搭建8
2.1軟體開發環境8
2.1.1安裝KeilCμVision3開發環境8
2.1.2增加對STC型號的支持9
2.1.3建立第一個工程10
2.1.4開發中經常用到的功能14
2.2必要的硬體環境23
2.2.110元DIY單片機最小系統23
2.2.2動手製作一個編程器25
2.3STC燒錄工具27
2.4小結28
2.5習題28
第2篇51單片機C語言編程
第3章單片機C語言的基本數據類型29
3.1常量與變數29
3.2基本數據類型30
3.2.1整型30
3.2.2長整型31
3.2.3字元型31
3.2.4位類型31
3.2.5浮點數32
3.2.6雙精度浮點數33
3.3小結33
3.4習題33
第4章運算符與表達式34
4.1算術運算符與表達式34
4.2關係運算符與表達式35
4.3邏輯運算符與表達式36
4.4位運算符與表達式37
4.5賦值運算符與表達式38
4.6小結39
4.7習題39
第5章流程控制40
5.1條件語句if40
5.1.1條件語句if的3種表達方式40
5.1.2條件語句if嵌套44
5.2開關語句switch
5.2.1開關語句的語法格式46
5.2.2開關語句的執行過程46
5.2.3注意事項48
5.3循環語句for48
5.3.1循環語句for的語法格式49
5.3.2循環語句for的執行過程49
5.3.3循環語句for嵌套51
5.4另一種循環語句while和do
5.4.1循環語句while和do的語法格式52
5.4.2循環語句while和do的執行過程53
5.5無條件跳轉語句goto55
5.6中斷語句break/continue57
5.6.1中斷語句break57
5.6.2中斷語句continue58
5.7小結60
5.8習題60
第6章函式61
6.1定義函式的一般形式61
6.2函式的參數和返回值62
6.2.1函式的參數62
6.2.2函式的返回值63
6.3函式的調用64
6.3.1被調函式的聲明64
6.3.2函式語句調用65
6.3.3函式表達式調用65
6.3.4作為函式的參數調用66
6.3.5函式的嵌套調用66
6.3.6函式的遞歸調用68
6.4單片機的特殊函式——中斷函式69
6.5小結70
6.6習題70
第7章數組與指針71
7.1數組71
7.1.1一維數組71
7.1.2二維數組與多維數組73
7.2指針75
7.2.1指針的概念75
7.2.2定義和引用指針變數75
7.2.3指針和數組76
7.3小結78
7.4習題78
第8章結構體與共用體79
8.1結構體79
8.1.1什麼是結構體79
8.1.2定義結構體變數79
8.1.3結構體變數的初始化81
8.1.4使用結構體82
8.1.5指向結構體類型數據的指針82
8.1.6將結構指針變數作為函式的參數83
8.2共用體84
8.2.1什麼是共用體84
8.2.2定義共用體變數85
8.2.3使用共用體86
8.3小結87
8.4習題87
第3篇51單片機開發實戰
第9章IO連線埠編程88
9.1STC89C51RC—RD+系列單片機的I/O連線埠88
9.2I/O連線埠的工作模式89
9.2.1準雙向口/弱上拉模式89
9.2.2輸入/高阻模式89
9.2.3輸出/開漏模式90
9.2.4配置I/O的工作模式90
9.3I/O輸出實驗91
9.3.1從點亮一個LED開始91
9.3.2閃動的LED92
9.3.3點亮更多的LED93
9.3.4點亮數碼管96
9.3.5動態點亮數碼管98
9.3.6控制3—8解碼器101
9.4I/O輸入實驗104
9.4.1分離式按鍵104
9.4.2模擬實現計數器106
9.4.3矩陣鍵盤109
9.5小結113
9.6習題113
第10章中斷系統和外部中斷114
10.1中斷的基本知識114
10.1.1什麼是中斷114
10.1.2使用中斷的好處114
10.2中斷源114
10.3中斷暫存器115
10.3.1中斷使能暫存器115
10.3.2中斷優先權暫存器116
10.3.3定時器控制暫存器、外部中斷標誌118
10.3.4串列口控制暫存器119
10.4中斷優先權120
10.5使用外部中斷檢測按鍵120
10.5.1低電平觸發方式121
10.5.2下降沿觸發方式123
10.6使用外部中斷設計運動限位裝置124
10.6.1硬體電路原理圖124
10.6.2代碼實現125
10.7小結127
10.8習題127
第11章定時器/計數器128
11.1定時器/計數器介紹128
11.2與定時器/計數器的有關的暫存器128
11.2.1工作方式暫存器TMOD128
11.2.2控制暫存器TCON129
11.2.3初值暫存器THx、TLx129
11.3定時器的工作模式130
11.3.1模式0130
11.3.2模式1130
11.3.3模式2(8位自動重裝模式)131
11.3.4模式3132
11.4定時器中斷實驗132
11.4.1定時器秒表實驗電路原理圖132
11.4.2秒表實驗控制流程133
11.4.3代碼實現135
11.5簡易電子琴演奏實驗137
11.5.1電子琴實驗的電路原理圖138
11.5.2代碼實現138
11.6小結141
11.7習題141
第12章USART通用串列口通信142
12.1通用串列口介紹142
12.2與通用串列口有關的暫存器142
12.2.1電源控制暫存器PCON142
12.2.2串列口控制暫存器SCON143
12.2.3數據快取暫存器SBUF143
12.2.4中斷控制位ES144
12.3通用串列口的工作模式144
12.3.1模式0,同步移位暫存器模式144
12.3.2模式1,波特率可變的8位數據異步收發144
12.3.3模式2,波特率固定的9位數據異步收發144
12.3.4模式3,波特率可變的9位數據異步收發145
12.4計算波特率145
12.5通過串列口和PC通信145
12.5.1串列口通信規範146
12.5.2串列口實驗電路147
12.5.3實驗控制流程147
12.5.4通信協定149
12.5.5代碼實現150
12.6單片機串列口遠距離通信153
12.6.1RS—485簡介154
12.6.2485通信的實驗電路155
12.6.3代碼實現156
12.7小結159
12.8習題159
第13章訪問內部EEPROM160
13.1EEPROM介紹160
13.2EEPROM的地址160
13.3與EEPROM有關的暫存器161
13.4EEPROM的常用操作162
13.4.1定義相關暫存器162
13.4.2讀操作162
13.4.3扇區擦除操作162
13.4.4寫操作163
13.5EEPROM套用實例163
13.6掉電時保存數據到EEPROM165
13.6.1實驗電路圖165
13.6.2代碼實現167
13.7小結170
13.8習題170
第14章看門狗WDT171
14.1看門狗WDT介紹171
14.2看門狗控制暫存器WDT_CONTR171
14.3看門狗溢出時間172
14.4測試看門狗172
14.5小結174
14.6習題174
第4篇更多功能的單片機
第15章STC12C5A60S2系列單片機175
15.1STC12C5A60S2系列單片機介紹175
15.2STC12C5A60S2系列單片機外部引腳175
15.3過渡到STC12C5A60S2系列的要點179
15.4小結180
15.5習題180
第16章通用串列接口USART2181
16.1與通用串列口2有關的暫存器181
16.1.1控制暫存器S2CON181
16.1.2數據緩衝暫存器S2BUF182
16.1.3獨立波特率發生暫存器BRT182
16.1.4輔助暫存器AUXR182
16.1.5與串列口2中斷有關的暫存器182
16.1.6輔助暫存器1,AUXR1183
16.2使用串列口2與PC通信183
16.2.1串列口2實驗電路183
16.2.2使用串列口2的步驟184
16.2.3代碼實現184
16.3使用雙串列口設計RS—485雙向中繼器188
16.3.1RS—485雙向中繼器的實驗電路188
16.3.2代碼實現189
16.4小結192
16.5習題193
第17章同步外圍串列接口SPI194
17.1SPI簡介194
17.2與SPI有關的暫存器194
17.2.1SPI控制暫存器SPCTL194
17.2.2SPI狀態暫存器SPSTAT195
17.2.3SPI數據暫存器SPDAT195
17.2.4輔助暫存器1,AUXR1195
17.3SPI接口的通信方式196
17.3.1單主—單從方式196
17.3.2雙器件互為主從方式196
17.3.3單主—多從方式197
17.4注意事項198
17.4.1作為主機的注意事項198
17.4.2作為從機的注意事項198
17.4.3匯流排爭奪198
17.4.4寫衝突198
17.5雙CPU單主、單從通信實驗199
17.6小結202
17.7習題203
第18章PWM脈寬調製204
18.1PWM簡介204
18.2與PWM有關的暫存器204
18.2.1PCA工作模式暫存器CMOD205
18.2.2PCA控制暫存器CCON205
18.2.3PCA捕獲/比較暫存器CCAPM0和CCAPM1206
18.2.4PCA的16位計數暫存器CL、CH206
18.2.5PCA捕捉/比較暫存器CCAPnL、CCAPnH206
18.2.6PWM暫存器PCA_PWM0、PCA_PWM1206
18.2.7輔助暫存器AUX1207
18.3PWM的設定207
18.4輸出PWM的測試程式208
18.4.1實驗電路208
18.4.2控制思想209
18.4.3代碼實現210
18.5使用PWM方式控制步進電機212
18.5.1步進電機的工作原理212
18.5.2實驗電路213
18.5.3代碼實現214
18.6小結219
18.7習題220
第19章A/D轉換221
19.1A/D轉換簡介221
19.2與A/D轉換相關的暫存器221
19.2.1P1口模擬功能控制暫存器P1ASF221
19.2.2ADC控制暫存器ADC_CONTR221
19.2.3A/D轉換結果暫存器ADC_RES/ADC_RESL222
19.2.4與A/D中斷有關的暫存器223
19.3用A/D轉換器檢測電壓實驗223
19.3.1實驗電路223
19.3.2代碼實現224
19.4使用A/D轉換檢測檔位開關227
19.4.1檢測原理與實驗電路227
19.4.2代碼實現228
19.5A/D轉換誤差問題231
19.6小結232
19.7習題233
第5篇51單片機統合套用實例
第20章綜合套用實例234
20.1需求分析234
20.1.1系統結構234
20.1.2技術要求235
20.2系統設計235
20.2.1硬體電路設計235
20.2.2需要用到的單片機資源237
20.2.3軟體設計思路237
20.3各子系統的工作流程239
20.3.1數據接收子系統、協定管理子系統239
20.2.2終端地址的使用與維護241
20.2.3集體上傳控制242
20.2.4I/O處理子系統和工廠模式243
20.2.5電源管理子系統245
20.4軟體編程、系統實現246
20.4.1完整的原始碼246
20.4.2初始化部分代碼264
20.4.3按鍵檢測部分代碼266
20.4.4地址管理部分代碼267
20.4.5電壓檢測部分代碼269
20.4.6串列口接收數據、處理協定的部分代碼270
20.4.7休眠和喚醒的部分代碼272
20.5小結273
20.6習題273

相關詞條

熱門詞條

聯絡我們