本書堅(jiān)持學(xué)中做、做中學(xué)的思想,采用任務(wù)驅(qū)動(dòng)模式編寫,通過完成一系列具體的學(xué)習(xí)任務(wù),實(shí)現(xiàn)知識(shí)與技能及關(guān)鍵職業(yè)能力的掌握。本書主要內(nèi)容包括:點(diǎn)亮發(fā)光二極管、玩轉(zhuǎn)流水燈、按鍵檢測(cè)、一觸即發(fā)外部中斷、定時(shí)器/計(jì)數(shù)器、彼此溝通串口、簡易數(shù)字式電壓表,為便于讀者學(xué)習(xí)單片機(jī)知識(shí),在附錄中給出了邏輯代數(shù)基礎(chǔ)、C51基礎(chǔ)知識(shí)、STC15系列單片機(jī)特殊功能寄存器一覽表。本書既可作為技工院校講授單片機(jī)技術(shù)的教材或教學(xué)輔導(dǎo)書,還可作為學(xué)生自學(xué)單片機(jī)的入門用書。
前言單片機(jī)技術(shù)及應(yīng)用是技工院校電氣類、電子類、數(shù)控類專業(yè)高級(jí)工及以上層次人員必修的一門專業(yè)主干課程,也是一根硬骨頭。傳統(tǒng)的教科書注重知識(shí)體系結(jié)構(gòu)的完整,且大多采用匯編語言作為編程語言,再加上教學(xué)方式往往采取先理論后實(shí)驗(yàn),最終導(dǎo)致睡中學(xué)、學(xué)中睡的現(xiàn)象。我們作為技校教師,深刻認(rèn)識(shí)到對(duì)技校學(xué)生而言,理想的教學(xué)方式應(yīng)該是學(xué)中做、做中學(xué),即讓學(xué)生通過完成一系列具體的學(xué)習(xí)任務(wù),實(shí)現(xiàn)對(duì)知識(shí)、技能及關(guān)鍵職業(yè)能力的掌握。在此背景下,我們結(jié)合自身多年單片機(jī)工程實(shí)踐經(jīng)驗(yàn),大膽打破原有的教學(xué)模式,進(jìn)行了課程教學(xué)改革,并希望通過本書,幫助沒有任何單片機(jī)基礎(chǔ)、C語言基礎(chǔ)的技工院校相關(guān)專業(yè)的學(xué)生,順利認(rèn)識(shí)并使用單片機(jī),達(dá)到入門的程度,為后續(xù)職業(yè)發(fā)展奠定良好的基礎(chǔ)。
本書分為7章和3個(gè)附錄,內(nèi)容涉及經(jīng)典8051單片機(jī)的主要資源:并行I/O口、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、串口、ADC。考慮到學(xué)生普遍缺乏數(shù)字邏輯和C語言基礎(chǔ)知識(shí),我們整理了附錄A和附錄B,同時(shí)還將單片機(jī)的特殊功能寄存器整理成附錄C,方便讀者隨時(shí)查閱。我們通過引導(dǎo)學(xué)生完成一系列具體的學(xué)習(xí)任務(wù),將C51基礎(chǔ)知識(shí)嵌入其中,無形中完成C語言的教學(xué)。我們建議在開展教學(xué)時(shí),使用萬能板搭建電路,而不是在制作好的PCB板上焊接元器件。只有這樣才能讓學(xué)生建立起對(duì)硬件、軟件系統(tǒng)的認(rèn)識(shí),而不是錯(cuò)誤地理解為單片機(jī)只是簡單編程。
本書介紹的單片機(jī)是深圳宏晶科技有限公司生產(chǎn)的STC15F2K60S2,該型號(hào)的單片機(jī)內(nèi)部集成了時(shí)鐘電路、復(fù)位電路,使用十分方便,同時(shí)片內(nèi)還集成了豐富的部件,如EEPROM、SPI、ADC和PCA模塊等。
本書沒有機(jī)械地教授單片機(jī)的基本原理,而是側(cè)重于引導(dǎo)學(xué)生使用單片機(jī),注重學(xué)生自主學(xué)習(xí)能力的培養(yǎng)。本書既可作為技工院校講授單片機(jī)技術(shù)的教材或教學(xué)輔導(dǎo)書,還可作為學(xué)生自學(xué)單片機(jī)的入門用書。
本書正式出版前作為校本教材多次使用、修改,但仍難免存在一些錯(cuò)漏,懇請(qǐng)讀者提出寶貴修改意見。
編 者
目錄
第1章 點(diǎn)亮發(fā)光二極管1
1.1 任務(wù)分析1
1.2 知識(shí)鏈接2
1.2.1 認(rèn)識(shí)單片機(jī)2
1.2.2 單片機(jī)的基本組成7
1.3 任務(wù)實(shí)施11
1.3.1 單片機(jī)最小應(yīng)用系統(tǒng)的組成11
1.3.2 單片機(jī)控制發(fā)光二極管16
1.3.3 C51程序基本框架26
1.4 鞏固練習(xí)29
第2章 玩轉(zhuǎn)流水燈31
2.1 任務(wù)分析31
2.2 知識(shí)鏈接33
2.2.1 位操作與字節(jié)操作33
2.2.2 數(shù)制基本知識(shí)39
2.2.3 閃爍的實(shí)現(xiàn)40
2.2.4 延時(shí)子函數(shù)的使用43
2.2.5 循環(huán)語句的使用48
2.2.6 數(shù)組的使用50
2.3 任務(wù)實(shí)施53
2.4 鞏固練習(xí)55
第3章 按鍵檢測(cè)57
3.1 任務(wù)分析57
3.2 知識(shí)鏈接58
3.2.1 按鍵電路設(shè)計(jì)58
3.2.2 按鍵檢測(cè)原理58
3.2.3 按鍵檢測(cè)的C語言實(shí)現(xiàn)60
3.2.4 if語句62
3.2.5 switch語句65
3.3 任務(wù)實(shí)施66
3.3.1 電路原理圖設(shè)計(jì)67
3.3.2 變量定義與處理67
3.3.3 模塊化編程69
3.4 鞏固練習(xí)70
第4章 一觸即發(fā)外部中斷72
4.1 任務(wù)分析72
4.2 知識(shí)鏈接74
4.2.1 中斷的基本概念74
4.2.2 8051中斷系統(tǒng)75
4.2.3 外部中斷77
4.3 任務(wù)實(shí)施82
4.3.1 電路原理圖設(shè)計(jì)82
4.3.2 模塊化編程82
4.4 鞏固練習(xí)84
第5章 定時(shí)器/計(jì)數(shù)器86
5.1 任務(wù)分析86
5.2 知識(shí)鏈接87
5.2.1 定時(shí)器的本質(zhì)87
5.2.2 定時(shí)器/計(jì)數(shù)器寄存器88
5.2.3 定時(shí)器功能框圖92
5.2.4 數(shù)碼管顯示93
5.3 任務(wù)實(shí)施95
5.3.1 電路原理圖設(shè)計(jì)95
5.3.2 模塊化編程96
5.4 鞏固練習(xí)100
第6章 彼此溝通串口105
6.1 任務(wù)分析105
6.2 知識(shí)鏈接108
6.2.1 串行口介紹108
6.2.2 四種工作方式109
6.2.3 波特率的設(shè)置110
6.2.4 RI和TI的處理113
6.3 任務(wù)實(shí)施114
6.3.1 電路原理圖設(shè)計(jì)114
6.3.2 模塊化編程115
6.4 鞏固練習(xí)117
第7章 簡易數(shù)字式電壓表118
7.1 任務(wù)分析118
7.2 知識(shí)鏈接119
7.2.1 A-D模塊119
7.2.2 多位數(shù)碼管顯示125
7.3 任務(wù)實(shí)施127
7.3.1 硬件電路設(shè)計(jì)127
7.3.2 模塊化編程128
7.4 鞏固練習(xí)131
附錄133
附錄A 邏輯代數(shù)基礎(chǔ)133
A.1 數(shù)制與編碼133
A.2 幾種常用的邏輯運(yùn)算及其圖形符號(hào)138
附錄B C51基礎(chǔ)知識(shí)142
B.1 C51中的關(guān)鍵字142
B.2 C51編譯器的擴(kuò)展關(guān)鍵字143
B.3 常用運(yùn)算符的范例與說明144
B.4 常用運(yùn)算符的優(yōu)先級(jí)和結(jié)合性145
B.5 存儲(chǔ)類型關(guān)鍵字與說明145
B.6 常用數(shù)據(jù)類型145
附錄C STC15系列單片機(jī)特殊功能寄存器一覽表147