本書主要介紹51系列單片機的組成結構、工作原理及產品設計實例。本書共分為7章,分別介紹了MCS-51單片機的結構及原理、開發(fā)流程、C51基礎,以及51單片機的中斷系統(tǒng)、定時/計數器、串行通信接口的功能及應用,另外還介紹了51單片機常用的輸入輸出設備,常用外圍設備芯片的功能、使用方法及與單片機的接口方式等。各章均附有習題,第3~7章附有設計實例。
本書可作為高等院校自動化、計算機及電子類相關專業(yè)單片機原理及應用課程教材及相關課程設計的參考用書,還可供相關專業(yè)工程技術工作人員參考。
前 言
單片機從誕生至今已有40多年的歷史。這40多年來,單片機對自動控制、電子信息及通信工程等學科領域中的信息傳輸與控制有著革命性的突破,同時隨著現代超大規(guī)模集成電路的發(fā)展,單片機的功能與運行速度也不斷與時俱進、不斷創(chuàng)新,衍生出了許多新的技術分支,如嵌入式技術、SOPC技術等。
一方面,單片機技術目前仍然被應用于各個控制領域,小到兒童玩具、家用電器,大到汽車、船舶、飛機等;另一方面,單片機中的許多技術知識,如定時器、中斷控制、并口、串口、A/D轉換、D/A轉換等,是進一步深入學習嵌入式技術、SOPC技術的基礎。因此,單片機原理及應用這門課程是電子類專業(yè)學生必須學習和掌握的專業(yè)課程。
C語言是當今各領域控制系統(tǒng)中被廣泛使用的語言,不但用于一般計算機的編程,而且在各種單片機、嵌入式技術、SOPC技術的使用上也必不可少。因此,本書以C語言為主線,對單片機各個模塊和接口電路的軟件程序開發(fā)做出了詳細講解。
編者在編寫過程中,根據現代單片機技術的發(fā)展現狀和研究成果,基于課堂教學和實踐教學經驗,汲取國內相關教材特色,秉承由易到難、深入淺出、突出重點的原則,對每個知識點均舉例旁證,注意理論與實踐相結合,并特別設置了設計與提高部分,結合實際應用列舉不同的綜合設計實例,詳細分析設計過程并提出改進思考,重點培養(yǎng)學生的應用開發(fā)能力。
本書詳細介紹了51單片機的組成結構及應用技術,共分為7章。第1章簡單介紹51單片機的結構及原理,包括單片機的基本概念、發(fā)展歷程、751單片機的特點、基本組成部分、工作方式等;第2章主要介紹Keil C51軟件平臺及單片機程序開發(fā)流程,包括工程文件的建立、工程編譯、軟件調試、軟件仿真及下載方式等;第3章詳細介紹51單片機的中斷系統(tǒng),包括中斷響應過程、優(yōu)先級排序、優(yōu)先級控制、外部中斷源功能及使用實例等;第4章詳細介紹51單片機的定時/計數器,包括定時/計數器0、1、2的結構、工作原理、控制方式、工作方式等;第5章詳細介紹51單片機的串行通信接口,包括串行通信接口標準、結構及功能等;第6章介紹51單片機常用的輸入輸出設備及接口,包括鍵盤、LED數碼管、LCD1602與單片機的接口及工作方式等;第7章介紹51單片機常用的幾種外圍設備芯片,包括A/D、D/A轉換芯片DAC0832、ADC0809、串行日歷時鐘芯片DS1302、數字溫度傳感器DS18B20芯片的功能、與單片機的接口方式及工作原理等。本書內容豐富,實例眾多,每章后均附有習題。
本書由黃翠翠擔任主編,中國地質大學侯自良教授對全書進行了認真審閱,提出許多寶貴意見,在此表示感謝。
由于編者水平有限,書中難免有疏漏之處,懇請讀者批評指正。
編者
2018年3月
第1章51系列單片機基礎1
1.1單片機基本知識2
1.1.1單片機的基本概念2
1.1.2單片機的發(fā)展歷程3
1.1.3單片機的實際應用4
1.251系列單片機的結構及基本組成部分4
1.2.151系列單片機結構5
1.2.251系列單片機的基本組成部分6
1.351系列單片機的芯片封裝及引腳功能15
1.3.151系列單片機的芯片封裝15
1.3.251系列單片機的引腳功能16
1.451系列單片機的工作方式17
1.4.1復位方式17
1.4.2程序執(zhí)行方式17
1.4.3低功耗方式18
習題18
第2章單片機最小系統(tǒng)20
2.1單片機最小系統(tǒng)介紹20
2.1.1時鐘電路21
2.1.2復位電路21
2.1.351單片機下載方式22
2.1.4單片機最小系統(tǒng)的設計25
2.2Keil C51軟件簡介25
2.2.1程序編輯界面25
2.2.2程序調試界面27
2.3單片機程序開發(fā)流程28
2.3.1建立工程29
2.3.2編譯并生成可執(zhí)行文件33
2.3.3軟件仿真34
2.3.4程序下載36
習題38
第3章51系列單片機的外部中斷系統(tǒng)39
3.1中斷的基本概念及其主要功能40
3.1.1中斷的概念40
3.1.2中斷的主要功能41
3.251系列單片機中斷系統(tǒng)42
3.2.1中斷源42
3.2.2中斷允許控制42
3.2.3中斷優(yōu)先級43
3.2.4中斷處理過程44
3.3外部中斷源46
3.3.1外部中斷系統(tǒng)硬件設計47
3.3.2外部中斷系統(tǒng)軟件設計47
3.3.3查詢方式實現中斷54
3.4產品設計56
3.4.1水庫水位監(jiān)測器設計56
3.4.28位搶答器設計59
習題61
第4章51系列單片機的定時/計數系統(tǒng)62
4.1定時/計數器的結構及工作原理63
4.1.1定時/計數器的結構63
4.1.2定時/計數器的工作原理63
4.2定時/計數器的控制及方式寄存器64
4.2.1定時/計數器的控制寄存器64
4.2.2定時/計數器的方式寄存器66
4.3定時/計數器的工作方式67
4.3.1定時/計數器0、1的工作方式67
4.3.2定時/計數器2的工作方式71
4.4定時/計數器應用設計實例74
4.4.1定時/計數器0、1編程實例74
4.4.2定時/計數器2的編程實例80
4.5產品設計85
4.5.1方波信號源及頻率計85
4.5.2作息時間控制時鐘設計87
4.5.3交通控制燈設計91
習題93
第5章51系列單片機的串行通信系統(tǒng)95
5.1串行通信概述96
5.1.1串行通信的分類96
5.1.2串行通信的數據傳輸格式97
5.1.3波特率98
5.2串行通信接口標準98
5.2.1RS232C標準99
5.2.2串口通信連接方式100
5.351系列單片機的串口結構與工作方式101
5.3.151系列單片機的串口結構101
5.3.2串口控制寄存器SCON102
5.3.3串口工作方式103
5.4串口應用編程實例106
5.4.1串口方式0編程實例106
5.4.2串口方式1編程實例111
5.4.3串口方式2和方式3編程實例114
5.5設計與提高121
習題124
第6章51系列單片機常用輸入/輸出設備126
6.1輸入設備127
6.1.1開關和按鍵127
6.1.2鍵盤128
6.2輸出設備135
6.2.1LED135
6.2.2LED數碼管135
6.2.3LCD141
6.3輸入/輸出控制155
6.4產品設計161
6.4.1簡易計算器設計161
6.4.2簡易密碼鎖設計166
習題172
第7章51系列單片機常用外圍設備芯片與接口電路174
7.1D/A轉換芯片175
7.1.1D/A轉換器175
7.1.2D/A轉換芯片DAC0832177
7.1.3DAC0832與51系列單片機的接口電路179
7.2A/D轉換芯片184
7.2.1A/D轉換器184
7.2.2A/D轉換芯片ADC0809185
7.2.3ADC0809與51系列單片機的接口電路187
7.3串行日歷/時鐘芯片191
7.3.1DS1302芯片191
7.3.2DS1302與51系列單片機的接口電路195
7.4數字溫度傳感器198
7.4.1DS18B20芯片198
7.4.2DS18B20芯片與51系列單片機的接口電路203
7.5產品設計210
7.5.1測速器設計210
7.5.2多路數字電壓表設計214
7.5.3電子日歷設計218
7.5.4數字溫度計設計222
習題227
參考文獻229