8051 基本原理與軟硬體設計大全(修訂版)
內容描述
本書特色
本書為作者累積多年使用及教學經驗,針對目前工業自動化產品設計之主流-單晶片為控制器8051系列所寫的一本書,內容包括8051/8052系列原理介紹、8051/8052結構部份分析、8051/8052族系程式設計指導、8051/8052族系指令組討論及介紹、8051/8052數學理論範例演練、8051/8052開發工具介紹及其應用、8051/8052研發實務重點討論、8051/8052系列產品設計等。引領讀者一步步進入單晶片的世界,進而靈活應用與設計,範例詳盡、充實,為欲投入、學習單晶片之讀者不可多得的好書。本書適合科大電子、電機科系之「單晶片微處理機與實習」、「單晶片微處理機實務」、「微控制應用」等課程使用。
本書內容
第1篇 8051/8052系列原理介紹1-1第1章 概 說1-21.1 簡介:單晶片的歷史沿革1-21.2 單晶片與多晶片之比較1-101.3 8051性能概述1-111.4 8031多重系統硬體規劃1-13第2章 MCS-51記憶體結構分析1-152.1 概 說1-152.2 程式記憶體功能說明1-192.3 資料記憶體功能說明1-322.4 內部資料記憶體與特殊功能暫存器1-48第3章 微控制器MCS-51指令分析1-543.1 概 說1-543.2 程式狀態字語1-543.3 定址模式1-613.4 算術指令介紹1-643.5 邏輯指令介紹1-683.6 資料轉移指令組介紹1-713.7 外部資料記憶體指令組介紹1-753.8 檢查表指令組介紹1-763.9 布林代數指令組介紹1-783.10
相關跳越偏移量1-813.11 跳越指令組介紹1-82第4章 CPU時序分析1-884.1 概 說1-884.2 機械週期分析1-90第5章 中斷結構1-925.1 概 說1-925.2 中斷致能暫存器“IE”1-925.3 中斷優先權暫存器“IP”1-935.4 利用軟體模擬出第三優先準位中斷控制之設計1-985.5 8051/8052整體時序分析圖:1-101
第2篇 8051及8052結構部份分析2-1第6章 8051及8052結構部份分析2-26.1 概 說2-26.2 特殊功能暫存器2-36.3 累積器2-46.4 B暫存器2-46.5 程式狀態字元2-46.6 堆疊指標2-56.7 資料指標暫存器2-66.8 埠0~埠32-66.9 串列資料緩衝器2-66.10
計時/計數暫存器2-66.11 捕獲暫存器2-66.12 控制暫存器2-76.13
程式計數器2-7第7章 埠之結構及操作2-77.1 概 說2-77.2 讀入→修改→寫出(ORL、ANL)2-97.3 埠腳輸入/輸出(I/O)的負載推動力2-10第8章 取存外部記憶體2-11第9章 計時/計數器2-129.1 概 說2-129.2 計時/計數器0及計時/計數器1工作模態分析2-139.3 模態0控制電路方塊圖分析2-149.4 模態1控制電路方塊圖分析2-159.5 模態2控制電路方塊圖分析2-159.6 模態3控制電路方塊圖分析2-169.7 計時/計數器2工作模態分析2-17第10章 串列介面2-2010.1 概 說2-2010.2 串列埠工作模態分析2-2410.3 多重通訊2-4210.4 串列埠控制/狀態暫存器2-4410.5 鮑德率分析2-4510.6 如何使用計時器1產生鮑德率2-4610.7 8052中使用計時器2產生鮑德率2-48第11章 中 斷2-5011.1 概 說2-5011.2 優先權準位結構2-5311.3 如何處理中斷2-5611.4 外部中斷2-5911.5 中斷響應時間討論2-60第12章 單步執行2-61第13章 重置(RESET)動作分析2-62第14章 送電後之重置2-64第15章 省電型(CHMOS)版本內IDLE省電模態,POWER
DOWN斷電處理模態分析2-6515.1 電功率消耗分析2-6615.2 僅CPU暫停工作(IDLE)省電模態與系統完全 停頓工作(POWER
DOWN)斷電處理模態分析2-6815.3 再述“IDLE”省電模態2-7215.4 再述“POWER
DOWN”斷電處理模態2-7415.5 80C31BH設計“POWER
DOWN”之電路分析2-7615.6 如何設計出可同時用在HMOS與CHMOS 版本8051中之IDLE模態與POWER
DOWN模態2-7915.7 交流電力斷電時之應變措施分析2-80第16章 EPROM版本2-83第17章 程式記憶體保護上鎖2-84第18章 MCS-51族系各釘腳功能說明2-86第19章 外部程式記憶體提取2-89第20章 外部資料記憶體讀取、寫出時序及埠之操作時序分析2-9020.1 外部資料記憶體讀取時序2-9020.2 外部資料記憶體寫出時序2-9120.3 埠之操作2-93第21章 未使用釘腳的處理情形2-93第22章 CHMOS與HMOS版本之8051二者時脈電路分析2-94第23章 邏輯準位分析2-95第24章 按鍵彈跳波及應對之策2-96
第3篇 8051/8052族系程式設計指導3-1第25章 記憶體組織3-225.1 概 說3-225.2 資料記憶體3-325.3 間接定址區3-425.4 直接及間接定址區3-425.5 特殊功能暫存器3-625.6 重置後特殊功能暫存器(SFR)之內含值3-725.7 特殊功能暫存器與記憶體之映對關係3-925.8 程式狀態字元(PSW)可位元定址3-925.9 電功率控制暫存器(PCON)不可以位元定址3-10第26章 中斷3-1126.1 中斷向量3-1126.2 中斷致能暫存器(IE)可位元定址3-1226.3 如何將中斷源規劃到高層次中斷優先權區中3-1226.4 相同層次中斷向量之執行次序3-1226.5 中斷優先權暫存器(IP)可位元定址3-13第27章 計時/計數器功能分析3-1427.1 計時/計數器控制暫存器(TCON)可位元定址3-1427.2 計時/計數模態控制暫存器(TMOD)不可位元定址3-1527.3 計時器規劃3-16第28章 串列埠功能分析3-1828.1 串列埠控制暫存器(SCON)可位元定址3-1828.2 鮑德率計算觀念3-2028.3 加強功能型83C51FA介紹3-22
第4篇 8051/8052族系指令組討論及介紹4-1第29章 旗號受指令運作之影響分析4-2第30章 指令符號之意義說明4-3第31章 指令集4-4第32章 指令集分析4-932.1 指令分析索引表4-932.2 指令說明4-10第33章 軟體程式中,每一指令運作後,對內部資料記憶體及特殊功能暫存器所產生的影響分析(大圓圈“○”內的數字,表示行號)4-82
第5篇 8051/8052數學理論範例演練5-1例題1兩暫存器值相加5-3例題2選擇工作暫存器5-4例題3將內部RAM“41H”之內含值,加到內部RAM“40H”內去5-4例題4將輸入埠(P1)之值與輸出埠(P0)之值相加,結果值再從輸出埠(P0)送出去5-5例題5間接位址內部資料記憶體值相加,即將RAM(20H)與RAM(24H)之兩位元組值相加,結果存回RAM(20H)內去5-6例題6常數相加,結果值存回ACC中5-7例題7使用組譯器ASM
51之能力,執行兩常數值之相加,其結果值再存回ACC中5-8例題8將“RAM”之位址以變數符號定義之方式寫程式,其效果與前例題5相同5-8例題9再次宣告將暫存器設定為符號5-9例題10數字串相減,具溢位符號偵測功能5-9例題11暫存器及常數各16位元以十進位相加之方式,加後結果值存回暫存器R3、R2中5-11例題12使用除法指令技巧,將單一位元組十六進制碼轉成BCD碼5-13例題13將存於累積器中的兩個單一十進位數字以十進位型式相乘,其乘後結果則再存回累積器ACC中5-15例題14將存於暫存器R7內之吾人按鍵之鍵碼值與固定之各鍵碼值做一比較,若不相等,則到後列之標名去執行,即再偵測是否為別的鍵碼被按下,若相等則回返主程式執行5-16例題15插入一軟體指令,於釘腳產生一負向電位波“”,程式中利用DJNZ做負向波波寬延遲之用5-16例題16當中斷時,利用堆疊,將主程式中各狀態值暫存5-17例題17有關資料指標暫存器“DPTR”,建立檢查表之指令技巧分析5-19例題18十六進制碼轉成二進位十進制“BCD”碼原理介紹5-20例題18.1將存於累積器ACC中之8位元十六進制碼轉換成“BCD”碼5-20例題18.2將16位元之十六進制HEX碼轉換成十進制(Decimal)BCD碼5-23例題18.3將兩位元組十六進制碼值轉換成十進制碼值5-26例題19執行減法指令後進位(CY)及溢位(OV)旗號受影響之分析5-28例題20埠腳控制5-29例題2116位元碼左移一位元(及右移一位元)5-30例題22十六進制碼轉換到ASCII碼5-31例題23十六進制碼(HEX
code)到七段顯示碼轉換5-32例題24將存於R7中之“BCD”數碼,經由2個七段顯示器顯示出來5-33例題25求溫度平均值5-34例題26十進制型態直接定址3位元組“BCD”加法5-36例題27十進制型態間接定址3位元組“BCD”加法5-37例題28十六進制16位元加法5-38例題29十六進制32位元加法5-39例題30十六進制32位元減16位元5-41例題31十六進制32位元減32位元5-42例題32乘法原理介紹5-43例題32.1乘法指令MUL
AB對旗號的影響分析5-44例題32.216位元乘16位元5-45例題32.3使用乘法指令“MUL”完成之16位元乘16位元之運算5-49例題32.424位元乘8位元5-52例題32.53位元組碼值乘以1位元組碼值之乘算演練5-54例題33二進制除法原理介紹5-58例題33.1除法指令“DIV
AB”對旗號的影響分析5-61例題33.224位元除以24位元5-62例題34十進制碼轉換為十六進制碼之原理介紹5-67例題34.1兩位數十進制(BCD)碼轉換為十六進制(HEX)碼5-68例題34.2兩位數十進制碼轉換為十六進制碼5-71例題35邊緣或位準中斷觸發之觀念5-76例題36位元處理指令運用技巧5-77例題37增加一極性位元發送及接收之UART碼處理方式5-78例題38檢測ASCII資料碼是否在“A”與“Z”之間5-79例題39多種方式完成邏輯電路設計之演練5-81例題40使用交流電60Hz做計時單位之設計5-83例題41軟體偵測計時器溢位之程式設計方法5-84例題42計時器0模態2之規劃設計,輸出週期sec之方塊波,工作週(duty)=5-85例題43脈波寬度測量(以及馬達速度控制設計方法介紹)5-85例題44編寫組合語言時,對於“虛指令”應瞭解之基礎5-90
第6篇 8051/8052開發工具介紹及其應用6-1一、前 言6-2二、何謂微電腦發展系統呢?6-2
第7篇 8051/8052研發實務重點討論7-1討論1
8051在工業應用上之可程式控制器(PLC)設計範例7-2討論2
多晶片(8085)與單晶片(8048、8051)軟體效益評估,以串列I/O設計為例7-15討論3 延遲“DELAY”時間計算法7-19討論4
ICE除錯技巧探討之一7-21討論5 ICE除錯技巧探討之二7-26討論6 ICE除錯技巧探討之三7-27討論7
如何使微電腦硬體穩定的工作7-27討論8 8051族系內各晶片耗電情況與電壓準位以及IDLE模態、POWER
DOWN模態應用7-47
第8篇 8051/8052系列產品設計8-1專題1燈號變化控制設計(在程式內建表)8-2專題2單一埠腳(P2.7)控制燈之掃向8-6專題3使用8751完成工業邏輯控制電路設計之一8-10專題4使用8751完成工業邏輯控制電路設計之二8-13專題5十字路口紅綠燈控制設計8-17專題6外部中斷0()控制實驗8-23專題7外部中斷0()中斷1()控制實驗之一8-27專題8外部中斷()中斷1()控制實驗之二8-37專題9計時/計數器0(TIMER0)模式0設計之一8-43專題10計時/計數器0(TIMER0)模式1(MODE1)設計8-49專題11計時/計數器0(TIMER0)模式2(MODE2)設計8-53專題12計時/計數器0(TIMER0)模式3(MODE3)設計8-57專題13計時器0(TIMER0)計時器1(TIMER1)同時計數實驗(模式2)8-62專題14兩位數計時器0模式2計數實驗之一8-70專題15串列傳輸(UART)模態0(MODE0)擴充輸出埠實驗8-75專題16串列傳輸(UART)模態0(MODE0)擴充輸入埠實驗8-79專題17串列傳輸(UART)模態1(MODE1)資料傳輸實驗8-83專題18串列傳輸(UART)模態2(MODE2)資料傳輸實驗8-90專題19串列傳輸(UART)模態3(MODE3)全多工資料傳輸實驗8-94
附錄 8051/8052系列單晶片相關資料與其他參考資料附-1附錄1LED規格表附-2附錄2MCS-51族系指令組附-4附錄38051族系指令、指令碼、長度及執行時間表附-16附錄4位元圖型與二、八、十六、不帶與帶正負號等進制間之相互關係參考圖表附-21附錄5各種常用型EPROM“27×××”燒錄電壓規格及釘腳圖表附-21富茂自動化產品研發中心附-24