出版時(shí)間:2009-4 出版社:北京航空航天大學(xué) 作者:李強(qiáng) 頁數(shù):446
前言
嵌入式計(jì)算機(jī)系統(tǒng)是目前IP技術(shù)發(fā)展的熱點(diǎn)之一。隨著計(jì)算機(jī)技術(shù)的發(fā)展,IP技術(shù)從以PC為核心的、通用型、開放式的系統(tǒng)應(yīng)用階段,走向以專用計(jì)算機(jī)為核心的,滿足特殊需要的,體積、功耗、性能受約束的嵌入式系統(tǒng)應(yīng)用階段。無論是開放式系統(tǒng)還是嵌入式系統(tǒng),計(jì)算機(jī)都是由軟、硬件兩部分組成的。由硬件實(shí)現(xiàn)計(jì)算機(jī)的基本運(yùn)算架構(gòu),由軟件最后確定應(yīng)用系統(tǒng)的功能。開放式系統(tǒng)力求計(jì)算機(jī)硬件組成的通用化,軟件開發(fā)的標(biāo)準(zhǔn)化。這樣,可實(shí)現(xiàn)硬件生產(chǎn)批量化,軟件開發(fā)產(chǎn)業(yè)化。以此來降低計(jì)算機(jī)應(yīng)用系統(tǒng)的開發(fā)、推廣成本,實(shí)現(xiàn)較高的性能價(jià)格比。但這樣的模式,使系統(tǒng)的整體優(yōu)化受到限制。它以最大限度地滿足用戶基本需求為目的,卻很難滿足用戶的某些特殊需要。直接的表現(xiàn),就是追求海量數(shù)據(jù)存儲(chǔ)、海量數(shù)據(jù)處理能力,而將體積和功耗優(yōu)化降為次要位置。如果應(yīng)用目標(biāo)有體積、功耗的限制,則開放式系統(tǒng)的應(yīng)用效能受限,甚至無法使用。而嵌入式系統(tǒng)追求的是硬件組成的標(biāo)準(zhǔn)化,軟件開發(fā)的多樣化。硬件組成的標(biāo)準(zhǔn)化,使得嵌入式計(jì)算機(jī)系統(tǒng)的硬件組成,可以用滿足體積、能耗約束的,可以工業(yè)化批量生產(chǎn)的、廉價(jià)的器件組成;而后,用專用軟件確定系統(tǒng)的最后功能,滿足最終應(yīng)用的特殊要求。這種模式,使得用戶需求和計(jì)算機(jī)系統(tǒng)優(yōu)化達(dá)到最佳組合。因此,嵌入式系統(tǒng)可以全方位地嵌入到自然環(huán)境和人類社會(huì)生活中。未來,它將有更加廣泛的應(yīng)用前景。對(duì)于嵌入式系統(tǒng)而言,軟件是其核心內(nèi)容。軟件緊密貫穿整個(gè)嵌入式系統(tǒng)體系,決定著它的功能、性能。由于嵌入式系統(tǒng)的軟件具有多樣性的特點(diǎn),軟件開發(fā)時(shí),涉及匯編語言編程技術(shù)、嵌入式C語言編程技術(shù)、系統(tǒng)管理軟件編程技術(shù)、嵌入式操作系統(tǒng)的應(yīng)用編程技術(shù)、嵌入式數(shù)據(jù)庫技術(shù),甚至,還涉及軟件工程等諸多方面。本書及其姊妹篇《51系列單片機(jī)管理軟件編程技術(shù)》一書(北京航空航天大學(xué)出版社將后續(xù)出版),從上述多方面對(duì)軟件編程技術(shù)進(jìn)行詳細(xì)的專題討論。
內(nèi)容概要
嵌入式系統(tǒng)領(lǐng)域里,51系列單片機(jī)的歷史較長,應(yīng)用最為廣泛。并且,因其價(jià)格低廉,器件易于采購,開發(fā)工具完善,而受到眾多工程技術(shù)人員的青睞。 51系列單片機(jī)體系結(jié)構(gòu)簡單,其應(yīng)用復(fù)雜度適中,入門容易。因此,在嵌入式二次開發(fā)市場(chǎng)占據(jù)很大的份額,也擁有眾多的使用者。 本書以51單片機(jī)為基本的嵌入式應(yīng)用平臺(tái),全面研究嵌入式應(yīng)用軟件的編程技術(shù),探討嵌入式匯編語言編程、嵌入式C語言編程的特點(diǎn),以眾多的應(yīng)用實(shí)例為背景,探究嵌入式編程過程中的技術(shù)細(xì)節(jié)。 在本書的匯編語言部分,以單片機(jī)定時(shí)器、中斷、輸入、輸出等電路單元的驅(qū)動(dòng)程序設(shè)計(jì)為實(shí)例,體現(xiàn)出在硬件驅(qū)動(dòng)編程中,匯編語言為最自然語言的特點(diǎn)。 在本書的C語言部分,主要以過程設(shè)計(jì)為主線,探討C51語言軟件編程技術(shù)。主要內(nèi)容有:嵌入式c51編譯特點(diǎn)、c源代碼的組織方式、開發(fā)模式、混合編程、代碼運(yùn)行機(jī)制(程序切換)等。 本書可供讀者深入學(xué)習(xí)嵌入式軟件編程技術(shù)使用,也可作為高等院校嵌入式系統(tǒng)教學(xué)的參考書。
書籍目錄
第1篇 匯編語言程序設(shè)計(jì) 引言 第1章 深刻理解51單片機(jī)的指令系統(tǒng) 1.1 概述 1.2 單片機(jī)指令級(jí)邏輯結(jié)構(gòu) 1.3 單片機(jī)的典型存儲(chǔ)結(jié)構(gòu) 1.4 指令系統(tǒng)分析 1.4.1 指令體系結(jié)構(gòu) 1.4.2 指令級(jí)計(jì)算機(jī)的工作機(jī)理 1.4.3 指令級(jí)數(shù)據(jù)表示 1.5 指令編碼 1.6 尋址方式 1.7 指令功能分析 1.7.1 數(shù)據(jù)傳送類指令 1.7.2 算術(shù)運(yùn)算類指令 1.7.3 邏輯運(yùn)算類指令 1.7.4 控制轉(zhuǎn)移類指令 1.7.5 位操作類指令 1.7.6 控制轉(zhuǎn)移指令的復(fù)合應(yīng)用 第2章 查表和散轉(zhuǎn)程序設(shè)計(jì)技術(shù) 2.1 查表程序設(shè)計(jì)技術(shù) 2.1.1 查表編程概述 2.1.2 基本查表編程技術(shù) 2.1.3 擴(kuò)展查表編程技術(shù) 2.1.4 擴(kuò)展數(shù)據(jù)表查表編程技術(shù) 2.1.5 數(shù)據(jù)表元素?cái)U(kuò)展查表編程技術(shù) 2.2 散轉(zhuǎn)程序設(shè)計(jì)技術(shù) 2.2.1 應(yīng)用軟件的整體構(gòu)造 2.2.2 散轉(zhuǎn)基本編程技術(shù) 2.2.3 散轉(zhuǎn)程序的擴(kuò)展編程技術(shù) 2.2.4 基本查表散轉(zhuǎn)程序編程技術(shù) 2.2.5 標(biāo)記查表法散轉(zhuǎn)程序編程技術(shù) 2.3 AT24XX系列存儲(chǔ)芯片編程 2.3.1 AT24系列存儲(chǔ)芯片的特性 2.3.2 AT24系列芯片的讀/寫操作 第3章 中斷程序和單片機(jī)軟件抗干擾程序設(shè)計(jì)技術(shù) 3.1 中斷概述 3.2 中斷的基本編程技術(shù) 3.3 “定時(shí)查詢”中斷擴(kuò)展編程技術(shù) 3.4 中斷的“外部中斷查詢”擴(kuò)展技術(shù) 3.5 中斷編程實(shí)例 3.6 單片機(jī)軟件抗干擾技術(shù)概述 3.7 抗系統(tǒng)“死循環(huán)”技術(shù) 3.7.1 基本軟件看門狗技術(shù) 3.7.2 高級(jí)軟件看門狗技術(shù) 3.8 抗系統(tǒng)“跑飛”干擾技術(shù) 3.8.1 指令冗余法 3.8.2 軟件陷阱技術(shù) 第4章 定時(shí)/計(jì)數(shù)器編程技術(shù) 4.1 軟件定時(shí)器設(shè)計(jì)技術(shù) 4.1.1 軟件定時(shí)器的應(yīng)用原理 4.1.2 軟件定時(shí)器的設(shè)計(jì) 4.1.3 軟件定時(shí)器的應(yīng)用實(shí)例 4.2 硬件定時(shí)器設(shè)計(jì)技術(shù) 4.2.1 硬件定時(shí)/計(jì)數(shù)器的工作機(jī)理 4.2.2 實(shí)時(shí)定時(shí)/計(jì)數(shù)器的編程 4.3 超長時(shí)間實(shí)時(shí)定時(shí)器編程技術(shù) …… 第5章 顯示接口編程技術(shù) 第6章 鍵盤接口編程技術(shù) 第7章 匯編語言編碼風(fēng)格第2篇 C51程序設(shè)計(jì) 引言 第8章 C51語言基礎(chǔ) 第9章 C51程序設(shè)計(jì)基礎(chǔ) 第10章 C51編碼風(fēng)格 第11章 數(shù)組、結(jié)構(gòu)與指針 第12章 C51編程模式及程序測(cè)試 第13章 C51混合編程技術(shù) 第14章 程序切換技術(shù)參考文獻(xiàn)編后記
章節(jié)摘錄
插圖:第1篇 匯編語言程序設(shè)計(jì)引言迄今為止,筆者依然認(rèn)為,匯編語言是理解單片機(jī)系統(tǒng)或者計(jì)算機(jī)系統(tǒng)工作機(jī)制的一把利器,也是進(jìn)行單片機(jī)軟件開發(fā)的一個(gè)強(qiáng)大的工具。因?yàn)?,匯編代碼直接工作在單片機(jī)的機(jī)器層次上,它將單片機(jī)看成是可以自動(dòng)執(zhí)行指令的機(jī)器,用軟件去給它智慧,使它能夠完成目標(biāo)管理、自動(dòng)控制等應(yīng)用工作。在硬件驅(qū)動(dòng)的編程中,匯編語言是最自然的語言。雖然,在高級(jí)語言中,如c51語言中,提供了預(yù)定義的符號(hào),如PO、P3.0等,還有宏和關(guān)鍵字,如PBYTE、AT等,用戶可以直接用這些符號(hào)、宏或關(guān)鍵字,在源程序中去描述硬件、訪問硬件。但是,抽象層次較高的高級(jí)語言,畢竟減弱了編程者對(duì)硬件工作機(jī)制的洞察力。在有實(shí)時(shí)性響應(yīng)要求、或者時(shí)間精度要求較高的場(chǎng)合,或者進(jìn)行外圍芯片驅(qū)動(dòng)時(shí),高級(jí)語言顯得并不那么直接,此時(shí),匯編語言卻是對(duì)這種場(chǎng)合的自然表述工具。另外,高級(jí)語言要求編程者對(duì)編譯器等編程工具要有一定的理解,對(duì)編程者的軟件知識(shí)、軟件能力方面有一定要求。而用匯編語言可避免這些繁瑣,只要理解了單片機(jī)的基本工作機(jī)制,直接使用它,就可入門編程。編制較簡單的單片機(jī)軟件時(shí),或者在編制接口驅(qū)動(dòng)程序時(shí),采用匯編語言不失為一個(gè)好的選擇。在軟件的移植應(yīng)用方面,匯編語言也是不可缺少的工具。比如各種實(shí)時(shí)操作系統(tǒng)的移植中,那些與硬件緊密相關(guān)的代碼部分,或者高級(jí)語言編譯器所不能支持的代碼部分,還是需要用匯編語言來編制。因此,匯編語言是單片機(jī)中最基本的編程語言,是我們理解單片機(jī)工作機(jī)制的重要手段,也是理解單片機(jī)各種接口的軟件驅(qū)動(dòng)和基本算法實(shí)現(xiàn)的基礎(chǔ),更是解決軟件編程、軟件調(diào)試問題的最后手段。在單片機(jī)軟件設(shè)計(jì)中,它有不可替代的作用。掌握一種匯編語言,是掌握單片機(jī)技術(shù)或者其他計(jì)算機(jī)技術(shù)的一把鑰匙。
后記
非常感謝北京航空航天大學(xué)出版社對(duì)本書出版的支持。大家知道,單片機(jī)的出現(xiàn),是電子應(yīng)用設(shè)計(jì)的一場(chǎng)革命性變革。它的出現(xiàn),使得控制電路的開發(fā)者可以用相對(duì)標(biāo)準(zhǔn)化的、可批量生產(chǎn)的單片機(jī)器件作為電路核心,設(shè)計(jì)出性價(jià)比較高的控制應(yīng)用電路;在此基礎(chǔ)上,用控制軟件最終滿足各種各樣的控制應(yīng)用需求。因此,控制軟件是單片機(jī)應(yīng)用開發(fā)的核心,而控制軟件的編程技術(shù)在單片機(jī)軟件開發(fā)中占有舉足輕重的地位。編寫一本全面、系統(tǒng)地討論單片機(jī)軟件編程技術(shù)的專著,這是一種挑戰(zhàn)。筆者沿此思路,不斷地進(jìn)行探索,工作之余,利用假期時(shí)間,收集了大量的資料,也做了大量的程序編制、測(cè)試工作,以便全面分析、驗(yàn)證單片機(jī)編程中的一些關(guān)鍵技術(shù)點(diǎn)。編程技術(shù)具有實(shí)踐性很強(qiáng)的特點(diǎn),它博大精深,如何在浩瀚的編程應(yīng)用的海洋中,構(gòu)建或選擇合適的案例,用比較生動(dòng)的方式表達(dá)編程技術(shù)的要點(diǎn),避免過多的冗長理論分析,使本書不失通俗性,并保證其內(nèi)容的全面性、系統(tǒng)性,有一定的技術(shù)價(jià)值,是編撰本書的難點(diǎn)之一。筆者一直孜孜以懷地探索,驀然回首,已整理成章。這本書的編撰工作斷斷續(xù)續(xù),持續(xù)了較長的一段時(shí)間,期間不乏反復(fù),幾易其稿,幾次更新內(nèi)容。這項(xiàng)工作雖沒有放棄,但也沒料到,編撰工作會(huì)持續(xù)這么長時(shí)間,這是因?yàn)?,?dāng)時(shí)的環(huán)境條件限制,以及本人對(duì)單片機(jī)編程技術(shù)的理解還沒有系統(tǒng)化、成熟化。當(dāng)前,是單片機(jī)應(yīng)用技術(shù)快速發(fā)展的時(shí)期,各種單片機(jī)器件不斷涌現(xiàn),價(jià)格日趨低廉,各種二次開發(fā)工具不斷出現(xiàn),編程技術(shù)也在日趨走向成熟,這一切,都為編程技術(shù)更好地表達(dá)提供了各種好的手段,也為編制這本書提供了良好的編程素材。在此情況下,經(jīng)過一段時(shí)間的努力,終于編制成書。本書及《51系列單片機(jī)管理軟件編程技術(shù)》一書系統(tǒng)化地討論了單片機(jī)編程技術(shù),內(nèi)容基本覆蓋了單片機(jī)軟件編程工作中所涉及的方方面面的技術(shù)問題。當(dāng)然,單片機(jī)編程技術(shù)也在不斷成熟、不斷發(fā)展,書中對(duì)一些編程技術(shù)問題的討論還不夠深入,論述還不夠全面,分析也不夠成熟,本人對(duì)編程技術(shù)的理解也待深化,但在本書編撰過程中,采用了實(shí)例、案例的分析方法,最終形成有關(guān)單片機(jī)編程問題的一個(gè)基本的系統(tǒng)化框架。希望讀者通過閱讀此書,能夠全面、系統(tǒng)地了解單片機(jī)編程技術(shù),使其對(duì)編程工作有所裨益,這是本書編撰的最終目的。
編輯推薦
《51系列單片機(jī)應(yīng)用軟件編程技術(shù)》由北京航空航天大學(xué)出版社出版。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
51系列單片機(jī)應(yīng)用軟件編程技術(shù) PDF格式下載