《單片機(jī)原理及接口技術(shù)(C51編程) 》是2011年8月 出版的圖書。
單片機(jī)原理及接口技術(shù)(C51編程)圖片
中文名稱 | 單片機(jī)原理及接口技術(shù)(C51編程) | 作者 | 張毅剛 主編 |
---|---|---|---|
字?jǐn)?shù) | 474 千字 | 版次 | 第1版第1次 |
《單片機(jī)原理及接口技術(shù)(C51編程)》詳細(xì)介紹了美國(guó)ATMEL公司的AT89S51單片機(jī)的硬件結(jié)構(gòu)和片內(nèi)外圍部件的工作原理,Keil C51編程基礎(chǔ)知識(shí),并從應(yīng)用設(shè)計(jì)的角度介紹AT89S51單片機(jī)的各種常用的硬件接口設(shè)計(jì),以及相應(yīng)的Keil C51接口驅(qū)動(dòng)程序設(shè)計(jì)。本書最后介紹了AT89S51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)以及一些典型應(yīng)用舉例。
《單片機(jī)原理及接口技術(shù)(C51編程)》可作為各類工科院校、職業(yè)技術(shù)學(xué)院電子技術(shù)、計(jì)算機(jī)、工業(yè)自動(dòng)化、自動(dòng)控制、智能儀器儀表、電氣工程、機(jī)電一體化等專業(yè)單片機(jī)課程教材,也可供從事單片機(jī)應(yīng)用設(shè)計(jì)的工程技術(shù)人員參考。
第1章 單片機(jī)概述 1
1.1 什么是單片機(jī) 1
1.2 單片機(jī)的發(fā)展歷史 2
1.3 單片機(jī)的特點(diǎn) 2
1.4 單片機(jī)的應(yīng)用 3
1.5 單片機(jī)的發(fā)展趨勢(shì) 4
1.6 MCS-51系列與AT89S5x系列單片機(jī) 5
1.6.1 MCS-51系列單片機(jī) 5
1.6.2 AT89系列單片機(jī) 6
1.6.3 AT89系列單片機(jī)的型號(hào)說(shuō)明 7
1.7 各種衍生品種的51單片機(jī) 8
1.7.1 STC系列單片機(jī) 9
1.7.2 C8051F×××單片機(jī) 10
1.7.3 ADμC812單片機(jī) 10
1.7.4 華邦W77系列、W78系列單片機(jī) 10
1.8 PIC系列單片機(jī)與AVR系列單片機(jī) 10
1.8.1 PIC系列單片機(jī) 11
1.8.2 AVR系列單片機(jī) 12
1.9 其他的嵌入式處理器簡(jiǎn)介 12
1.9.1 嵌入式DSP處理器 13
1.9.2 嵌入式微處理器 13
思考題及習(xí)題 14
第2章 AT89S51單片機(jī)硬件結(jié)構(gòu) 15
2.1 AT89S51單片機(jī)的硬件組成 15
2.2 AT89S51的引腳功能 17
2.2.1 電源及時(shí)鐘引腳 17
2.2.2 控制引腳 18
2.2.3 并行I/O口引腳 18
2.3 AT89S51的CPU 19
2.3.1 運(yùn)算器 19
2.3.2 控制器 21
2.4 AT89S51單片機(jī)存儲(chǔ)器的結(jié)構(gòu) 21
2.4.1 程序存儲(chǔ)器空間 22
2.4.2 數(shù)據(jù)存儲(chǔ)器空間 23
2.4.3 特殊功能寄存器 23
2.4.4 位地址空間 26
2.5 AT89S51單片機(jī)的并行I/O端口 27
2.6 時(shí)鐘電路與時(shí)序 29
2.6.1 時(shí)鐘電路設(shè)計(jì) 29
2.6.2 機(jī)器周期、指令周期與指令時(shí)序 30
2.7 復(fù)位操作和復(fù)位電路 31
2.7.1 復(fù)位操作 31
2.7.2 復(fù)位電路設(shè)計(jì) 31
2.8 低功耗節(jié)電模式 33
2.8.1 空閑模式 33
2.8.2 掉電運(yùn)行模式 34
2.8.3 掉電和空閑模式下的WDT 34
思考題及習(xí)題 35
第3章 C51語(yǔ)言編程基礎(chǔ) 37
3.1 編程語(yǔ)言Keil C51簡(jiǎn)介 37
3.1.1 Keil C51簡(jiǎn)介 37
3.1.2 C51與標(biāo)準(zhǔn)C的比較 38
3.2 Keil C51的開(kāi)發(fā)工具 39
3.2.1 集成開(kāi)發(fā)環(huán)境Keil μVision3簡(jiǎn)介 39
3.2.2 Keil μVision3軟件的安裝、啟動(dòng)和運(yùn)行 40
3.3 C51語(yǔ)言程序設(shè)計(jì)基礎(chǔ) 40
3.3.1 C51語(yǔ)言中的數(shù)據(jù)類型與存儲(chǔ)類型 41
3.3.2 C51語(yǔ)言的特殊功能寄存器及位變量定義 45
3.3.3 C51語(yǔ)言的絕對(duì)地址訪問(wèn) 47
3.3.4 C51的基本運(yùn)算 48
3.3.5 C51的分支與循環(huán)程序結(jié)構(gòu) 50
3.3.6 C51的數(shù)組 57
3.3.7 C51的指針 58
3.4 C51語(yǔ)言的函數(shù) 60
3.4.1 函數(shù)的分類 60
3.4.2 函數(shù)的參數(shù)與返回值 61
3.4.3 函數(shù)的調(diào)用 62
3.4.4 中斷服務(wù)函數(shù) 63
3.4.5 變量及存儲(chǔ)方式 63
3.4.6 宏定義與文件包含 64
3.4.7 庫(kù)函數(shù) 65
3.5 軟件仿真開(kāi)發(fā)工具Proteus與Keil μVision3的聯(lián)調(diào) 65
3.5.1 軟件仿真開(kāi)發(fā)工具Proteus簡(jiǎn)介 65
3.5.2 Proteus與Keil μVision3的聯(lián)調(diào) 66
思考題及習(xí)題 67
第4章 AT89S51片內(nèi)并行端口的原理及編程 68
4.1 AT89S51的并行I/O端口的結(jié)構(gòu)及工作原理 68
4.1.1 P0口 68
4.1.2 P1口 70
4.1.3 P2口 70
4.1.4 P3口 71
4.1.5 P1~P3口驅(qū)動(dòng)LED發(fā)光二極管的問(wèn)題 72
4.2 并行I/O端口的C51編程舉例 73
4.2.1 從左到右的流水燈的制作 73
4.2.2 左右來(lái)回循環(huán)的流水燈的制作 73
4.2.3 開(kāi)關(guān)量檢測(cè)指示器1 76
4.2.4 開(kāi)關(guān)量檢測(cè)指示器2 76
思考題及習(xí)題 77
第5章 AT89S51單片機(jī)的中斷系統(tǒng) 79
5.1 AT89S51中斷技術(shù)概述 79
5.2 AT89S51中斷系統(tǒng)結(jié)構(gòu) 79
5.2.1 中斷請(qǐng)求源 80
5.2.2 中斷請(qǐng)求標(biāo)志寄存器 80
5.3 中斷允許與中斷優(yōu)先級(jí)的控制 81
5.3.1 中斷允許寄存器IE 82
5.3.2 中斷優(yōu)先級(jí)寄存器IP 82
5.4 響應(yīng)中斷請(qǐng)求的條件 84
5.5 外部中斷的響應(yīng)時(shí)間 85
5.6 外部中斷的觸發(fā)方式選擇 86
5.6.1 電平觸發(fā)方式 86
5.6.2 跳沿觸發(fā)方式 86
5.7 中斷請(qǐng)求的撤銷 86
5.8 中斷函數(shù) 87
5.9 C51編程舉例 88
5.9.1 單一外中斷的應(yīng)用 88
5.9.2 兩個(gè)外中斷的應(yīng)用 89
5.9.3 中斷嵌套 91
5.9.4 多外部中斷源系統(tǒng)設(shè)計(jì) 92
思考題及習(xí)題 93
第6章 AT89S51單片機(jī)的定時(shí)器/計(jì)數(shù)器 95
6.1 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu) 95
6.1.1 工作方式控制寄存器TMOD 96
6.1.2 定時(shí)器/計(jì)數(shù)器控制寄存器TCON 96
6.2 定時(shí)器/計(jì)數(shù)器的4種工作方式 97
6.2.1 方式0 97
6.2.2 方式1 98
6.2.3 方式2 98
6.2.4 方式3 99
6.3 對(duì)外部輸入的計(jì)數(shù)信號(hào)的要求 100
6.4 定時(shí)器/計(jì)數(shù)器的編程和應(yīng)用 101
6.4.1 P1口外接的8只LED每0.5s閃亮一次 101
6.4.2 計(jì)數(shù)器的應(yīng)用 102
6.4.3 擴(kuò)展一個(gè)外部中斷源 103
6.4.4 P1.0上產(chǎn)生周期為2ms的方波 104
6.4.5 P1.1上產(chǎn)生周期為1s的方波 104
6.4.6 T1控制發(fā)出1kHz的音頻信號(hào) 105
6.4.7 測(cè)量脈沖寬度--門控位GATEx的應(yīng)用 106
6.4.8 實(shí)時(shí)時(shí)鐘的設(shè)計(jì) 107
思考題及習(xí)題 108
第7章 AT89S51單片機(jī)的串行口 110
7.1 串行口的結(jié)構(gòu) 110
7.1.1 串行口控制寄存器SCON 110
7.1.2 特殊功能寄存器PCON 112
7.2 串行口的4種工作方式 112
7.2.1 方式0 112
7.2.2 方式1 116
7.2.3 方式2 117
7.2.4 方式3 118
7.3 多機(jī)通信 119
7.4 波特率的制定方法 120
7.4.1 波特率的定義 120
7.4.2 定時(shí)器T1產(chǎn)生波特率的計(jì)算 120
7.5 串行通信的應(yīng)用設(shè)計(jì) 122
7.5.1 各種串行通信接口標(biāo)準(zhǔn) 122
7.5.2 方式1的應(yīng)用 124
7.5.3 方式2和方式3的應(yīng)用 127
7.5.4 主從式多機(jī)通信的應(yīng)用 129
7.5.5 單片機(jī)與PC的串行通信 133
7.5.6 PC與單片機(jī)或與多個(gè)單片機(jī)的串行通信接口設(shè)計(jì) 135
思考題及習(xí)題 136
第8章 AT89S51單片機(jī)外部存儲(chǔ)器的擴(kuò)展 138
8.1 系統(tǒng)擴(kuò)展結(jié)構(gòu) 138
8.2 地址空間分配和外部地址鎖存器 139
8.2.1 存儲(chǔ)器地址空間分配 139
8.2.2 外部地址鎖存器 142
8.3 程序存儲(chǔ)器EPROM的擴(kuò)展 144
8.3.1 常用的EPROM芯片 144
8.3.2 程序存儲(chǔ)器的操作時(shí)序 146
8.3.3 AT89S51單片機(jī)與EPROM的接口電路設(shè)計(jì) 148
8.4 靜態(tài)數(shù)據(jù)存儲(chǔ)器RAM的擴(kuò)展 149
8.4.1 常用的靜態(tài)RAM(SRAM)芯片 149
8.4.2 外擴(kuò)數(shù)據(jù)存儲(chǔ)器的讀寫操作時(shí)序 150
8.4.3 AT89S51單片機(jī)與RAM的接口電路設(shè)計(jì) 151
8.5 EPROM和RAM的綜合擴(kuò)展 153
8.5.1 綜合擴(kuò)展的硬件接口電路 153
8.5.2 外擴(kuò)存儲(chǔ)器電路的編程 155
8.6 片內(nèi)Flash存儲(chǔ)器的編程 155
8.6.1 通用編程器編程 157
8.6.2 ISP編程 157
思考題及習(xí)題 158
第9章 AT89S51單片機(jī)的I/O擴(kuò)展 160
9.1 I/O接口擴(kuò)展概述 160
9.1.1 擴(kuò)展的I/O接口功能 160
9.1.2 I/O端口的編址 160
9.1.3 I/O數(shù)據(jù)的傳送方式 161
9.1.4 I/O接口電路 161
9.2 AT89S51擴(kuò)展I/O接口芯片82C55的設(shè)計(jì) 162
9.2.1 82C55芯片簡(jiǎn)介 162
9.2.2 工作方式選擇控制字及端口PC置位/復(fù)位控制字 163
9.2.3 82C55的3種工作方式 165
9.2.4 AT89S51單片機(jī)與82C55的接口設(shè)計(jì) 169
9.3 利用74LSTTL電路擴(kuò)展并行I/O口 171
9.4 用AT89S51單片機(jī)的串行口擴(kuò)展并行口 172
9.4.1 用74LS165擴(kuò)展并行輸入口 172
9.4.2 用74LS164擴(kuò)展并行輸出口 173
9.5 用I/O口控制的聲音報(bào)警接口 174
9.5.1 揚(yáng)聲器報(bào)警接口 174
9.5.2 音樂(lè)報(bào)警接口 176
思考題及習(xí)題 176
第10章 AT89S51單片機(jī)與輸入/輸出外設(shè)的接口 178
10.1 LED數(shù)碼管顯示器的接口設(shè)計(jì) 178
10.1.1 LED數(shù)碼管的工作原理 178
10.1.2 LED數(shù)碼管顯示器接口設(shè)計(jì)舉例 179
10.2 鍵盤的接口設(shè)計(jì) 183
10.2.1 鍵盤接口應(yīng)解決的問(wèn)題 183
10.2.2 鍵盤接口設(shè)計(jì)舉例 184
10.2.3 鍵盤掃描方式的選取 188
10.3 鍵盤/顯示器接口的設(shè)計(jì)實(shí)例 188
10.3.1 利用并行I/O芯片82C55實(shí)現(xiàn)鍵盤/顯示器接口 188
10.3.2 利用串行口實(shí)現(xiàn)的鍵盤/顯示器接口 191
10.3.3 專用接口芯片HD7279實(shí)現(xiàn)的鍵盤/顯示器控制 193
10.4 AT89S51單片機(jī)與液晶顯示器的接口 204
10.4.1 LCD顯示器的分類 204
10.4.2 點(diǎn)陣字符型液晶顯示模塊介紹 204
10.4.3 AT89S51單片機(jī)與LCD的接口及軟件編程 208
10.5 AT89S51單片機(jī)與微型打印機(jī)TP(P-40A/16A的接口 211
10.6 AT89S51單片機(jī)與BCD碼撥盤的接口設(shè)計(jì) 215
思考題及習(xí)題 216
第11章 AT89S51單片機(jī)與D/A、A/D轉(zhuǎn)換器的接口 217
11.1 AT89S51單片機(jī)與DAC的接口 217
11.1.1 D/A轉(zhuǎn)換器簡(jiǎn)介 217
11.1.2 AT89S51單片機(jī)與8位D/A轉(zhuǎn)換器0832的接口設(shè)計(jì) 218
11.2 AT89S51單片機(jī)與ADC的接口 225
11.2.1 A/D轉(zhuǎn)換器簡(jiǎn)介 225
11.2.2 AT89S51與逐次比較型8位A/D轉(zhuǎn)換器ADC0809的接口 226
11.2.3 AT89S51與逐次比較型12位A/D轉(zhuǎn)換器AD1674的接口 230
11.3 AT89S51單片機(jī)與V/F轉(zhuǎn)換器的接口 234
11.3.1 用V/F轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的原理 235
11.3.2 常用V/F轉(zhuǎn)換器LMX31簡(jiǎn)介 235
11.3.3 V/F轉(zhuǎn)換器與MCS-51單片機(jī)接口 236
11.3.4 LM331應(yīng)用舉例 237
思考題及習(xí)題 238
第12章 單片機(jī)的串行擴(kuò)展技術(shù) 239
12.1 單總線串行擴(kuò)展 239
12.2 SPI總線串行擴(kuò)展 240
12.2.1 SPI總線的擴(kuò)展結(jié)構(gòu) 241
12.2.2 擴(kuò)展帶SPI串口的A/D轉(zhuǎn)換器TLC2543 242
12.3 I2C總線的串行擴(kuò)展 243
12.3.1 I2C串行總線系統(tǒng)的基本結(jié)構(gòu) 244
12.3.2 I2C總線的數(shù)據(jù)傳送規(guī)定 244
12.3.3 AT89S51的I2C總線擴(kuò)展系統(tǒng) 247
12.3.4 I2C總線數(shù)據(jù)傳送的模擬 248
12.3.5 I2C總線在IC卡中的應(yīng)用 251
思考題及習(xí)題 255
第13章 AT89S51單片機(jī)的應(yīng)用設(shè)計(jì)與調(diào)試 256
13.1 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)步驟 256
13.2 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì) 257
13.2.1 硬件設(shè)計(jì)應(yīng)考慮的問(wèn)題 257
13.2.2 典型的單片機(jī)應(yīng)用系統(tǒng) 258
13.2.3 系統(tǒng)設(shè)計(jì)中的地址空間分配與總線驅(qū)動(dòng) 259
13.2.4 應(yīng)用設(shè)計(jì)例1--最小應(yīng)用系統(tǒng)設(shè)計(jì) 261
13.2.5 應(yīng)用設(shè)計(jì)例2--數(shù)字電壓表的設(shè)計(jì) 262
13.2.6 應(yīng)用設(shè)計(jì)例3--帶有報(bào)警功能的溫度測(cè)量?jī)x的設(shè)計(jì) 264
13.3 單片機(jī)應(yīng)用系統(tǒng)的仿真開(kāi)發(fā)與調(diào)試 266
13.3.1 仿真開(kāi)發(fā)系統(tǒng)的種類與基本功能 267
13.3.2 仿真開(kāi)發(fā)系統(tǒng)簡(jiǎn)介 267
13.3.3 用戶樣機(jī)的仿真調(diào)試 270
13.4 單片機(jī)應(yīng)用系統(tǒng)的抗干擾與可靠性設(shè)計(jì) 272
13.4.1 AT89S51片內(nèi)看門狗定時(shí)器的使用 273
13.4.2 軟件濾波 273
13.4.3 開(kāi)關(guān)量輸入/輸出軟件抗干擾設(shè)計(jì) 274
13.4.4 過(guò)程通道干擾的抑制措施--隔離 275
13.4.5 印刷電路板抗干擾布線的基本原則 276
思考題及習(xí)題 278
參考文獻(xiàn) 280
書 名 單片機(jī)原理及接口技術(shù)(C51編程)
叢 書 名 21世紀(jì)高等學(xué)校計(jì)算機(jī)規(guī)劃教材--名家系列
標(biāo)準(zhǔn)書號(hào) ISBN 978-7-115-25665-2
編目分類 TP368.1
作 者 張毅剛 主編
責(zé)任編輯 武恩玉
開(kāi) 本 16 開(kāi)
印 張 18
字 數(shù) 474 千字
頁(yè) 數(shù) 280 頁(yè)
裝 幀 平裝
版 次 第1版第1次
初版時(shí)間 2011年8月
本 印 次 2011年8月
定 價(jià) 34.00 元
單片機(jī)原理及接口技術(shù)慕課作業(yè)答案?
單片機(jī)原理及接口技術(shù)慕課作業(yè)答案這個(gè)我們是不可能題目也沒(méi)有,我們不可能知道這個(gè)答案,那問(wèn)老師看看。
怎么答啊、
單片機(jī)原理及接口技術(shù)第二章課后習(xí)題答案 段晨東主編
編寫C51程序,將片外2000H為地址的10個(gè)單元的內(nèi)容,讀入到片內(nèi)40H到49H單元中
格式:pdf
大?。?span id="fbkpjm6" class="single-tag-height">111KB
頁(yè)數(shù): 3頁(yè)
評(píng)分: 4.4
單片機(jī)技術(shù)廣泛應(yīng)用于軍事、工業(yè)及生活的各個(gè)領(lǐng)域,通過(guò)介紹以工作過(guò)程系統(tǒng)化為導(dǎo)向的課程開(kāi)發(fā)方案,突出以能力為本、以教導(dǎo)學(xué)的教學(xué)理念。
格式:pdf
大?。?span id="65dv0fn" class="single-tag-height">111KB
頁(yè)數(shù): 2頁(yè)
評(píng)分: 4.3
介紹了一種基于C51單片機(jī)和光纖技術(shù)的液位測(cè)量?jī)x的系統(tǒng)設(shè)計(jì)。采用浮動(dòng)機(jī)構(gòu)跟蹤液位,用光碼盤將線位移轉(zhuǎn)換為角位移。光通斷的變化信號(hào)由光纖傳輸?shù)綔y(cè)量室,并轉(zhuǎn)換為電脈沖,單片機(jī)對(duì)脈沖記數(shù)即測(cè)量出液位大小。用兩套光纖來(lái)確定液位變化的方向。該系統(tǒng)能夠?qū)崿F(xiàn)液位計(jì)量、超限報(bào)警、聲光顯示、串口通訊等功能。分辨率達(dá)1mm,測(cè)量精度為±2mm,本質(zhì)安全防爆。
《單片機(jī)原理及接口技術(shù):基于C51 Proteus仿真》以單片機(jī)實(shí)踐和創(chuàng)新應(yīng)用為目標(biāo)?;贑51編程語(yǔ)言。以Proteus為虛擬仿真平臺(tái),結(jié)合趣味實(shí)際案例,系統(tǒng)介紹了MCS-51單片機(jī)片內(nèi)功能部件及其應(yīng)用、系統(tǒng)擴(kuò)展和接口技術(shù),其中包括以總線形式擴(kuò)展存儲(chǔ)器、各種并行接口、DAC和ADC等,并介紹了串口通信、各種異步串行擴(kuò)展及通信協(xié)議設(shè)計(jì)案例。單總線、I^2C總線、SPI總線等擴(kuò)展案例,以及SPI人機(jī)接口、SPI傳感器、SPIFlash、SPI無(wú)線射頻通信芯片、電磁繼電器、光耦輸入/輸出、可控硅、固態(tài)繼電器、各種電機(jī)等工程設(shè)計(jì)案例。同時(shí)對(duì)案例進(jìn)行了軟、硬件設(shè)計(jì)和仿真驗(yàn)證。
《單片機(jī)原理及接口技術(shù):基于C51 Proteus仿真》可作為各類工科、??圃盒5淖詣?dòng)化、電氣工程、通信工程、電子工程、計(jì)算機(jī)、機(jī)電一體化、機(jī)械設(shè)計(jì)制造及自動(dòng)化等專業(yè)單片機(jī)技術(shù)課程的教材或參考書,也可供從事單片機(jī)工程設(shè)計(jì)工作的技術(shù)人員參考。
第1章 8051單片機(jī)與KeilC51基礎(chǔ)1
1.1 8051單片機(jī)的存儲(chǔ)器組織結(jié)構(gòu) 1
1.2 Keil C51開(kāi)發(fā)工具6
1.3 C51簡(jiǎn)單編程與調(diào)試 6
第2章 C51程序設(shè)計(jì)基礎(chǔ)16
2.1 標(biāo)識(shí)符與關(guān)鍵字 16
2.2 C51程序設(shè)計(jì)的基本語(yǔ)法 18
2.2.1 數(shù)據(jù)類型 18
2.2.2 常量 20
2.2.3 變量及其存儲(chǔ)模式 22
2.2.4 用typedef重新定義數(shù)據(jù)類型 25
2.2.5 運(yùn)算符與表達(dá)式 26
2.3 C51程序的基本語(yǔ)句 39
2.3.1 表達(dá)式語(yǔ)句 39
2.3.2 復(fù)合語(yǔ)句 40
2.3.3 條件語(yǔ)句 41
2.3.4 開(kāi)關(guān)語(yǔ)句 43
2.3.5 循環(huán)語(yǔ)句 45
2.3.6 返回語(yǔ)句 50
2.4函數(shù) 51
2.4.1 函數(shù)的定義 51
2.4.2 函數(shù)的調(diào)用形式 54
2.4.3 對(duì)被調(diào)用函數(shù)的說(shuō)明 54
2.4.4 函數(shù)的參數(shù)與返回值 56
2.4.5 實(shí)際參數(shù)的傳遞方式 58
2.4.6 函數(shù)的遞歸調(diào)用與再入函數(shù) 59
2.4.7 中斷函數(shù)與寄存器組定義 60
2.5 函數(shù)變量的存儲(chǔ)方式 62
2.5.1 局部變量與全局變量 62
2.5.2 變量的存儲(chǔ)種類 64
2.5.3 函數(shù)的參數(shù)和局部變量的存儲(chǔ)器模式 68
2.6 數(shù)組 69
2.6.1 數(shù)組的定義與引用 69
2.6.2 字符數(shù)組 70
2.6.3 數(shù)組作為函數(shù)的參數(shù) 73
2.7 指針 76
2.7.1 指針與地址 76
2.7.2 指針變量的定義 77
2.7.3 指針變量的引用 79
2.7.4 指針變量作為函數(shù)的參數(shù) 80
2.8 數(shù)組的指針 81
2.8.1 用指針引用數(shù)組元素 81
2.8.2 字符數(shù)組指針 83
2.8.3 指針的地址計(jì)算 84
2.9 函數(shù)型指針 86
2.10 返回指針型數(shù)據(jù)的函數(shù) 88
2.11 指針數(shù)組與指針型指針 89
2.11.1 指針數(shù)組 89
2.11.2 指針型指針 92
2.11.3 抽象型指針 94
2.12 結(jié)構(gòu)體、聯(lián)合體與枚舉 95
2.12.1 結(jié)構(gòu)體變量的定義與引用 95
2.12.2 結(jié)構(gòu)體變量的初值 98
2.12.3 結(jié)構(gòu)體數(shù)組 99
2.12.4 結(jié)構(gòu)體型指針 100
2.12.5 將結(jié)構(gòu)體作為函數(shù)的參數(shù) 101
2.12.6 將結(jié)構(gòu)體型指針作為函數(shù)的參數(shù) 103
2.13 聯(lián)合體變量的定義與引用105
2.14 枚舉變量的定義與引用 109
2.15 預(yù)處理器 110
2.15.1 不帶參數(shù)的宏定義 111
2.15.2 帶參數(shù)的宏定義 112
2.15.3 文件包含 114
2.15.4 條件編譯 114
2.15.5 其他預(yù)處理命令 117
第3章 Vision4集成開(kāi)發(fā)環(huán)境 118
3.1 Vision4的下拉菜單 120
3.1.1 File菜單 121
3.1.2 Edit菜單 122
3.1.3 View菜單 126
3.1.4 Project菜單 128
3.1.5 Flash菜單 139
3.1.6 Tools菜單 139
3.1.7 SVCS菜單 141
3.1.8 Window菜單 142
3.1.9 Help菜單 142
3.2 Vision4中的調(diào)試器 143
3.2.1 Debug狀態(tài)下窗口分配與View菜單 145
3.2.2 通過(guò)Debug菜單進(jìn)行程序代碼調(diào)試 150
3.2.3 通過(guò)Peripherals菜單觀察仿真結(jié)果 156
3.3 Vision4的調(diào)試命令 157
3.3.1 顯示和更新存儲(chǔ)器內(nèi)容命令 159
3.3.2 程序執(zhí)行控制命令 163
3.3.3 斷點(diǎn)管理命令 166
3.3.4 其他通用命令 169
3.4 Vision4的表達(dá)式 178
3.4.1 表達(dá)式的組成 178
3.4.2 Vision4表達(dá)式與C語(yǔ)言表達(dá)式之間的差別 183
3.4.3 Vision4表達(dá)式應(yīng)用舉例 183
3.5 Vision4的函數(shù) 186
3.5.1 內(nèi)部函數(shù) 187
3.5.2 用戶函數(shù) 192
3.5.3 信號(hào)函數(shù) 194
3.5.4 Vision4函數(shù)與C51函數(shù)的差別 196
第4章 C51編譯器 197
4.1 C51編譯器簡(jiǎn)介 197
4.2 C51編譯器控制命令詳解 200
4.2.1 源控制命令 200
4.2.2 列表控制命令 203
4.2.3 目標(biāo)控制命令 208
4.3 Keil C51編譯器對(duì)ANSIC的擴(kuò)展235
4.3.1 存儲(chǔ)器類型與編譯模式 235
4.3.2 關(guān)于bit,sbit,sfr,sfr16數(shù)據(jù)類型 237
4.3.3 一般指針與基于存儲(chǔ)器的指針及其轉(zhuǎn)換 241
4.3.4 C51編譯器對(duì)ANSIC函數(shù)定義的擴(kuò)展 242
4.4 C51編譯器的數(shù)據(jù)調(diào)用協(xié)議 249
4.4.1 數(shù)據(jù)在內(nèi)存中的存儲(chǔ)格式 249
4.4.2 目標(biāo)代碼的段管理 250
4.5 C51編譯器的特殊支持 252
4.5.1 Analog Device公司的Aduc8xxB2系列 253
4.5.2 Atmel 89x8252及衍生產(chǎn)品 253
4.5.3 Dallas 80C320/420/520/530 254
4.5.4 Dallas 80C390/400/5240及衍生產(chǎn)品 254
4.5.5 Infineon 80517/509/537及衍生產(chǎn)品 255
4.5.6 NXP 8xC750/751/752 256
4.5.7 NXP 8xC51Mx 256
4.5.8 NXP和AtmelWM系列的雙數(shù)據(jù)指針 256
4.6 用戶配置文件 257
4.6.1 啟動(dòng)代碼文件 257
4.6.2 變量初始化文件 259
4.6.3 基本I/O函數(shù)文件 260
4.6.4 分組配置文件 261
4.7 與匯編語(yǔ)言程序的接口 262
4.8 與PL/M51程序的接口272
4.9 絕對(duì)地址訪問(wèn) 273
4.9.1 采用擴(kuò)展關(guān)鍵字“_at_”或指針定義變量的絕對(duì)地址 273
4.9.2 采用預(yù)定義宏指定變量的絕對(duì)地址 274
4.9.3 采用鏈接定位控制命令指定變量的絕對(duì)地址 275
4.10 C51的庫(kù)函數(shù) 276
4.10.1 字符函數(shù)CTYPE.H 277
4.10.2 標(biāo)準(zhǔn)I/O函數(shù)STDIO.H 283
4.10.3 字符串函數(shù)STRING.H 291
4.10.4 標(biāo)準(zhǔn)函數(shù)STDLIB.H 299
4.10.5 數(shù)學(xué)函數(shù)MATH.H 305
4.10.6 絕對(duì)地址訪問(wèn)ABSACC.H 312
4.10.7 內(nèi)部函數(shù)INTRINS.H 313
4.10.8 變量參數(shù)表STDARG.H 317
4.10.9 全程跳轉(zhuǎn)SETJMP.H318
4.10.10 計(jì)算結(jié)構(gòu)體成員的偏移量STDDEF.H 319
4.10.11 創(chuàng)建測(cè)試條件ASSERT.H 319
第5章 A51宏匯編器321
5.1 符號(hào)與表達(dá)式 323
5.2 匯編偽指令 327
5.2.1 段控制指令 328
5.2.2 符號(hào)定義指令 331
5.2.3 存儲(chǔ)器初始化指令 334
5.2.4 存儲(chǔ)器保留指令 335
5.2.5 過(guò)程聲明指令(僅用于Ax51) 336
5.2.6 程序鏈接指令 338
5.2.7 地址控制指令 339
5.2.8 其他指令 340
5.3 宏處理器 340
5.3.1 標(biāo)準(zhǔn)宏處理器 341
5.3.2 嵌套宏定義 344
5.3.3 宏調(diào)用 345
5.3.4 C宏處理器349
5.3.5 MPL宏處理器 351
5.3.6 MPL函數(shù) 353
5.3.7 MPL條件處理函數(shù) 357
5.3.8 MPL字符串處理函數(shù) 360
5.4 匯編控制命令 362
5.4.1 匯編控制命令詳解 363
5.4.2 條件匯編命令 371
第6章 BL51/Lx51鏈接定位器與實(shí)用工具 375
6.1 BL51/Lx51的鏈接定位方式375
6.1.1 鏈接定位中的數(shù)據(jù)段處理 375
6.1.2 鏈接定位器的引用 378
6.1.3 應(yīng)用程序在存儲(chǔ)器空間中的定位 379
6.1.4 數(shù)據(jù)覆蓋 381
6.1.5 代碼分組 383
6.1.6 分組配置 385
6.2 鏈接定位控制命令詳解 393
6.2.1 列表文件控制命令 393
6.2.2 輸出文件控制命令 397
6.2.3 段與存儲(chǔ)器定位控制命令 401
6.2.4 高級(jí)語(yǔ)言控制命令 418
6.3 符號(hào)轉(zhuǎn)換工具 425
6.3.1 Intel HEX文件格式與符號(hào)轉(zhuǎn)換工具 425
6.3.2 引用符號(hào)轉(zhuǎn)換工具OH51/OHX51 426
6.3.3 引用分組目標(biāo)文件轉(zhuǎn)換工具OC51 428
6.4 庫(kù)管理器LIBx51 428
第7章 RTX51實(shí)時(shí)多任務(wù)操作系統(tǒng)432
7.1 RTX51一般介紹 432
7.2 RTX51技術(shù)參數(shù) 437
7.3 使用RTX51TINY的要求和限定 439
7.4 RTX51 TINY的任務(wù)管理 440
7.5 RTX51 TINY的配置 442
7.6 RTX51 TINY的系統(tǒng)函數(shù) 444
7.7 RTX51 TINY應(yīng)用系統(tǒng)調(diào)試 449
第8章 8051單片機(jī)片內(nèi)資源的C51應(yīng)用
編程 464
8.1 編寫C51應(yīng)用程序的基本原則 464
8.2 C51應(yīng)用中的一些常見(jiàn)問(wèn)題與解決方法 465
8.3 8051單片機(jī)中斷系統(tǒng)應(yīng)用編程 468
8.3.1 外部中斷源擴(kuò)展 468
8.3.2 中斷嵌套 470
8.4 8051單片機(jī)定時(shí)器/計(jì)數(shù)器應(yīng)用編程473
8.4.1 定時(shí)器方式應(yīng)用 474
8.4.2 計(jì)數(shù)器方式應(yīng)用 478
8.6 8051單片機(jī)串行口應(yīng)用編程 483
8.6.1 8051串行口實(shí)現(xiàn)串/并轉(zhuǎn)換應(yīng)用編程 483
8.6.2 8051串行口的通信方式應(yīng)用編程 487
8.7 P89C51RD2單片機(jī)片內(nèi)FLASH在應(yīng)用中編程的C51驅(qū)動(dòng)程序 504
8.8 80C552單片機(jī)內(nèi)部A/D轉(zhuǎn)換器的C51驅(qū)動(dòng)程序 517
8.8.1 80C552單片機(jī)簡(jiǎn)介 517
8.8.2 80C552內(nèi)部ADC的應(yīng)用 519
8.8.3 使用80C552內(nèi)部ADC的C51驅(qū)動(dòng)程序523
第9章 8051單片機(jī)片外擴(kuò)展的C51應(yīng)用編程 529
9.1 LED數(shù)碼管顯示接口應(yīng)用編程 529
9.1.1 軟件譯碼和動(dòng)態(tài)掃描的LED數(shù)碼管顯示接口應(yīng)用編程 530
9.1.2 8位共陰極LED數(shù)碼管驅(qū)動(dòng)器MAX7219應(yīng)用編程 532
9.2 非編碼矩陣鍵盤接口應(yīng)用編程 538
9.2.1 采用8155實(shí)現(xiàn)的矩陣鍵盤及數(shù)碼管顯示接口應(yīng)用編程 539
9.2.2 采用8279實(shí)現(xiàn)的矩陣鍵盤及數(shù)碼管顯示接口應(yīng)用編程 544
9.3LCD液晶模塊顯示接口應(yīng)用編程 550
9.3.1 點(diǎn)陣字符型LCD顯示接口應(yīng)用編程 551
9.3.2 12864點(diǎn)陣圖型LCD顯示接口應(yīng)用編程562
9.3.3 內(nèi)置T6963C控制器的點(diǎn)陣圖型LCD顯示接口應(yīng)用編程 570
9.4 D/A與A/D轉(zhuǎn)換接口應(yīng)用編程 580
9.4.1 DAC0832轉(zhuǎn)換接口應(yīng)用編程 581
9.4.2 串行接口DAC芯片MAX517應(yīng)用編程 584
9.4.3 ADC0809轉(zhuǎn)換接口應(yīng)用編程 588
9.4.4 ICL7135轉(zhuǎn)換接口應(yīng)用編程 592
9.4.5 串行接口ADC芯片TLC549應(yīng)用編程 596
9.5 單片機(jī)I2C總線擴(kuò)展應(yīng)用編程 600
9.5.1 I2C總線簡(jiǎn)介 600
9.5.2 I2C總線通用驅(qū)動(dòng)程序 603
9.5.3 I2C接口器件24C04的讀/寫程序 606
9.6 8051單片機(jī)存儲(chǔ)器擴(kuò)展與測(cè)試應(yīng)用編程 610
9.6.1 測(cè)試8051應(yīng)用系統(tǒng)總線與擴(kuò)展存儲(chǔ)器的C51驅(qū)動(dòng)程序 610
9.6.2 8051擴(kuò)展FLASH存儲(chǔ)器在系統(tǒng)編程的C51驅(qū)動(dòng)程序 613
第10章 KeilC51綜合應(yīng)用編程實(shí)例626
10.1 有關(guān)C51編程的若干實(shí)際應(yīng)用技巧626
10.2 C51與匯編語(yǔ)言混合編程與生成應(yīng)用庫(kù)文件 632
10.2.1 C51與匯編語(yǔ)言混合編程 632
10.2.2 在Vision4中生成應(yīng)用庫(kù)文件 634
10.3 在Vision4中應(yīng)用硬件目標(biāo)板 635
10.3.1 帶MON51監(jiān)控程序的硬件目標(biāo)板 636
10.3.2 帶FLASHMON51監(jiān)控程序的硬件目標(biāo)板 640
10.4 紅外遙控系統(tǒng)設(shè)計(jì) 642
10.4.1 功能要求 642
10.4.2 硬件電路設(shè)計(jì) 642
10.4.3 軟件程序設(shè)計(jì) 643
10.5 簡(jiǎn)易電子琴設(shè)計(jì)650
10.5.1 功能要求 650
10.5.2 硬件電路設(shè)計(jì) 650
10.5.3 軟件程序設(shè)計(jì) 650
10.6 帶農(nóng)歷的電子萬(wàn)年歷設(shè)計(jì)655
10.6.1 功能要求 655
10.6.2 硬件電路設(shè)計(jì) 655
10.6.3 軟件程序設(shè)計(jì) 658
10.7 電子密碼鎖設(shè)計(jì)671
10.7.1 功能要求 671
10.7.2 硬件電路設(shè)計(jì) 671
10.7.3 軟件程序設(shè)計(jì) 671
10.8 DS18B20多點(diǎn)溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì) 687
10.8.1 功能要求 687
10.8.2 硬件電路設(shè)計(jì) 688
10.8.3 軟件程序設(shè)計(jì) 692
10.9 STH11數(shù)字溫-濕度測(cè)量系統(tǒng)設(shè)計(jì) 700
10.9.1 功能要求 700
10.9.2 硬件電路設(shè)計(jì) 700
10.9.3 軟件程序設(shè)計(jì) 704
10.10 單片機(jī)SD卡讀/寫接口設(shè)計(jì) 710
10.10.1 功能要求 710
10.10.2 硬件電路設(shè)計(jì) 710
10.10.3 軟件程序設(shè)計(jì) 712
附錄AKeilC51與ANSI C的差別 717
附錄BKeilC51不同版本的差別 719
附錄C 代碼優(yōu)化723
附錄DC51編譯器的限制 726
附錄E 關(guān)于配套光盤及硬件目標(biāo)板727
參考文獻(xiàn) 728
德國(guó)Keil公司*推出的C51編譯器是一種符合工業(yè)標(biāo)準(zhǔn)的8051 C語(yǔ)言開(kāi)發(fā)工具,在業(yè)界獲得了廣泛應(yīng)用,被公認(rèn)為是最有效的單片機(jī)開(kāi)發(fā)手段之一。Keil公司于2010年推出了全新的開(kāi)發(fā)環(huán)境Vision4,其中集成了V9.00版本的C51編譯器、Debug調(diào)試器、RTX51 Tiny實(shí)時(shí)操作系統(tǒng)等,全面支持8051單片機(jī)主流產(chǎn)品及其眾多的派生系列。
Keil C51編譯器具有如下優(yōu)點(diǎn)。
(1)經(jīng)過(guò)優(yōu)化編譯后生成的代碼,其效率接近于匯編語(yǔ)言生成的代碼。
(2)支持所有8051系列單片機(jī),提供對(duì)所有外圍硬件部件的操作。
(3)無(wú)論在有無(wú)工作寄存器區(qū)轉(zhuǎn)換的情況下,都能產(chǎn)生快速中斷代碼。
(4)支持Atmel,Dallas,Infineon,Philips和Temic等公司8051衍生產(chǎn)品上的雙數(shù)據(jù)指針及高速算術(shù)單元(arithmeticunits)。
(5)能夠在整個(gè)應(yīng)用程序中執(zhí)行全局寄存器優(yōu)化。
(6)所有應(yīng)用工具均可產(chǎn)生詳細(xì)警告信息和錯(cuò)誤信息,幫助用戶處理難以尋找的問(wèn)題。
(7)支持再入功能和寄存器區(qū)的獨(dú)立代碼,便于中斷服務(wù)程序和多任務(wù)應(yīng)用程序的執(zhí)行。
(8)采用分組方式執(zhí)行代碼分組和調(diào)試,用戶程序代碼可以輕松突破64KB空間的限制。
全新集成開(kāi)發(fā)環(huán)境Vision4具有強(qiáng)大的項(xiàng)目管理功能,包括源程序文件、開(kāi)發(fā)工具選項(xiàng)以及編程說(shuō)明等。Vision4內(nèi)部集成了一個(gè)器件數(shù)據(jù)庫(kù)(devicedatabase),其中儲(chǔ)存了各種型號(hào)單片機(jī)的片上存儲(chǔ)器和集成外圍功能信息,通過(guò)器件數(shù)據(jù)庫(kù)可以自動(dòng)設(shè)置C51編譯器、A51匯編器、BL51/Lx51連接定位器、Debug調(diào)試器等開(kāi)發(fā)工具的功能選項(xiàng),充分滿足用戶使用特定單片機(jī)的要求。集成仿真調(diào)試功能允許在統(tǒng)一的Vision4環(huán)境下進(jìn)入Debug調(diào)試器,提供純軟件模擬仿真(Simulator)和多種硬件驅(qū)動(dòng)調(diào)試。Simulator可以在沒(méi)有單片機(jī)硬件的條件下在PC上用純軟件模擬方式完成單片機(jī)應(yīng)用程序仿真調(diào)試,硬件驅(qū)動(dòng)Monitor-51可以將帶有MON51監(jiān)控程序的硬件目標(biāo)板與Vision4無(wú)縫連接,直接對(duì)目標(biāo)板進(jìn)行仿真調(diào)試而無(wú)須采用昂貴的硬件仿真器。
本書完整地闡述了Keil C51開(kāi)發(fā)工具的功能和使用方法,力求先進(jìn)性和實(shí)用性,給出了大量具體應(yīng)用實(shí)例,不僅介紹了Keil C51自帶Simulator軟件模擬仿真調(diào)試方法,還介紹了Keil C51與Proteus軟件聯(lián)機(jī),實(shí)現(xiàn)8051單片機(jī)在線虛擬仿真調(diào)試方法,同時(shí)對(duì)廣大讀者所關(guān)心的利用MON51監(jiān)控程序設(shè)計(jì)自己硬件目標(biāo)板的方法做了詳細(xì)介紹,并在隨書光盤中給出了硬件目標(biāo)板的電路原理圖。
全書共分10章:
第1章闡述8051單片機(jī)存儲(chǔ)器結(jié)構(gòu),以及在Vision4集成開(kāi)發(fā)環(huán)境下進(jìn)行C51程序設(shè)計(jì)和編譯調(diào)試的基本方法。
第2章闡述C51程序設(shè)計(jì)基礎(chǔ)知識(shí),詳細(xì)介紹C51的數(shù)據(jù)類型、基本語(yǔ)法、變量及其存儲(chǔ)模式、函數(shù)、數(shù)組與指針等。
第3章闡述Vision4集成開(kāi)發(fā)環(huán)境,詳細(xì)介紹了工作環(huán)境、目標(biāo)程序的仿真調(diào)試以及各種應(yīng)用選項(xiàng)的設(shè)置方法。
第4章闡述Keil C51編譯器,介紹了各種編譯控制命令、數(shù)據(jù)調(diào)用協(xié)議,給出了全部C51庫(kù)函數(shù)及其應(yīng)用范例。
第5章闡述A51宏匯編器,介紹了各種匯編偽指令、宏處理以及匯編控制命令。
第6章闡述BL51/Lx51鏈接定位器與實(shí)用工具,詳細(xì)介紹了各種鏈接控制命令、符號(hào)轉(zhuǎn)換工具OH51、庫(kù)管理工具LIB51的使用方法。
第7章闡述RTX51實(shí)時(shí)多任務(wù)操作系統(tǒng),介紹了RTX51 TINY的功能和使用方法。
第8章闡述8051單片機(jī)片內(nèi)資源的C51應(yīng)用編程,介紹了C51編程的基本原則、常見(jiàn)問(wèn)題與解決方法,給出了中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、串行口、片內(nèi)FLASH IAP等資源的具體應(yīng)用實(shí)例。
第9章闡述8051單片機(jī)片外擴(kuò)展的C51應(yīng)用編程,給出了LED數(shù)碼管、非編碼矩陣鍵盤、點(diǎn)陣字符型和點(diǎn)陣圖型LCD、D/A及A/D轉(zhuǎn)換、I2C總線擴(kuò)展、外部存儲(chǔ)器擴(kuò)展等具體應(yīng)用實(shí)例。
第10章闡述Keil C51綜合應(yīng)用編程,介紹了C51編程的若干實(shí)際應(yīng)用技巧,C51與匯編語(yǔ)言混合編程方法以及如何在Vision4中應(yīng)用硬件目標(biāo)板,給出了紅外遙控系統(tǒng)、簡(jiǎn)易電子琴、帶農(nóng)歷的電子萬(wàn)年歷、電子密碼鎖、DS18B20多點(diǎn)溫度監(jiān)測(cè)系統(tǒng)、STH11數(shù)字溫-濕度測(cè)量系統(tǒng)、單片機(jī)SD卡讀寫接口等大量綜合應(yīng)用實(shí)例。2100433B