注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡計算機組織與體系結(jié)構(gòu)單片機入門捷徑與實例

單片機入門捷徑與實例

單片機入門捷徑與實例

定 價:¥39.80

作 者: 玉瑞 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 單片機與嵌入式 計算機與互聯(lián)網(wǎng)

ISBN: 9787121231506 出版時間: 2014-06-01 包裝: 平裝
開本: 頁數(shù): 248 字數(shù):  

內(nèi)容簡介

  本書從初學者的角度對他們在學習單片機過程中遇到的問題進行了歸納,選取了200多個問題,以“非典型”問答方式介紹MCS-51系列及其兼容單片機的基本知識和接口技術(shù)。主要內(nèi)容包括由外而內(nèi)地介紹MCS-51系列及其兼容單片機的基本結(jié)構(gòu),指令系統(tǒng)及程序設(shè)計,C51語言程序設(shè)計,中斷系統(tǒng)、定時器/計數(shù)器、串行口的工作原理,存儲器擴展和接口技術(shù)等,并精選擇了一些程序設(shè)計、中斷系統(tǒng)、定時器/計數(shù)器應用、串行口應用、接口技術(shù)及典型的新型接口器件的應用程序?qū)嵗W詈蠼o出了部分匯編語言和C51語言程序索引,方便讀者設(shè)計程序時參考。

作者簡介

  廣東省電梯技術(shù)學會理事;廣東省自動化學會會員;《控制理論與應用》雜志審稿專家;廣東省科技廳科技咨詢專家;廣東省綜合評標專家?guī)煸u標專家。廣東省自然科學基金項目――最經(jīng)濟智能控制的交流傳動系統(tǒng)結(jié)構(gòu)及運動過程研究;廣州市高等學校第二批教育教學改革研究項目――基于PROTEUS系統(tǒng)仿真的單片機課程教學改革;廣州大學實驗教學改革研究項目――單片機及嵌入式系統(tǒng)實驗教學改革。

圖書目錄

