黨的二十大報告指出: 教育、科技、人才是全面建設(shè)社會主義現(xiàn)代化國家的基礎(chǔ)性、戰(zhàn)略性支撐。必須堅持科技是第一生產(chǎn)力、人才是第一資源、創(chuàng)新是第一動力,深入實施科教興國戰(zhàn)略、人才強國戰(zhàn)略、創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略,這三大戰(zhàn)略共同服務(wù)于創(chuàng)新型國家的建設(shè)。職業(yè)教育與經(jīng)濟社會發(fā)展緊密相連,對促進就業(yè)創(chuàng)業(yè)、助力經(jīng)濟社會發(fā)展、增進人民福祉具有重要意義。
本書以先進理論為指導(dǎo),以問題為導(dǎo)向,以基礎(chǔ)知識夠用為度,注重實操與創(chuàng)新應(yīng)用。同時在技能操作中適時融入課程思政內(nèi)容,引導(dǎo)大學(xué)生樹立正能量的價值觀。加強愛國主義教育,增強大學(xué)生對我國芯片行業(yè)的自信心,深化對工匠精神的認(rèn)識。
編寫本書的目的和成書過程
STC單片機是宏晶公司出品的基于51內(nèi)核的系列單片機。筆者在2005年開始接觸STC單片機的第1代產(chǎn)品,當(dāng)時的型號為STC89C51。隨著技術(shù)的不斷發(fā)展,宏晶公司不斷推陳出新,在2014年推出了STC15系列增強型51單片機,并流行至今。傳統(tǒng)51單片機的寄存器少而簡單,大多數(shù)教材內(nèi)容都基于寄存器方式編寫程序代碼。與傳統(tǒng)的51單片機相比,STC15系列增強型單片機
的內(nèi)部資源更加豐富,涉及的寄存器也比傳統(tǒng)的51單片機更多,使用基于寄存器方式編寫代碼的難度變大,非常不適合初學(xué)者。此外,大多數(shù)學(xué)習(xí)者在學(xué)完8位單片機的編程開發(fā)后,都會繼續(xù)學(xué)習(xí)32位單片機的編程開發(fā)。以現(xiàn)在流行的STM32單片機為例,它的編程方式從一開始的基于標(biāo)準(zhǔn)庫開發(fā)發(fā)展到現(xiàn)在流行的基于HAL/LL庫開發(fā),已不再使用基于寄存器的編程方式。因此,
如果繼續(xù)在增強型8位單片機的編程開發(fā)中使用寄存器編程方式,對初學(xué)者
來說難度很大且不利于后續(xù)學(xué)習(xí)。
基于寄存器編程方式的STC15系列單片機教材數(shù)不勝數(shù),但是基于庫函數(shù)編程方式的教材則很少,
因此筆者萌生了寫一本基于庫函數(shù)編程方式的STC15系列單片機教材的念頭。在瀏覽宏晶公司的官方網(wǎng)站時,筆者發(fā)現(xiàn)宏晶公司在2015年曾經(jīng)推出了一個針對STC15系列的C函數(shù)庫,這個函數(shù)庫提供了涵蓋所有STC15系列單片機內(nèi)部資源的初始化函數(shù)。用戶不需要深入了解STC15系列單片機底層寄存器,就可以使用這個函數(shù)庫里的函數(shù)對單片機片內(nèi)資源進行初始化,大大降低了學(xué)習(xí)門檻; 而且這個函數(shù)庫的代碼風(fēng)格與STM32的標(biāo)準(zhǔn)庫函數(shù)代碼風(fēng)格類似,對學(xué)習(xí)者未來繼續(xù)學(xué)習(xí)STM32編程開發(fā)非常有利。隨后,筆者在單片機原理及應(yīng)用課程中引入了這個函數(shù)庫,并基于這個函數(shù)庫編寫了部分講義供學(xué)生使用,這部分講義成為本書的部分初稿。
2021年,我校與國信藍橋教育科技股份有限公司共建物聯(lián)網(wǎng)單片機應(yīng)用與開發(fā)1 X等級證書考點,考試中所使用的硬件開發(fā)平臺以STC15系列中的IAP15L2K61S2單片機為核心。因此,寫一本圍繞1 X證書考核,以庫函數(shù)方式進行程序開發(fā)的單片機教材成了水到渠成的事情。
于是,在2022年,筆者組織同事和國信藍橋教育科技股份有限公司的工程技術(shù)人員合作,開始著手編寫此書,歷時1年,完成了包括案例代碼在內(nèi)的本書初稿,代碼使用C語言編寫。最終成書時,案例代碼鎖定的IDE版本是Keil Vision5。書中所有案例代碼都已在
國信
藍橋教育科技股份有限
公司的
物聯(lián)網(wǎng)單片機應(yīng)用與開發(fā)
1 X訓(xùn)練考核套件(中級)上一一驗證通過。1 X訓(xùn)練考核套件(中級)的單片機型號為IAP15L2K61S2。
本書內(nèi)容、特點和預(yù)備知識
本書共包括7個項目案例(項目7以電子版形式給出),除了第1個項目案例是單片機入門知識介紹外,其余6個項目案例都是單片機實踐案例,每個案例被分為4個任務(wù),每個任務(wù)包括以下6部分。
(1) 任務(wù)描述: 對任務(wù)需要完成的內(nèi)容進行描述。
(2) 知識要點: 任務(wù)涉及的主要知識點。
(3) 電路設(shè)計: 任務(wù)涉及的電路原理。
(4) 軟件模塊: 任務(wù)中需要編寫代碼的部分按照功能劃分為幾個模塊。
(5) 程序設(shè)計: 為各個模塊編寫具體的程序代碼。
(6) 課后練習(xí): 完成任務(wù)后的自我提升,讀者可通過課后練習(xí)自我檢查知識的掌握情況。
讀者只要按照進度學(xué)完每個案例中的4個任務(wù),自然而然就能完成項目案例。而相關(guān)的知識點已經(jīng)被融入項目案例里,讀者完成案例后,自然也就掌握了這些知識點。
本書內(nèi)容側(cè)重應(yīng)用軟件編程,對單片機內(nèi)部硬件和寄存器一般只解釋其工作原理,沒有全面、深入地對硬件進行內(nèi)部分析。在為本書案例編寫代碼的過程中,盡量使用STC官方提供的函數(shù)庫對單片機的內(nèi)部資源進行初始化,同時將應(yīng)用功能和硬件有關(guān)功能分層處理,讓應(yīng)用功能部分的代碼更易于移植。
閱讀本書的讀者需要學(xué)習(xí)過數(shù)字電路和C程序設(shè)計,最好也學(xué)習(xí)過模擬電路,沒有這些儲備知識,學(xué)習(xí)本書內(nèi)容會比較困難。本書簡化了案例的電路原理圖,提供了1 X訓(xùn)練考核套件(中級)
的電路圖供讀者參考(掃描目錄后面的二維碼可下載)。本書所有案例的代碼和資源都可以在清華大學(xué)出版社網(wǎng)站下載。
致謝
本書
由校企合作完成,其中
項目2、項目3和項目4由陳麒編寫,項目5和項目7由陳曉斌編寫,項目1由陳超然編寫,項目6由林伊婷和阮藝冰編寫,全書由陳麒統(tǒng)稿。
國信
藍橋教育科技股份有限
公司的
鄭未、李艷萍和
單寶軍主審。
長沙四梯科技有限公司的彭大海、朱青建和喬婷在成書過程中提出了很多寶貴意見。
在本書撰寫過程中,筆者參閱了不少資料,這里對所有參考資料的作者表示感謝。編寫過程中難免需要在互聯(lián)網(wǎng)上查閱并引用資料,這里向這些無法知曉姓名的作者表示真摯的謝意。本書完成初稿后,林伊婷老師付出大量時間和精力,不但校對了全書的文字部分,還測試了
全書的案例代碼;
本書配套視頻由熊瑤瑤、謝瑤錄制、配音和剪輯,在此對他們表示誠摯的感謝。
本書的編寫得到家人的理解和幫助,同時得到清華大學(xué)出版社的關(guān)心和支持,在這里向他們一并致謝。
由于編著者水平有限及時間倉促,書中難免有疏漏和不足之處,請廣大讀者批評、指正。
編著者2023年7月
項目1單片機基礎(chǔ)知識
任務(wù)1.1單片機簡介
任務(wù)1.2實驗平臺與開發(fā)軟件工具
任務(wù)1.3如何學(xué)好單片機開發(fā)
任務(wù)1.4建立Keil C51工程模板
任務(wù)1.5簡單實例實現(xiàn)點亮一個LED燈
項目2可控LED流水燈設(shè)計
任務(wù)2.1LED燈閃爍
任務(wù)2.2模塊化編程
任務(wù)2.3LED流水燈
任務(wù)2.4按鍵控制的LED流水燈
項目3可控數(shù)字秒表設(shè)計
任務(wù)3.1一位數(shù)碼管的靜態(tài)顯示
任務(wù)3.2四位數(shù)碼管的動態(tài)顯示
任務(wù)3.3定時器實現(xiàn)數(shù)碼管秒表計數(shù)
任務(wù)3.4按鍵控制的數(shù)碼管秒表計數(shù)
項目4可控制亮度的LED燈設(shè)計
任務(wù)4.1CCP/PCA模塊輸出方波信號
任務(wù)4.2PCA模塊輸出PWM
任務(wù)4.3自動控制亮度的LED燈
任務(wù)4.4按鍵控制亮度的LED燈
項目5單片機通信技術(shù)
任務(wù)5.1UART接口通信
任務(wù)5.2RS485接口通信
任務(wù)5.3IIC接口的24c02存儲器讀寫
任務(wù)5.4LoRa無線通信
項目6單片機常用外接模塊
任務(wù)6.1超聲波模塊接口驅(qū)動程序設(shè)計
任務(wù)6.2DHT11溫濕度傳感器接口驅(qū)動程序設(shè)計
任務(wù)6.3光敏電阻電壓采集系統(tǒng)設(shè)計
任務(wù)6.4蜂鳴器音樂播放驅(qū)動程序設(shè)計
參考文獻
項目7
本書配套教學(xué)資源
1 X訓(xùn)練考核套件(中級)電路圖