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