單片機接口技術(C51版)

-
【作 者】張道德 編著
【I S B N 】978-7-5084-4302-7
【責任編輯】郭東青
【適用讀者群】本科
【出版時間】2008-07-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數(shù)】304
【千字數(shù)】
【印 張】
【定 價】¥28
【叢 書】21世紀高等學校精品教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關圖書
本書是針對目前最通用的單片機8051和目前最流行的程序設計語言C51,以KeilC51編譯器為工具,講解單片機接口技術的教材。
全書共三部分,共14章。第一部分(第1~5章)是C51基礎知識篇,介紹C51基本語法及程序設計基礎知識;第二部分(第6~11章)為C51接口篇,介紹單片機片內資源如并口、串口、定時器、中斷的C51編程應用,常用外圍擴展器件如綜合擴展芯片8155、實時時鐘DS1302、人機接口技術如鍵盤接口、LED顯示、LCD顯示及C51編程應用,SPI和I2C兩種新的串行總線技術的原理及X5045等典型應用實例;第三部分(第12~14章)為C51提高篇,介紹Keil C51編譯及連接技術,重點介紹了代碼優(yōu)化技術、C51與匯編混合編程技術以及突破64KB尋址空間的分頁技術,通過幾個實例介紹RTX51的原理及使用方法,最后給出兩個綜合應用實例。
本書結合了作者多年教學、科研實踐所獲取的經驗,依據(jù)學習的認知規(guī)律來編排內容,充分體現(xiàn)了以人為本的指導思想。書中實例較多,各章配有習題,實用性強,既可作為高等院校、職業(yè)學校、電視大學等的教學用書,也是單片機愛好者、自學單片機的C語言的合適教材,也可作為從事單片機應用的技術人員的參考書。
單片機有體積小、功能強、功耗低、可靠性高和性價比高的特點,在過程控制、機電一體化產品、智能儀器、家用電器以及計算機網絡及通信等方面得到廣泛應用。
單片機的發(fā)展經歷了四位、八位、十六位及三十二位單片機的發(fā)展階段,世界上一些著名的半導體器件廠家都開發(fā)了單片機,如Intel、Motorola、Zilog、PHILIPS等。20世紀80年代中期,Intel公司將8051內核使用權以專利互換和出售形式轉讓給世界許多著名IC制造廠商,如PHILIPS、Siemens、AMD、OKI、NEC、Atmel等,這樣8051就成為有眾多制造商支持的、發(fā)展出上百種品種、功能更豐富、內存容量更大、運行速度更快的MCS-51大家族。8051軟件工具已有C級編譯器及實時多任務操作系統(tǒng)(RTOS),在RTOS的支持下,單片機的程序設計更簡單,更可靠,實時性更強,因而8051是單片機教學的首選機型。
C51語言是一種編譯型程序設計語言,有功能豐富的庫函數(shù),運算速度快,編譯效率高,有良好的可移植性,而且可以直接實現(xiàn)對系統(tǒng)硬件的控制,支持當前程序設計中廣泛采用的由頂向下結構化程序設計技術,C51語言程序具有完善的模塊程序結構,從而為軟件開發(fā)中采用模塊化程序設計方法提供有力的保障。用C51語言開發(fā)系統(tǒng)軟件,可大大縮短開發(fā)周期,增加軟件的可讀性,便于系統(tǒng)改進和擴充。C51語言開發(fā)的軟件在軟件質量、結構嚴謹、程序穩(wěn)定性等方面具有匯編語言無法比擬的優(yōu)勢。因此,用C51語言進行8051單片機程序設計是單片機開發(fā)與應用的必然趨勢,使用C51語言進行程序設計已成為MCS-51單片機系統(tǒng)軟件開發(fā)的主流。
筆者認為,單片機教學中的程序設計也應該以C51語言為主,以匯編語言為輔。對匯編語言掌握到只要可以讀懂程序,在時間要求比較嚴格的模塊中進行程序的優(yōu)化即可。采用C51語言也不必對單片機和硬件接口的結構有很深入的了解,編譯器可以自動完成變量的存儲單元的分配,編程者只需專注于應用軟件部分的設計,大大加快了軟件的開發(fā)速度。
本書是作者多年來從事單片機系統(tǒng)開發(fā)及課程教學的經驗總結,編寫時體現(xiàn)以下幾個特點:
目的明確,重在實用。本書不是C51語言手冊,也不是硬件手冊。C51手冊厚達數(shù)百頁,接口技術也涉及方方面面,本書只介紹常用的、實用的方法與技巧。只要讀者理解、掌握了本書提供的應用實例,就已具備了用C51進行單片機系統(tǒng)開發(fā)的能力。C51有很多煩瑣的語義語法如連接、定位、各種各樣的庫函數(shù)等,本書并未涉及,讀者在掌握本書知識,對C51有了初步的整體認識后,就有足夠的信心與能力在需要時去查閱相關資料。
內容齊全,由淺入深;結構合理,條理清晰。本書的硬件內容部分涵蓋了單片機系統(tǒng)內部資源及常用的外部資源,講解了常用的接口技術及方法,軟件內容部分涵蓋了C51常用的語法規(guī)范和使用方法、技巧;全書從前至后按內容難易分三個層次,即C51基礎知識篇、接口篇和提高篇;按單片機系統(tǒng)結構來分,先從單片機內部資源開始介紹,再介紹外部擴展資源,層次分明。
硬件與軟件結合,理論與實踐結合。書中自第6章開始,所有C51源程序均對應著特定的硬件或應用,通過翔實豐富的C51源程序(配中文注釋)來理解并掌握對硬件的控制,達到學以致用的目的。
大量實例,可移植性強。書中提供的大量源程序只需稍加修改,即可在實際工作中加以應用。
本書教學學時建議為64學時,具體安排如下:
第一部分C51基礎知識篇(共計20學時):第1章C51基本語法(4學時),第2章C51基本結構程序設計(4學時),第3章數(shù)組(4學時),第4章函數(shù)(4學時),第5章指針、結構、聯(lián)合和枚舉(4學時)。
第二部分C51接口篇(共計32學時):第6章 8051內部資源編程(4學時),第7章8051外部常用擴展資源編程(4學時),第8章人機接口技術(12學時),第9章數(shù)據(jù)采集編程(4學時),第10章通信編程(4學時),第11章新型串行總線技術(4學時)。
第三部分C51提高篇(共計12學時):第12章Keil C51編譯及連接技術(4學時),第13章RTX51實時多任務操作系統(tǒng)(4學時),第14章單片機綜合應用實例(4學時)。
如果讀者有C語言編程基礎,則第一部分只需學習第1章1.2小節(jié)內容,第三部分可以根據(jù)需要選學。
本書由張道德根據(jù)多年的單片機教學、科研經驗編著完成。參加本書編寫工作的還有張錚、游達章、周敬東、劉祎祺、胡新宇、顧夢霞以及奚旗文、周文嵩等。全書由楊光友主審。
希望本書能對單片機的教學、應用推廣起到一定的作用。由于本書內容覆蓋面廣,加上本人水平有限,難免有誤漏之處,懇請廣大讀者批評指正,讀者可通過電子郵件:hgzdd@163.com,直接與作者聯(lián)系。
讀者使用本書時,所需的Keil C51軟件可在周立功單片機網站http://www.zlgmcu.com或Keil的官方網站http://www.keil.com下載軟件評估版。
為方便讀者學習,作者開發(fā)了與本書配套的實驗開發(fā)板,支持在線編程,有需要該開發(fā)版的讀者可以通過電子郵件hgzdd@126.com與作者聯(lián)系。書中所有C51源代碼均在Keil C51 V7.0環(huán)境下編譯、調試通過,可以在中國水利水電出版社的網站(http://www.waterpub.com.cn/softdown)下載,也可在作者個人網站下載,網站為http://www.dpjjx.com。
張道德
2007年1月
第一部分 C51基礎知識篇
第1章 C51基本語法 1
1.1 C51基本數(shù)據(jù)類型 1
1.2 常量與變量 2
1.2.1 常量 2
1.2.2 變量 3
1.2.3 8051片內資源及位變量 6
1.3 自定義變量類型typedef 8
1.4 運算符與表達式 9
1.4.1 賦值運算 9
1.4.2 算術運算 9
1.4.3 關系運算 11
1.4.4 邏輯運算 11
1.4.5 位運算 12
1.4.6 自增減運算及復合運算 13
1.4.7 條件運算符 14
1.4.8 逗號運算符 15
習題一 15
第2章 C51基本結構程序設計 16
2.1 順序結構 16
2.2 選擇結構 17
2.2.1 if語句 17
2.2.2 switch-case語句 20
2.3 循環(huán)結構 22
2.3.1 while語句 23
2.3.2 do-while語句 24
2.3.3 for語句 25
2.3.4 循環(huán)嵌套 26
2.4 轉移語句 27
2.4.1 goto語句 27
2.4.2 break語句 28
2.4.3 continue語句 28
習題二 29
第3章 數(shù)組 30
3.1 一維數(shù)組 30
3.1.1 一維數(shù)組的定義 30
3.1.2 一維數(shù)組元素的引用 31
3.1.3 一維數(shù)組的初始化 32
3.1.4 一維數(shù)組應用舉例 32
3.2 二維數(shù)組 33
3.2.1 二維數(shù)組的定義 33
3.2.2 二維數(shù)組元素的引用 34
3.2.3 二維數(shù)組的初始化 34
3.2.4 二維數(shù)組應用舉例 35
3.3 字符數(shù)組 35
3.4 多維數(shù)組 37
習題三 38
第4章 函數(shù) 39
4.1 函數(shù)的說明與定義 39
4.1.1 函數(shù)說明 39
4.1.2 函數(shù)定義 40
4.2 函數(shù)的調用 40
4.2.1 函數(shù)的簡單調用 40
4.2.2 函數(shù)的參數(shù)傳遞 41
4.2.3 函數(shù)的遞歸調用 43
4.3 函數(shù)作用范圍與變量作用域 44
習題四 45
第5章 指針、結構、聯(lián)合和枚舉 46
5.1 指針 46
5.1.1 指針和地址 46
5.1.2 指針和數(shù)組 50
5.1.3 字符指針 52
5.1.4 指針數(shù)組 53
5.1.5 指針作為函數(shù)的形參 54
5.2 結構體 55
5.2.1 結構變量的定義 55
5.2.2 結構變量的引用 57
5.2.3 結構數(shù)組和結構指針 58
5.3 聯(lián)合體 63
5.3.1 聯(lián)合變量的定義 63
5.3.2 結構和聯(lián)合的區(qū)別 64
5.4 枚舉 65
習題五 66
第二部分 C51接口篇
第6章 8051內部資源編程 68
6.1 輸入/輸出(I/O)端口 68
6.1.1 并行I/O口結構及功能 68
6.1.2 應用實例 71
6.2 定時器/計數(shù)器 72
6.2.1 定時/計數(shù)器結構 72
6.2.2 定時器/計數(shù)器工作方式 72
6.2.3 定時/計數(shù)器的控制寄存器 75
6.2.4 定時/計數(shù)常數(shù)的計算 77
6.2.5 應用實例 78
6.3 中斷 79
6.3.1 中斷的基本概念 79
6.3.2 中斷系統(tǒng)的結構 79
6.3.3 中斷的控制 80
6.3.4 中斷響應過程及中斷入口地址 81
6.3.5 C51中斷程序設計 82
6.4 串行口 84
6.4.1 串行口的結構與控制 84
6.4.2 串行口的工作方式 86
6.4.3 波特率的計算 89
6.4.4 串行口初始化 90
6.4.5 應用實例 90
習題六 93
第7章 8051外部常用擴展資源編程 94
7.1 綜合擴展芯片8155 94
7.1.1 8155結構及工作原理 94
7.1.2 8155應用實例 97
7.2 實時時鐘芯片DS1302 99
7.2.1 DSl302的結構及工作原理 99
7.2.2 DS1302與MCS-51單片機應用實例 103
例7-2 104
習題七 106
第8章 人機接口技術 107
8.1 鍵盤及其接口 107
8.1.1 獨立式鍵盤接口 108
8.1.2 行列式鍵盤接口 110
8.2 LED顯示器接口 112
8.2.1 LED顯示器的結構與原理 112
8.2.2 LED顯示方式 113
8.2.3 LED顯示器接口實例 115
8.2.4 LED顯示管理芯片MAX7219 116
8.3 LCD顯示器接口 120
8.3.1 LCD顯示器的基本原理 121
8.3.2 液晶顯示控制器SED1330原理與應用實例 122
8.4 打印機接口 135
8.4.1 TPμP-40A的主要性能、接口要求及時序 135
8.4.2 字符代碼及打印命令 137
8.4.3 應用實例 139
8.5 語音芯片ISD4004 141
8.5.1 ISD4004的工作原理 141
8.5.2 應用實例 146
習題八 152
第9章 數(shù)據(jù)采集編程 154
9.1 概述 154
9.2 D/A轉換器DAC0832 155
9.2.1 D/A轉換器的性能指標 155
9.2.2 DAC0832引腳及內部結構 156
9.2.3 DAC0832的應用 157
9.2.4 DAC0832應用實例 159
9.3 A/D轉換器ADC0809 161
9.3.1 逐次逼近型ADC基本原理 161
9.3.2 ADC0809應用實例 162
9.3.3 A/D接口設計要點 164
9.4 8位A/D轉換器TLC0832 165
9.4.1 主要技術特點 165
9.4.2 TLC0832的工作原理 165
9.4.3 應用實例 167
習題九 169
第10章 通信編程 170
10.1 MCS-51單片機與PC機通信 170
10.1.1 MAX232簡介 170
10.1.2 PC機的串行口 171
10.1.3 單片機與PC機通信應用實例 172
10.2 多機通信技術 174
10.2.1 多機通信原理 174
10.2.2 多機通信系統(tǒng)設計實例 175
習題十 184
第11章 新型串行總線技術 185
11.1 SPI接口技術 185
11.1.1 SPI 總線簡介 185
11.1.2 SPI總線的工作原理 185
11.1.3 MCS-51單片機的SPI接口虛擬實現(xiàn) 186
11.1.4 SPI接口應用實例——X5045看門狗定時器 186
11.2 I2C總線接口 196
11.2.1 I2C總線簡介 196
11.2.2 I2C總線的工作原理 196
習題十一 203
第三部分 C51提高篇
第12章 Keil C51編譯及連接技術 204
12.1 預處理器 204
12.1.1 宏定義 204
12.1.2 預處理指令 205
12.1.3 文件包含 207
12.2 C51編譯庫及代碼優(yōu)化技術 208
12.2.1 C51編譯庫 208
12.2.2 代碼優(yōu)化 208
12.3 C51與ASM混合編程技術 209
12.3.1 混合編程意義 209
12.3.2 C51模塊內的匯編接口 209
12.3.3 C51與匯編的模塊間接口 211
12.3.4 應用實例 213
12.4 Keil C51環(huán)境下的分頁技術 214
12.4.1 Keil C51的Bankswitch原理 214
12.4.2 基于PSD813F2的分頁硬件設計 215
12.4.3 分頁的實現(xiàn)過程及實例 215
習題十二 219
第13章 RTX51實時多任務操作系統(tǒng) 221
13.1 多任務編程思想 221
13.1.1 單任務機制工作原理 221
13.1.2 多任務機制工作原理 222
13.2 RTX51的特點及運行要求 223
13.2.1 RTX51的特點 223
13.2.2 RTX51對硬件的要求 223
13.2.3 RTX51對軟件的要求 224
13.3 RTX51的基本概念及實例分析 224
13.3.1 任務的狀態(tài)及定義 224
13.3.2 RTX51事件 226
13.3.3 RTX51中斷處理 228
13.3.4 RTX51 TINY的配置 229
13.4 RTX51 TINY的內核原理 230
13.4.1 同步機制 230
13.4.2 調度規(guī)則 230
13.4.3 任務控制塊 230
13.4.4 存儲器管理 231
13.4.5 代碼分析 231
13.5 應用實例 233
13.5.1 鍵盤顯示系統(tǒng) 233
13.5.2 交通燈控制 238
習題十三 239
第14章 單片機綜合應用實例 240
14.1 MCS-51單片機遠程數(shù)據(jù)傳輸裝置 240
14.1.1 電話網遠程通信原理 240
14.1.2 系統(tǒng)硬件設計 240
14.1.3 DTMF電路HT9200A 243
14.1.4 FSK調制解調芯片MSM7512B 244
14.1.5 數(shù)據(jù)傳輸?shù)墓ぷ鬟^程 245
14.1.6 軟件設計 245
14.2 工業(yè)洗衣機模糊控制器的設計 253
14.2.1 模糊控制器的設計 253
14.2.2 模糊推理軟件設計 255
附錄A Keil C51菜單調試技巧 269
附錄B 微機測控系統(tǒng)軟件抗干擾的常用方法 286
參考文獻 290
參考資料 291
- 微機原理與接口技術 [李珍香 編著]
- 微型計算機原理與接口技術(第二版) [主編 王向慧]
- 微型計算機原理與接口技術學習與實驗指導(第二版) [主編 楊立]
- 微型計算機原理與接口技術(第二版) [主編 楊立]
- 微機原理與接口技術(第二版) [主 編 李云強]
- 單片機原理及典型應用接口技術 [劉甫 陳健美 編著]
- 微型計算機原理與接口技術實驗及習題指導 [主編 何超]
- 微型計算機原理與接口技術 [何超]
- 單片微型計算機原理及接口技術實驗指導與實訓 [林軍 等編著]
- 微機原理與接口技術 [梁建武 主 編 ]
- 微機原理與接口技術 [李云強 主 編 ]
- 微型計算機及其接口技術 [胡敏 張永 主編]
- 微型計算機通信與接口技術 [劉兵 易逵 朱天清 等編著]
- 微機原理、匯編語言與接口技術 [唐瑞庭 等編著]
- 微機原理及接口技術 [蔣新革 主編]
- 微型計算機原理與常用接口技術 [黃同愿 等編著]
- 微機接口技術 [董方武 主編]
- 微機原理、匯編語言與接口技術 [徐雅娜 主編]
- 微型計算機原理與接口技術 [王向慧 等編著]
- 微型計算機原理與接口技術學習與實驗指導 [楊 立 主 編]
- 微型計算機通信與接口技術(第二版) [劉兵 等編著]