商品描述
本書全面有系統地介紹了MCS-51系列單芯片的基本結構、運作原理及應用技術。主要內容包括:微型電腦的基礎、MCS-51單芯片的基本結構、組合語言和C51語言程式設計方法、中斷系統和定時器等內部功能單元的應用技術、平行接口和串行接口的擴展方法,以及Keil軟件和Proteus軟件聯合調試的方法等。書中大部分例題具有組合語言和C51語言的雙語對照程序,方便讀者選擇學習。 本書內容豐富、實用性強,講解深入淺出、全面細緻,既可以作為高等院校電氣資訊類相關專業學生的教材,也可以作為從事單芯片應用系統研發工作的工程技術人員的參考書。
作者簡介
張仁彥,女,山東科技大學副教授,曾獲山東省省級教學成果獎二等獎1項,山東科技大學教學成果獎二等獎1項、三等獎2項,所講授課程《微機原理及應用》獲批山東省一流學士課程,主持參與山東科技大學線上課程建構計畫各1項,主持山東科技大學自動化學院名校工程建設計畫2項,參與國家自然科學基金計畫2項,參與山東省自然科學基金計畫及山東省自然科學基金教育廳聯合專項各1項,授權發明專利1項。
目錄大綱
第1章 緒論1
1.1 微型計算機的發展歷史1
1.2 微型計算機的組成2
1.2.1 微型電腦系統的層次關係和
體系結構2
1.2.2 微處理器5
1.2.3 內存6
1.2.4 I/O接口7
1.3 微型計算機的數制與編碼7
1.3.1 數制8
1.3.2 資料在計算機中的表示10
1.3.3 常用編碼11
1.4 單芯片簡介13
1.4.1 單芯片的發展與應用13
1.4.2 MCS-51系列單芯片概況13
1.5 小結13
1.6 習題14
第2章 MCS-51單芯片的基本結構15
2.1 MCS-51單芯片的體系結構15
2.2 MCS-51單芯片的內部資源16
2.2.1 中央處理器(CPU)17
2.2.2 內存和暫存器18
2.2.3 常用特殊功能暫存器的功能23
2.3 MCS-51單芯片的接腳功能24
2.4 並行I/O埠的接腳特性27
2.4.1 P0口的接腳特性27
2.4.2 P1口的接腳特性29
2.4.3 P2口的接腳特性29
2.4.4 P3口的接腳特性30
2.5 MCS-51/52單芯片的最小系統
電路31
2.5.1 時脈電路和時脈訊號31
2.5.2 復位電路31
2.6 小結33
2.7 習題33
第3章 MCS-51單芯片彙編語言程序
設計35
3.1 組合語言的偽指令35
3.2 指令格式和相關符號39
3.2.1 指令格式39
3.2.2 指令的分類與指令描述符號40
3.3 指令的尋址方式41
3.3.1 立即數尋址41
3.3.2 暫存器尋址41
3.3.3 直接尋址42
3.3.4 暫存器間接尋址42
3.3.5 位元尋址42
3.3.6 變址尋址43
3.3.7 相對尋址43
3.4 MCS-51指令集44
3.4.1 資料傳送指令44
3.4.2 算術運算指令51
3.4.3 邏輯運算指令55
3.4.4 移位指令58
3.4.5 控制轉移指令58
3.5 組合語言程式設計65
3.5.1 順序程序設計65
3.5.2 分支程式設計67
3.5.3 循環程序設計72
3.5.4 子程序設計78
3.6 小結86
3.7 習題86
第4章 MCS-51單芯片的內部功能
單元88
4.1 中斷系統88
4.1.1 單芯片與外部設備的資料傳送方式88
4.1.2 MCS-51單芯片中斷系統的功能和
結構89
4.2 外部中斷95
4.2.1 外部中斷的初始化設定95
4.2.2 中斷程序設計方法96
4.2.3 外部中斷請求的撤銷98
4.2.4 外部中斷源的擴展98
4.3 定時/計數器100
4.3.1 定時/計數器的基本工作原理100
4.3.2 與定時/計數器相關的暫存器101
4.3.3 定時/計數器的工作方式102
4.3.4 定時/計數器的初始化104
4.3.5 定時功能應用舉例106
4.3.6 計數功能應用舉例109
4.3.7 測高電位時長舉例111
4.4 串行通訊接口112
4.4.1 串行通訊的基礎知識113
4.4.2 串行通訊的類型114
4.4.3 MCS-51單芯片串行埠的基本結構115
4.4.4 MCS-51單芯片串行埠的相關特殊
功能暫存器115
4.4.5 串口的工作方式118
4.4.6 RS-232C串行通訊接口125
4.4.7 RS-485串行通訊接口127
4.5 小結128
4.6 習題128
第5章 MCS-51單芯片的並行擴充130
5.1 MCS-51單芯片的片外並行
總線130
5.1.1 總線的作用130
5.1.2 MCS-51單芯片片外總線的構成130
5.2 片外內存的擴充132
5.2.1 片外程式內存的連接與存取132
5.2.2 片外資料內存的連接與存取135
5.2.3 單芯片存取片外儲存空間的
時序144
5.3 並行I/O接口的擴充147
5.3.1 I/O接口概述147
5.3.2 MCS-51單芯片並行I/O口的
使用149
5.3.3 簡單並行I/O接口的擴充149
5.4 並行接口芯片8255A的擴充153
5.4.1 8255A的內部結構和腳位153
5.4.2 8255A的控製字155
5.4.3 8255A的工作方式157
5.4.4 應用舉例161
5.5 顯示器與鍵盤接口的擴充163
5.5.1 顯示器的擴充163
5.5.2 鍵盤的擴充171
5.6 D-A和A-D接口的擴充176
5.6.1 D-A轉換器的工作原理與性能
指標177
5.6.2 DAC0832芯片的接口擴充179
5.6.3 A-D轉換器的工作原理與性能
指標185
5.6.4 ADC0809芯片的接口擴充188
5.7 小結193
5.8 習題193
第6章 常用序列總線接口技術195
6.1 SPI總線195
6.1.1 SPI總線的接腳功能和時序195
6.1.2 SPI總線A-D轉換芯片TLC2543196
6.1.3 TLC2543的應用實例199
6.2 I2C總線200
6.2.1 I2C總線的接腳功能和時序200
6.2.2 I2C總線日曆時脈芯片PCF8563202
6.2.3 PCF8563的應用實例205
6.3 單總線206
6.3.1 單一總線的接腳功能與時序206
6.3.2 DS18B20的使用方法208
6.3.3 DS18B20的應用實例210
6.4 小結211
6.5 習題211
第7章 Keil ?Vision4整合開發環境
使用212
7.1 建立Keil工程212
7.2 產生原始程式檔案214
7.3 工程的基本設定215
7.4 程式的運作與調試218
7.4.1 程式的編譯與連結219
7.4.2 程序的調試220
7.5 小結227
7.6 習題227
第8章 C51語言程式設計基礎228
8.1 電腦程式設計語言概述228
8.2 C51語言的變量229
8.2.1 變量的資料型別229
8.2.2 變量的儲存231
8.3 C51語言的常數232
8.4 運算符233
8.5 數組235
8.6 C51語言的基本語句235
8.6.1 條件語句235
8.6.2 開關語句236
8.6.3 循環語句236
8.7 函數237
8.7.1 函數的定義237
8.7.2 函數的呼叫238
8.8 C51程式設計實例238
8.8.1 外部中斷程序設計238
8.8.2 定時/計數器程式設計239
8.8.3 串行接口程式設計239
8.8.4 平行接口程式設計239
8.8.5 鍵盤顯示器接口程式設計240
8.9 小結241
8.10 習題241
第9章 Proteus虛擬模擬242
9.1 集成環境ISIS的使用242
9.1.1 原理圖的繪製243
9.1.2 虛擬模型的模擬運行251
9.1.3 基於ISIS的組合語言程式設計255
9.1.4 ISIS和Keil的線上調試257
9.2 虛擬模擬實例258
9.2.1 簡易音樂演奏系統設計258
9.2.2 直流電動機轉速PWM控制260
9.2.3 字符液晶顯示模組LCD1602的
使用262
9.2.4 液晶顯示模組LCD12864的
使用268
9.2.5 超音波測距模組HC-SR04的
使用274
9.2.6 基於L298N芯片和PID演算法的
直流電動機轉速控制276
9.3 小結283
9.4 習題283
參考文獻284