-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Keil C51單片機高級語言應用編程與實踐

( 簡體 字)
作者:徐愛鈞,徐陽類別:1. -> 電腦組織與體系結構 -> 單晶片 -> 8051
譯者:
出版社:電子工業出版社Keil C51單片機高級語言應用編程與實踐 3dWoo書號: 36904
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:12/1/2013
頁數:740
光碟數:1
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787121215964
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

德國Keil公司*推出的C51編譯器是一種符合工業標準的8051 C語言開發工具,在業界獲得了廣泛應用,被公認為是最有效的單片機開發手段之一。Keil公司于2010年推出了全新的開發環境Vision4,其中集成了V9.00版本的C51編譯器、Debug調試器、RTX51 Tiny實時操作系統等,全面支持8051單片機主流產品及其眾多的派生系列。
Keil C51編譯器具有如下優點。
(1)經過優化編譯后生成的代碼,其效率接近于匯編語言生成的代碼。
(2)支持所有8051系列單片機,提供對所有外圍硬件部件的操作。
(3)無論在有無工作寄存器區轉換的情況下,都能產生快速中斷代碼。
(4)支持Atmel,Dallas,Infineon,Philips和Temic等公司8051衍生產品上的雙數據指針及高速算術單元(arithmetic units)。
(5)能夠在整個應用程序中執行全局寄存器優化。
(6)所有應用工具均可產生詳細警告信息和錯誤信息,幫助用戶處理難以尋找的問題。
(7)支持再入功能和寄存器區的獨立代碼,便于中斷服務程序和多任務應用程序的執行。
(8)采用分組方式執行代碼分組和調試,用戶程序代碼可以輕松突破64KB空間的限制。

全新集成開發環境Vision4具有強大的項目管理功能,包括源程序文件、開發工具選項以及編程說明等。Vision4內部集成了一個器件數據庫(device database),其中儲存了各種型號單片機的片上存儲器和集成外圍功能信息,通過器件數據庫可以自動設置C51編譯器、A51匯編器、BL51/Lx51鏈接定位器、Debug調試器等開發工具的功能選項,充分滿足用戶使用特定單片機的要求。集成仿真調試功能允許在統一的Vision4環境下進入Debug調試器,提供純軟件模擬仿真(Simulator)和多種硬件驅動調試。Simulator可以在沒有單片機硬件的條件下在PC上用純軟件模擬方式完成單片機應用程序仿真調試,硬件驅動Monitor-51可以將帶有MON51監控程序的硬件目標板與Vision4無縫連接,直接對目標板進行仿真調試而無須采用昂貴的硬件仿真器。
本書完整地闡述了Keil C51開發工具的功能和使用方法,力求先進性和實用性,給出了大量具體應用實例,不僅介紹了Keil C51自帶Simulator軟件模擬仿真調試方法,還介紹了Keil C51與Proteus軟件聯機,實現8051單片機在線虛擬仿真調試方法,同時對廣大讀者所關心的利用MON51監控程序設計自己硬件目標板的方法做了詳細介紹,并在隨書光盤中給出了硬件目標板的電路原理圖。
全書共分10章:
第1章闡述8051單片機存儲器結構,以及在Vision4集成開發環境下進行C51程序設計和編譯調試的基本方法。
第2章闡述C51程序設計基礎知識,詳細介紹C51的數據類型、基本語法、變量及其存儲模式、函數、數組與指針等。
第3章闡述Vision4集成開發環境,詳細介紹了工作環境、目標程序的仿真調試以及各種應用選項的設置方法。
第4章闡述Keil C51編譯器,介紹了各種編譯控制命令、數據調用協議,給出了全部C51庫函數及其應用范例。
第5章闡述A51宏匯編器,介紹了各種匯編偽指令、宏處理以及匯編控制命令。
第6章闡述BL51/Lx51鏈接定位器與實用工具,詳細介紹了各種鏈接控制命令、符號轉換工具OH51、庫管理工具LIB51的使用方法。
第7章闡述RTX51實時多任務操作系統,介紹了RTX51 TINY的功能和使用方法。
第8章闡述8051單片機片內資源的C51應用編程,介紹了C51編程的基本原則、常見問題與解決方法,給出了中斷系統、定時器/計數器、串行口、片內FLASH IAP等資源的具體應用實例。
第9章闡述8051單片機片外擴展的C51應用編程,給出了LED數碼管、非編碼矩陣鍵盤、點陣字符型和點陣圖形LCD、D/A及A/D轉換、I2C總線擴展、外部存儲器擴展等具體應用實例。
第10章闡述Keil C51綜合應用編程,介紹了C51編程的若干實際應用技巧,C51與匯編語言混合編程方法以及如何在Vision4中應用硬件目標板,給出了紅外遙控系統、簡易電子琴、帶農歷的電子萬年歷、電子密碼鎖、DS18B20多點溫度監測系統、STH11數字溫-濕度測量系統、單片機SD卡讀/寫接口等大量綜合應用實例。
為幫助讀者更好地學習和掌握Keil C51應用方法,本書帶有一張CD-ROM光盤,其中包含Keil公司全功能C51評估軟件包、本書各章所有范例的程序代碼、帶有FLASH MON51監控程序的硬件目標板照片、原理電路圖以及詳細使用方法。
本書在出版過程中得到電子工業出版社的熱情支持,孫學瑛編輯提出了許多寶貴意見,彭秀華、陳召軍、劉冰、賀媛、許雪怡、鄭鵬鵬、秦波、黃存堅等參加了本書的編寫工作,在此一并表示衷心感謝。由于筆者水平有限,書中難免會有錯誤和不妥之處,懇請廣大讀者批評指正,讀者可通過電子郵件ajxu@tom.com,ajxu41@sohu.com直接與作者聯系。


