微算機基本原理與應用-MCS-51 嵌入式微算機系統軟體與硬體, 3/e
內容描述
<內容簡介>
微算機基本原理與應用一書,使用目前在工業應用系統中最受歡迎的MCS-51族系為控制器為例,詳細介紹微算機的基本原理與應用。本書內容包含微算機系統結構與應用、MCS-51/52微控制器、數系轉換、組譯程式與組合語言程式、MCS-51軟體模式、定址方式與指令格式、基本組合語言程式設計、資料轉移、算術運算、分歧指令、邏輯運算、位元運算、移位與循環移位、CPU控制與旗號位元指令、模組化程式設計、MCS-51硬體模式內部功能、記憶器元件與應用、基本I/O觀念與界面、C語言程式設計等,讀者讀完此書,將有能力設計各種微處理器或是微控制器的應用系統,可當教科書也可當作自我進修及實務上的參考用書。<章節目錄>
第1章 簡介 11.1 微算機系統結構與應用 11.1.1 微處理器與微算機 21.1.2 個人電腦 31.1.3 嵌入式系統 71.2 MCS-51/52微控制器 91.2.1 MCS-51/52微控制器 91.2.2 微控制器選用準則 121.3 文數字碼與數碼 141.3.1 文數字碼 151.3.2 數碼 171.4 數系轉換 191.4.1 二進制數目系統 191.4.2 十六進制數目系統 231.5 二進制算術 261.5.1 二進制的四則運算 271.5.2 數目表示法 291.5.3 2補數算術運算 301.6 浮點數算術 321.6.1 浮點數表示方法 331.6.2 浮點數的四則運算 371.7 參考資料 401.8 習題 41第2章 微算機基本工作原理 432.1 計算機基本功能與原理 432.1.1 基本程式設計觀念 442.1.2 微算機原理 472.1.3 更詳細的微算機基本動作 482.2 CPU基本組織與動作 492.2.1 暫存器轉移層次 502.2.2 一個簡化的MCS-51 RTL架構 632.2.3 指令的執行 652.2.4 基本的MCS-51組合語言指令 692.3 組譯程式與組合語言程式 712.3.1 基本組合語言程式例 722.3.2 基本組合語言程式結構 732.3.3 組合語言常數與運算子 742.3.4 基本組譯程式假指令 762.4 組合語言程式的建立與執行 782.4.1 組合語言程式的建立 792.4.2 MCS-51程式發展工具 802.4.3 組合語言程式的建立實例 812.4.4 組合語言程式的執行 852.5 參考資料 862.6 習題 87第3章MCS-51軟體模式 893.1 規劃模式 893.1.1 資料暫存器 903.1.2 位址暫存器 923.1.3 特殊用途暫存器 933.2 資料類型與記憶器組織 953.2.1 記憶器組織 953.2.2 位元可存取區 973.2.3 資料類型 993.3 定址方式與指令格式 1013.3.1 MCS-51定址方式 1023.3.2 指令格式與編碼 1103.4 組譯程式假指令 1123.4.1 節區定義假指令 1123.4.2 符號定義假指令 1163.4.3 程式連繫假指令 1183.4.4 其它假指令 1193.5 組譯程式與組譯程序 1203.5.1 組譯程式 1213.5.2 組譯程序與實例 1243.6 參考資料 1263.7 習題 126第4章 基本組合語言程式設計 1294.1 定址方式與指令使用 1294.1.1 定址方式格式 1294.1.2 使用指令的基本概念 1314.2 資料轉移指令 1334.2.1 基本資料轉移指令 1334.2.2 雙資料指示暫存器 1404.3 算術運算指令 1414.3.1 二進制算術運算 1424.3.2 單運算元指令 1504.3.3 乘法與除法運算 1514.3.4 BCD算術 1534.4 分歧(跳躍)指令 1564.4.1 條件性分歧(跳躍)指令 1564.4.2 無條件分歧(跳躍)指令 1654.4.3 迴路指令 1684.5 參考資料 1724.6 習題 172第5章 組合語言程式設計 1775.1 邏輯與位元運算指令 1775.1.1 MCS-51邏輯運算指令 1785.1.2 MCS-51位元運算指令 1845.1.3 MCS-51位元測試指令 1875.2 移位與循環移位指令 1895.2.1 基本移位與循環移位指令 1905.2.2 MCS-51移位與循環移位指令 1925.3 CPU控制與旗號位元指令 1955.3.1 MCS-51 CPU控制指令 1955.3.2 旗號位元指令 1965.4 參考資料 1975.5 習題 198第6章 模組化程式設計 2016.1 程式設計基本技巧 2026.1.1 模組化程式設計 2026.1.2 結構化程式設計 2036.2 程式的連結與模組宣告 2086.2.1 程式的連結與重置位 2086.2.2 外部變數 2096.3 副程式 2116.3.1 堆疊 2116.3.2 副程式呼叫與歸回指令 2166.3.3 巢路副程式 2196.3.4 副程式參數傳遞方式 2226.3.5 可重入與遞迴副程式 2276.4 巨集指令 2366.4.1 巨集指令定義與擴展 2366.4.2 標記問題與局部標記 2416.4.3 巢路巨集指令 2446.5 參考資料 2456.6 習題 246第7章 綜合程式設計 2497.1 數碼轉換 2497.1.1 轉換十六進制數字為七段顯示碼 2507.1.2 二進制對BCD轉換 2547.1.3 BCD對二進制轉換 2577.2 資料的排序與搜尋 2607.2.1 插入排序演算法 2607.2.2 二分搜尋演算法 2637.3 多精確制乘法運算 2667.3.1 基本乘法運算方法 2667.3.2 使用移位相加的方法 2677.3.3 使用乘法指令MUL 2717.3.4 乘法運算---Booth演算法 2747.4 多精確制除法運算 2787.4.1 除法運算-恢復式除法 2797.4.2 除法運算-非恢復式除法 2837.5 參考資料 2887.6 習題 289第8章 C語言程式設計 2938.1 基本C語言程式 2948.1.1 基本C語言程式例 2948.1.2 程式的基本要素 2958.1.3 資料類型與變數宣告 2988.1.4 C51的記憶器類型 3028.1.5 C51擴充的資料類型 3038.1.6 運算子 3058.1.7 程式流程控制指述 3078.2 函式與指標 3118.2.1 函式 3128.2.2 指標 3168.2.3 副程式參數傳遞 3208.3 C語言與組合語言程式的連結 3238.3.1 行內(In-Line)組合語言 3238.3.2 C語言與組合語言程式的連結 3258.4 參考資料 3308.5 習題 331第9章 MCS-51硬體模式 3359.1 MCS-51硬體模式 3359.1.1 內部功能 3369.1.2 CPU時序 3379.1.3 硬體界面 3399.1.4 基本時序 3469.2 內部程式記憶器規劃 3539.2.1 並列規劃模式 3539.2.2 串列規劃模式 3579.2.3 程式記憶器的清除 3609.2.4 鎖住位元的規劃 3619.3 基本的MCS-51模組 3629.3.1 基本界面問題 3629.3.2 最小(單一晶片)模組 3639.3.3 擴充(多重晶片)模組 3649.4 MCS-51衍生微控制器 3659.4.1 AT89S52 3669.4.2 8xC51Fx 3679.4.3 8xC51GB 3689.4.4 P89V51Rx2 3689.4.5 MPC82G516A 3709.5 參考資料 3719.6 習題 371第10章 記憶器元件與應用 37310.1 記憶器類型 37310.1.1 記憶器類型 37310.1.2 快閃記憶器 37610.2 商用記憶器元件 37810.2.1 SRAM 37910.2.3 快閃記憶器(X28系列) 38510.3 記憶器容量與語句寬度的擴充 39210.3.1 容量擴展方法 39310.3.2 語句寬度擴展方法 39410.3.3 容量與語句寬度同時擴展方法 39410.4 記憶器位址解碼電路設計 39510.4.1 記憶器位址解碼原理 39510.4.2 位址解碼電路設計 39910.5 MCS-51與記憶器界接 40610.5.1 外部RAM 40610.5.2 外部程式記憶器 41010.5.3 共用程式與資料記憶器 41310.6 參考資料 41410.7 習題 415第11章 中斷、系統重置與功率控制 41711.1 中斷與處理 41711.1.1 中斷的主要應用 41711.1.2 中斷類型 41811.1.3 CPU對外部中斷的反應 42011.2 多重中斷與優先權 42211.2.1 中斷優先權 42211.2.2 輪呼 42411.2.3 鍵結優先權結構 42911.2.4 中斷優先權仲裁器 43011.3 MCS-51中斷 43211.3.1 MCS-51中斷結構 43311.3.2 中斷處理程序 43711.3.3 MCS-51中斷擴展 44011.4 中斷服務程式 44311.4.1 中斷服務程式設計 44311.4.2 巢路中斷 44511.5 系統重置與功率控制 44611.5.1 MCS-51/52系統重置 44611.5.2 功率控制 44911.5.3 監視定時器 45511.6 參考資料 45811.7 習題 458第12章 基本I/O觀念與界面 46112.1 I/O基本結構 46112.1.1 I/O裝置與界面電路 46212.1.2 輸入埠與輸出埠 46312.1.3 獨立式I/O結構 46612.1.4 記憶器映成I/O結構 46812.2 I/O資料轉移方式 47012.2.1 I/O資料轉移基本方式 47012.2.2 輪呼式(程式)I/O 47112.2.3 中斷式I/O 47212.2.4 直接記憶器存取(DMA) 47312.3 實際的界面問題 47812.3.1 資料觸取系統 47812.3.2 邏輯位準匹配問題 48212.3.3 推動能力的考慮 48412.4 DAC與ADC 48712.4.1 數位對類比轉換器(DAC) 48712.4.2 類比對數位轉換器(ADC) 49412.4.3 MCS-51的ADC擴充 50012.5 參考資料 50312.6 習題 504第13章 並列I/O與界面 50713.1 並列資料轉移 50813.1.1 同步並列資料轉移 50813.1.2 閃脈控制方式 50913.1.3 交握式控制方式 51113.1.4 三線交握式控制方式 51713.2 MCS-51 I/O埠結構與動作 51813.2.1 I/O埠結構與動作 51913.2.2 RMW指令組 52113.3 可規劃並列周邊界面(82C55A) 52213.3.1 內部功能 52213.3.2 硬體界面 52413.3.3 模式規劃與動作 52513.3.4 82C55A與MCS-51模組界接 53813.4 參考資料 54313.5 習題 543第14章 定時器與應用 54714.1 定時器0與1 54814.1.1 基本動作 54814.1.2 模式設定 54914.1.3 操作模式與應用 55014.2 定時器2 55914.2.1 模式設定 56014.2.2 操作模式與應用 56214.3 可規劃計數器陣列 57214.3.1 基本結構 57214.3.2 模式設定 57414.3.3 操作模式與應用 57714.4 應用實例---步進馬達控制 59614.4.1 步進馬達原理 59614.4.2 步進馬達驅動電路與程式 60014.5 參考資料 60414.6 習題 605第15章 鍵盤與顯示器電路 60915.1 鍵盤電路設計 60915.1.1 開關類型 60915.1.2 鍵盤電路設計原理 61315.1.3 輸呼式鍵盤電路設計 61415.1.4 中斷式鍵盤電路設計 62415.2 LED顯示器電路 62615.2.1 簡單的LED顯示器 62615.2.2 直接推動方式七段LED顯示器 62915.2.3 多工推動方式七段LED顯示器 63115.3 液晶顯示器 63715.3.1 液晶顯示器原理 63715.3.2 商用液晶顯示器 63815.3.3 與MCS-51界接 64415.4 參考資料 65015.5 習題 650第16章 串列I/O、界面與應用 65516.1 串列資料轉移 65516.1.1 基本概念 65616.1.2 非同步串列資料轉移 65916.1.3 同步串列資料轉移 66216.1.4 資訊錯誤的偵測與更正 66616.2 串列界面標準 67016.2.1 數據通信基本原理 67016.2.2 EIA-232 (RS-232)界面標準 67316.2.3 其它串列界面標準 67716.3 MCS-51串列通信埠 68116.3.1 基本結構 68216.3.2 規劃模式 68316.3.3 鮑速率 68516.3.4 操作模式與應用 68916.3.5 自動位址偵測 69816.4 串列界面基本應用 70016.4.1 MCS-51 I/O埠擴充 70016.4.2 MCS-51 SPI擴充 70416.5 I2C匯流排標準 71116.5.1 I2C匯流排界面標準 71116.5.2 與24Cxx序列元件界接 71716.6 參考資料 73116.7 習題 732附錄 MCS-51 相關資料 739A. MCS-51/52特殊功能暫存器(SFR) 740A.1 特殊功能暫存器(SFR)位址圖 740A.2 中斷向量表(MCS-51/52) 740A.3 狀態語句(PSW) 741A.4 電源控制暫存器(PCON) 741A.5 中斷致能暫存器(IE) 742A.6 中斷優先權暫存器(IP) 742A.7 定時器0/1控制暫存器(TCON) 743A.8 定時器0/1模式暫存器(TMOD) 744A.9 定時器2控制暫存器(T2CON) 744A.10 串列通信埠控制暫存器(SCON) 746B. MCS-51指令組詳細資料 747B.1 MCS-51指令分類表 747B.2 MCS-51指令碼、執行週期與長度 754B.3 MCS-51指令詳細動作 758