STC15F2K60S2系列單片機在處理能力、外設接口、速度、功耗、抗干擾能力以及編程方式等方面都表現(xiàn)出色,是一款很優(yōu)秀的單片機產(chǎn)品,廣泛應用于各種嵌入式系統(tǒng)和智能設備中。本書以STC15F2K60S2單片機為主線,講述嵌入式系統(tǒng)的發(fā)展、單片機的內(nèi)部結(jié)構(gòu)、C51語言程序設計、I/O口、中斷系統(tǒng)、定時器/計數(shù)器、串行通信及總線接口。本書側(cè)重接口的應用,通過模塊化搭建應用系統(tǒng),提升學生的學習興趣,引導學生通過實踐應用理論知識,培養(yǎng)解決復雜工程問題的能力。本書適合作為普通高校計算機科學與技術(shù)、電子信息工程、通信工程、機電類等專業(yè)的教材,亦可作為工程開發(fā)人員的參考讀物。此外,本書同樣適合作為藍橋杯電子類競賽的教學參考資料。
本書從實踐應用出發(fā),以51單片機為對象,以C語言為開發(fā)語言,詳細講解如何在單片機完成嵌入式應用系統(tǒng)的開發(fā)和接口應用。通過本書的學習,讀者能夠初步了解嵌入式系統(tǒng)設計中的軟件設計和常見的內(nèi)外接口,掌握硬件和軟件調(diào)試技巧,具備設計、規(guī)劃和實現(xiàn)一個簡單嵌入式應用系統(tǒng)的能力。課程資源配套齊全可供讀者學習。
嵌入式系統(tǒng)自其萌芽,歷經(jīng)了微控制器、嵌入式操作系統(tǒng)以及嵌入式處理器等多個演變,現(xiàn)已深入汽車、家電、工業(yè)機械、通信設備及消費電子等多個領(lǐng)域,并成為推動社會科技與經(jīng)濟進步的重要技術(shù)之一。其技術(shù)已涵蓋硬件設計、軟件開發(fā)及網(wǎng)絡通信等多個方面。隨著應用場景的不斷演變,教學內(nèi)容也需要與時俱進,以確保學生未來能夠適應行業(yè)需求。嵌入式系統(tǒng)的學習涉及多個專業(yè)的知識,如計算機科學、電子信息、自動化控制等。如何將這些跨學科的知識有效地整合在一起,形成完整的教學體系,是當前教學面臨的一大難題。本書采用國產(chǎn)的宏晶STC15F2K60S2單片機,相比傳統(tǒng)51單片機,STC15F2K60S2單片機可以提供更豐富的接口,很適合學生學習接口技術(shù),更利于構(gòu)建各種應用系統(tǒng)。編者一直關(guān)注行業(yè)的發(fā)展與技術(shù)的更新,在應用場景中以智能小車控制為應用實例,以豐富的教學內(nèi)容,擴展與智能控制相關(guān)的應用,將實現(xiàn)的功能與知識有效結(jié)合起來,形成以應用為導向的教學方式。(1) 教學內(nèi)容重新梳理。本書內(nèi)容包括嵌入式系統(tǒng)概述、STC15F2K60S2單片機的硬件結(jié)構(gòu)和原理、C51語言程序設計與開發(fā)環(huán)境、I/O口應用、中斷系統(tǒng)、定時器/計數(shù)器及應用、串行口通信、系統(tǒng)總線擴展、應用系統(tǒng)綜合訓練等。(2) 精選教學案例。本書主要聚焦于真實、生動、有深度的教學實踐案例,設計了兩條案例路線:其一,點亮LED燈,圍繞數(shù)碼管顯示、控制、數(shù)據(jù)通信等展開案例,便于教師在課堂教學過程中演示,同時方便學生使用仿真平臺實踐;其二,通過控制智能小車的實踐之旅,圍繞智能小車設計的擴展案例,讓學生在課下學會知識的遷移,利用所學知識搭建自己的具有特色功能的智能小車。智能小車的功能多種多樣,如無人駕駛、自動避障、智能導航等,可以讓學生感受到知識的力量與魅力。案例實踐可以提升當代大學生的創(chuàng)新思維和實踐能力,以滿足新工科背景下解決復雜工程問題的能力需求。(3) 注重循序漸進的學習方式,模塊化搭建系統(tǒng)。每個章節(jié)會完成一個簡單的小模塊,教學內(nèi)容由淺及深,*后完成一個功能復雜的系統(tǒng)。例如,在智能小車系統(tǒng)的搭建中,I/O口用于控制前進后退、中斷系統(tǒng)用于實現(xiàn)按鍵啟動及避障、定時器用于實現(xiàn)PWM調(diào)速、串行口用于實現(xiàn)無線遙控。本書的設計案例,前后貫穿,漸進式實踐應用,學生每學完一個模塊的內(nèi)容就能實現(xiàn)相應的功能,不僅可提高學生的學習興趣,還可讓學生提升成就感。(4) 以賽促學,這是一種獨特而高效的學習方式。本書結(jié)合藍橋杯大賽(電子賽)單片機賽道的知識要求和能力要求,將學科競賽作為學習的重要載體,引導學生在學科競賽中取得成績,提升未來就業(yè)的專業(yè)能力。在每章的結(jié)尾,都設有練習題,旨在幫助學生鞏固所學知識,并引導他們主動思考和探索。本書由李乳演、劉智珺、謝桂輝擔任主編,張海勇老師參與第8章的編寫。在編寫本書的過程中,很榮幸能夠獲得計算機系各位老師的無私援助。他們憑借深厚的專業(yè)知識和豐富的經(jīng)驗,為本書的編寫提供了無盡的支持,并協(xié)助確立了教材的大綱。在與老師們的深入交流中,我們逐漸把握了教材的核心要點與難點,明確了如何以更加清晰、生動的方式向讀者呈現(xiàn)教材內(nèi)容。得益于他們的悉心指導,我們逐步構(gòu)建了一個全面且系統(tǒng)的教材框架,確保了教材內(nèi)容的連貫性與完整性。由于作者水平有限,書中難免存在錯誤和不妥之處,懇請讀者批評指正。編者2024年3月于武漢
武漢大學碩士畢業(yè),在嵌入式軟件工程師從事研發(fā)工作8年,大學從教三年,具有豐富的實戰(zhàn)經(jīng)驗,在教學工程中善于結(jié)合應用教學,主要擔任Linux操作系統(tǒng)、匯編語言與接口技術(shù)、計算機系統(tǒng)結(jié)構(gòu)、云計算等課程的教學工作。。近三年:1. 2021.1 在《現(xiàn)代信息科技》發(fā)表論文《多通道高精度溫度測量系統(tǒng)》。2. 2021.8 在《黑龍江科學》發(fā)表論文《三全育人背景下計算機系統(tǒng)結(jié)構(gòu)課程思政的研究與實踐》。3. 2021.12在《電子與信息學報》發(fā)表論文《一種面向物聯(lián)網(wǎng)的輕量級增強型長距離物理層設計方法》。4. 2020年參加校級《海明碼編解碼設計及應用虛擬仿真實驗》課題。5. 2021年參加校級《一流課程建設背景下計算機組成原理課程建設研究》課題。6. 2021年參加橫向課題《實驗室試劑耗材智能管理系統(tǒng)的設計與開發(fā)》。7. 2021年發(fā)表軟件著作權(quán)《基于微信小程序的智能垃圾回收客戶端軟件V1.0》一項。8. 2022年發(fā)表軟件著作權(quán)《自動跟蹤小車控制端軟件》一項。
第1章嵌入式系統(tǒng)概述11.1嵌入式系統(tǒng)簡介11.2嵌入式系統(tǒng)的發(fā)展與應用21.2.1嵌入式系統(tǒng)的發(fā)展21.2.2嵌入式系統(tǒng)的應用31.3嵌入式系統(tǒng)的組成31.4微機的工作過程41.5嵌入式處理器51.6常用數(shù)制與編碼61.6.1數(shù)制61.6.2不同數(shù)制之間的轉(zhuǎn)換71.6.3計算機常用的編碼8課后習題9第2章STC15F2K60S2單片機的硬件結(jié)構(gòu)和原理102.1STC15F2K60S2單片機的基本組成及特性102.2STC15F2K60S2單片機的內(nèi)部結(jié)構(gòu)122.2.1內(nèi)部結(jié)構(gòu)組成122.2.2CPU結(jié)構(gòu)122.3STC15F2K60S2單片機的外部引腳及功能142.3.1STC15F2K60S2單片機的外部引腳142.3.2并行I/O工作模式202.4STC15F2K60S2單片機的存儲器結(jié)構(gòu)222.4.1程序存儲器222.4.2基本RAM232.4.3擴展RAM(XRAM)262.4.4數(shù)據(jù)Flash存儲器(E2PROM)262.5時鐘和復位262.5.1時鐘262.5.2復位28課后習題31第3章C51語言程序設計與開發(fā)環(huán)境333.1C51語言基礎333.1.1數(shù)據(jù)類型333.1.2數(shù)據(jù)的存儲類型353.1.3絕對地址訪問363.2運算符與表達式373.3C51程序結(jié)構(gòu)403.3.1順序結(jié)構(gòu)403.3.2分支結(jié)構(gòu)403.3.3循環(huán)結(jié)構(gòu)423.4C51函數(shù)443.4.1函數(shù)的定義443.4.2可再入函數(shù)453.4.3庫函數(shù)463.5C51程序組成及實例473.5.1預處理473.5.2全局變量定義及函數(shù)聲明493.5.3主函數(shù)493.5.4程序?qū)嵗?93.6Keil Vision5開發(fā)環(huán)境513.6.1創(chuàng)建工程513.6.2編輯與調(diào)試55課后習題58第4章I/O口應用604.1發(fā)光二極管604.2數(shù)碼管的應用624.2.1單位數(shù)碼管624.2.2多位數(shù)碼管654.3鍵盤接口及處理程序684.3.1獨立式按鍵684.3.2矩陣鍵盤704.4設計案例:智能車花樣動作73課后習題76第5章中斷系統(tǒng)775.1微機交互方式775.1.1無條件傳送方式775.1.2查詢方式775.1.3中斷傳送方式785.1.4DMA795.2中斷基本概念795.3STC15F2K60S2單片機的中斷系統(tǒng)805.3.1中斷請求標志815.3.2中斷允許控制835.3.3中斷優(yōu)先級控制855.4中斷響應和中斷處理875.4.1中斷響應875.4.2中斷服務885.4.3中斷返回895.5設計案例:按鍵啟動89課后習題94第6章定時器/計數(shù)器及應用956.1定時器/計數(shù)器的基本原理956.2STC15F2K60S2定時器/計數(shù)器的結(jié)構(gòu)966.2.1定時器/計數(shù)器T0和T1的結(jié)構(gòu)966.2.2定時器/計數(shù)器T2996.3T0/T1的工作方式及應用1006.3.1方式01006.3.2方式11016.3.3方式21026.3.4方式31036.3.5T0/T1的應用1036.4T2的工作方式及應用1076.5設計案例:PWM調(diào)速107課后習題109第7章串行口通信1117.1串行通信基本概念1117.1.1同步通信1117.1.2異步通信1137.2STC15F2K60S2串行口介紹1137.2.1串行口結(jié)構(gòu)1137.2.2串行口控制寄存器1147.3波特率設置方式1177.4串行口的工作方式1207.4.1串行口1的工作方式01207.4.2串行口1的工作方式11217.4.3串行口1的方式2和方式31227.5串行通信應用1247.5.1雙機通信1247.5.2多機通信1287.6設計案例:藍牙遙控133課后習題135第8章系統(tǒng)總線擴展1378.1I2C總線串行擴展1378.1.1I2C總線系統(tǒng)結(jié)構(gòu)1378.1.2I2C總線的數(shù)據(jù)傳輸規(guī)則1398.1.3單片機模擬I2C串行總線傳送數(shù)據(jù)1418.2SPI串行外設接口總線1448.2.1SPI串行外設接口各線的定義1448.2.2SPI串行擴展典型結(jié)構(gòu)1448.2.3SPI模塊相關(guān)的特殊功能寄存器1458.2.4SPI數(shù)據(jù)通信實例1488.3單總線串行擴展1508.3.1單總線溫度數(shù)據(jù)采集芯片DS18B201508.3.2DS18B20芯片溫度轉(zhuǎn)換的計算1528.4并行總線擴展1528.4.1并行總線的擴展原理1528.4.2并行總線的擴展應用1538.4.3并行擴展地址譯碼技術(shù)153課后習題154第9章應用系統(tǒng)綜合訓練1559.1點陣字符顯示1559.1.1硬件方案設計1559.1.2軟件設計1569.2循跡避障小車1589.2.1硬件方案設計1589.2.2軟件設計159附錄ASTC15單片機的特殊功能寄存器簡表161附錄BC51運算符165附錄CC51常用庫函數(shù)頭文件167參考文獻171