第1章 對單片機的基本認識 1
1.1 單片機是什么? 1
1.2 單片機是什么樣子? 1
1.3 單片機有哪些型號? 2
1.4 從外形看,怎么知道單片機的功能? 2
1.5 怎么知道單片機是否在工作? 2
1.6 單片機和微機有什么區(qū)別? 2
1.7 單片機與專用集成電路有什么區(qū)別? 3
1.8 單片機與可編程控制器(PLC)有什么區(qū)別? 3
1.9 單片機的組成結(jié)構(gòu)是怎樣的? 4
1.10 什么是普林斯頓結(jié)構(gòu)和哈佛結(jié)構(gòu)? 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 復位以后單片機處于什么狀態(tài)? 10
2.7 什么是I/O端口? 11
2.8 為什么要外接存儲器? 12
2.9 為什么要復用P0口? 12
2.10 擴展外部存儲器,一定要用到P2口嗎? 12
2.11 外部數(shù)據(jù)存儲器的地址資源用不完,能否實現(xiàn)外借? 13
2.12 并行口的“讀引腳”和“讀鎖存器”操作有何區(qū)別? 13
2.13 P1口的結(jié)構(gòu)和工作是怎樣的? 14
2.14 P3口的結(jié)構(gòu)和工作是怎樣的? 15
2.15 P2口的結(jié)構(gòu)和工作是怎樣的? 17
2.16 P0口的結(jié)構(gòu)和工作是怎樣的? 18
2.17 為什么I/O口鎖存器的位置1,才能進行輸入操作? 20
2.18 I/O口的輸入/輸出操作需要先進行初始化嗎? 20
2.19 AT89C2051、AT89S2051等單片機為什么只有20個引腳? 20
2.20 怎樣才能使單片機工作? 21
2.21 什么是單片機最小系統(tǒng)? 22
2.22 AT89S系列單片機有什么新的引腳功能? 22
第3章 由外到里認識單片機――單片機的內(nèi)部基本功能 23
3.1 單片機的CPU在哪里? 23
3.2 程序狀態(tài)字PSW起什么作用? 23
3.3 程序計數(shù)器PC起什么作用? 24
3.4 特殊功能寄存器有什么作用? 25
3.5 什么是程序存儲器地址空間? 26
3.6 未使用的程序存儲器單元里的內(nèi)容是什么? 27
3.7 什么是數(shù)據(jù)存儲器地址空間? 27
3.8 8052等器件有256字節(jié)內(nèi)部數(shù)據(jù)存儲器單元,是否會與特殊功能寄存器產(chǎn)生地址沖突? 29
3.9 如何選擇使用工作寄存器組? 29
3.10 AT89S系列單片機有哪些新的特殊功能寄存器? 29
3.11 什么是AT89S系列單片機的ISP系統(tǒng)內(nèi)編程? 32
第4章 指令系統(tǒng)和程序設(shè)計 36
4.1 指令跟硬件功能有關(guān)系嗎? 36
4.2 還需要人工編譯匯編語言源程序嗎? 36
4.3 理解機器碼有什么作用,有必要嗎? 36
4.4 字節(jié)型傳送指令MOV有什么特點? 37
4.5 把累加器寫成A與寫成ACC有什么不同? 37
4.6 指令格式中的direct是什么意思? 38
4.7 一個內(nèi)部數(shù)據(jù)存儲器單元應該用direct還是Rn形式表示好? 38
4.8 如何理解指令中的“@”標識符? 39
4.9 如何理解指令中的“#”標識符? 39
4.10 如何區(qū)分指令中的數(shù)值是地址還是常數(shù)? 39
4.11 什么是堆棧操作? 40
4.12 堆棧操作指令的特點是什么? 40
4.13 工作寄存器Rn和累加器A可以堆棧嗎? 41
4.14 堆棧區(qū)的起點可以自由設(shè)定嗎? 41
4.15 堆棧區(qū)的大小是固定的嗎? 41
4.16 如何實現(xiàn)數(shù)據(jù)交換? 42
4.17 傳送指令MOVC有什么特點? 42
4.18 傳送指令MOVX有什么特點? 43
4.19 算術(shù)運算指令的特點是什么? 44
4.20 可以實現(xiàn)累加器A的內(nèi)容自己相加嗎? 45
4.21 如何實現(xiàn)DPTR的內(nèi)容減1? 45
4.22 乘法指令和除法指令的操作有什么特點? 46
4.23 有哪些針對累加器A本身的邏輯操作指令? 46
4.24 如何進行與、或、異或運算? 47
4.25 LJMP和AJMP指令的區(qū)別是什么,如何選用? 48
4.26 LCALL和ACALL指令的區(qū)別是什么,如何選用? 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 如何理解轉(zhuǎn)移指令中的rel? 51
4.34 空操作NOP指令是沒有用的指令嗎? 52
4.35 如何進行可尋址位的數(shù)據(jù)傳送? 53
4.36 可尋址位有哪些運算指令? 53
4.37 可尋址位有哪些轉(zhuǎn)移指令? 54
4.38 在程序中如何表示一個可尋址的位? 54
4.39 如何區(qū)分一條指令是字節(jié)操作指令還是位操作指令? 54
4.40 子程序有什么作用,在什么情況下要采用子程序? 55
4.41 設(shè)計子程序有什么需要注意的地方? 55
4.42 什么是保護和恢復現(xiàn)場? 56
4.43 子程序的調(diào)用可以嵌套嗎? 56
4.44 為什么中斷響應不自動保護“現(xiàn)場”? 57
4.45 主程序的主體應放在程序存儲器的哪一部分? 57
4.46 什么是標號? 57
4.47 “$”是什么符號? 58
4.48 使用偽指令有什么好處? 58
4.49 有哪些常用的偽指令? 58
4.50 單片機的程序結(jié)構(gòu)與C語言一樣嗎? 61
4.51 在什么情況下能用“DA A”指令? 61
4.52 如何進行壓縮BCD碼數(shù)的減法運算? 62
4.53 在匯編語言源程序中,如何表示BCD碼常數(shù)? 63
4.54 如何理解和編寫軟件延時子程序? 63
4.55 指令有“常用”和“不常用”之分嗎? 64
第5章 單片機的C51語言程序設(shè)計 65
5.1 C51語言和C語言的程序有什么異同? 65
5.2 C51語言程序中變量的存儲器類型指的是單片機本身的存儲器嗎? 65
5.3 C51語言如何對程序中的變量確定存儲單元? 66
5.4 C51語言如何定義和訪問單片機的特殊功能寄存器? 66
5.5 C51語言程序如何直接訪問單片機內(nèi)部數(shù)據(jù)存儲器單元? 67
5.6 C51語言如何定義和訪問單片機的可尋址位? 67
5.7 C51語言程序如何訪問單片機外部數(shù)據(jù)存儲器和I/O接口器件? 68
5.8 C51語言的邏輯運算符與匯編語言中的邏輯運算指令是相同的嗎? 69
5.9 C51語言的位運算符與匯編語言中的位操作指令是相同的嗎? 69
5.10 C51語言的指針和匯編語言的間接尋址方式有什么區(qū)別? 69
5.11 在C51語言程序中如何使用單片機的中斷功能? 70
5.12 C51語言程序的中斷函數(shù)會自動保護現(xiàn)場嗎? 71
5.13 在C51語言程序中如何使用定時器/計數(shù)器? 71
5.14 在C51語言程序中如何使用工作寄存器? 71
5.15 C51語言程序可以和匯編語言程序放在一起嗎? 71
5.16 如何提高C51語言程序的執(zhí)行速度? 72
5.17 采用C51語言設(shè)計的程序,是從main()開始執(zhí)行的嗎? 73
第6章 中斷系統(tǒng)應用 74
6.1 為什么要中斷? 74
6.2 中斷系統(tǒng)有什么作用? 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 中斷系統(tǒng)應具有什么功能? 77
6.12 MCS-51單片機有哪幾個中斷源? 78
6.13 對外部中斷信號有什么要求? 79
6.14 在中斷響應后,進入中斷服務前要滿足什么條件? 79
6.15 從中斷申請到進入程序需要多長時間? 80
6.16 響應中斷后,如何處理中斷申請標志? 80
6.17 如何設(shè)置中斷系統(tǒng)? 81
6.18 能否用程序控制對中斷申請的取舍? 82
6.19 “AJMP $”和“SJMP $”是“等待中斷”的指令嗎? 82
6.20 可以用轉(zhuǎn)移指令退出中斷服務程序嗎? 83
6.21 如何掌握中斷優(yōu)先級的順序? 83
6.22 在中斷服務程序中如何利用工作寄存器? 83
6.23 外中斷應用程序舉例 84
第7章 定時器/計數(shù)器應用 88
7.1 為什么需要定時器/計數(shù)器? 88
7.2 定時器/計數(shù)器的工作原理是怎樣的? 88
7.3 定時器/計數(shù)器有幾種工作方式? 89
7.4 如何設(shè)置定時器/計數(shù)器的工作? 89
7.5 定時器/計數(shù)器在方式0是如何工作的? 91
7.6 定時器/計數(shù)器在方式1是如何工作的? 91
7.7 定時器/計數(shù)器在方式2是如何工作的? 92
7.8 定時器/計數(shù)器0在方式3是如何工作的? 93
7.9 如何使定時器/計數(shù)器按我們的希望溢出? 94
7.10 如何計算定時器/計數(shù)器的計數(shù)初值? 94
7.11 如何選用定時器/計數(shù)器的工作方式? 95
7.12 如何實現(xiàn)超過定時器/計數(shù)器范圍的定時? 96
7.13 單片機上電或復位后,定時器/計數(shù)器會不會自動開始工作? 96
7.14 用方式0、1、3進行周期性定時/計數(shù)時,為什么要重新裝入計數(shù)初值? 96
7.15 如何設(shè)計定時器/計數(shù)器的應用程序? 96
7.16 定時器/計數(shù)器應用舉例 97
第8章 串行口應用 115
8.1 什么是同步和異步串行通信? 115
8.2 什么是單工、半雙工、全雙工方式? 115
8.3 實現(xiàn)串行通信要用哪些引腳? 116
8.4 為什么需要時鐘控制串行通信? 116
8.5 MCS-51單片機的串行口是哪種接口協(xié)議? 116
8.6 如何知道串行發(fā)送/接收是否已經(jīng)完成? 116
8.7 串行口如何控制? 117
8.8 復位后,單片機的串行口會自動處于接收數(shù)據(jù)的狀態(tài)嗎? 117
8.9 串行緩沖寄存器SBUF有什么作用? 118
8.10 什么是波特率?如何確定波特率? 118
8.11 如何計算串行方式1、3的波特率? 118
8.12 什么是串行發(fā)送?發(fā)送時數(shù)據(jù)傳送的順序是怎樣的? 119
8.13 什么是串行接收?接收時數(shù)據(jù)傳送的順序是怎樣的? 119
8.14 需要關(guān)心發(fā)送/接收的詳細過程嗎? 120
8.15 串行口的發(fā)送/接收會影響程序的執(zhí)行嗎? 120
8.16 串行方式0的發(fā)送/接收條件是怎樣的? 120
8.17 串行方式1的發(fā)送/接收條件是怎樣的? 121
8.18 串行方式2、3的發(fā)送/接收條件是怎樣的? 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 一個完善的單片機串行通信系統(tǒng)應考慮哪些因素? 137
第9章 單片機接口技術(shù)與存儲器擴展 138
9.1 程序存儲器不夠用,怎么辦? 138
9.2 數(shù)據(jù)存儲器不夠用,怎么辦? 139
9.3 什么是總線? 139
9.4 什么是三總線結(jié)構(gòu)? 139
9.5 如何處理空余的高位地址線? 140
9.6 什么是I/O接口和接口技術(shù)? 141
9.7 什么是接口芯片和端口? 141
9.8 接口電路有哪些組成部分? 141
9.9 并行I/O口不夠用,怎么辦? 142
9.10 串行I/O口不夠用,怎么辦? 143
9.11 用RAM器件擴展的存儲器一定是數(shù)據(jù)存儲器嗎? 143
9.12 用ROM器件擴展的存儲器一定是程序存儲器嗎? 143
9.13 如何擴展程序存儲器,并對擴展電路進行分析? 144
9.14 如何擴展數(shù)據(jù)存儲器,并對擴展電路進行分析? 145
9.15 如何用EEPROM擴展存儲器,并對擴展電路進行分析? 147
9.16 如何訪問擴展的程序和數(shù)據(jù)存儲器? 149
9.17 如何理解P0、P2口作為I/O口和地址/數(shù)據(jù)總線時使用上的區(qū)別? 149
9.18 P0、P2口能同時作為I/O口和地址/數(shù)據(jù)總線使用嗎? 150
9.19 如何實現(xiàn)用外部數(shù)據(jù)存儲器方式擴展I/O口? 150
9.20 單片機與外部器件間有什么數(shù)據(jù)傳送方式? 152
第10章 顯示與鍵盤接口技術(shù) 153
10.1 什么是LED數(shù)碼管動態(tài)顯示的“段控”和“位控”? 153
10.2 LED數(shù)碼管顯示器有哪些工作方式? 154
10.3 要顯示的數(shù)字、字符,如何變成顯示的“段碼”? 155
10.4 動態(tài)顯示時如何保證同時清晰看到所有位? 155
10.5 如何更新顯示的內(nèi)容? 155
10.6 動態(tài)顯示為什么采用顯示緩沖區(qū)的形式? 155
10.7 如何編寫動態(tài)顯示程序? 156
10.8 以按鍵和鍵盤作為輸入器件時,為什么需要消抖? 163
10.9 如何編寫簡單的按鍵處理程序? 163
10.10 矩陣鍵盤電路是怎么樣的? 166
10.11 單片機如何知道矩陣鍵盤何時有按鍵按下? 166
10.12 如何識別矩陣鍵盤中哪個鍵按下? 167
10.13 如何設(shè)計矩陣鍵盤處理程序? 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 顯示驅(qū)動器MAX7219有什么特點? 183
10.23 如何使用和設(shè)置MAX7219的寄存器? 185
10.24 如何應用MAX7219? 186
10.25 帶SPI接口的單片機如何連接和控制MAX7219? 191
第11章 實時時鐘與溫度傳感器接口技術(shù) 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 什么是循環(huán)冗余校驗? 211
11.8 DS18B20是怎樣實現(xiàn)CRC校驗的? 212
11.9 MCS-51單片機如何連接和控制DS18B20? 213
11.10 單片機控制DS18B20的應用程序舉例 217
附錄A 223
附一:MCS-51單片機指令系統(tǒng)功能分類及注釋表 223
附二:MCS-51單片機指令系統(tǒng)順序查詢及注釋表 226
附錄B 部分程序索引 230
附一:匯編語言程序 230
附二:C51語言程序 231
參考文獻 233

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號