單片機入門捷徑與實例

單片機入門捷徑與實例

本書從初學者的角度對他們在學習單片機過程中遇到的問題進行了歸納,選取了200多個問題,以“非典型”問答方式介紹MCS-51系列及其兼容單片機的基本知識和接口技術。主要內容包括由外而內地介紹MCS-51系列及其兼容單片機的基本結構,指令系統及程式設計,C51語言程式設計,中斷系統、定時器/計數器、串列口的工作原理,存儲器擴展和接口技術等,並精選擇了一些程式設計、中斷系統、定時器/計數器套用、串列口套用、接口技術及典型的新型接口器件的應用程式實例。最後給出了部分彙編語言和C51語言程式索引,方便讀者設計程式時參考。

基本介紹

  • 書名:單片機入門捷徑與實例
  • 出版社:電子工業出版社
  • 頁數:232頁
  • 開本:16
  • 品牌:電子工業出版社
  • 作者:玉瑞 貢岩
  • 出版日期:2014年6月1日
  • 語種:簡體中文
  • ISBN:7121231506
基本介紹,內容簡介,作者簡介,圖書目錄,

基本介紹

內容簡介

《單片機入門捷徑與實例》由電子工業出版社出版。

作者簡介

廣東省電梯技術學會理事;廣東省自動化學會會員;《控制理論與套用》雜誌審稿專家;廣東省科技廳科技諮詢專家;廣東省綜合評標專家庫評標專家。廣東省自然科學基金項目——最經濟智慧型控制的交流傳動系統結構及運動過程研究;廣州市高等學校第二批教育教學改革研究項目——基於PROTEUS系統仿真的單片機課程教學改革;廣州大學實驗教學改革研究項目——單片機及嵌入式系統實驗教學改革。

圖書目錄

