出版時間:2009-6 出版社:曾周末、李剛、陳世利、 周鑫玲 電子工業(yè)出版社 (2009-06出版) 作者:曾周末 等 著 頁數(shù):222
Tag標(biāo)簽:無
前言
飛思卡爾原是全球領(lǐng)先的半導(dǎo)體公司,為汽車、消費電子、工業(yè)控制、網(wǎng)絡(luò)和無線市場設(shè)計并制造嵌入式半導(dǎo)體產(chǎn)品。飛思卡爾系列單片機由于其低成本和高性能的特點越來越受到用戶的青睞。本書介紹的MC9S08QG8單片機采用高性能、低功耗HCS208飛思卡爾8位微控制器為內(nèi)核,是一款集成度很高、功能豐富、適用于各種應(yīng)用的低價位單片機。本書將給大家介紹它的一些主要功能及特性,包括靈活多樣的低功耗模式、3.3V電壓下的Flash編程、片內(nèi)調(diào)試仿真器、高速ADC、IC總線、片內(nèi)比較器等。本書共12章,深入淺出地從一般單片機的基礎(chǔ)知識人手,引出飛思卡爾8位單片機基礎(chǔ)知識、最小系統(tǒng)設(shè)計,進(jìn)而有步驟地、詳略得當(dāng)?shù)亟榻B飛思卡爾8位單片機的寄存器與片內(nèi)存儲器、指令系統(tǒng)與匯編程序設(shè)計、中斷系統(tǒng)等基本功能,并在之后的章節(jié)中,詳細(xì)而又有針對性地一一介紹了集成在這款單片機內(nèi)部的其他功能模塊,比如定時器和比較器、異步串行通信、SPI、IC、模/數(shù)轉(zhuǎn)換等功能模塊。本書還介紹了飛思卡爾單片機與MCS51單片機的區(qū)別,學(xué)過5l單片機的人會很快掌握其要點。在本書最后一章里,有針對性地介紹了S08系列單片機c語言編程,并詳細(xì)介紹了Code Warrior IDE調(diào)試軟件的使用方法。本書給出的所有例題都在實驗板上運行驗證過??傊?,本書力求通過最簡潔的語言和表述方式、最通俗易懂的應(yīng)用舉例,向廣大讀者全面地介紹MC9S080G8單片機的功能及特性,以求能夠為大專院校的學(xué)生及各相關(guān)領(lǐng)域的工作者提供一些幫助。參加本書編寫的還有天津大學(xué)精儀學(xué)院的薛彬、湯其劍、劉世廷、高雅彪、葉德超、黃邦奎、孫曄等研究生。感謝飛思卡爾半導(dǎo)體公司為我們提供的教學(xué)實驗設(shè)備,還要感謝天津理工大學(xué)軟件學(xué)院的高超對本書部分圖片及文字進(jìn)行了校正和編輯。由于作者水平所限,難免出現(xiàn)錯誤和不妥之處,敬請同行及讀者提出寶貴意見。
內(nèi)容概要
本書系統(tǒng)、詳盡地介紹了MC9S08QG8單片機的基礎(chǔ)知識,重點講述了集成在該單片機內(nèi)部各模塊的原理與功能,并有針對性地編寫了例程,可使讀者更好地理解各模塊的作用與使用方法?! ”緯饕獌?nèi)容包括:飛思卡爾8位單片機基礎(chǔ)知識、飛思卡爾系統(tǒng)的基本設(shè)計、寄存器與片內(nèi)存儲器、CPU指令系統(tǒng)與匯編程序設(shè)計、C語言程序的編寫、中斷、時鐘及比較器、串口通信SCI、串行外圍接口SPI、內(nèi)部集成電路IIC和模/數(shù)轉(zhuǎn)換。 本書內(nèi)容新穎、實用,重點突出,詳略得當(dāng),可用做大中專院校單片機的教材,也可供從事單片機產(chǎn)品開發(fā)的工程技術(shù)人員參考。
書籍目錄
第1章 單片機基礎(chǔ)知識.1.1 單片機的基本概念1.2 單片機的一般結(jié)構(gòu)1.2.1 單片機引腳定義與功能1.2.2 寄存器1.2.3 存儲器1.2.4 串并口電路1.3 單片機中的數(shù)據(jù)表示1.4 單片機中二進(jìn)制數(shù)的運算1.4.1 算術(shù)運算1.4.2 邏輯運算1.5 單片機中的碼制與編碼1.5.1 有符號數(shù)與無符號數(shù)1.5.2 其他編碼思考題第2章 飛思卡爾8位單片機基礎(chǔ)知識2.1 飛思卡爾8位單片機系列簡介2.1.1 飛思卡爾HC08系列8位單片機2.1.2 飛思卡爾RS08系列8位單片機2.1.3 飛思卡爾HCS08系列8位單片機2.2 飛思卡爾單片機命名規(guī)則與單片機選擇2.2.1 飛思卡爾單片機命名規(guī)則2.2.2 飛思卡爾8位單片機的選擇2.3 MC9S08QG8硬件結(jié)構(gòu)2.3.1 MC9S08QG8的基本組成2.3.2 MC9S08QG8單片機引腳及功能思考題第3章 單片機最小系統(tǒng)設(shè)計3.1 電源電路設(shè)計3.2 時鐘電路設(shè)計3.2.1 內(nèi)部時鐘源3.2.2 外部時鐘電路設(shè)計3.3 復(fù)位電路設(shè)計3.3.1 復(fù)位的功能.復(fù)位源及相關(guān)寄存器3.3.2 計算機正常運行(COP)看門狗3.3.3 低電壓監(jiān)測系統(tǒng)(LVD)3.3.4 外部復(fù)位電路3.4 下載調(diào)試電路設(shè)計3.4.1 調(diào)試技術(shù)選擇3.4.2 后臺調(diào)試模式(BDM)3.5 單片機最小系統(tǒng)原理圖思考題第4章 寄存器與片內(nèi)存儲器4.1 存儲器配置及寄存器4.1.1 MC9S08QG8存儲器配置4.1.2 RAM(0x0060~0x025F)4.1.3 Flash存儲器(FlashROM)4.1.4 寄存器4.2 輸入/輸出控制寄存器4.2.1 端口數(shù)據(jù)寄存器和方向寄存器4.2.2 端口控制寄存器4.3 一些高頁面寄存器介紹4.3.1 系統(tǒng)功耗管理和控制寄存器4.3.2 系統(tǒng)選項寄存器4.3.3 系統(tǒng)器件識別寄存器(SDIDH.SDIDL)4.3.4 與Flash操作相關(guān)的寄存器思考題第5章 指令系統(tǒng)與匯編程序設(shè)計5.1 HCS08CPU簡介5.2 匯編指令系統(tǒng)5.2.1 指令分類5.2.2 其他指令5.2.3 尋址模式5.3 S08匯編語言程序設(shè)計5.3.1 編程步驟5.3.2 匯編源程序的格式5.3.3 偽指令5.3.4 匯編語言程序設(shè)計舉例5.4 匯編輸出5.4.1 匯編列表5.4.2 S記錄思考題第6章 中斷系統(tǒng)6.1 導(dǎo)言6.1.1 輸入/輸出方式6.1.2 五條件傳送方式6.1.3 查詢傳送方式6.1.4 直接存儲器存取(DMA)方式6.1.5 中斷的概念6.2 中斷機制6.2.1 中斷處理過程6.2.2 中斷識別和中斷優(yōu)先級6.2.3 中斷源概述6.2.4 外部中斷6.2.5 內(nèi)部中斷6.2.6 執(zhí)行中斷服務(wù)程序過程6.3 鍵盤中斷6.3.1 導(dǎo)言6.3.2 運行狀態(tài)和外部信號描述6.3.3 寄存器描述和功能描述6.3.4 鍵盤中斷程序舉例分析6.4 其他中斷舉例思考題第7章 定時器和比較器模塊7.1 8位定時器模塊MTIM的使用7.1.1 8位定時器模塊的結(jié)構(gòu)7.1.2 8位定時器模塊中的寄存器7.1.3 8位定時器模塊的使用7.2 1 6位定時器模塊TPM的使用7.2.1 16位定時器模塊的結(jié)構(gòu)7.2.2 16位定時器模塊中的寄存器7.2.3 16位定時器模塊的功能模式7.2.4 16位定時器模塊的中斷7.3 模擬比較器模塊的使用7.3.1 模擬比較器模塊的結(jié)構(gòu)7.3.2 模擬比較器模塊的狀態(tài)與控制寄存器7.3.3 模擬比較器模塊應(yīng)用實例思考題第8章 異步串行通信8.1 導(dǎo)言8.1.1 操作模式8.1.2 基礎(chǔ)知識8.2 SCI寄存器8.2.1 SCI波特率寄存器(SCIBDH.SCIBDL)8.2.2 SCI控制寄存器1(SCIC1)8.2.3 SCI控制寄存器2(SCIC2)8.2.4 SCI狀態(tài)寄存器1(SCIS1)8.2.5 SCI狀態(tài)寄存器2(SCIS2)8.2.6 SCI控制寄存器3(SCIC3)8.2.7 SCI狀態(tài)寄存器(SCID)8.3 功能描述8.3.1 波特率的產(chǎn)生8.3.2 SCI發(fā)送器8.3.3 SCI接收器8.4 附加的SCI功能8.4.1 循環(huán)模式8.4.2 單線操作8.5 軟件開發(fā)方法思考題第9章 串行外圍接口9.1 導(dǎo)言9.1.1 SPI模塊的特點9.1.2 SPI系統(tǒng)結(jié)構(gòu)和模塊結(jié)構(gòu)9.1.3 SPI波特率產(chǎn)生9.2 外部信號描述9.2.1 SPSCK——SPI串行時鐘9.2.2 MOSI——主機數(shù)據(jù)輸出.從機數(shù)據(jù)輸入9.2.3 MISO——主機數(shù)據(jù)輸入.從機數(shù)據(jù)輸出9.2.4 SS——從模式選擇9.3 寄存器定義9.3.1 控制寄存器SPIC19.3.2 控制寄存器SPIC29.3.3 SPI波特率寄存器SPIBR9.3.4 狀態(tài)寄存器SPIS9.3.5 SPI數(shù)據(jù)寄存器SPID9.4 功能描述9.4.1 SPI時鐘格式9.4.2 SPI中斷9.4.3 模式故障檢測9.5 SPI通信程序舉例9.5.1 主機通信9.5.2 從機通信思考題第10章 內(nèi)部集成電路10.1 導(dǎo)言10.1.1 模塊配置10.1.2 外部信號描述10.2 寄存器描述10.3 功能描述10.3.1 IIC協(xié)議10.3.2 中斷10.4 軟件開發(fā)10.4.1 主機發(fā)送.從機接收10.4.2 從機發(fā)送.主機接收思考題第11章 模/數(shù)轉(zhuǎn)換11.1 模/數(shù)轉(zhuǎn)換基本概念11.2 MC9S08QG8單片機ADC結(jié)構(gòu)及特點11.2.1 ADC電路結(jié)構(gòu)11.2.2 飛思卡爾MC9S08QG8ADC模塊特點11.3 ADC模塊中寄存器的定義11.3.1 寄存器簡述11.3.2 配置寄存器——ADCCFG11.3.3 引腳使能控制寄存器1——APCTL111.3.4 狀態(tài)控制寄存器——ADCSC111.3.5 狀態(tài)和控制寄存器——ADCSC211.3.6 數(shù)據(jù)結(jié)果高位寄存器ADCRH和數(shù)據(jù)結(jié)果低位寄存器ADCRL11.3.7 比較值高位寄存器ADCCVH和比較值低位寄存器ADCCVL11.4 ADC模塊工作狀態(tài)解析11.4.1 ADC電源及功耗11.4.2 ADC工作過程11.4.3 時鐘選擇和分頻控制11.4.4 引腳使能控制11.4.5 硬件觸發(fā)11.4.6 總的轉(zhuǎn)換時間11.5 應(yīng)用實例思考題第12章 S08系列單片機C語言編程12.1 新建C語言工程12.1.1 利用向?qū)ё詣咏㈨椖?2.1.2 項目包含文件分析12.1.3 為主函數(shù)添加功能12.2 編譯器特性及參數(shù)設(shè)置12.2.1 編譯器的輸入/輸出文件12.2.2 編譯器前端12.2.3 編譯器后端12.2.4 C語言的#pragma預(yù)編譯指令12.3 C語言與匯編語言的混合編程12.3.1 C語言程序訪問匯編語言常量.變量12.3.2 在匯編語言程序中訪問C語言定義的常量.變量12.3.3 C語言程序調(diào)用匯編語言子程序12.4 HC08的高效C程序設(shè)計12.4.1 基本數(shù)據(jù)類型12.4.2 局部變量與全局變量12.4.3 直接尋址頁變量12.4.4 循環(huán)12.4.5 數(shù)據(jù)結(jié)構(gòu)12.4.6 編程實例思考題附錄A附錄B
章節(jié)摘錄
插圖:8.3.3 SCI接收器SCI從RxD引腳接收數(shù)據(jù),經(jīng)過緩沖后驅(qū)動數(shù)據(jù)恢復(fù)模塊。數(shù)據(jù)恢復(fù)模塊實際上是一個工作在16倍波特率下的調(diào)整移位寄存器,主移位寄存器的時鐘頻率就是波特率。數(shù)據(jù)恢復(fù)模塊以波特率的16倍進(jìn)行高速采樣,完成諸如發(fā)現(xiàn)起始位、空閑線探測、噪聲探測及仲裁邏輯之類的工作,向主接收移位寄存器提供每一位的值,同時也提供噪聲標(biāo)志狀態(tài)指示。接收器在16次采樣中取其中的7、8、9位或8、9、10位,按照3取2的多數(shù)占優(yōu)的表決邏輯決定每位的邏輯值。如果接收器發(fā)現(xiàn)當(dāng)前數(shù)據(jù)線處于空閑狀態(tài),那么其狀態(tài)寄存器中的空閑標(biāo)志IDLE位將會置位。SCI接收器的結(jié)構(gòu)框圖見圖8-12。SCI接收器受SCI控制寄存器2(SCIC2)中接收允許位(RE)的控制,其核心是接收串行移位寄存器。根據(jù)SCIC2寄存器中M位的設(shè)置,移位寄存器會使用10位或者11位分別接收8位或者9位的串行數(shù)據(jù)。接收到停止位之后,移位寄存器的數(shù)據(jù)傳送到SCID寄存器,同時將數(shù)據(jù)寄存器滿(RDRF)狀態(tài)標(biāo)志置位。當(dāng)SCID寄存器中的數(shù)據(jù)還未被取走,移位寄存器又接收到下一個數(shù)據(jù)時,就會發(fā)生溢出(丟包)。此時移位寄存器中新的數(shù)據(jù)將會丟失,狀態(tài)寄存器中溢出狀態(tài)標(biāo)志(OR)置位,以指出溢出錯誤。
編輯推薦
《飛思卡爾8位單片機實用教程》是李剛等編寫的,由電子工業(yè)出版社出版。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載