出版時間:2009-4 出版社:中國電力出版社 作者:周杰,張櫻枝 編著 頁數:270
前言
8051單片機是當前國內外工業(yè)測控領域內使用很廣泛的一類8位微控制器,它的特點是使用方便、靈活,外圍硬件支持十分豐富,世界上許多大的半導體生產廠商,如Atmel、Dallas、TI等公司都推出了具有各自特點的增強型8051系列單片機,使用戶有了更大的選擇空間。此外,世界上有許多軟件公司致力于8051單片機高級編程語言的開發(fā),其中,C語言是一種特別適合于開發(fā)單片機程序的高級語言。 本書先從硬件入手,講述了單片機的內部結構、硬件特點、外圍擴展等基礎硬件知識,為后續(xù)學習編程方法打下了堅實的基礎?! ”緯敿毜刂v述了指令系統(tǒng),介紹了匯編語言的編程方法,這是因為匯編語言具有運算效率高、占用存儲空間小、實時性強、執(zhí)行速度快等優(yōu)點,能直接管理和控制存儲器及硬件接口,充分發(fā)揮硬件的作用。掌握了匯編語言,就可以更好地理解高級編程語言?! ”緯刂v述了C語言編程方法。C語言是一種通用的程序設計語言,它的代碼效率高,語言簡潔、緊湊,運算符豐富,數據結構豐富,具有現代化語言的各種數據結構,具有良好的程序結構,允許直接訪問物理地址,能夠進行位操作,能夠實現匯編語言的大部分功能,可以直接對硬件進行操作,適用于各種應用的程序設計,是目前使用較廣的單片機編程語言?! 語言可以和匯編語言混合編程。匯編語言可以直接操作硬件,運算速度快,但復雜的運算編程很耗時。而用匯編語言編寫與硬件底層操作有關的程序,用C語言編寫與硬件無關的運算程序,這樣可充分發(fā)揮兩種語言的長處,從而提高開發(fā)效率。本書介紹了C語言和匯編語言混合編程的規(guī)則,并舉例說明了如何進行C語言和匯編語言的混合編程。 為了能夠深入理解和掌握C語言與匯編語言的編程方法,本書介紹了更深層次的編程知識——Cx51編譯器、宏匯編Ax51以及目標文件的連接與轉換等?! ”緯€詳細地介紹了單片機開發(fā)環(huán)境——Vision2集成開發(fā)環(huán)境。Vision2具有全功能的源代碼編輯器、用來配置開發(fā)工具設置的器件庫、用來創(chuàng)建和維護項目的項目管理器、集成的MAKE工具,以及可以匯編、編譯和連接用戶的嵌入式應用程序等特性?! ”緯⒅貙嵺`與理論相結合,按照單片機初學者的學習過程,由淺入深逐步講解8051單片機基礎、編程軟件以及典型實例。全書共分為12章,各章節(jié)的安排如下: 第1章單片機的發(fā)展,主要講述了單片機技術的發(fā)展概況、單片機的主流產品系列以及單片機的應用領域及其意義?! 〉?章MCS-51單片機的基礎知識,主要講述了8051單片機的硬件特點、硬件結構、串行口與定時/計數器、中斷系統(tǒng)等?! 〉?章8051單片機指令系統(tǒng),主要講述了指令系統(tǒng)的概況、尋址方式、數據傳送指令、算術與邏輯運算和移位指令、控制轉移和位操作指令等。
內容概要
本書系統(tǒng)地介紹了8051單片機的硬件結構、硬件組成、指令系統(tǒng)、匯編語言、C語言以及C語言和匯編語言混合編程等知識,并深入地介紹了高級編程知識,給出了大量的單片機應用實例。本書為每個知識點都提供了詳細的實例。 全書共分為12章,全面詳細地介紹了單片機硬件知識和軟件編程方法。首先介紹了8051單片機的基本硬件知識、內部結構以及指令系統(tǒng),接著介紹了單片機的程序設計語言——匯編語言和單片機C語言,然后介紹了單片機的開發(fā)環(huán)境、高級編程知識以及C語言和匯編語言的混合編程,最后列舉了大量的單片機應用實例。 本書內容全面、結構緊湊、實例豐富。適合51系列單片機的初學者,對具有一定開發(fā)經驗的設計人員也具有很好的參考價值。
書籍目錄
前言第1章 單片機的發(fā)展 1.1 單片機技術的發(fā)展概況 1.2 單片機的主流產品系列 1.3 單片機的應用領域及其意義第2章 MCS-51單片機的基礎知識 2.1 8051單片機的硬件特點 2.2 8051單片機的硬件結構 2.2.1 引腳及片外總線描述 2.2.2 內部總體結構 2.2.3 中央處理器及其振蕩器、時鐘電路和CPU時序 2.2.4 復位狀態(tài)及幾種復位電路的設計 2.2.5 存儲器、特殊功能寄存器及地址空間 2.2.6 輸入/輸出(I/O)接口 2.3 串行接口與定時/計數器 2.3.1 串行接口簡介 2.3.2 定時/計數器的結構 2.3.3 定時/計數器的4種工作方式 2.3.4 定時/計數器對輸入信號的要求 2.3.5 定時/計數器應用實例 2.4 中斷系統(tǒng) 2.4.1 中斷源 2.4.2 中斷控制 2.4.3 中斷響應過程 2.4.4 外部中斷響應時間 2.4.5 外部中斷方式的選擇第3章 8051單片機指令系統(tǒng) 3.1 指令系統(tǒng)概述 3.1.1 指令格式 3.1.2 指令的3種表示形式 3.1.3 指令的字節(jié)數 3.1.4 指令的分類 3.2 尋址方式 3.2.1 立即尋址 3.2.2 直接尋址 3.2.3 寄存器尋址方式 3.2.4 寄存器間接尋址方式 3.2.5 變址尋址方式 3.2.6 相對尋址方式 3.2.7 位尋址方式 3.3 數據傳送指令 3.3.1 內部數據傳送指令 3.3.2 外部傳送指令 3.3.3 堆棧操作指令 3.3.4 數據交換指令 3.4 算術與邏輯運算和移位指令 3.4.1 算術運算指令 3.4.2 邏輯運算指令 3.5控制轉移和位操作指令 3.5.1 控制轉移指令 3.5.2 位操作指令第4章 匯編語言程序設計 4.1 匯編語言的構成 4.1.1 程序設計語言 4.1.2 匯編語言的格式 4.1.3 偽指令 4.2 匯編語言源程序的設計與匯編 4.2.1 匯編語言源程序的設計步驟 4.2.2 匯編語言程序的匯編 4.3 簡單程序與分支程序的設計 4.3.1 簡單程序設計 4.3.2 分支程序設計 4.4 循環(huán)與查表程序設計 4.4.1 循環(huán)程序設計 4.4.2 查表程序設計 4.5 子程序與運算程序設計 4.5.1 子程序設計 4.5.2 運算程序設計第5章 C51程序設計基礎 5.1 標識符與關鍵字 5.2 數據類型 5.3 常量 5.4 變量及其存儲模式 5.5 用typedef重新定義數據類型 5.6 運算符與表達式 5.7 基本語句 5.7.1 表達式語句 5.7.2 復合語句 5.7.3 if條件語句 5.7.4 開關語句 5.7.5 循環(huán)語句 5.8 函數 5.8.1 函數的定義 5.8.2 函數的調用 5.8.3 函數的遞歸調用和再入函數 5.8.4 中斷服務函數與寄存器組定義 5.8.5 函數變量的存儲方式 5.8.6 函數的參數和局部變量的存儲器模式 5.9 數組與指針 5.9.1 數組的定義與引用 5.9.2 字符數組 5.9.3 數組作為函數的參數 5.9.4 指針 5.9.5 數組的指針 5.9.6 指針的地址計算 5.9.7 函數類型指針變量 5.9.8 返回指針型數據的函數 5.9.9 指針數組與指向指針的指針 5.10 結構體、聯合體與枚舉 5.10.1 結構體變量的定義與引用 5.10.2 結構體類型變量的初始化 5.10.3 結構體類型數組 5.10.4 結構體類型指針變量 5.10.5 結構體與函數 5.10.6 聯合體變量的定義與引用 5.10.7 枚舉類型 5.11 預處理器 5.11.1 宏定義 5.11.2 文件包含 5.11.3 條件編譯第6章 lxVision2集成開發(fā)環(huán)境 6.1 關于開發(fā)環(huán)境 6.2 菜單欄、工具欄和快捷鍵 6.3 創(chuàng)建項目實例 6.4 LLVision2功能 6.5 編寫優(yōu)化代碼 6.6 技巧與竅門第7章 Cx51編譯器 7.1 Cx51編譯器的數據調用協(xié)議 7.1.1 數據在內存中的存儲格式 7.1.2 再入函數的棧結構 7.1.3 與PL/M-51語言程序的接口 7.1.4 配置文件 7.1.5 Cx5l編譯器的限制第8章 宏匯編Ax51 8.1 符號與表達式 8.1.1 符號 8.1.2 標號 8.1.3 操作數 8.1.4 特殊匯編符號 8.1.5 表達式 8.2 匯編偽指令 8.2.1 符號定義偽指令 8.2.2 保留和初始化存儲器空間的指令 8.2.3 控制程序連接的指令 8.2.4 段控制的偽指令 8.2.5 過程聲明偽指令(僅用于Ax51和A251) 8.2.6 地址控制偽指令 8.2.7 其他偽指令 8.3 宏處理 8.3.1 宏定義 8.3.2 宏調用 8.3.3 應用實例第9章 目標文件的連接與轉換 9.1 連接器/定位器LX51 9.2 組間轉換 9.2.1 公共代碼區(qū)域 9.2.2 代碼組區(qū)域 9.2.3 最合適的具有組間切換的程序結構 9.2.4 組和公共代碼區(qū)域中的程序代碼 9.2.5 組區(qū)域中的段 9.2.6 組間切換配置 9.3 符號轉換程序 9.3.1 IntelcHEX文件轉換程序OHx51 9.3.2 分組目標文件轉換程序OC51 9.4 庫管理器LIBx51第10章 C語言和匯編語言混合編程 10.1 C語言嵌套匯編語言的規(guī)則 10.1.1 Cx51函數名的轉換及其命名規(guī)則 10.1.2 Cx51函數及其相關段的命名規(guī)則 10.1.3 Cx51函數的參數傳遞規(guī)則 10.2 在Cx51中調用匯編程序應用舉例第11章 單片機C語言與匯編語言應用實例 11.1 I/O并行口直接驅動LED顯示 11.2 一鍵多功能按鍵的識別 11.3 可預置可逆4位計數器 11.4 識別4x4矩陣式鍵盤 11.5 拉幕式數碼的顯示 11.6 99s馬表的設計 11.7 “嘀、嘀、嘀”報警聲 11.8 ADC0809A/D轉換器的應用 11.9 點陣式LED簡單圖形的顯示 11.10 電子琴的設計第12章 單片機在微型打印機系統(tǒng)中的應用 12.1 KP系列微型打印機性能和主要性能指標 12.2 軟硬件設計特點 12.3 打印原理及控制程序 12.4 打印機接口 12.5 打印命令分析 12.5.1 文本打印命令 12.5.2 圖形打印命令 12.5.3 其他命令 12.6 打印機程序編制方法應用舉例附錄A 8051指令集附錄B Keilc Cx51與ANSIC的差別參考文獻
章節(jié)摘錄
第1章 單片機的發(fā)展 單片機是把組成微型計算機的各個功能部件,如中央處理器CPU、只讀存儲器ROM、隨機存取存儲器RAM、輸入/輸出接口(I/O)電路、定時器/計數器以及串行通信及口電路等功能部件集成在一塊芯片上,構成的一個完整的微型計算機。因此單片機早期的含義為單片微型計算機(SinglechipMicrocomputer),它的專業(yè)名稱為微控制器件(MicroControllerUnit)。單片機的出現和發(fā)展使計算機技術從通用型數值計算領域進入到智能化的控制領域,已經應用在工業(yè)控制、儀器儀表、交通、航運、通信、家電等領域,而且這些應用越來越廣泛?! ?.1 單片機技術的發(fā)展概況 單片機是Intel公司開發(fā)出來的,在微型計算機研制成功后1971年Intel公司推出了4位單片機4004,它的結構簡單、功能單一、控制能力較弱;隨后,Intel公司又開發(fā)了MCS.48系列單片機,它的體積小、功能全、價格較低,基于這些特點,MCS.48系列單片機得到了廣泛地應用,成為單片機發(fā)展過程中的一個重要階段,可以稱為第一代單片機?! ≡贛CS-48系列單片機的基礎上,Intel公司又開發(fā)了MCS.51系列單片機。MCS-51單片機的主要技術特征是配置了外部并行總線和串行通信接口,規(guī)范了特殊功能寄存器的控制模式,強化了布爾處理系統(tǒng)和相關的指令系統(tǒng),從而增強了單片機的控制功能?! ?0世紀80年代中后期,Intel推出了MCS一96系列等16位單片機。16位單片機功能很強大,而價格與原來的單片機相差不大,片內有A/D轉換器,提高了網絡通信的能力,可用于高速的控制系統(tǒng),因此得到了廣泛地應用?! ?0世紀90年代以來,移動通信、多媒體技術、網絡技術等高端產品逐步進入普通家庭,Intel等公司開發(fā)出了32位單片機,并得到了大力推廣,如ARM、PowerPC等32位單片機。現在市場上8位機、16位機、32位機共存,共同發(fā)展,因為各種單片機新品迭出,而且有各自廣泛應用的領域。 目前單片機品種繁多,而MCS-51系列單片機是最典型的單片機。其功能強大,兼容性強,軟硬件資源豐富,因此本書以MCS-51系列單片機為硬件基礎展開敘述。
編輯推薦
《單片機C語言及匯編語言實用程序設計》內容全面、結構緊湊、實例豐富。適合51系列單片機的初學者,對具有一定開發(fā)經驗的設計人員也具有很好的參考價值。
圖書封面
評論、評分、閱讀與下載