第1章 對單片機的基本認識1
1.1 單片機是什麼?1
1.2 單片機是什麼樣子?1
1.3 單片機有哪些型號?2
1.4 從外形看,怎么知道單片機的功能?2
1.5 怎么知道單片機是否在工作?2
1.6 單片機和微機有什麼區別?2
1.7 單片機與專用積體電路有什麼區別?3
1.8 單片機與可程式控制器(PLC)有什麼區別?3
1.9 單片機的組成結構是怎樣的?4
1.10 什麼是普林斯頓結構和哈佛結構?5
1.11 MCS—51單片機有什麼功能?5
1.12 AT89S系列單片機的功能有什麼特點?6
1.13 單片機用得多嗎?6
第2章 由外到里認識單片機——單片機的引腳功能8
2.1 單片機的引腳有些什麼作用?8
2.2 單片機接晶體振盪器有什麼作用?9
2.3 單片機有哪些時序單位?9
2.4 引腳一定要連線嗎?10
2.5 復位有什麼作用?10
2.6 復位以後單片機處於什麼狀態?10
2.7 什麼是I/O連線埠?11
2.8 為什麼要外接存儲器?12
2.9 為什麼要復用P0口?12
2.10 擴展外部存儲器,一定要用到P2口嗎?12
2.11 外部數據存儲器的地址資源用不完,能否實現外借?13
2.12 並行口的“讀引腳”和“讀鎖存器”操作有何區別?13
2.13 P1口的結構和工作是怎樣的?14
2.14 P3口的結構和工作是怎樣的?15
2.15 P2口的結構和工作是怎樣的?17
2.16 P0口的結構和工作是怎樣的?18
2.17 為什麼I/O口鎖存器的位置1,才能進行輸入操作?20
2.18 I/O口的輸入/輸出操作需要先進行初始化嗎?20
2.19 AT89C2051、AT89S2051等單片機為什麼只有20個引腳?20
2.20 怎樣才能使單片機工作?21
2.21 什麼是單片機最小系統?22
2.22 AT89S系列單片機有什麼新的引腳功能?22
第3章 由外到里認識單片機——單片機的內部基本功能23
3.1 單片機的CPU在哪裡?23
3.2 程式狀態字PSW起什麼作用?23
3.3 程式計數器PC起什麼作用?24
3.4 特殊功能暫存器有什麼作用?25
3.5 什麼是程式存儲器地址空間?26
3.6 未使用的程式存儲器單元里的內容是什麼?27
3.7 什麼是數據存儲器地址空間?27
3.88052等器件有256位元組內部數據存儲器單元,是否會與特殊功能暫存器產生地址衝突?29
3.9 如何選擇使用工作暫存器組?29
3.10 AT89S系列單片機有哪些新的特殊功能暫存器?29
3.11 什麼是AT89S系列單片機的ISP系統內編程?32
第4章 指令系統和程式設計36
4.1 指令跟硬體功能有關係嗎?36
4.2 還需要人工編譯彙編語言源程式嗎?36
4.3 理解機器碼有什麼作用,有必要嗎?36
4.4 位元組型傳送指令MOV有什麼特點?37
4.5 把累加器寫成A與寫成ACC有什麼不同?37
4.6 指令格式中的direct是什麼意思?38
4.7 一個內部數據存儲器單元應該用direct還是Rn形式表示好?38
4.8 如何理解指令中的“@”標識符?39
4.9 如何理解指令中的“#”標識符?39
4.10 如何區分指令中的數值是地址還是常數?39
4.11 什麼是堆疊操作?40
4.12 堆疊操作指令的特點是什麼?40
4.13 工作暫存器Rn和累加器A可以堆疊嗎?41
4.14 堆疊區的起點可以自由設定嗎?41
4.15 堆疊區的大小是固定的嗎?41
4.16 如何實現數據交換?42
4.17 傳送指令MOVC有什麼特點?42
4.18 傳送指令MOVX有什麼特點?43
4.19 算術運算指令的特點是什麼?44
4.20 可以實現累加器A的內容自己相加嗎?45
4.21 如何實現DPTR的內容減1?45
4.22 乘法指令和除法指令的操作有什麼特點?46
4.23 有哪些針對累加器A本身的邏輯操作指令?46
4.24 如何進行與、或、異或運算?47
4.25 LJMP和AJMP指令的區別是什麼,如何選用?48
4.26 LCALL和ACALL指令的區別是什麼,如何選用?48
4.27 子程式是以LCALL、ACALL指令開始的嗎?49
4.28 有幾種子程式返回指令,其用途是什麼?49
4.29 “SJMP rel”和“JMP @A+DPTR”指令有什麼作用?49
4.30 “JZ rel”和“JNZ rel”指令是對哪個暫存器的?50
4.31 CJNE指令的功能是什麼?51
4.32 DJNZ指令在程式中的作用是什麼?51
4.33 如何理解轉移指令中的rel?51
4.34 空操作NOP指令是沒有用的指令嗎?52
4.35 如何進行可定址位的數據傳送?53
4.36 可定址位有哪些運算指令?53
4.37 可定址位有哪些轉移指令?54
4.38 在程式中如何表示一個可定址的位?54
4.39 如何區分一條指令是位元組操作指令還是位操作指令?54
4.40 子程式有什麼作用,在什麼情況下要採用子程式?55
4.41 設計子程式有什麼需要注意的地方?55
4.42 什麼是保護和恢復現場?56
4.43 子程式的調用可以嵌套嗎?56
4.44 為什麼中斷回響不自動保護“現場”?57
4.45 主程式的主體應放在程式存儲器的哪一部分?57
4.46 什麼是標號?57
4.47 “$”是什麼符號?58
4.48 使用偽指令有什麼好處?58
4.49 有哪些常用的偽指令?58
4.50 單片機的程式結構與C語言一樣嗎?61
4.51 在什麼情況下能用“DA A”指令?61
4.52 如何進行壓縮BCD碼數的減法運算?62
4.53 在彙編語言源程式中,如何表示BCD碼常數?63
4.54 如何理解和編寫軟體延時子程式?63
4.55 指令有“常用”和“不常用”之分嗎?64
第5章 單片機的C51語言程式設計65
5.1 C51語言和C語言的程式有什麼異同?65
5.2 C51語言程式中變數的存儲器類型指的是單片機本身的存儲器嗎?65
5.3 C51語言如何對程式中的變數確定存儲單元?66
5.4 C51語言如何定義和訪問單片機的特殊功能暫存器?66
5.5 C51語言程式如何直接訪問單片機內部數據存儲器單元?67
5.6 C51語言如何定義和訪問單片機的可定址位?67
5.7 C51語言程式如何訪問單片機外部數據存儲器和I/O接口器件?68
5.8 C51語言的邏輯運算符與彙編語言中的邏輯運算指令是相同的嗎?69
5.9 C51語言的位運算符與彙編語言中的位操作指令是相同的嗎?69
5.10 C51語言的指針和彙編語言的間接定址方式有什麼區別?69
5.11 在C51語言程式中如何使用單片機的中斷功能?70
5.12 C51語言程式的中斷函式會自動保護現場嗎?71
5.13 在C51語言程式中如何使用定時器/計數器?71
5.14 在C51語言程式中如何使用工作暫存器?71
5.15 C51語言程式可以和彙編語言程式放在一起嗎?71
5.16 如何提高C51語言程式的執行速度?72
5.17 採用C51語言設計的程式,是從main()開始執行的嗎?73
第6章 中斷系統套用74
6.1 為什麼要中斷?74
6.2 中斷系統有什麼作用?74
6.3 中斷從哪裡來?75
6.4 如何知道中斷來了?75
6.5 中斷了,乾什麼?75
6.6 中斷請求什麼時候來?76
6.7 中斷服務子程式在哪裡?76
6.8 中斷完了乾什麼?76
6.9 有多箇中斷源同時申請中斷,怎么辦?77
6.10 有一個中斷正在處理(回響)時,又有新的中斷申請,怎么辦?77
6.11 中斷系統應具有什麼功能?77
6.12 MCS—51單片機有哪幾個中斷源?78
6.13 對外部中斷信號有什麼要求?79
6.14 在中斷回響後,進入中斷服務前要滿足什麼條件?79
6.15 從中斷申請到進入程式需要多長時間?80
6.16 回響中斷後,如何處理中斷申請標誌?80
6.17 如何設定中斷系統?81
6.18 能否用程式控制對中斷申請的取捨?82
6.19 “AJMP $”和“SJMP $”是“等待中斷”的指令嗎?82
6.20 可以用轉移指令退出中斷服務程式嗎?83
6.21 如何掌握中斷優先權的順序?83
6.22 在中斷服務程式中如何利用工作暫存器?83
6.23 外中斷應用程式舉例84
第7章 定時器/計數器套用88
7.1 為什麼需要定時器/計數器?88
7.2 定時器/計數器的工作原理是怎樣的?88
7.3 定時器/計數器有幾種工作方式?89
7.4 如何設定定時器/計數器的工作?89
7.5 定時器/計數器在方式0是如何工作的?91
7.6 定時器/計數器在方式1是如何工作的?91
7.7 定時器/計數器在方式2是如何工作的?92
7.8 定時器/計數器0在方式3是如何工作的?93
7.9 如何使定時器/計數器按我們的希望溢出?94
7.10 如何計算定時器/計數器的計數初值?94
7.11 如何選用定時器/計數器的工作方式?95
7.12 如何實現超過定時器/計數器範圍的定時?96
7.13 單片機上電或復位後,定時器/計數器會不會自動開始工作?96
7.14 用方式0、1、3進行周期性定時/計數時,為什麼要重新裝入計數初值?96
7.15 如何設計定時器/計數器的應用程式?96
7.16 定時器/計數器套用舉例97
第8章 串列口套用115
8.1 什麼是同步和異步串列通信?115
8.2 什麼是單工、半雙工、全雙工方式?115
8.3 實現串列通信要用哪些引腳?116
8.4 為什麼需要時鐘控制串列通信?116
8.5 MCS—51單片機的串列口是哪種接口協定?116
8.6 如何知道串列傳送/接收是否已經完成?116
8.7 串列口如何控制?117
8.8 復位後,單片機的串列口會自動處於接收數據的狀態嗎?117
8.9 串列緩衝暫存器SBUF有什麼作用?118
8.10 什麼是波特率?如何確定波特率?118
8.11 如何計算串列方式1、3的波特率?118
8.12 什麼是串列傳送?傳送時數據傳送的順序是怎樣的?119
8.13 什麼是串列接收?接收時數據傳送的順序是怎樣的?119
8.14 需要關心傳送/接收的詳細過程嗎?120
8.15 串列口的傳送/接收會影響程式的執行嗎?120
8.16 串列方式0的傳送/接收條件是怎樣的?120
8.17 串列方式1的傳送/接收條件是怎樣的?121
8.18 串列方式2、3的傳送/接收條件是怎樣的?121
8.19 串列方式2、3中TB8、RB8位起什麼作用?122
8.20 什麼是主從通信方式?122
8.21 串列控制暫存器SCON的SM2位有什麼作用?123
8.22 如何套用串列方式1?123
8.23 如何套用串列方式2、3?130
8.24 一個完善的單片機串列通信系統應考慮哪些因素?137
第9章 單片機接口技術與存儲器擴展138
9.1 程式存儲器不夠用,怎么辦?138
9.2 數據存儲器不夠用,怎么辦?139
9.3 什麼是匯流排?139
9.4 什麼是三匯流排結構?139
9.5 如何處理空餘的高位地址線?140
9.6 什麼是I/O接口和接口技術?141
9.7 什麼是接口晶片和連線埠?141
9.8 接口電路有哪些組成部分?141
9.9 並行I/O口不夠用,怎么辦?142
9.10 串列I/O口不夠用,怎么辦?143
9.11 用RAM器件擴展的存儲器一定是數據存儲器嗎?143
9.12 用ROM器件擴展的存儲器一定是程式存儲器嗎?143
9.13 如何擴展程式存儲器,並對擴展電路進行分析?144
9.14 如何擴展數據存儲器,並對擴展電路進行分析?145
9.15 如何用EEPROM擴展存儲器,並對擴展電路進行分析?147
9.16 如何訪問擴展的程式和數據存儲器?149
9.17 如何理解P0、P2口作為I/O口和地址/數據匯流排時使用上的區別?
9.18 P0、P2口能同時作為I/O口和地址/數據匯流排使用嗎?150
9.19 如何實現用外部數據存儲器方式擴展I/O口?150
9.20 單片機與外部器件間有什麼數據傳送方式?152
第10章 顯示與鍵盤接口技術153
10.1 什麼是LED數碼管動態顯示的“段控”和“位控”?153
10.2 LED數碼管顯示器有哪些工作方式?154
10.3 要顯示的數字、字元,如何變成顯示的“段碼”?155
10.4 動態顯示時如何保證同時清晰看到所有位?155
10.5 如何更新顯示的內容?155
10.6 動態顯示為什麼採用顯示緩衝區的形式?155
10.7 如何編寫動態顯示程式?156
10.8 以按鍵和鍵盤作為輸入器件時,為什麼需要消抖?163
10.9 如何編寫簡單的按鍵處理程式?163
10.10 矩陣鍵盤電路是怎么樣的?166
10.11 單片機如何知道矩陣鍵盤何時有按鍵按下?166
10.12 如何識別矩陣鍵盤中哪個鍵按下?167
10.13 如何設計矩陣鍵盤處理程式?168
10.14 一個完善的鍵盤處理程式應考慮哪些因素?172
10.15 LCD液晶顯示模組有什麼特點?173
10.16 LCD液晶顯示模組有哪些引腳?173
10.17 LCD液晶顯示模組有哪些暫存器?174
10.18 LCD液晶顯示模組有哪些編程指令?175
10.19 MCS—51指令可以對LCD模組編程嗎?177
10.20 如何使用LCD液晶顯示模組?178
10.21 什麼是SPI匯流排?182
10.22 顯示驅動器MAX7219有什麼特點?183
10.23 如何使用和設定MAX7219的暫存器?185
10.24 如何套用MAX7219?186
10.25 帶SPI接口的單片機如何連線和控制MAX7219?191
第11章 實時時鐘與溫度感測器接口技術197
11.1 實時時鐘DS12C887如何與單片機接口?197
11.2 串列實時時鐘DS1306有什麼功能?202
11.3 單片機如何與串列實時時鐘DS1306接口?204
11.4 什麼是單匯流排?208
11.5 溫度感測器DS18B20有什麼特點?209
11.6 DS18B20有哪些存儲單元?210
11.7 什麼是循環冗餘校驗?211
11.8 DS18B20是怎樣實現CRC校驗的?212
11.9 MCS—51單片機如何連線和控制DS18B20?213
11.10 單片機控制DS18B20的應用程式舉例217
附錄A223
附一:MCS—51單片機指令系統功能分類及注釋表223
附二:MCS—51單片機指令系統順序查詢及注釋表226
附錄B 部分程式索引230
附一:彙編語言程式230
附二:C51語言程式231
參考文獻233
  

相關詞條

熱門詞條

聯絡我們