本書是根據(jù)教育部應(yīng)用型科技大學(xué)的教學(xué)要求和*大綱編寫而成的。全書以MCS-51系列單片機為例,通過豐富的應(yīng)用實例,采用理論和實踐相結(jié)合的方法,由淺入深地介紹了51系列單片機的結(jié)構(gòu)及工作原理、內(nèi)部硬件資源及單片機的系統(tǒng)擴展、A/D、D/A、常用接口設(shè)計及常用的編程語言(匯編語言與C51)和開發(fā)工具(Proteus、Keil C)的使用等內(nèi)容,并介紹了單片機應(yīng)用系統(tǒng)的設(shè)計、開發(fā)與調(diào)試過程。本書注重學(xué)生能力的培養(yǎng),采用案例教學(xué),融"教、學(xué)、練一體化,案例中將Proteus和keil C相結(jié)合,實踐性和可操作性強。編程以C51為主,兼顧匯編語言程序設(shè)計。*后給出了詳細的單片機實驗指導(dǎo)和課程設(shè)計實例,供實踐教學(xué)參考。
本書可作為高等院校電子信息工程、通信工程、電子科學(xué)與技術(shù)、計算機、自動化、機電一體化等相關(guān)專業(yè)的本、?平滩暮蛥⒖紩部晒⿵氖聠纹瑱C應(yīng)用開發(fā)的工程技術(shù)人員及其他工程技術(shù)人員參考,同時還可以作為全國大學(xué)生電子設(shè)計競賽的培訓(xùn)教材。
單片機原理及應(yīng)用是工科類院校開設(shè)的一門面向應(yīng)用、具有很強的實踐性與綜合性的課程,為了培養(yǎng)學(xué)生應(yīng)用單片機技術(shù)進行電子產(chǎn)品的軟硬件設(shè)計和制作能力,積累開發(fā)經(jīng)驗,通過對傳統(tǒng)的教學(xué)模式改革、案例教學(xué),使初學(xué)者理解單片機的工作過程和應(yīng)用系統(tǒng)的開發(fā)流程,使用Labcenter公司的Proteus仿真軟件創(chuàng)建實驗環(huán)境,進行軟、硬件仿真,做到了融教、學(xué)、練于一體,邊學(xué)理論,邊實踐。
本書采用案例教學(xué),內(nèi)容安排合理,定位準確,實用性強,注重實踐能力的培養(yǎng),滿足應(yīng)用型科技大學(xué)的教學(xué)目標(biāo)、培養(yǎng)方向和辦學(xué)特色的需要,以能力培養(yǎng)為目標(biāo)、以工作過程為導(dǎo)向,用案例貫穿知識,用任務(wù)驅(qū)動教學(xué),內(nèi)容精煉,注重實用。
全書共分10章。
第1章介紹了51單片機的系統(tǒng)結(jié)構(gòu)及引腳功能;第2章介紹了51單片機程序設(shè)計基礎(chǔ);第3章介紹了單片機中斷系統(tǒng)、定時/計數(shù)器、串行口;第4章介紹了單片機的系統(tǒng)擴展;第5章和第6章分別介紹了A/D轉(zhuǎn)換、D/A轉(zhuǎn)換及常用接口的設(shè)計;第7章介紹了單片機應(yīng)用系統(tǒng)的設(shè)計、開發(fā)與調(diào)試方法;第8章介紹了單片機常用開發(fā)工具;第9章和第10章分別給出了實驗指導(dǎo)和課程設(shè)計實例。
本書由禹定臣、李白燕擔(dān)任主編,張健、李平、魏迎軍擔(dān)任副主編。由電子信息工程、通信工程專業(yè)教學(xué)一線教師合作編寫完成。第1章~第2章由李平編寫,第3章~第4章由李白燕編寫,第5章~第7章由張健編寫,第9章~第10章及實例由禹定臣編寫,第8章、附錄、習(xí)題由魏迎軍編寫。全書由禹定臣教授定稿,耿紅琴教授主審。在編寫過程中參閱借鑒了一些相關(guān)教材和文獻,在此向有關(guān)編者表示感謝。
由于編寫時間倉促,書中難免有疏漏和不妥之處,歡迎讀者批評指正,以便再版時及時修正。
編者
2016.9
禹定臣,教育思想觀念先進,教學(xué)內(nèi)容理論聯(lián)系實際,教學(xué)方法靈活創(chuàng)新, 主張并積極嘗試了案例式、問題式、討論式、研究型教學(xué)方法改革,在教學(xué)實踐中形成了激趣、啟思、求活、務(wù)實的教學(xué)風(fēng)格和注重啟迪、鼓勵創(chuàng)新的教學(xué)特點,教學(xué)效果優(yōu)秀,受到學(xué)生歡迎。
第1章 MCS-51單片機硬件結(jié)構(gòu)1
1.1 知識結(jié)構(gòu)1
1.1.1 單片機內(nèi)部結(jié)構(gòu)1
1.1.2 引腳功能15
1.2 學(xué)習(xí)實例17
實例一 LED燈閃爍17
實例二 LED流水燈19
實例三 轉(zhuǎn)向燈21
本章小結(jié)22
習(xí)題一22
第2章 單片機匯編語言與C語言程序設(shè)計基礎(chǔ)25
2.1 知識結(jié)構(gòu)25
2.1.1 匯編語言程序設(shè)計25
2.1.2 C51程序設(shè)計49
2.2 學(xué)習(xí)實例66
實例一 用P1口、P2口分別顯示二進制加、減法結(jié)果66
實例二 用P2口實現(xiàn)左右跑馬燈效果68
實例三 用查表法實現(xiàn)P2口接的8只LED燈花樣顯示71
本章小結(jié)73
習(xí)題二73
第3章 單片機中斷系統(tǒng)、定時器/計數(shù)器及串行口77
3.1 知識結(jié)構(gòu)77
3.1.1 中斷系統(tǒng)77
3.1.2 定時器/計數(shù)器82
3.1.3 串行口86
3.2 學(xué)習(xí)實例92
實例一 用 和 對按鍵進行計數(shù)并顯示計數(shù)結(jié)果92
實例二 用T0工作在方式1時控制播放一首歌曲94
實例三 用T0工作在方式1時控制LED燈的閃爍時間間隔96
實例四 用T0工作在方式2時對脈沖進行計數(shù)并顯示計數(shù)結(jié)果98
實例五 用串行口工作在方式0時擴展輸出接口99
實例六 用串行口工作在方式1時實現(xiàn)雙機通信101
實例七 單片機向PC機發(fā)送數(shù)據(jù)102
實例八 單片機接收PC機發(fā)送的數(shù)據(jù)104
本章小結(jié)106
習(xí)題三106
第4章 51單片機系統(tǒng)擴展109
4.1 知識結(jié)構(gòu)109
4.1.1 單片機系統(tǒng)總線及系統(tǒng)擴展方法109
4.1.2 單片機存儲器的擴展112
4.1.3 并行I/O口擴展117
4.2 學(xué)習(xí)實例131
實例一 用62256擴展32KB的外部RAM131
實例二 用27256擴展32KB的外部ROM132
實例三 用AT24C02擴展EEPROM133
實例四 用74LS273、74LS241擴展I/O接口137
實例五 用8255芯片擴展鍵盤/顯示接口139
實例六 用8155芯片擴展顯示接口142
實驗七 用74ls165、74ls164擴展鍵盤/顯示接口144
本章小結(jié)145
習(xí)題四145
第5章 DAC和ADC接口148
5.1 知識結(jié)構(gòu)148
5.1.1 A/D轉(zhuǎn)換器件148
5.1.2 D/A轉(zhuǎn)換器件150
5.2 學(xué)習(xí)實例152
實例一 基于ADC0809的5V直流電壓表設(shè)計152
實例二 用DAC0832設(shè)計簡易信號發(fā)生器154
本章小結(jié)157
習(xí)題五157
第6章 鍵盤與顯示接口設(shè)計160
6.1 知識結(jié)構(gòu)160
6.1.1 鍵盤接口設(shè)計160
6.1.2 LED顯示接口設(shè)計165
6.1.3 LCD顯示接口設(shè)計168
6.2 學(xué)習(xí)實例173
實例一 用LED數(shù)碼管循環(huán)顯示0~9173
實例二 用LED數(shù)碼管動態(tài)顯示HELLO175
實例三 數(shù)碼時鐘設(shè)計176
實例四 獨立式鍵盤控制步進電動機正、反轉(zhuǎn)180
實例五 矩陣式鍵盤按鍵值的數(shù)碼管顯示183
實例六 矩陣式鍵盤按鍵值的LCD顯示185
實例七 用1602LCD顯示HUANG HUAI UNIVERSITY187
實例八 用12864LCD顯示漢字190
本章小結(jié)193
習(xí)題六194
第7章 單片機應(yīng)用系統(tǒng)設(shè)計與調(diào)試簡介195
7.1 知識結(jié)構(gòu)195
7.1.1 單片機應(yīng)用系統(tǒng)的設(shè)計步驟195
7.1.2 應(yīng)用系統(tǒng)的硬件設(shè)計196
7.1.3 應(yīng)用系統(tǒng)的軟件設(shè)計197
7.1.4 單片機應(yīng)用系統(tǒng)的開發(fā)與調(diào)試197
7.1.5 單片機應(yīng)用系統(tǒng)的可靠性與抗干擾性設(shè)計199
7.2 學(xué)習(xí)實例204
實例一 基于DS1302的日歷時鐘設(shè)計204
實例二 基于ADC0832和LCD1602的數(shù)字電壓表設(shè)計212
本章小結(jié)215
習(xí)題七215
第8章 常用開發(fā)仿真軟件Keil c和Proteus簡介216
8.1 知識結(jié)構(gòu)216
8.1.1 Keil C編譯器使用簡介216
8.1.2 Proteus仿真軟件使用簡介221
8.2 學(xué)習(xí)實例225
實例一 通過P1.0輸出周期為20ms的方波信號225
實例二 計單個按鍵次數(shù)并顯示227
本章小結(jié)228
習(xí)題三229
第9章 單片機實驗指導(dǎo)230
實驗一 P1口實驗230
實驗二 交通燈控制實驗234
實驗三 簡單I/O口擴展實驗238
實驗四 外部中斷實驗243
實驗五 定時器實驗247
實驗六 8255A可編程并行接口實驗251
實驗七 數(shù)碼顯示實驗253
實驗八 液晶顯示屏1602顯示實驗256
實驗九 串/并轉(zhuǎn)換實驗260
實驗十 A/D轉(zhuǎn)換實驗263
第10章 單片機課程設(shè)計實例267
實例一 基于單片機的簡易計算器設(shè)計267
實例二 基于單片機的數(shù)字電壓表設(shè)計272
實例三 基于單片機的電子日歷設(shè)計276
實例四 基于單片機的具備溫度顯示的數(shù)字時鐘設(shè)計284
實例五 基于單片機的具備轉(zhuǎn)速顯示功能的直流電動機控制系統(tǒng)設(shè)計293
實例六 基于單片機的紅外遙控器控制繼電器的設(shè)計297
附錄304
附錄A MCS-51系列單片機指令表304
附錄B Protreus的常用元器件309
附錄C C51常用庫函數(shù)314
參考文獻319