出版時間:2010-4 出版社:科學(xué) 作者:高惠芳 編 頁數(shù):332
前言
單片機出現(xiàn)至今已經(jīng)有30多年的歷史,單片機技術(shù)也歷經(jīng)了幾個發(fā)展階段。目前,單片機已滲透到生活中的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的足跡。導(dǎo)彈的導(dǎo)航裝置,飛機的各種控制儀表,計算機的網(wǎng)絡(luò)通信與數(shù)據(jù)傳輸模塊,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理設(shè)備,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),攝像機、全自動洗衣機的控制系統(tǒng),以及程控玩具、電子寵物等,甚至全自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械,都離不開單片機。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的工程師和科學(xué)家??萍荚桨l(fā)達(dá),智能化的東西就越多,對單片機學(xué)習(xí)的需求也日益增加?! ∧壳?,單片機方面的教材大都采用匯編語言的講解和設(shè)計程序?qū)嵗?,但匯編語言學(xué)習(xí)困難。在實際應(yīng)用系統(tǒng)開發(fā)調(diào)試中,特別是開發(fā)比較復(fù)雜的應(yīng)用系統(tǒng)時,為了提高開發(fā)效率和使程序便于移植,很多時候采用C語言。C語言不僅學(xué)習(xí)方便,而且同匯編語言一樣能夠?qū)纹瑱C資源進(jìn)行訪問,因此目前大多數(shù)院校在開設(shè)單片機課程時都引入C語言。但引人C語言后,就發(fā)現(xiàn)在選擇教材時存在兩方面的問題:有的教材注重于單片機的原理,只使用匯編語言;而另一些教材注重于C語言,一般面向開發(fā),不講原理,屬于高級教程,不適合初學(xué)者。能兼顧匯編語言和C語言的教材非常少,而在實際使用中需要一本在學(xué)習(xí)單片機基本原理的同時能兼顧匯編語言和C語言兩個方面的教材。在整個大學(xué)階段,大多數(shù)學(xué)生學(xué)習(xí)的課程中,只有單片機這門課能接觸到匯編語言,所以該門課旨在使學(xué)生在匯編語言概念的基礎(chǔ)上學(xué)會單片機的編程。本書編寫的目的是在講述單片機基本原理的同時能兼顧匯編語言和C語言兩個方面。所以本書在大多數(shù)的實例中,相同的功能用匯編語言和C語言分別編程實現(xiàn),通過用匯編語言和C語言兩個方面的編程對比,使學(xué)生能夠有選擇地掌握一種語言,并認(rèn)識另一種語言。同時,為了提高學(xué)生應(yīng)用設(shè)計的能力,本書還介紹了目前單片機接口常用的接口芯片,列舉了幾個簡單的單片機應(yīng)用系統(tǒng)開發(fā)實例。
內(nèi)容概要
《單片機原理與應(yīng)用技術(shù)》針對目前最通用的MCS-51單片機,在匯編語言的基礎(chǔ)上,增加了目前最流行的C51程序設(shè)計語言,內(nèi)容主要包括:單片機芯片的硬件原理和結(jié)構(gòu)、匯編語言指令系統(tǒng)和程序設(shè)計、C51的程序設(shè)計、單片機內(nèi)部資源(包括中斷、定時/計數(shù)器、串行口)、單片機系統(tǒng)擴展(包括存儲器擴展、I/O擴展)及功能擴展(包括鍵盤、顯示器、A/D及D/A轉(zhuǎn)換)、KeilC集成調(diào)試軟件及Proteus仿真軟件的使用介紹等。 《單片機原理與應(yīng)用技術(shù)》的特點是通過匯編語言和C語言穿插進(jìn)行講述,實例較多,且很多例子都給出了匯編語言和C語言的對照程序,使讀者能同時學(xué)習(xí)匯編語言和C語言,并使熟悉匯編語言的讀者能更快地學(xué)好單片機C51程序設(shè)計。 《單片機原理與應(yīng)用技術(shù)》可作為高等院校電類、機械類等專業(yè)本科生的教材,也可作為函授教材或培訓(xùn)班教材。另外,《單片機原理與應(yīng)用技術(shù)》可供從事單片機應(yīng)用產(chǎn)品研發(fā)的工程技術(shù)人員及單片機愛好者參考。
書籍目錄
前言第1章 單片機概述1.1 單片機的基本概念1.1.1 什么是單片機1.1.2 微控制器MCU1.1.3 如何使用單片機1.2 單片機的發(fā)展概況1.2.1 單片機的發(fā)展歷史1.2.2 MCS-51單片機的發(fā)展1.2.3 現(xiàn)階段主流單片機系列簡介1.3 單片機的應(yīng)用特點與應(yīng)用領(lǐng)域1.3.1 單片機應(yīng)用特點1.3.2 單片機應(yīng)用領(lǐng)域1.4 單片機的發(fā)展趨勢習(xí)題第2章 MCS-51單片機的結(jié)構(gòu)和原理2.1 MCS-51單片機的基本組成2.1.1 MCS-51單片機的基本組成2.1.2 MCS-51單片機的封裝與信號引腳2.2 MCS-51單片機的并行I/O端口結(jié)構(gòu)2.3 MCS-51單片機的存儲器結(jié)構(gòu)2.3.1 程序存儲器2.3.2 數(shù)據(jù)存儲器2.4 MCS-51單片機的時鐘電路與時序2.4.1 時鐘電路2.4.2 時序2.5 MCS-51單片機的工作方式2.5.1 復(fù)位方式2.5.2 程序執(zhí)行方式2.5.3 單步執(zhí)行方式2.5.4 低功耗方式2.5.5 EPROM的編程和校驗工作方式習(xí)題第3章 MCS-51單片機的匯編語言指令系統(tǒng)3.1 指令格式及其符號說明3.1.1 指令格式3.1.2 常用符號說明3.1.3 指令的字節(jié)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 MCS-51單片機指令系統(tǒng)3.3.1 數(shù)據(jù)傳送類指令3.3.2 算術(shù)運算類指令3.3.3 邏輯運算及移位類指令3.3.4 控制轉(zhuǎn)移類指令3.3.5 位操作類指令習(xí)題第4章 MCS-51單片機匯編語言程序設(shè)計4.1 匯編語言的概述4.1.1 匯編語言的特點4.1.2 匯編語言的偽指令4.2 匯編語言源程序的編輯和匯編4.2.1 手工編程和匯編4.2.2 機器編輯和交叉匯編4.3 匯編語言程序設(shè)計4.3.1 簡單程序設(shè)計4.3.2 分支程序設(shè)計4.3.3 循環(huán)程序設(shè)計4.3.4 數(shù)制轉(zhuǎn)換程序4.3.5 查表程序設(shè)計習(xí)題第5章 單片機C51程序設(shè)計基礎(chǔ)5.1 C51數(shù)據(jù)與運算5.1.1 C51的數(shù)據(jù)類型5.1.2 C51數(shù)據(jù)的存儲類型5.1.3 8051特殊功能寄存器的C51定義5.1.4 8051并行接口及位變量的C51定義5.2 C51運算符、表達(dá)式及其規(guī)則5.2.1 (復(fù)合)賦值運算符5.2.2 算術(shù)運算符5.2.3 自增和自減運算符5.2.4 關(guān)系運算符5.2.5 邏輯運算符5.2.6 位運算符5.2.7 條件運算符5.2.8 指針和地址運算符5.2.9 優(yōu)先級和結(jié)合性5.3 C51流程控制語句5.3.1 C51程序的基本結(jié)構(gòu)及其流程圖5.3.2 選擇語句5.3.3 循環(huán)語句5.4 C51構(gòu)造數(shù)據(jù)類型5.4.1 數(shù)組5.4.2 指針5.4.3 結(jié)構(gòu)體5.4.4 共用體5.4.5 枚舉5.5 函數(shù)5.5.1 函數(shù)的定義5.5.2 函數(shù)的調(diào)用5.5.3 函數(shù)的嵌套調(diào)用與遞歸調(diào)用5.5.4 中斷服務(wù)函數(shù)5.5.5 指向函數(shù)的指針變量5.5.6 局部變量和全局變量5.6 C51的庫函數(shù)5.6.1 一般I/O函數(shù),stdio.h5.6.2 字符函數(shù)庫string.h5.6.3 標(biāo)準(zhǔn)函數(shù)庫stdlib.h及其他頭文件5.7 C51模塊化程序設(shè)計5.7.1 基本概念5.7.2 模塊化程序開發(fā)過程習(xí)題第6章 單片機內(nèi)部資源及編程6.1 中斷系統(tǒng)6.1.1 中斷概述6.1.2 中斷源6.1.3 中斷控制6.1.4 中斷響應(yīng)過程6.1.5 中斷請求的撤除6.1.6 中斷程序設(shè)計6.1.7 外部中斷源的擴展6.2 定時/計數(shù)器6.2.1 定時/計數(shù)器的結(jié)構(gòu)及工作原理6.2.2 定時/計數(shù)器的控制6.2.3 定時/計數(shù)器的工作方式6.2.4 定時/計數(shù)器的初始化6.2.5 定時/計數(shù)器應(yīng)用舉例6.3 串行通信口6.3.1 數(shù)據(jù)通信概述6.3.2 單片機的串行通信接口6.3.3 串行通信的工作方式及波特率設(shè)置6.3.4 串行口應(yīng)用舉例習(xí)題第7章 單片機系統(tǒng)擴展7.1 單片機最小應(yīng)用系統(tǒng)7.1.1 單片機最小應(yīng)用系統(tǒng)構(gòu)成7.1.2 系統(tǒng)擴展的內(nèi)容與方法7.2 存儲器的擴展7.2.1 程序存儲器的擴展7.2.2 數(shù)據(jù)存儲器的擴展7.2.3 存儲器綜合擴展7.2.4 閃速存儲器及其擴展7.3 輸入與輸出口的擴展7.3.1 簡單的并行I/O接口擴展7.3.2 用8255擴展并行I/O接口7.4 串行口擴展7.4.1 FC總線及其接口芯片7.4.2 SPI接口及其接口芯片7.4.3 單總線接口及其接口芯片7.4.4 Microwire串行總線及其接口芯片習(xí)題第8章 單片機功能擴展8.1 鍵盤輸入及接口8.2 顯示器及其接口8.3 D/A轉(zhuǎn)換器的接口與應(yīng)用8.4 A/D轉(zhuǎn)換器的接口與應(yīng)用習(xí)題第9章 單片機應(yīng)用系統(tǒng)的開發(fā)與設(shè)計9.1 單片機開發(fā)系統(tǒng)9.2 51實驗板9.3 單片機應(yīng)用系統(tǒng)的設(shè)計9.4 單片機應(yīng)用系統(tǒng)舉例習(xí)題第10章 Keil C51軟件使用介紹10.1 Keil C51軟件安裝10.2 霽ision3集成開發(fā)環(huán)境10.3 建立工程項目10.4 程序舉例10.5 編譯程序10.6 程序調(diào)試習(xí)題第11章 可視化仿真開發(fā)工具Proteus介紹11.1 Proteus ISIS編輯環(huán)境介紹11.2 進(jìn)入Proteus ISIS編輯環(huán)境11.3 單片機仿真11.4 Proteus與Keil整合構(gòu)建單片機虛擬實驗室附錄 MCS-51單片機指令匯總附表1 數(shù)據(jù)傳送類指令附表2 算術(shù)運算類指令附表3 邏輯運算及移位類指令附表4 控制轉(zhuǎn)移類指令附表5 位操作類指令參考文獻(xiàn)
章節(jié)摘錄
如前所述,單片機是一個單片化微型計算機系統(tǒng),使用單片機完成一個具體應(yīng)用需要對其編程,一般來說,flash結(jié)構(gòu)的單片機在出廠的時候單片機內(nèi)ROM(即flash)是空白的,可以認(rèn)為它的功能未被定義,需要輸入針對應(yīng)用的代碼來實現(xiàn)具體的應(yīng)用功能?! 楫a(chǎn)生上述代碼一般流程是需要在單片機開發(fā)環(huán)境當(dāng)中編寫針對程序,經(jīng)編譯獲得所需執(zhí)行代碼。這里的單片機開發(fā)環(huán)境是指一種在計算機上的軟件,通常它具有編輯程序、交叉編譯、生成執(zhí)行代碼文件的功能。不同的單片機具有不同的開發(fā)環(huán)境,例如:圖1.4所示的單片機屬于MCSr-51系列,可以使用Keil Vision 2這個集成開發(fā)環(huán)境,而AVR系列單片機卻可以使用AVR Sttidio,除此之外,開發(fā)環(huán)境也可能支持不同的編程語言,常見的單片機開發(fā)語言有匯編語言和C語言?! 纹瑱C開發(fā)者需要針對具體的應(yīng)用來寫對應(yīng)的匯編語言或C語言程序,在集成開發(fā)環(huán)境中進(jìn)行編譯、調(diào)試,最后獲得所需的執(zhí)行代碼文件,通過編程器或其他特定的編程方式把執(zhí)行代碼文件燒寫單片機的flash ROM中,這樣該單片機就具有了針對應(yīng)用的邏輯控制功能?! ‘?dāng)然在開發(fā)過程當(dāng)中,開發(fā)者的程序可能會存在問題,往往需要反復(fù)調(diào)試修改代碼。這種調(diào)試一般有兩種方式:一種是在集成開發(fā)環(huán)境中,用指令模擬器模擬單片機執(zhí)行程序的過程;另一種是通過連接計算機與單片機系統(tǒng)的硬件調(diào)試工具(一般稱為仿真器),在開發(fā)環(huán)境上進(jìn)行硬件調(diào)試,正常情況下,調(diào)試時間遠(yuǎn)大于初始程序編寫時間?! 龑懥藞?zhí)行代碼的單片機在系統(tǒng)上電后,就會按照開發(fā)者的意愿執(zhí)行相應(yīng)的邏輯控制功能。
圖書封面
評論、評分、閱讀與下載