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

單片機(jī)入門捷徑與實(shí)例

單片機(jī)入門捷徑與實(shí)例

定 價(jià):¥39.80

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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