出版時(shí)間:2009-7 出版社:中國(guó)電力出版社 作者:楊國(guó)田,白焰,董玲 編著 頁(yè)數(shù):232
Tag標(biāo)簽:無(wú)
前言
1980年,英特爾公司推出了后來(lái)廣為普及的MCS-51單片機(jī),近30年來(lái),其衍生系列不斷涌現(xiàn),從Atmel加入FLASHROM.,到phillips加入各種外設(shè),再到后來(lái)的Cygnal推出C8051F,使得以8051為核心的單片機(jī)在各個(gè)發(fā)展階段的低端應(yīng)用中始終扮演著一個(gè)獨(dú)特的角色,其地位不斷提升,資源日漸豐富,歷經(jīng)30年仍在生機(jī)勃勃地延續(xù),甚至在SoC時(shí)代仍赫然占有一席之地。有資料顯示,8位機(jī)始終是嵌入式低端應(yīng)用的主要機(jī)型,而且在未來(lái)相當(dāng)長(zhǎng)的時(shí)間里仍會(huì)保持這個(gè)勢(shì)頭。而8051系列,在8位單片機(jī)中形成了一道獨(dú)特的風(fēng)景線。歷史最長(zhǎng)、常盛不衰、眾星捧月、不斷更新,形成了既具有經(jīng)典性又不乏生命力的一個(gè)單片機(jī)系列??梢哉f(shuō),Intel公司創(chuàng)建了8位機(jī)的經(jīng)典系列結(jié)構(gòu)。究其原因,嵌入式系統(tǒng)嵌入到對(duì)象體系中,并在對(duì)象環(huán)境下運(yùn)行,與對(duì)象領(lǐng)域相關(guān)的操作主要是對(duì)外界物理參數(shù)進(jìn)行采集、處理,對(duì)外界對(duì)象實(shí)現(xiàn)控制,并與操作者進(jìn)行人機(jī)交互等,而這些任務(wù)所要求的響應(yīng)速度有限,且不會(huì)隨時(shí)間變化。在8位單片機(jī)能基本滿足其響應(yīng)速度要求后,數(shù)據(jù)寬度不成為技術(shù)發(fā)展的主要矛盾。因此,8位單片機(jī)將穩(wěn)定下來(lái),其技術(shù)發(fā)展方向轉(zhuǎn)為最大限度地滿足對(duì)象的采集、控制、可靠性和低功耗等品質(zhì)要求。而對(duì)于8051系列,則由于其實(shí)施技術(shù)開(kāi)放政策,使得這個(gè)系列歷經(jīng)滄桑而不老。在相當(dāng)長(zhǎng)的歷史時(shí)期里,單片機(jī)的開(kāi)發(fā)以匯編語(yǔ)言為主,即使今天,高效的工作程序也大多不能完全擺脫匯編語(yǔ)言,這當(dāng)然有其原因。而且Borland公司創(chuàng)始人之一,因使用匯編語(yǔ)言撰寫(xiě)編譯器開(kāi)發(fā)出TurboPascal(首創(chuàng)In-MemorYCompiler)而震驚全世界的大名鼎鼎的AndersHeilsberg先生用他的傳奇經(jīng)歷也證明了匯編語(yǔ)言可以做大事。Anders先生使用匯編語(yǔ)言創(chuàng)造出了一度是全世界速度最快、品質(zhì)一流的Pascal編譯器,可見(jiàn)匯編語(yǔ)言的威力。但是,在Anders離開(kāi)了Borland之后,幾乎沒(méi)有人能夠修改.Anders的編譯器,足見(jiàn).Anders先生的匯編語(yǔ)言功力何以出神入化,并非常人所能企及。然而在今天,單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)開(kāi)始走向大型化、復(fù)雜化,開(kāi)發(fā)周期要求越來(lái)越短,匯編語(yǔ)言被認(rèn)為枯燥而難以維護(hù)和調(diào)試,而C語(yǔ)言成了人們熱捧的開(kāi)發(fā)語(yǔ)言,尤其近年來(lái)C語(yǔ)言幾乎是大學(xué)新生的必修課,這雖然沒(méi)有直接降低單片機(jī)系統(tǒng)開(kāi)發(fā)的門(mén)檻,但是卻抬高了門(mén)檻外的土地。當(dāng)然,C語(yǔ)言是一種優(yōu)秀的高級(jí)語(yǔ)言,它精練,接近硬件,復(fù)雜程度適當(dāng),數(shù)據(jù)類型豐富、明確。
內(nèi)容概要
本書(shū)主要介紹8051系列單片機(jī)的c語(yǔ)言(C51)程序設(shè)計(jì)方法、應(yīng)用系統(tǒng)及程序設(shè)計(jì)實(shí)例,共分為8051系列單片機(jī)基礎(chǔ)、c語(yǔ)言基礎(chǔ)、應(yīng)用系統(tǒng)設(shè)計(jì)、設(shè)計(jì)案例等四個(gè)部分。其中第三部分以實(shí)例方式介紹應(yīng)用系統(tǒng)設(shè)計(jì)的有關(guān)問(wèn)題。包括人機(jī)界面設(shè)計(jì)以及常用接口器件的使用等,例如按鈕、矩陣鍵盤(pán)、觸摸屏、LCD顯示器、串行A/D(D/A)器件、定時(shí)器、RS-232接口等;第四部分主要介紹多個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)案例,包括紅外遙控系統(tǒng)、射頻遙控系統(tǒng)、電視遙控器、步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng)、PS2/串口鼠標(biāo)接口系統(tǒng)等。 本書(shū)寫(xiě)作時(shí)注意展示C51與匯編語(yǔ)言的內(nèi)在聯(lián)系,這樣有利于對(duì)C51的自如運(yùn)用,同時(shí)在案例部分給出系統(tǒng)設(shè)計(jì)時(shí)的種種考慮,力圖使讀者具有身臨其境的感覺(jué)。此外,還詳細(xì)介紹有關(guān)元器件參數(shù)計(jì)算的方法等,例如總線上拉電阻的阻值、電阻的額定功率核算等。 本書(shū)贈(zèng)送1張光盤(pán),內(nèi)含書(shū)中涉及到的所有程序以及相關(guān)的素材文件。 本書(shū)可作為從事單片機(jī)及嵌入式開(kāi)發(fā)的技術(shù)人員、51單片機(jī)開(kāi)發(fā)者和初學(xué)者的學(xué)習(xí)參考書(shū),也可作為高等院校相關(guān)專業(yè)研究生和高年級(jí)本科生、大學(xué)教師等教材。
書(shū)籍目錄
前言第1章 51單片機(jī)基礎(chǔ) 1.1 51系列MCU的結(jié)構(gòu)組成 1.2 特殊功能寄存器 1.3 存儲(chǔ)器系統(tǒng)組成及特點(diǎn) 1.4 并行I/O接口 1.5 定時(shí)器,計(jì)數(shù)器組成及特點(diǎn) 1.6 中斷子系統(tǒng) 1.6.1 中斷請(qǐng)求 1.6.2 中斷響應(yīng)過(guò)程 1.7 串行I/O接口(UART) 1.7.1 UART的工作模式 1.7.2 波特率設(shè)置 1.8 系統(tǒng)擴(kuò)展 1.9 51系列單片機(jī)的指令系統(tǒng) 1.9.1 程序設(shè)計(jì)模型 1.9.2 尋址方式 1.9.3 指令分類 1.9.4 指令列表第2章 C51基礎(chǔ) 2.1 C語(yǔ)言程序的基本結(jié)構(gòu) 2.1.1 C語(yǔ)言的字符集 2.1.2 C語(yǔ)言詞匯 2.2 數(shù)據(jù)類型和表達(dá)式 2.2.1 常量和變量 2.2.2 變量的類型 2.2.3 數(shù)組和指針 2.2.4 字符及字符串的表述 2.2.5 結(jié)構(gòu)、聯(lián)合和位段 2.2.6 自定義數(shù)據(jù)類型 2.3 基本運(yùn)算 2.3.1 運(yùn)算符的結(jié)合性與優(yōu)先級(jí) 2.3.2 算術(shù)運(yùn)算符 2.3.3 遞變運(yùn)算符 2.3.4 關(guān)系與邏輯運(yùn)算符 2.3.5 位運(yùn)算符 2.3.6 賦值運(yùn)算符 2.3.7 逗號(hào)運(yùn)算及其表達(dá)式 2.3.8 條件表達(dá)式 2.3.9 幾個(gè)特殊運(yùn)算符的說(shuō)明 2.4 數(shù)據(jù)輸入,輸出及實(shí)現(xiàn) 2.4.1 printf()函數(shù) 2.4.2 scanf函數(shù) 2.4.3 頭文件 2.4.4 輸入/輸出與串行接口 2.5 基本語(yǔ)句 2.5.1 基本語(yǔ)句分類 2.5.2 流控制語(yǔ)句 2.6 函數(shù) 2.6.1 函數(shù)的定義與聲明 2.6.2 函數(shù)的參數(shù)和返回值 2.6.3 函數(shù)的調(diào)用 2.6.4 main()函數(shù) 2.6.5 函數(shù)中的變量 2.6.6 變量的存儲(chǔ)類別 2.7 C語(yǔ)言預(yù)處理 2.7.1 宏定義 2.7.2 文件包含 2.7.3 條件編譯 2.7.4 預(yù)處理命令和預(yù)定義宏名匯總表 2.8 C語(yǔ)言程序設(shè)計(jì)基礎(chǔ) 2.8.1 算法及其描述 2.8.2 基本程序結(jié)構(gòu) 2.9 C51對(duì)ANSI C的擴(kuò)展與簡(jiǎn)化 2.9.1 內(nèi)存區(qū)域 2.9.2 存儲(chǔ)類型與存儲(chǔ)模式 2.9.3 變量或數(shù)據(jù)類型 2.9.4 Keil C51指針 2.9.5 Keil C51函數(shù) 2.10 Keil C51程序設(shè)計(jì) 2.10.1 絕對(duì)地址訪問(wèn) 2.10.2 Keil C51與匯編的接口 2.10.3 Keil C51軟件包中的通用文件 2.11 Keil C51庫(kù)函數(shù)參考 2.11.1 內(nèi)建庫(kù)函數(shù)與普通庫(kù)函數(shù)……第3章 應(yīng)用系統(tǒng)設(shè)計(jì)第4章 應(yīng)用系統(tǒng)設(shè)計(jì)案例參考文獻(xiàn)后記
章節(jié)摘錄
插圖:變量從作用域角度分為全局變量和局部變量,有利于程序的模塊化和函數(shù)之間的相對(duì)獨(dú)立性。從技術(shù)實(shí)現(xiàn)的角度來(lái)看,C語(yǔ)言引入了靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)兩種方式,即讓變量具有不同的生存期,對(duì)于實(shí)現(xiàn)全局和局部變量非常有利。(1)靜態(tài)存儲(chǔ)方式:變量在整個(gè)程序運(yùn)行期間占有固定的內(nèi)存地址。(2)動(dòng)態(tài)存儲(chǔ)方式:程序運(yùn)行期間根據(jù)需要臨時(shí)為變量分配內(nèi)存。在計(jì)算機(jī)中,整個(gè)內(nèi)存除掉操作系統(tǒng)等系統(tǒng)程序占用的空間,剩余的空間均可由用戶程序使用,稱為用戶存儲(chǔ)空間,這部分空間又可細(xì)分為三個(gè)部分:(1)程序區(qū):用于存儲(chǔ)用戶程序,通常由操作系統(tǒng)加載,在單片機(jī)中則是事先固化的。(2)靜態(tài)存儲(chǔ)區(qū):程序加載的同時(shí)即已分配的內(nèi)存區(qū),在單片機(jī)中則是程序編譯后即已明確分配方案的數(shù)據(jù)存儲(chǔ)區(qū)。(3)動(dòng)態(tài)存儲(chǔ)區(qū):程序運(yùn)行時(shí)可以隨時(shí)申請(qǐng)或釋放的內(nèi)存區(qū)。全局變量全部存放在靜態(tài)存儲(chǔ)區(qū),程序開(kāi)始執(zhí)行時(shí)為其分配內(nèi)存,程序結(jié)束時(shí)釋放。但在單片機(jī)中則是編譯后確定內(nèi)存地址,一般也不存在釋放問(wèn)題。在整個(gè)程序運(yùn)行期間,它們占據(jù)的存儲(chǔ)單元固定不變,無(wú)需動(dòng)態(tài)地分配和釋放。但是不能說(shuō)靜態(tài)存儲(chǔ)區(qū)存放的就一定是全局變量。極個(gè)別函數(shù),因位其運(yùn)行結(jié)果與歷史有關(guān),需要一種局部、但能長(zhǎng)期保存的變量,這種局部變量就需要放到靜態(tài)存儲(chǔ)區(qū)。而動(dòng)態(tài)存儲(chǔ)區(qū)(通常是堆棧)則存放以下數(shù)據(jù):(1)函數(shù)的形參。(2)自動(dòng)變量(未加stadc聲明的局部變量)。(3)函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址。上述三種數(shù)據(jù),在函數(shù)開(kāi)始調(diào)用時(shí)分配(除自動(dòng)變量外,其余在主調(diào)函數(shù)中即已分配)動(dòng)態(tài)存儲(chǔ)空間,函數(shù)結(jié)束時(shí)釋放(除自動(dòng)變量外,其余在回到主調(diào)函數(shù)后才徹底釋放)這些空間。在C語(yǔ)言中,每個(gè)變量和函數(shù)有兩個(gè)屬性:數(shù)據(jù)類型和數(shù)據(jù)的存儲(chǔ)類別.兩者全部說(shuō)明后才完整地聲明了一個(gè)變量,如果不明確說(shuō)明,則系統(tǒng)自動(dòng)取缺省值,前面的許多程序?qū)嵗褪侨绱恕?/pre>后記
作者1988年接觸單片機(jī),從依托.rP801B平臺(tái)制作單片機(jī)仿真器開(kāi)始,一直從事單片機(jī)、嵌入式系統(tǒng)研發(fā)工作,期間熟悉和使用過(guò)多種處理器的匯編語(yǔ)言,例如6502、8098、8048、805l、8086等同時(shí),也使用過(guò)多種高級(jí)語(yǔ)言,例如C語(yǔ)言、Visual Basic、Visual Foxpro數(shù)據(jù)庫(kù)系統(tǒng)、Visual C++等,開(kāi)發(fā)軟硬件產(chǎn)品數(shù)十種。至今仍在不斷學(xué)習(xí),因?yàn)榍度胧较到y(tǒng)研發(fā)是一個(gè)曰新月異的世界。作者在本書(shū)寫(xiě)作過(guò)程中大量參考了來(lái)自互聯(lián)網(wǎng)的資料,但因?yàn)榫W(wǎng)站的資料多互相轉(zhuǎn)載,很難搞清楚原始出處,因此,未在參考文獻(xiàn)中列出,在此一并表示感謝,敬請(qǐng)諒解。編輯推薦
《51單片機(jī)實(shí)用C語(yǔ)言程序設(shè)計(jì)與典型實(shí)例》由中國(guó)電力出版社出版。圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)評(píng)論、評(píng)分、閱讀與下載
- 還沒(méi)讀過(guò)(61)
- 勉強(qiáng)可看(443)
- 一般般(756)
- 內(nèi)容豐富(3136)
- 強(qiáng)力推薦(257)
51單片機(jī)實(shí)用C語(yǔ)言程序設(shè)計(jì)與典型實(shí)例 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版