《STC系列單片機(jī)項(xiàng)目實(shí)踐》以宏晶科技公司的STC系列STC15F2K60S2為藍(lán)本,闡述了51單片機(jī)相關(guān)技術(shù)知識(shí)及模塊化編程方法,重點(diǎn)放在接口驅(qū)動(dòng)能力和綜合項(xiàng)目編程開發(fā)能力方面!禨TC系列單片機(jī)項(xiàng)目實(shí)踐》按照基于工作過(guò)程的以“項(xiàng)目”為載體的教學(xué)模式進(jìn)行編寫,“項(xiàng)目”遵循由易到難、由簡(jiǎn)單到綜合的學(xué)習(xí)規(guī)律。全書共分為9個(gè)項(xiàng)目,其中項(xiàng)目1~項(xiàng)目6為部分單元模塊的綜合,主要包括:鍵盤、4位數(shù)碼管、DS18B20、LCD1602、串口通信、LCD12864、DS1302、I2C總線、E2PROM、藍(lán)牙無(wú)線通信、步進(jìn)電機(jī)驅(qū)動(dòng)等模塊的基礎(chǔ)知識(shí)及編程方法;項(xiàng)目7~項(xiàng)目9為3個(gè)綜合項(xiàng)目,將STC系列微控制器的各個(gè)模塊的功能進(jìn)行有機(jī)融合和靈活設(shè)計(jì),可以培養(yǎng)讀者綜合項(xiàng)目的規(guī)范化編程和模塊化設(shè)計(jì)思想。
《STC系列單片機(jī)項(xiàng)目實(shí)踐》特色是以單片機(jī)硬件構(gòu)件及底層軟件構(gòu)件設(shè)計(jì)為主線,基于嵌入式軟件工程的思想,按照“項(xiàng)目引入→項(xiàng)目分析→支撐知識(shí)→項(xiàng)目實(shí)施→運(yùn)行調(diào)試→案例練習(xí)”的線條,將知識(shí)點(diǎn)按照項(xiàng)目案例的要求進(jìn)行分解、提煉,并融合到學(xué)習(xí)情境中,實(shí)現(xiàn)課程知識(shí)的“系統(tǒng)化”和學(xué)習(xí)內(nèi)容的“項(xiàng)目化”;強(qiáng)調(diào)單片機(jī)通用性編程,每個(gè)項(xiàng)目均給出相關(guān)模塊的底層驅(qū)動(dòng)通用化編程方法,為實(shí)際應(yīng)用提供底層構(gòu)件,方便移植與復(fù)用。
《STC系列單片機(jī)項(xiàng)目實(shí)踐》可作為高職高專院校電子信息類相關(guān)專業(yè)學(xué)生的教材,也可用于單片機(jī)或嵌入式系統(tǒng)的教學(xué)或技術(shù)培訓(xùn),還可供從事相關(guān)專業(yè)的技術(shù)人員參考。
適讀人群:高職高專院校電子信息類相關(guān)專業(yè)學(xué)生,相關(guān)專業(yè)的技術(shù)人員
“十三五”江蘇省高等學(xué)校重點(diǎn)教材。
江蘇省高等職業(yè)教育高水平骨干專業(yè)建設(shè)成果。
采用“項(xiàng)目導(dǎo)向,能力遞進(jìn)”的模式組織教學(xué)內(nèi)容,體現(xiàn)“產(chǎn)教融合”的職業(yè)教育教學(xué)特色。
項(xiàng)目載體源于企業(yè)、知識(shí)融于任務(wù)分解,真正實(shí)施教學(xué)內(nèi)容與職業(yè)崗位能力對(duì)接。
強(qiáng)化單片機(jī)通用性編程方法,把握通用知識(shí)與芯片相關(guān)知識(shí)之間的平衡,培養(yǎng)知識(shí)遷移能力。
前言
單片機(jī)技術(shù)是現(xiàn)代工業(yè)自動(dòng)化、電子、電氣、通信及物聯(lián)網(wǎng)等領(lǐng)域的一門主流技術(shù)。隨著人們生活及生產(chǎn)方式的自動(dòng)化、智能化程度的提高,單片機(jī)技術(shù)早已融入我們生活中的各個(gè)角落,幾乎所有的家用電器內(nèi)部都有單片機(jī)的身影。
STC系列單片機(jī)傳承自8051單片機(jī),但在傳統(tǒng)的8051單片機(jī)框架基礎(chǔ)上注入了“新鮮血液”,煥發(fā)出新的活力。STC宏晶科技對(duì)8051單片機(jī)進(jìn)行了全面的技術(shù)升級(jí)與創(chuàng)新:全部采用Flash技術(shù)和ISP/IAP技術(shù);對(duì)傳統(tǒng)8051進(jìn)行了全面提速,指令速度最快提高了24倍。
STC從2006年誕生起,現(xiàn)已發(fā)展了STC89/90、STC10/11、STC12、STC15等系列。目前的STC單片機(jī)型號(hào)為STC15F2K60S2。
《STC系列單片機(jī)項(xiàng)目實(shí)踐》以STC15F2K60S2為藍(lán)本闡述單片機(jī)及嵌入式應(yīng)用開發(fā),以單片機(jī)硬件構(gòu)件及底層軟件構(gòu)件設(shè)計(jì)為主線,基于嵌入式軟件工程的思想,按照“項(xiàng)目引入→項(xiàng)目分析→支撐知識(shí)→項(xiàng)目實(shí)施→運(yùn)行調(diào)試→案例練習(xí)”的線條,吸引讀者進(jìn)行知識(shí)點(diǎn)的學(xué)習(xí),講解技術(shù)要點(diǎn),靈活應(yīng)用智能化電子產(chǎn)品的軟、硬件設(shè)計(jì)。
《STC系列單片機(jī)項(xiàng)目實(shí)踐》特色如下所述。
1)實(shí)踐為主,理論與實(shí)踐相結(jié)合!禨TC系列單片機(jī)項(xiàng)目實(shí)踐》立足于起到一個(gè)輔導(dǎo)實(shí)踐的作用,讀者通過(guò)每個(gè)項(xiàng)目的學(xué)習(xí),不是死記硬背那些理論或簡(jiǎn)單地模擬仿真運(yùn)行,而是了解規(guī)范化和通用化編程方法后,就可以真正地去動(dòng)手實(shí)踐,從而達(dá)到學(xué)習(xí)和掌握單片機(jī)技術(shù)的目的。
2)符合認(rèn)識(shí)規(guī)律,由淺入深、循序漸進(jìn)!禨TC系列單片機(jī)項(xiàng)目實(shí)踐》為讀者制定了一套科學(xué)的學(xué)習(xí)方法和思路。區(qū)別于一般教材先講基本原理,然后再舉例的傳統(tǒng)套路,《STC系列單片機(jī)項(xiàng)目實(shí)踐》則是盡可能先舉例子,建立起鮮活的形象,然后帶領(lǐng)讀者分模塊、分任務(wù)去探求其中的奧秘,逐一解釋項(xiàng)目中包含的各個(gè)知識(shí)點(diǎn),并對(duì)難理解的語(yǔ)句和模塊添加注釋,方便讀者對(duì)項(xiàng)目的理解和掌握。讀者只要緊跟書中的方法和思路,按要求去實(shí)踐,掌握單片機(jī)開發(fā)技術(shù)就容易很多。
3)教學(xué)內(nèi)容與職業(yè)崗位能力培養(yǎng)緊密聯(lián)系!禨TC系列單片機(jī)項(xiàng)目實(shí)踐》以典型的STC單片機(jī)應(yīng)用為引導(dǎo),將知識(shí)點(diǎn)按照項(xiàng)目案例的要求進(jìn)行分解、提煉,并融合到學(xué)習(xí)情境中,實(shí)現(xiàn)課程知識(shí)的“系統(tǒng)化”和學(xué)習(xí)內(nèi)容的“項(xiàng)目化”,縮短學(xué)生與工作崗位需求的距離。
4)強(qiáng)調(diào)單片機(jī)通用性編程方法。書中每個(gè)項(xiàng)目均給出相關(guān)模塊的底層驅(qū)動(dòng)程序通用化編程方法,同時(shí)給出詳細(xì)、規(guī)范的注釋及對(duì)外接口,為實(shí)際應(yīng)用提供底層構(gòu)件,方便移植與復(fù)用,可以為讀者進(jìn)行實(shí)際項(xiàng)目開發(fā)節(jié)省大量的時(shí)間。
5)一體化的電子資源!禨TC系列單片機(jī)項(xiàng)目實(shí)踐》提供了所有項(xiàng)目完整的底層驅(qū)動(dòng)構(gòu)件化封裝程序與實(shí)驗(yàn)例程,還提供了閱讀資料、實(shí)驗(yàn)儀驅(qū)動(dòng)及使用方法、部分工具軟件、有關(guān)實(shí)驗(yàn)儀原理圖等。
6)提供硬件實(shí)驗(yàn)板、調(diào)試工具,方便讀者進(jìn)行實(shí)踐與應(yīng)用。同時(shí)提供配套的實(shí)驗(yàn)案例及畢業(yè)設(shè)計(jì)案例,以滿足教學(xué)實(shí)訓(xùn)需要。
《STC系列單片機(jī)項(xiàng)目實(shí)踐》由常州信息職業(yè)技術(shù)學(xué)院聶章龍負(fù)責(zé)編制提綱和統(tǒng)稿工作,并編寫項(xiàng)目4、項(xiàng)目5、項(xiàng)目7、項(xiàng)目8、項(xiàng)目9和附錄,張靜編寫項(xiàng)目1和項(xiàng)目2,楊凱編寫項(xiàng)目3,王璐編寫項(xiàng)目6,特長(zhǎng)生工作室學(xué)生任宸、柏紅艷、胡晨、杜浩、王起家、蘇逸梵、徐乾一等協(xié)助書稿整理及程序調(diào)試工作,他們卓有成效的工作,使《STC系列單片機(jī)項(xiàng)目實(shí)踐》更加實(shí)用。常州科源電子儀器有限公司的陳琴逸女士一直關(guān)心支持常州信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)的建設(shè),為《STC系列單片機(jī)項(xiàng)目實(shí)踐》的編寫提供了硬件及軟件資料,提出了許多寶貴建議并審核了全書。常州澳茲姆電氣有限公司的聶志華工程師,常州銘賽機(jī)器人有限公司的孫為工程師提出了有益的建議。在此一并表示誠(chéng)摯的謝意。
鑒于編者水平有限,書中難免存在不足和錯(cuò)誤之處,懇望讀者提出寶貴意見(jiàn)和建議,以便再版時(shí)改進(jìn)。
編者
目錄
前言
項(xiàng)目1LED燈設(shè)計(jì)1
1.1學(xué)習(xí)目標(biāo)1
1.2項(xiàng)目分析1
1.3情境設(shè)計(jì)1
1.4支撐知識(shí)2
1.4.1STC單片機(jī)簡(jiǎn)介2
1.4.2Keil開發(fā)環(huán)境介紹8
1.4.3CCIT STC單片機(jī)綜合實(shí)驗(yàn)儀
介紹14
1.5項(xiàng)目實(shí)施26
1.5.1任務(wù)1閃爍燈設(shè)計(jì)26
1.5.2任務(wù)2流水燈設(shè)計(jì)33
1.6項(xiàng)目小結(jié)33
1.7習(xí)題33
項(xiàng)目2簡(jiǎn)易計(jì)算器設(shè)計(jì)35
2.1學(xué)習(xí)目標(biāo)35
2.2項(xiàng)目分析35
2.3情境設(shè)計(jì)35
2.4支撐知識(shí)36
2.4.1行列式鍵盤36
2.4.2數(shù)碼管驅(qū)動(dòng)41
2.5項(xiàng)目實(shí)施46
2.6項(xiàng)目小結(jié)48
2.7習(xí)題48
項(xiàng)目3數(shù)字溫度計(jì)設(shè)計(jì)50
3.1學(xué)習(xí)目標(biāo)50
3.2項(xiàng)目分析50
3.3情境設(shè)計(jì)50
3.4支撐知識(shí)51
3.4.1LCD1602液晶屏驅(qū)動(dòng)51
3.4.2DS18B20溫度傳感器驅(qū)動(dòng)58
3.5項(xiàng)目實(shí)施66
3.6項(xiàng)目運(yùn)行調(diào)試68
3.7項(xiàng)目小結(jié)69
3.8習(xí)題70
項(xiàng)目4基于串行通信的電子
廣告牌設(shè)計(jì)71
4.1學(xué)習(xí)目標(biāo)71
4.2項(xiàng)目分析71
4.3情境設(shè)計(jì)71
4.4支撐知識(shí)72
4.4.1串行通信72
4.4.2LCD12864液晶屏顯示驅(qū)動(dòng)84
4.5項(xiàng)目實(shí)施95
4.5.1串行查詢方式的電子廣告牌設(shè)計(jì)95
4.5.2串行中斷方式的電子廣告牌設(shè)計(jì)96
4.6項(xiàng)目小結(jié)97
4.7習(xí)題97
項(xiàng)目5電子日歷鐘設(shè)計(jì)99
5.1學(xué)習(xí)目標(biāo)99
5.2項(xiàng)目分析99
5.3情境設(shè)計(jì)99
5.4支撐知識(shí)100
5.4.1DS1302的基礎(chǔ)知識(shí)100
5.4.2集成電路互聯(lián)總線I2C驅(qū)動(dòng)104
5.4.3E2PROM——電可擦可編程只
讀存儲(chǔ)器(AT24C02)114
5.4.4蜂鳴器模塊設(shè)計(jì)116
5.4.5定時(shí)器/計(jì)數(shù)器118
5.5項(xiàng)目實(shí)施119
5.5.1數(shù)碼管顯示函數(shù)設(shè)計(jì)120
5.5.2串口通信函數(shù)設(shè)計(jì)120
5.6項(xiàng)目運(yùn)行調(diào)試125
5.7項(xiàng)目小結(jié)127
5.8習(xí)題127
項(xiàng)目6基于藍(lán)牙通信的智能
風(fēng)扇設(shè)計(jì)128
6.1學(xué)習(xí)目標(biāo)128
6.2項(xiàng)目分析128
6.3情境設(shè)計(jì)128
6.4支撐知識(shí)129
6.4.1步進(jìn)電動(dòng)機(jī)129
6.4.2HC系列藍(lán)牙串口模塊134
6.5項(xiàng)目實(shí)施142
6.5.1LCD12864液晶顯示驅(qū)動(dòng)
函數(shù)設(shè)計(jì)142
6.5.2DS18B20驅(qū)動(dòng)函數(shù)設(shè)計(jì)144
6.5.3步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)函數(shù)設(shè)計(jì)145
6.5.4基于藍(lán)牙通信的智能風(fēng)扇
工程設(shè)計(jì)147
6.6項(xiàng)目小結(jié)151
6.7習(xí)題151
項(xiàng)目7自動(dòng)售水機(jī)設(shè)計(jì)153
7.1功能描述153
7.2系統(tǒng)設(shè)計(jì)思路及具體要求153
7.3A-D轉(zhuǎn)換模塊設(shè)計(jì)154
7.3.1PCF8591芯片介紹154
7.3.2功能描述155
7.3.3電路設(shè)計(jì)156
7.4項(xiàng)目實(shí)施156
7.4.1設(shè)置指定小燈閃爍的
函數(shù)設(shè)計(jì)156
7.4.2I2C接收子器件的數(shù)據(jù)
函數(shù)設(shè)計(jì)157
7.4.3數(shù)碼管顯示頭文件及
函數(shù)設(shè)計(jì)158
7.4.4獨(dú)立按鍵通用函數(shù)設(shè)計(jì)159
7.4.5繼電器操作通用函數(shù)設(shè)計(jì)161
7.4.6光敏采集通用函數(shù)設(shè)計(jì)162
7.4.7自動(dòng)售水機(jī)工程設(shè)計(jì)162
7.5項(xiàng)目運(yùn)行調(diào)試165
7.6習(xí)題166
項(xiàng)目8自動(dòng)澆灌模擬系統(tǒng)設(shè)計(jì)167
8.1功能描述167
8.2系統(tǒng)設(shè)計(jì)思路及具體要求167
8.3項(xiàng)目實(shí)施168
8.3.1按鍵模塊169
8.3.2DS18B20驅(qū)動(dòng)171
8.3.3LCD12864驅(qū)動(dòng)171
8.3.4AT24C02驅(qū)動(dòng)173
8.3.5LCD顯示界面模塊175
8.3.6主菜單模塊178
8.3.7自動(dòng)澆灌模擬系統(tǒng)182
8.4項(xiàng)目運(yùn)行調(diào)試185
8.5習(xí)題185
項(xiàng)目9智能物料傳送系統(tǒng)設(shè)計(jì)186
9.1功能描述186
9.2系統(tǒng)設(shè)計(jì)思路及具體要求186
9.3超聲波測(cè)距187
9.3.1超聲波測(cè)距原理188
9.3.2超聲波模塊電路設(shè)計(jì)188
9.3.3超聲波模塊190
9.4項(xiàng)目實(shí)施192
9.4.1設(shè)置指定小燈閃爍的函數(shù)設(shè)計(jì)192
9.4.24位數(shù)碼管顯示函數(shù)193
9.4.3繼電器開關(guān)控制函數(shù)193
9.4.4I2C發(fā)送和接收函數(shù)194
9.4.54×1按鍵掃描函數(shù)195
9.4.6可調(diào)電阻模擬量采集函數(shù)196
9.4.7智能物料傳送系統(tǒng)197
9.5項(xiàng)目運(yùn)行調(diào)試207
9.6習(xí)題208
附錄209
附錄A嵌入式設(shè)計(jì)規(guī)范要求209
A.1硬件設(shè)計(jì)規(guī)范209
A.2軟件設(shè)計(jì)規(guī)范210
附錄B嵌入式通用編程構(gòu)建規(guī)范212
B.1基本規(guī)則212
B.2單片機(jī)編程規(guī)范——標(biāo)識(shí)符命名212
B.3單片機(jī)編程規(guī)范——注釋213
B.4單片機(jī)編程規(guī)范——函數(shù)213
B.5單片機(jī)編程規(guī)范——程序結(jié)構(gòu)214
B.6工程中所包含的文件215
參考文獻(xiàn)222