徐愛鈞 徐陽
2013年9月于長江大學
內容簡介:

本書詳細介紹了V9.00版本的Keil C51編譯器和Vision4的強大功能和具體使用方法,完整地介紹了最新版本C51編譯器控制命令,給出了全部C51運行庫函數及其應用范例,對Keil C51軟件包中各種應用工具,如A51宏匯編器、BL51/Lx51鏈接定位器、LIB51庫管理程序以及OH51符號轉換程序、實時多任務操作系統RTX51 TINY等都做了詳細介紹,闡述了Vision4新增加的各種功能和應用方法,包括軟件模擬調試和硬件目標板實時在線仿真。
本書的特點是強調先進性和實用性,給出了大量應用實例,并帶有一張CD-ROM光盤,其中包括Keil公司提供的Keil C51全功能評估軟件包、本書各章中列出的全部程序代碼、帶FLASH MON51監控程序的硬件目標板照片、原理電路圖以及使用說明。

目錄:

第1章 8051單片機與Keil C51基礎 1
1.1 8051單片機的存儲器組織結構 1
1.2 Keil C51開發工具 6
1.3 C51簡單編程與調試 6
第2章 C51程序設計基礎 16
2.1 標識符與關鍵字 16
2.2 C51程序設計的基本語法 18
2.2.1 數據類型 18
2.2.2 常量 20
2.2.3 變量及其存儲模式 22
2.2.4 用typedef重新定義數據類型 25
2.2.5 運算符與表達式 26
2.3 C51程序的基本語句 39
2.3.1 表達式語句 39
2.3.2 復合語句 40
2.3.3 條件語句 41
2.3.4 開關語句 43
2.3.5 循環語句 45
2.3.6 返回語句 50
2.4 函數 51
2.4.1 函數的定義 51
2.4.2 函數的調用形式 54
2.4.3 對被調用函數的說明 54
2.4.4 函數的參數與返回值 56
2.4.5 實際參數的傳遞方式 58
2.4.6 函數的遞歸調用與再入函數 59
2.4.7 中斷函數與寄存器組定義 60
2.5 函數變量的存儲方式 62
2.5.1 局部變量與全局變量 62
2.5.2 變量的存儲種類 64
2.5.3 函數的參數和局部變量的
存儲器模式 68
2.6 數組 69
2.6.1 數組的定義與引用 69
2.6.2 字符數組 70
2.6.3 數組作為函數的參數 73
2.7 指針 76
2.7.1 指針與地址 76
2.7.2 指針變量的定義 77
2.7.3 指針變量的引用 79
2.7.4 指針變量作為函數的參數 80
2.8 數組的指針 81
2.8.1 用指針引用數組元素 81
2.8.2 字符數組指針 83
2.8.3 指針的地址計算 84
2.9 函數型指針 86
2.10 返回指針型數據的函數 88
2.11 指針數組與指針型指針 89
2.11.1 指針數組 89
2.11.2 指針型指針 92
2.11.3 抽象型指針 94
2.12 結構體、聯合體與枚舉 95
2.12.1 結構體變量的定義與引用 95
2.12.2 結構體變量的初值 98
2.12.3 結構體數組 99
2.12.4 結構體型指針 100
2.12.5 將結構體作為函數的參數 101
2.12.6 將結構體型指針作為函
數的參數 103
2.13 聯合體變量的定義與引用 105
2.14 枚舉變量的定義與引用 109
2.15 預處理器 110
2.15.1 不帶參數的宏定義 111
2.15.2 帶參數的宏定義 112
2.15.3 文件包含 114
2.15.4 條件編譯 114
2.15.5 其他預處理命令 117
第3章 Vision4集成開發環境 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中的調試器 143
3.2.1 Debug狀態下窗口分配與
View菜單 145
3.2.2 通過Debug菜單進行程序
代碼調試 150
3.2.3 通過Peripherals菜單觀察
仿真結果 156
3.3 Vision4的調試命令 157
3.3.1 顯示和更新存儲器內容命令 159
3.3.2 程序執行控制命令 163
3.3.3 斷點管理命令 166
3.3.4 其他通用命令 169
3.4 Vision4的表達式 178
3.4.1 表達式的組成 178
3.4.2 Vision4表達式與C語言
表達式之間的差別 183
3.4.3 Vision4表達式應用舉例 183
3.5 Vision4的函數 186
3.5.1 內部函數 187
3.5.2 用戶函數 192
3.5.3 信號函數 194
3.5.4 Vision4函數與C51函數
的差別 196
第4章 C51編譯器 197
4.1 C51編譯器簡介 197
4.2 C51編譯器控制命令詳解 200
4.2.1 源控制命令 200
4.2.2 列表控制命令 203
4.2.3 目標控制命令 208
4.3 Keil C51編譯器對ANSI C的擴展 235
4.3.1 存儲器類型與編譯模式 235
4.3.2 關于bit,sbit,sfr,sfr16
數據類型 237
4.3.3 一般指針與基于存儲器
的指針及其轉換 241
4.3.4 C51編譯器對ANSI C函
數定義的擴展 242
4.4 C51編譯器的數據調用協議 249
4.4.1 數據在內存中的存儲格式 249
4.4.2 目標代碼的段管理 250
4.5 C51編譯器的特殊支持 252
4.5.1 Analog Device公司的
Aduc8xxB2系列 253
4.5.2 Atmel 89x8252及衍生產品 253
4.5.3 Dallas 80C320/420/520/530 254
4.5.4 Dallas 80C390/400/5240及
衍生產品 254
4.5.5 Infineon 80517/509/537及
衍生產品 255
4.5.6 NXP 8xC750/751/752 256
4.5.7 NXP 8xC51Mx 256
4.5.8 NXP和Atmel WM系列的
雙數據指針 256
4.6 用戶配置文件 257
4.6.1 啟動代碼文件 257
4.6.2 變量初始化文件 259
4.6.3 基本I/O函數文件 260
4.6.4 分組配置文件 261
4.7 與匯編語言程序的接口 262
4.8 與PL/M51程序的接口 272
4.9 絕對地址訪問 273
4.9.1 采用擴展關鍵字“_at_”或
指針定義變量的絕對地址 273
4.9.2 采用預定義宏指定變量的
絕對地址 274
4.9.3 采用鏈接定位控制命令指
定變量的絕對地址 275
4.10 C51的庫函數 276
4.10.1 字符函數CTYPE.H 277
4.10.2 標準I/O函數STDIO.H 283
4.10.3 字符串函數STRING.H 291
4.10.4 標準函數STDLIB.H 299
4.10.5 數學函數MATH.H 305
4.10.6 絕對地址訪問ABSACC.H 312
4.10.7 內部函數INTRINS.H 313
4.10.8 變量參數表STDARG.H 317
4.10.9 全程跳轉SETJMP.H 318
4.10.10 計算結構體成員的偏移
量STDDEF.H 319
4.10.11 創建測試條件ASSERT.H 319
第5章 A51宏匯編器 321
5.1 符號與表達式 323
5.2 匯編偽指令 327
5.2.1 段控制指令 328
5.2.2 符號定義指令 331
5.2.3 存儲器初始化指令 334
5.2.4 存儲器保留指令 335
5.2.5 過程聲明指令
(僅用于Ax51) 336
5.2.6 程序鏈接指令 338
5.2.7 地址控制指令 339
5.2.8 其他指令 340
5.3 宏處理器 340
5.3.1 標準宏處理器 341
5.3.2 嵌套宏定義 344
5.3.3 宏調用 345
5.3.4 C宏處理器 349
5.3.5 MPL宏處理器 351
5.3.6 MPL函數 353
5.3.7 MPL條件處理函數 357
5.3.8 MPL字符串處理函數 360
5.4 匯編控制命令 362
5.4.1 匯編控制命令詳解 363
5.4.2 條件匯編命令 371
第6章 BL51/Lx51鏈接定位器與實用工具 375
6.1 BL51/Lx51的鏈接定位方式 375
6.1.1 鏈接定位中的數據段處理 375
6.1.2 鏈接定位器的引用 378
6.1.3 應用程序在存儲器空間中
的定位 379
6.1.4 數據覆蓋 381
6.1.5 代碼分組 383
6.1.6 分組配置 385
6.2 鏈接定位控制命令詳解 393
6.2.1 列表文件控制命令 393
6.2.2 輸出文件控制命令 397
6.2.3 段與存儲器定位控制命令 401
6.2.4 高級語言控制命令 418
6.3 符號轉換工具 425
6.3.1 Intel HEX文件格式與符號
轉換工具 425
6.3.2 引用符號轉換工具
OH51/OHX51 426
6.3.3 引用分組目標文件轉換
工具OC51 428
6.4 庫管理器LIBx51 428
第7章 RTX51實時多任務操作系統 432
7.1 RTX51一般介紹 432
7.2 RTX51技術參數 437
7.3 使用RTX51 TINY的要求和限定 439
7.4 RTX51 TINY的任務管理 440
7.5 RTX51 TINY的配置 442
7.6 RTX51 TINY的系統函數 444
7.7 RTX51 TINY應用系統調試 449
第8章 8051單片機片內資源的C51應用
編程 464
8.1 編寫C51應用程序的基本原則 464
8.2 C51應用中的一些常見問題與
解決方法 465
8.3 8051單片機中斷系統應用編程 468
8.3.1 外部中斷源擴展 468
8.3.2 中斷嵌套 470
8.4 8051單片機定時器/計數器應
用編程 473
8.4.1 定時器方式應用 474
8.4.2 計數器方式應用 478
8.5 利用定時器產生音樂 479
8.6 8051單片機串行口應用編程 483
8.6.1 8051串行口實現串/并
轉換應用編程 483
8.6.2 8051串行口的通信方式
應用編程 487
8.7 P89C51RD2單片機片內FLASH
在應用中編程的C51驅動程序 504
8.8 80C552單片機內部A/D轉換器
的C51驅動程序 517
8.8.1 80C552單片機簡介 517
8.8.2 80C552內部ADC的應用 519
8.8.3 使用80C552內部ADC的
C51驅動程序 523
第9章 8051單片機片外擴展的C51
應用編程 529
9.1 LED數碼管顯示接口應用編程 529
9.1.1 軟件譯碼和動態掃描的LED
數碼管顯示接口應用編程 530
9.1.2 8位共陰極LED數碼管驅
動器MAX7219應用編程 532
9.2 非編碼矩陣鍵盤接口應用編程 538
9.2.1 采用8155實現的矩陣鍵盤及
數碼管顯示接口應用編程 539
9.2.2 采用8279實現的矩陣鍵盤及
數碼管顯示接口應用編程 544
9.3 LCD液晶模塊顯示接口應用編程 550
9.3.1 點陣字符型LCD顯示接口
應用編程 551
9.3.2 12864點陣圖形LCD顯示
接口應用編程 562
9.3.3 內置T6963C控制器的點陣圖
形LCD顯示接口應用編程 570
9.4 D/A與A/D轉換接口應用編程 580
9.4.1 DAC0832轉換接口應用
編程 581
9.4.2 串行接口DAC芯片MAX517
應用編程 584
9.4.3 ADC0809轉換接口應用
編程 588
9.4.4 ICL7135轉換接口應用編程 592
9.4.5 串行接口ADC芯片TLC549
應用編程 596
9.5 單片機I2C總線擴展應用編程 600
9.5.1 I2C總線簡介 600
9.5.2 I2C總線通用驅動程序 603
9.5.3 I2C接口器件24C04的讀/寫
程序 606
9.6 8051單片機存儲器擴展與測試應
用編程 610
9.6.1 測試8051應用系統總線與
擴展存儲器的C51驅動程序 610
9.6.2 8051擴展FLASH存儲器在
系統編程的C51驅動程序 613
第10章 Keil C51綜合應用編程實例 626
10.1 有關C51編程的若干實際應用
技巧 626
10.2 C51與匯編語言混合編程與生
成應用庫文件 632
10.2.1 C51與匯編語言混合編程 632
10.2.2 在Vision4中生成應用庫
文件 634
10.3 在Vision4中應用硬件目標板 635
10.3.1 帶MON51監控程序的
硬件目標板 636
10.3.2 帶FLASH MON51監控程
序的硬件目標板 640
10.4 紅外遙控系統設計 642
10.4.1 功能要求 642
10.4.2 硬件電路設計 642
10.4.3 軟件程序設計 643
10.5 簡易電子琴設計 650
10.5.1 功能要求 650
10.5.2 硬件電路設計 650
10.5.3 軟件程序設計 650
10.6 帶農歷的電子萬年歷設計 655
10.6.1 功能要求 655
10.6.2 硬件電路設計 655
10.6.3 軟件程序設計 658
10.7 電子密碼鎖設計 671
10.7.1 功能要求 671
10.7.2 硬件電路設計 671
10.7.3 軟件程序設計 671
10.8 DS18B20多點溫度監測系統設計 687
10.8.1 功能要求 687
10.8.2 硬件電路設計 688
10.8.3 軟件程序設計 692
10.9 STH11數字溫-濕度測量系統設計 700
10.9.1 功能要求 700
10.9.2 硬件電路設計 700
10.9.3 軟件程序設計 704
10.10 單片機SD卡讀/寫接口設計 710
10.10.1 功能要求 710
10.10.2 硬件電路設計 710
10.10.3 軟件程序設計 712
附錄A Keil C51與ANSI C的差別 717
附錄B Keil C51不同版本的差別 719
附錄C 代碼優化 723
附錄D C51編譯器的限制 726
附錄E 關于配套光盤及硬件目標板 727
參考文獻 728
序: