本書以Intel 8051單片機為例,介紹了單片機的硬件結構和工作原理(定時/計數(shù)器、中斷系統(tǒng)、串行通信)、指令系統(tǒng)以及單片機和外圍器件的硬件擴展和接口程序設計。隨著EDA技術和C語言在單片機系統(tǒng)設計中的廣泛應用,為了增強本書的應用性和實用性,還特別介紹了Keil C51程序設計方法和基于Proteus軟件的單片機虛擬仿真技術,并給出了大量的應用實例!秵纹瑱C原理、應用與Proteus仿真 第2版》內容精練、實例豐富,所有的應用實例都配有詳細的硬件電路原理圖和軟件源程序。
本書可作為各類工科院校自動化、計算機、機電一體化等專業(yè)的單片機課程教材,也可作為從事電子技術、計算機應用與開發(fā)的工程技術人員學習和參考用書。
適讀人群 :工科院校自動化、計算機、機電一體化等專業(yè)學生
內容精練、實例豐富,所有的應用實例都配有詳細的硬件電路原理圖和軟件源程序。
每章設置了“知識與拓展”小節(jié),方便讀者了解相關基礎知識,并進行簡單的拓展學習。
所有源程序都在Proteus和實際硬件電路中仿真和運行通過,讀者可以直接參考和借鑒。
單片機作為微型計算機的一個重要發(fā)展分支,被廣泛應用于各種工業(yè)過程的自動檢測和控制。單片機的發(fā)展速度非常迅速,在短短幾十年中,已經(jīng)發(fā)展到上百系列近千個機種。MCS-51系列單片機作為單片機的典型代表,以其功能強大,結構簡單等優(yōu)點,在單片機市場中占有很大的份額!秵纹瑱C原理、應用與Proteus仿真 第2版》以簡單的單片機來說明復雜的單片機系統(tǒng)設計,以Intel 8051單片機為例,從單片機實際應用的角度來說明單片機的原理及應用。
《單片機原理、應用與Proteus仿真 第2版》共分為11章。第1章介紹單片機基礎知識,包括單片機發(fā)展概述,單片機內部結構和功能引腳,并行口工作原理和單片機開發(fā)與調試等基本知識。第2章介紹單片機指令系統(tǒng)和匯編語言,包括尋址方式,指令介紹,指令執(zhí)行過程和匯編語言程序結構等。第3章介紹Keil C51程序設計,包括單片機C語言程序設計概述,C51程序設計基礎,以及單片機資源C51訪問。第4章介紹 Proteus 虛擬仿真技術,包括 Proteus 中的原理圖設計、電子設計與仿真以及單片機系統(tǒng)的設計與仿真。第5章介紹中斷系統(tǒng),包括中斷的處理和中斷程序設計,Proteus 中的外部中斷設計與仿真。第6章介紹定時/計數(shù)器,包括定時/計數(shù)器的基本工作原理,定時/計數(shù)器的工作方式及其設置,最后在 Proteus 中進行了實例設計與仿真。第7章介紹串行通信技術,包括串行通信的基本概念,串行口的結構、控制和工作方式,并給出了雙機通信應用實例。第8章介紹單片機的存儲器擴展,包括存儲器擴展和I/O端口的基本應用與擴展。第9章介紹單片機系統(tǒng)接口擴展及應用,包括人機接口的鍵盤和顯示接口擴展,以及模擬量輸入/輸出接口擴展。第10章介紹單片機串行擴展和功率接口技術,主要包括單總線、SPI總線接口技術以及常用的功率接口技術等,給出了具體的應用實例。第11章介紹在Proteus 中進行綜合應用實例的設計和仿真。
為了適應不同層次讀者的需求,《單片機原理、應用與Proteus仿真 第2版》第1~7章介紹單片機內部基本組成,設置了“知識與拓展”小節(jié),方便讀者了解相關基礎知識,并進行簡單的拓展學習。第5~7章中介紹的單片機內部主要功能部件的應用實例,分別給出了匯編語言和C語言源程序,可滿足不同的教學需求。同時為了兼顧篇幅和實際應用需求,第8~11章的應用實例只給出了C語言源程序!秵纹瑱C原理、應用與Proteus仿真 第2版》中給出的所有源程序都在Proteus和實際硬件電路中仿真和運行通過,讀者可以直接參考和借鑒。
《單片機原理、應用與Proteus仿真 第2版》部分圖中的元器件符號為 Proteus 自帶符號,表示方法可能與國家標準有所不同。讀者可自行查閱相關資料。
《單片機原理、應用與Proteus仿真 第2版》第1章、第4章、第8章由潘鳳紅編寫,第2章、第3章和第11章由倫向敏編寫,第5章、第6章和第7章由關碩編寫,第9章、第10章由蘭建軍編寫,全書由蘭建軍統(tǒng)稿。
《單片機原理、應用與Proteus仿真 第2版》在編寫過程中,參考了兄弟院校部分教材的內容,得到了相關院校老師的支持和幫助,在此謹向有關單位和個人表示衷心的感謝!
由于編者水平有限,加之時間倉促,書中難免存在不妥和疏漏之處,敬請廣大讀者提出批評和指正。
前言
第1章單片機技術基礎
1.1單片機概述
1.1.1單片機定義
1.1.2單片機特點和應用
1.1.3單片機技術的發(fā)展
1.1.4 MCS-51單片機系列
1.1.5單片機選型
1.2單片機內部結構
1.2.1 CPU
1.2.2存儲器結構
1.2.3 I/O接口
1.3 8051引腳及其功能
1.3.1電源與時鐘引腳
1.3.2控制引腳
1.3.3 I/O接口引腳
1.4并行口內部結構和工作原理
1.4.1 P0口
1.4.2 P1口
1.4.3 P2口
1.4.4 P3口
1.4.5并行端口負載能力
1.5時鐘電路與時序
1.5.1時鐘電路
1.5.2周期與指令時序
1.6單片機工作方式
1.6.1單片機復位方式
1.6.2程序運行方式
1.6.3掉電保護方式
1.6.4低功耗方式
1.7單片機應用系統(tǒng)開發(fā)簡介
1.7.1單片機應用系統(tǒng)設計步驟
1.7.2單片機開發(fā)工具簡介
1.8知識與拓展
1.8.1計算機數(shù)制及其轉換
1.8.2有符號數(shù)的表示方法
1.8.3 BCD碼與ASCII碼
1.9思考題
第2章指令系統(tǒng)和匯編語言
2.1概述
2.1.1指令格式
2.1.2指令描述符號說明
2.2尋址方式
2.2.1寄存器尋址
2.2.2直接尋址
2.2.3立即尋址
2.2.4寄存器間接尋址
2.2.5基址加變址尋址
2.2.6相對尋址
2.2.7位尋址
2.3指令分類介紹
2.3.1數(shù)據(jù)傳送指令
2.3.2算術運算指令
2.3.3邏輯操作指令
2.3.4控制轉移指令
2.3.5位操作指令
2.4指令執(zhí)行過程
2.5常用偽指令
2.6匯編語言程序基本結構
2.7知識與拓展
2.7.1單片機的簡單控制應用
2.7.2匯編語言實用子程序
2.8思考題
第3章單片機C51程序設計
3.1單片機C語言程序設計概述
3.1.1C51程序設計語言簡介
3.1.2 Keil C51開發(fā)環(huán)境簡介
3.2 C51程序設計基礎
3.2.1 C51中的數(shù)據(jù)類型
3.2.2 C51中的常量和變量
3.2.3 C51中的運算符
3.2.4 C51程序基本結構
3.3單片機硬件資源的C51訪問
3.4 C51和匯編語言混合編程
3.4.1 C51和匯編語言編程比較和說明
3.4.2 C51和匯編語言混合編程方法
3.5知識與拓展
3.5.1 C51延時時間計算方法
3.5.2 C51訪問連續(xù)外部RAM區(qū)域的方法
3.6思考題
第4章單片機與Proteus虛擬仿真
4.1 Proteus概述與工程創(chuàng)建
4.1.1 Proteus介紹
4.1.2創(chuàng)建新工程
4.2 ISIS編輯環(huán)境
4.2.1 ISIS集成環(huán)境
4.2.2 ISIS元器件庫
4.2.3 ISIS中的原理圖繪制
4.2.4虛擬仿真工具
4.3代碼編輯環(huán)境
4.3.1代碼編輯環(huán)境應用簡介
4.3.2代碼工程創(chuàng)建與刪除
4.3.3代碼工程構建與設置
4.3.4代碼調試與觀察
4.4 Proteus中的電子設計與仿真
4.4.1直流穩(wěn)壓電源設計
4.4.2光控LED小夜燈設計
4.4.3數(shù)字鐘設計
4.5 Proteus中的單片機系統(tǒng)設計與仿真
4.5.1硬件設計及說明
4.5.2程序設計及仿真
4.6知識與拓展
4.6.1 ISIS中元器件的創(chuàng)建
4.6.2 ARES中元器件封裝的創(chuàng)建
4.7思考題
第5章單片機中斷系統(tǒng)
5.1中斷技術概述
5.2 8051中斷系統(tǒng)結構及其控制
5.2.1中斷系統(tǒng)結構
5.2.2中斷源及中斷標志
5.2.3中斷控制和中斷處理
5.3外部中斷的實現(xiàn)
5.3.1外部中斷觸發(fā)方式
5.3.2多中斷源系統(tǒng)硬件擴展
5.4中斷系統(tǒng)程序設計
5.4.1中斷程序基本結構
5.4.2中斷初始化程序設計
5.4.3中斷服務子程序設計
5.5單片機LED顯示模式控制設計實例
5.6知識與拓展
5.6.1利用外部中斷實現(xiàn)脈沖計數(shù)
5.6.2多中斷源時中斷優(yōu)先級配置
5.7思考題
第6章定時/計數(shù)器
6.1定時/計數(shù)器工作原理及其控制
6.1.1內部結構和工作原理
6.1.2功能及其控制
6.2定時/計數(shù)器工作方式及其設置
6.2.1工作方式及其特點
6.2.2定時/計數(shù)器配置及初始化
6.2.3擴大定時時間方法
6.3單片機LED亮度控制系統(tǒng)設計實例
6.4知識與拓展
6.4.1簡易方波頻率測量原理
6.4.2定時/計數(shù)器實現(xiàn)軟件“看門狗”原理
6.5思考題
第7章單片機串行口
7.1串行通信概述
7.2 8051單片機串行口結構
7.2.1串行口通信接口結構
7.2.2串行通信控制寄存器
7.3串行口的工作方式及波特率設定
7.3.1工作方式0
7.3.2工作方式1
7.3.3工作方式2
7.3.4工作方式3
7.3.5波特率計算
7.4多機通信原理
7.5單片機的雙機通信應用實例
7.5.1串行通信接口電路
7.5.2雙機通信系統(tǒng)軟件設計
7.6知識與拓展
7.6.1串、并轉換擴展與實現(xiàn)
7.6.2基于串口藍牙模塊的無線通信實例
7.7思考題
第8章單片機存儲器擴展
8.1存儲器概述
8.1.1半導體存儲器簡介
8.1.2典型存儲器芯片介紹
8.2并行存儲器擴展
8.2.1存儲器的擴展和地址譯碼
8.2.2并行存儲器擴展實例
8.3串行存儲器擴展
8.3.1 I2C接口存儲器擴展
8.3.2 SPI接口存儲器擴展
8.4思考題
第9章單片機系統(tǒng)接口擴展及應用
9.1鍵盤接口擴展
9.1.1按鍵識別與處理
9.1.2獨立式鍵盤原理與接口
9.1.3行列式鍵盤原理與接口
9.1.4利用獨立式按鍵實現(xiàn)4路搶答器
9.2顯示接口擴展
9.2.1 LED數(shù)碼管工作原理
9.2.2 LED數(shù)碼管顯示接口
9.2.3利用74LS164實現(xiàn)2位靜態(tài)顯示電路
9.2.4利用MAX7219實現(xiàn)4位動態(tài)顯示電路
9.2.5 LCD模塊概述
9.2.6利用LCD1602實現(xiàn)字符顯示
9.2.7利用LCM1264ZK實現(xiàn)漢字顯示
9.3模擬量輸入/輸出接口擴展
9.3.1模擬量輸入/輸出接口概述
9.3.2 D-A轉換器概述
9.3.3利用DAC0832實現(xiàn)鋸齒波信號發(fā)生器
9.3.4 A-D轉換器概述
9.3.5利用ADC0808實現(xiàn)模擬量采集
9.4思考題
第10章串行擴展和功率接口技術
10.1單片機串行擴展技術
10.1.1單總線技術概述
10.1.2 DS18B20單總線測溫應用實例
10.1.3三線SPI總線概述
10.1.4 DS1302實時時鐘應用實例
10.2單片機功率接口技術
10.2.1開關型功率接口概述
10.2.2單片機功率晶體管接口應用實例
10.2.3單片機繼電器接口應用實例
10.2.4單片機晶閘管接口應用實例
10.3思考題
第11章虛擬仿真綜合設計實例
11.1單片機多功能秒表設計與仿真
11.1.1多功能秒表電路設計
11.1.2多功能秒表程序設計
11.1.3多功能秒表調試與仿真
11.2單片機直流電動機調速系統(tǒng)設計與仿真
11.2.1直流電動機調速系統(tǒng)電路設計
11.2.2直流電動機調速系統(tǒng)程序設計
11.2.3直流電動機調速系統(tǒng)調試與仿真
11.3單片機多功能電子日歷設計與仿真
11.3.1多功能電子日歷電路設計
11.3.2多功能電子日歷程序設計
11.3.3多功能電子日歷調試與仿真
11.4單片機自動抽油煙機設計與仿真
11.4.1自動抽油煙機電路設計
11.4.2自動抽油煙機程序設計
11.4.3自動抽油煙機調試與仿真
附錄
附錄A常用字符與ASCII碼對照表
附錄BMCS-51系列單片機指令表