本書針對目前最通用的80C51單片機,在講述其匯編指令系統(tǒng)的基礎(chǔ)上,以C51編程語言為主,內(nèi)容組織以項目導(dǎo)向為主,結(jié)合Keil編程環(huán)境,并在Proteus仿真平臺上進行仿真驗證。本書分為基礎(chǔ)篇、應(yīng)用篇和提高篇。基礎(chǔ)篇(第1~3章)主要講述80C51單片機基本結(jié)構(gòu)及其開發(fā)環(huán)境、指令系統(tǒng)、C51編程簡介,基礎(chǔ)篇以80C51單片機基本概念為主,力求簡潔。應(yīng)用篇(第4~8章)則主要以80C51單片機的輸入/輸出接口、中斷、定時器、串口通信為主要內(nèi)容,結(jié)合具體項目實施展開教學(xué)。提高篇(第9~12章),結(jié)合項目實施介紹A/D和D/A轉(zhuǎn)換,通過萬年歷、步進電機控制、簡易電子琴制作等項目作為80C51單片機知識綜合應(yīng)用,在項目實施過程中進一步培養(yǎng)獨立思考和解決問題的能力。
本書以項目實施為導(dǎo)向,體現(xiàn)了工學(xué)結(jié)合特色,實用性強,既可作為高等院校、職業(yè)院校、電視大學(xué)等的教學(xué)用書,也是單片機愛好者自學(xué)單片機的合適教材,還可作為從事單片機應(yīng)用的技術(shù)人員的參考書。
前言
單片機由于其體積小、功能強、功耗低、可靠性高和性價比高等優(yōu)點,在過程控制、機電一體化產(chǎn)品、智能儀器、家用電器以及計算機網(wǎng)絡(luò)及通信等領(lǐng)域得到了廣泛應(yīng)用。
隨著科學(xué)技術(shù)的日新月異,單片機的發(fā)展也經(jīng)歷了從4位、8位到16位、32位的發(fā)展階段。在眾多廠商的支持下,如PHILIPS、SImemens、AMD、NEC、Atmel等,51系列單片機已發(fā)展出上百個品種的大家族。8051單片機功能更豐富、內(nèi)存容量更大、運行速度更快,發(fā)展至今,其他任何一個單片機系列均未發(fā)展到如此的規(guī)模,因而8051是單片機教學(xué)的首選。
匯編語言作為一個符號化的機器語言,其代碼執(zhí)行效率高,運行速度快,對8051單片機內(nèi)核管理方便,可以充分發(fā)揮單片機的硬件性能,非常適合于編寫實時性要求較高的控制程序。但其開發(fā)的工作量大,程序的可讀性差。相比之下,作為高級語言的C語言具有可讀性強、編程簡單和調(diào)試方便的特點。本書在系統(tǒng)講述單片機硬件結(jié)構(gòu)和8051匯編語言指令系統(tǒng)的基礎(chǔ)上,以C51語言為主,進行單片機內(nèi)部資源及外部接口程序的開發(fā)。筆者認為,在對指令系統(tǒng)單片機內(nèi)部結(jié)構(gòu)基本了解的基礎(chǔ)上,應(yīng)用C51編程更為高效。
在結(jié)構(gòu)的組織上,針對基礎(chǔ)理論和實踐應(yīng)用的不同,對理論知識的闡述力求全面、詳盡。對實踐應(yīng)用部分的內(nèi)容組織,以項目為導(dǎo)向,體現(xiàn)工學(xué)結(jié)合特色,在項目的組織實
前言
單片機由于其體積小、功能強、功耗低、可靠性高和性價比高等優(yōu)點,在過程控制、機電一體化產(chǎn)品、智能儀器、家用電器以及計算機網(wǎng)絡(luò)及通信等領(lǐng)域得到了廣泛應(yīng)用。
隨著科學(xué)技術(shù)的日新月異,單片機的發(fā)展也經(jīng)歷了從4位、8位到16位、32位的發(fā)展階段。在眾多廠商的支持下,如PHILIPS、SImemens、AMD、NEC、Atmel等,51系列單片機已發(fā)展出上百個品種的大家族。8051單片機功能更豐富、內(nèi)存容量更大、運行速度更快,發(fā)展至今,其他任何一個單片機系列均未發(fā)展到如此的規(guī)模,因而8051是單片機教學(xué)的首選。
匯編語言作為一個符號化的機器語言,其代碼執(zhí)行效率高,運行速度快,對8051單片機內(nèi)核管理方便,可以充分發(fā)揮單片機的硬件性能,非常適合于編寫實時性要求較高的控制程序。但其開發(fā)的工作量大,程序的可讀性差。相比之下,作為高級語言的C語言具有可讀性強、編程簡單和調(diào)試方便的特點。本書在系統(tǒng)講述單片機硬件結(jié)構(gòu)和8051匯編語言指令系統(tǒng)的基礎(chǔ)上,以C51語言為主,進行單片機內(nèi)部資源及外部接口程序的開發(fā)。筆者認為,在對指令系統(tǒng)單片機內(nèi)部結(jié)構(gòu)基本了解的基礎(chǔ)上,應(yīng)用C51編程更為高效。
在結(jié)構(gòu)的組織上,針對基礎(chǔ)理論和實踐應(yīng)用的不同,對理論知識的闡述力求全面、詳盡。對實踐應(yīng)用部分的內(nèi)容組織,以項目為導(dǎo)向,體現(xiàn)工學(xué)結(jié)合特色,在項目的組織實施中穿插介紹有關(guān)知識點。項目實施體現(xiàn)實際電子產(chǎn)品的開發(fā)流程,在KeilμVersion4下編程,在Proteus仿真平臺下進行仿真,最后將代碼燒寫到單片機中。
作者
2014.12
第1章8051單片機最小系統(tǒng)設(shè)計
1.1單片機簡介
1.1.1單片機與單片微計算機系統(tǒng)
1.1.2單片機發(fā)展概述
1.1.3常用單片機系列
1.280C51單片機引腳及功能
1.38051單片機存儲器結(jié)構(gòu)
1.3.1外部數(shù)據(jù)存儲器
1.3.2內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM)
1.4單片機最小系統(tǒng)設(shè)計
1.5KEIL編程環(huán)境
1.6Proteus仿真調(diào)試環(huán)境
1.6.1Proteus簡介
1.6.2Proteus仿真環(huán)境
1.6.38051單片機最小系統(tǒng)的Proteus設(shè)計與仿真 第1章8051單片機最小系統(tǒng)設(shè)計
1.1單片機簡介
1.1.1單片機與單片微計算機系統(tǒng)
1.1.2單片機發(fā)展概述
1.1.3常用單片機系列
1.280C51單片機引腳及功能
1.38051單片機存儲器結(jié)構(gòu)
1.3.1外部數(shù)據(jù)存儲器
1.3.2內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM)
1.4單片機最小系統(tǒng)設(shè)計
1.5KEIL編程環(huán)境
1.6Proteus仿真調(diào)試環(huán)境
1.6.1Proteus簡介
1.6.2Proteus仿真環(huán)境
1.6.38051單片機最小系統(tǒng)的Proteus設(shè)計與仿真
習(xí)題
第2章指令系統(tǒng)及匯編語言程序設(shè)計――發(fā)光二極管的控制
2.18051指令格式
2.2尋址方式
2.3指令系統(tǒng)
2.3.1指令分類
2.3.2數(shù)據(jù)傳送類指令
2.3.3算術(shù)運算類指令
2.3.4邏輯運算及移位指令
2.3.5位操作類指令
2.3.6控制轉(zhuǎn)移類指令
2.4匯編語言程序設(shè)計
2.4.1偽指令
2.4.2匯編
2.4.3程序設(shè)計的基本方法
2.5程序設(shè)計舉例
2.5.1順序結(jié)構(gòu)
2.5.2分支結(jié)構(gòu)
2.5.3循環(huán)結(jié)構(gòu)
2.5.4查表結(jié)構(gòu)
習(xí)題
第3章C51語言基本結(jié)構(gòu)
3.1C51關(guān)鍵字與標示符
3.2C51數(shù)據(jù)類型及運算符
3.2.1C51數(shù)據(jù)類型
3.2.2運算符及表達式
3.3流程控制
3.3.1順序結(jié)構(gòu)
3.3.2分支結(jié)構(gòu)
3.3.3循環(huán)結(jié)構(gòu)
3.4函數(shù)
3.4.1C51函數(shù)簡介
3.4.2最簡單的C51程序
3.4.3C51程序?qū)嵗疤攸c
習(xí)題
第4章輸出接口電路及控制――4位數(shù)碼管控制電路設(shè)計制作
4.1MCS?51的輸入/輸出端口
4.1.1P0口
4.1.2P1口
4.1.3P2口
4.1.4P3口
4.2輸出接口電路設(shè)計
4.2.1驅(qū)動LED
4.2.2驅(qū)動蜂鳴器
4.2.3驅(qū)動繼電器
4.3LED數(shù)碼管顯示
4.3.1七段LED數(shù)碼管的結(jié)構(gòu)
4.3.2數(shù)碼管的顯示原理
4.3.3數(shù)碼管的顯示方式
4.44位數(shù)碼管控制電路設(shè)計制作
習(xí)題
第5章輸入接口電路及控制――4×4鍵盤設(shè)計制作
5.1MCS?51的輸入接口
5.2輸入設(shè)備及接口電路
5.2.1輸入設(shè)備
5.2.2輸入接口電路設(shè)計
5.34×4鍵盤設(shè)計制作
習(xí)題
第6章中斷系統(tǒng)――按鍵中斷電路設(shè)計制作
6.1中斷系統(tǒng)
6.1.1中斷概念
6.1.2中斷系統(tǒng)構(gòu)成
6.1.3外部中斷
6.2外部中斷的應(yīng)用
6.2.1中斷的響應(yīng)
6.2.2外部中斷的初始化
6.2.3外部中斷的服務(wù)程序
6.3按鍵中斷電路設(shè)計制作實訓(xùn)
習(xí)題
第7章定時器/計數(shù)器――時鐘設(shè)計制作
7.1單片機定時器/計數(shù)器
7.1.1定時器內(nèi)部結(jié)構(gòu)
7.1.2特殊功能寄存器
7.1.3工作方式0
7.1.4工作方式1
7.1.5工作方式2
7.1.6工作方式3
7.2設(shè)計信號發(fā)生器
7.3秒時鐘設(shè)計制作
習(xí)題
第8章串行口通信――上位機串行口控制LED
8.1單片機串行口
8.1.1串行通信的概念
8.1.2串行通信數(shù)據(jù)格式
8.1.3MCS51串行口的結(jié)構(gòu)
8.1.4串行口的特殊功能寄存器
8.1.5波特率與串行口初始化
8.1.6串行口的服務(wù)程序
8.2上位機串行口控制LED
8.3利用串行口分析直流電機轉(zhuǎn)速
習(xí)題
第9章A/D應(yīng)用――溫度檢測電路設(shè)計制作
9.1模/數(shù)轉(zhuǎn)換原理
9.1.1模/數(shù)轉(zhuǎn)換器及其原理
9.1.2模/數(shù)轉(zhuǎn)換的主要技術(shù)指標
9.2模/數(shù)轉(zhuǎn)換芯片ADC0809
9.3溫度檢測電路設(shè)計及制作
習(xí)題
第10章D/A應(yīng)用――信號發(fā)生器設(shè)計制作
10.1數(shù)/模轉(zhuǎn)換原理
10.1.1倒T形電阻網(wǎng)絡(luò)
10.1.2數(shù)/模轉(zhuǎn)換器的主要技術(shù)指標
10.2模/數(shù)轉(zhuǎn)換芯片DAC0832
10.3信號發(fā)生器的設(shè)計及制作
習(xí)題
第11章單片機實用系統(tǒng)設(shè)計與制作
11.1萬年歷設(shè)計制作
11.1.1液晶顯示簡介
11.1.21602字符型LCD簡介
11.1.3DS1302簡介
11.1.4DS18B20簡介
11.1.5帶溫度顯示的可調(diào)式萬年歷
11.2步進電機控制電路的設(shè)計與制作
11.2.1步進電機的工作原理
11.2.2步進電機的種類
11.2.3步進電機的驅(qū)動原理
11.2.4速度、轉(zhuǎn)向和開停可控制的步進機
習(xí)題
第12章聲音的控制――簡易電子琴的設(shè)計制作
12.1聲音的控制原理
12.1.1聲音控制的硬件電路
12.1.2音調(diào)的確定
12.1.3節(jié)拍的確定
12.2應(yīng)用實例
12.2.1演奏自然音
12.2.2按鍵“彈奏”音樂
12.2.3播放一首音樂
12.3簡易電子琴的設(shè)計及制作
習(xí)題
參考文獻