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