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