內容簡介
《8051單片機原理及軟硬體設計(第2版)》實例新穎,內容翔實,實用性強,可作為單片機愛好者和單片機開發工程師的參考資料,也可作為大中專學生和職校學生畢業設計的參考用書。
圖書目錄
第1章8051/8052系列原理介紹
1.1概述
1.2MCS—51存儲器結構分析
1.3微控制器MCS—51指令分析
1.4CPU時序分析
1.5中斷結構
第2章8051/8052結構部分分析
2.18051及8052結構部分分析
2.2連線埠的機構及操作
2.3存取外部存儲器
2.4定時/計數器
2.5串列接口
2.6中斷
2.7單步執行
2.8復位(RESET)動作分析
2.9送電後的復位
2.10省電型(CHMOS)版本內IDLE省電模式,POWERDOWN斷電處理模式分析
2.11EPROM版本
2.12程式存儲器保護上鎖
2.13MCS—51系列各引腳功能說明
2.14外部程式存儲器提取
2.15外部數據存儲器讀取、寫人時序及連線埠的操作時序分析
2.16未使用引腳的處理情形
2.17CHMOS與HMOS版本的8051時鐘電路分析
2.18邏輯電平分析
2.19按鍵抖動波及對策
第5章8051/8052系列程式設計指導
3.1存儲器組織
3.2中斷
3.3定時/計數器功能分析
3.4串口功能分析
第4章8051/8052系列指令集討論及介紹
4.1旗標受指令操作的影響分析
4.2指令符號的意義說明
4.3指令集
4.4指令集分析
4.5軟體程式
第5章8051/8052數學理論範例演練
【例題1】兩暫存器值相加
【例題2】選擇工作暫存器
【例題3】將內部RAM“41H”的默認值加到內部RAM“40H”
【例題4】將輸入連線埠(P1)的值與輸出連線埠(P0)的值相加,結果值再從輸出連線埠(P0)送出去
【例題5】間接地址內部數據存儲器值相加,即將RAM(20H)與RAM(24H)的兩位元組值相加,結果存回RAM(20H1)
【例題6】常量相加,結果值存回ACCgp
【例題7】使用編譯器ASM51的能力,執行兩常量值的相加,其結果值再存回ACc中
【例題8】將“RAM9”的地址以變數符號定義的方式寫程式,其效果與前例題5相同
【例題9】再次聲明將暫存器設定為符號
【例題10】數字元串相減,具有溢位符號檢測功能
【例題11】暫存器及常量各16位以十進位相加的方式加後結果值存回暫存器R3、R2中
【例題12】使用除法指令技巧,將單一位元組十六進制碼轉成BCD碼果則再存回累加器ACC中
【例題14】將存於暫存器R7內的按鍵的鍵碼值與固定的各鍵碼值做一比較,若
不相等,則到後列的標號去執行,即再檢測是否為別的鍵碼被按下,若相等則返回主程式執行
【例題15】插入一軟體指令,於引腳產生WR——負脈衝“□”,程式中利用DJNIz做負向波脈衝寬度延遲用
【例題16】當中斷時,利用堆疊將主程式中各狀態值暫存
【例題17】有關數據指針暫存器“DPTR”創建檢查表的指令技巧分析
【例題18】十六進制碼轉成二進位十進制“BCD”碼原理介紹
【例題19】執行減法指令後對進位(CY)及溢位(OV)旗標的影響分析
【例題20】引腳控制
【例題21】16位碼左移一位(及右移一位)
【例題22】十六進制碼轉換到ASCII碼
【例題23】十六進制碼(HEXcode)到七段顯示碼轉換
【例題24】將存於R7中的“BCD”數碼經過兩個七段顯示器顯示出來
【例題25】求溫度平均值
【例題26】十進制形態直接定址3位元組“BCD”加法
【例題27】十進制型態間接定址3位元組“BCD”加法
【例題28】十六進制16位加法
【例題29】十六進制32位加法
【例題30】十六進制32位減16位
【例題31】十六進制32位減32位
【例題32】乘法原理介紹
【例題33】二進制除法原理介紹
【例題34】十進制碼轉換為十六進制碼的原理介紹
【例題35】邊緣或電平中斷觸發的概念
【例題36】位處理指令運用技巧
【例題37】增加一極性位傳送及接收的uART碼處理方式
【例題38】檢測ASCII碼是否在“A”與“z”之間
【例題39】多種方式完成邏輯電路設計的演練
【例題40】使用交流電60Hz做定時單位的設計
【例題4l】軟體檢測定時器溢位的程式設計方法
【例題42】定時器0模式2的編輯設計,輸出周期200ils的方波,占空比(duty),=1/2
【例題43】脈衝寬度測量(以及電動機速度控制設計方法介紹)
【例題44】編寫彙編語言時,對於“偽指令”應了解的基礎
第6章8051/8052開發工具介紹及其套用
6.1前言
6.2什麼是微機開發系統
6.3研究方法
第7章8051/8052研發實踐重點討論
【討論1】805l在工業套用上的可程式控制器(PLc)設計範例
【討論2】單板機(8085)與單片機(8048、8051)軟體效益評估,以串列I/O設計為例
【討論3】延遲“DE[,AY”時間計算法
【討論4】內部電路模擬器(ICE)調試技巧探討之一
【討論5】內部電路模擬器(ICE)調試技巧探討之二
【討論6】內部電路模擬器(ICE)調試技巧探討之三
【討論7】如何使單片機硬體穩定的工作
【討論8】8051系列內各晶片耗電情況與電壓電平以及IDIE模式、POWERDOWN模式套用
第8章8051/8052系列產品設計
【專題1】燈號變化控制設計(在程式內建表)
【專題2】單一引腳(P2.7)控制燈的掃向
【專題3】使用875l完成工業邏輯控制電路設計之一
【專題4】使用8751完成工業邏輯控制電路設計之二
【專題5】十字路口紅綠燈控制設計
【專題6】外部中斷O(NTO)控制實驗
【專題7】外部中斷O(INTO)中斷O(INT1)控制實驗之一
【專題8】外部中斷(INTO)中斷1(INT1)控制實驗之二
【專題9】定時斛數器0(TIMERO)模式O設計之一
【專題10】定時計數器0(TIMER0)模式1(MODEl)設計
【專題1l】定時斛數器0(TIMER0)模式2(MODE2)設計
【專題12】定時/計數器0(TIMER0)模式3(MODE3)設計
【專題13】定時器0(TIMERO)定時器1(TIMERl)同時計數實驗(模式2)
【專題14】兩位數定時器O模式2計數實驗之一
【專題15】串列傳輸(UART)模式O(MODE0)擴充輸出連線埠實驗
【專題16】串列傳輸(UART)模式0(MODE0)擴充輸人連線埠實驗
【專題17】串列傳輸(UART)模式1(MODEl)數據傳輸實驗
【專題18】串列傳輸(UART)模式2(MODE2)數據傳輸實驗
【專題19】串列傳輸(UART)模式3(MODE3)全雙工數據傳輸實驗