![單片微機原理及應用備課提綱課件_第1頁](http://file4.renrendoc.com/view/49c0d42c8c2ab0098c83bb645a63dd13/49c0d42c8c2ab0098c83bb645a63dd131.gif)
![單片微機原理及應用備課提綱課件_第2頁](http://file4.renrendoc.com/view/49c0d42c8c2ab0098c83bb645a63dd13/49c0d42c8c2ab0098c83bb645a63dd132.gif)
![單片微機原理及應用備課提綱課件_第3頁](http://file4.renrendoc.com/view/49c0d42c8c2ab0098c83bb645a63dd13/49c0d42c8c2ab0098c83bb645a63dd133.gif)
![單片微機原理及應用備課提綱課件_第4頁](http://file4.renrendoc.com/view/49c0d42c8c2ab0098c83bb645a63dd13/49c0d42c8c2ab0098c83bb645a63dd134.gif)
![單片微機原理及應用備課提綱課件_第5頁](http://file4.renrendoc.com/view/49c0d42c8c2ab0098c83bb645a63dd13/49c0d42c8c2ab0098c83bb645a63dd135.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章 微型計算機的基本概念第一節(jié) 概述一、微機 微(型)機的意義: 價低、體小、功能強,且不斷提高 滲透各行各業(yè),藥中甘草. 超大 計算機 微 可組成超大 單片機 集成化微機 微(型)機的用途: 工 控: 實時控制 (1)專用機的用途 檢 測: 儀器儀表 產(chǎn) 品: 嵌入式 家電 玩具 管 理 (2)通用機的用途 CAD 通 訊 1 微(型)機的組成 圖1-1 五大件 I設(shè)備、0設(shè)備 又稱外設(shè)(含外存) 運算器、控制器 構(gòu)成CPU(微處理器) (算盤) (人) 存貯器 存原始數(shù)據(jù)(程序、表格、常數(shù)) (紙、筆) 中間結(jié)果 最后結(jié)果 控制器除輸出控制命令外,還接受I、0設(shè)備的 狀態(tài)信息2 三大塊
2、 外設(shè) CPU 內(nèi)存 后二者構(gòu)成主機 接口處含必要的接口電路 另外還有總線 CPU內(nèi)部 單總線 CPU對外 三總線 是掛,不是接死 緩沖 分時復用 系統(tǒng) CPU+ROM、RAM+接口電路+外設(shè)+電源 +軟件 前五項為硬件 外設(shè) 如鍵盤、數(shù)顯、CRT、行打等 單板機 前四項 裝在一塊板上 單片機 前三項 主機(裸機)3微(型)機的軟件 指令 計算機按指(定的命)令進行各種操作 每條指令對應一種特定的操作,如傳送、 加法、加1等 指令群預存于ROM 計算機自動順序執(zhí)行,除非轉(zhuǎn)移、轉(zhuǎn)子、 中斷(特殊的轉(zhuǎn)子) 程序 完成一種任務的指令的集合 軟件即各種程序(圖1-9) 只對計算機有用,否則一堆廢料!
3、指令系統(tǒng) 計算機設(shè)計與生產(chǎn)者使該計算機具有的 指令的集合微(型)機的機型。4二、單片機 單片機的發(fā)展歷史 19711976 萌芽階段 4位機 家電、計算器、高級玩具 19761980 初級8位機 MCS-48系列 一般工控、智能 化儀器儀表 19801983 高級8位機 MCS-51系列 可用作智能終端、 多機通信 1983今 16位機 MCS-96系列 有A/D轉(zhuǎn)換,通信 能力 提高,高速 控制 單片機的特點 輕小省廉 電源容量小 RAM、ROM容量小 但易擴展 可靠性高,抗干擾好 按工控環(huán)境設(shè)計 集成于片內(nèi) 滿足工控 轉(zhuǎn)移、位處理、I/O口邏輯操作功能強 5單片機的應用電腦型產(chǎn)品 家電、玩
4、具、游戲機、聲象設(shè)備 辦公設(shè)備、電子秤、收銀機、廚房設(shè)備儀器儀表 可測量、可處理(運算、誤差修正、 線性化、零漂處理)、可監(jiān)控 實現(xiàn)數(shù)字化、 智能化。 機電一體化 數(shù)控機械、縫紉機械、醫(yī)療設(shè)備、 汽車計算機外設(shè) 打印機、繪圖儀、智能終端一般工控 溫控、液面控制、電鍍生產(chǎn)線、多機應用 加工中心機床、要求高的數(shù)據(jù)采測系 統(tǒng),分層控制、 6三. 計算機中的數(shù)與碼制 二進制 物理狀態(tài)明確: 1 開通 0 關(guān)斷; 硬件成本比十進制 字長 8位機 8位二進制數(shù),也有16 32 64 4 1 位的 字節(jié) 一般8位二進制數(shù) 各位符號 D7 D6 D5 D4 D3 D2 D1 D0左高右低 70,不是81!25
5、6種變化(0255,256個數(shù))到256溢出,又成071、十進制數(shù) D 日常生活用2、二進制數(shù) B 計算機用 1K=1024!(數(shù)大用它計數(shù)方便)3、八進制數(shù) Q 三位二進制數(shù) 較少用4、十六進制數(shù) H 四位二進制數(shù) 用得多,8位二進制數(shù) 分成前后二個十六進制數(shù)5、BCD碼 二-十進制數(shù) 二進制編碼的十進制數(shù) 8、4、2、1 例:4978.149 (0100 1001 0111 1000.0001 0100 1001)BCD6、ASCII碼 美國標準信息交換碼(見附錄A) 以7位二進制數(shù)構(gòu)成,D7用作奇偶校. 串行傳送 7位二進制數(shù)可表示128個字符 09 用3039H表示 加帽30H(48)
6、 AF 用41H46H表示 加帽37H(55) (AZ) (41H5AH)8帶符號的數(shù) D7符號位,=0為正數(shù), =1為負數(shù); D6D0為數(shù)字位。1、原碼 例4、32、1272、反碼 正數(shù) 反碼=原碼 例+4、+32、+127 負數(shù) D6D0按位取反 例-4、-32、-1273、補碼 正數(shù) 補碼=原碼 例+4、+32、+127 負數(shù) D6D0按位取反加1 例-4、-32、-127 取反是以全1(255)為準,要加1(成256)為補 +4 -4 +32 -32 +127 -127原碼 00000100 10000100 00100000 10100000 01111111 11111111反碼
7、00000100 11111011 00100000 11011111 01111111 10000000補碼 00000100 11111100 00100000 11100000 01111111 10000001 反碼是過渡,補碼可使加法成減法,計算機只做加法和邏 輯處理9例 64-10=64+(-10) 01000000 +) 11110110 00110110 64補+-10補=64+118=182=54補 加數(shù)、被加數(shù)、結(jié)果都用補碼又例 34-68=34+(-68) 00100010 +) 10111100 11011110 34補+-68補=34+60=94=-34補 (減法)
8、(加法) 鐘表 10點撥到 3點 可退7,可進5 7+5=12,補的關(guān)系10第二節(jié) 微處理器 圖1-14 運算器 1、ALU 2、A 3、F C、AC、OV、P、Z 4、BCD調(diào)整 5、TR 控制器 1、IR 2、ID 3、定時電路 控制電路 工作寄存器組 提高計算機速度,簡化指令的機器碼 程序計數(shù)器 指針 三種功能 數(shù)據(jù)總線,地址總線,控制總線 內(nèi)部總線 另內(nèi)部控制線11工作過程舉例 P.24 8+4+5=? 粗講指令、程序書寫格式 工作過程:取指 訪問內(nèi)存 (PC)為地址,經(jīng)AB,在ROM中選中 某單元 PC+1 讀回指令 經(jīng)DB,到CPU, 經(jīng)IR、ID、定時和 控制電路發(fā)各控制信號 執(zhí)
9、行(或再取下一字節(jié)雙字節(jié)指令) 重復取指執(zhí)行存貯單元內(nèi)容:“百讀不變” “一寫就變(ROM 不可寫、RAM 可寫)前客讓后客” 12 第三節(jié) 存貯器 體積 意義 計算機性能 的關(guān)鍵 速度 價格 指標: 存貯容量,讀寫周期、可靠性、耗電與集成度、價格 分類: 圖1-15 并行(位數(shù))、串行 內(nèi)存分RAM和ROM兩種 RAM 隨機可讀寫,存數(shù)據(jù)(I、O、中間、結(jié)果),失電丟失 雙極型 快、少 MOS型 靜態(tài) 圖1-17 集成度價格功耗不如動態(tài),勿需刷新 動態(tài) 圖1-19 2mS刷新一次,過去用得少,現(xiàn)發(fā)展快 ROM 只讀,存程序、常數(shù)、表格, 失電不丟失 掩摸ROM 價低、大批量、用于產(chǎn)品 RRO
10、M 用戶編程,一次性,熔絲式 EPROM 當前用得多,可擦(紫外線),可反復寫(不在線)擦 EEPROM 電可擦,可編程,大有前途13結(jié)構(gòu) 存貯體 外圍電路 AR、AD、I/0電路 圖1-16堆棧 RAM的一個區(qū)域 堆 先進后出、后進先出, 硬幣盒 棧 放斷點地址(先低后高)、現(xiàn)場信息 壓入指令PUSH 、彈出指令POP 圖1-25 (保存現(xiàn)場) (恢復現(xiàn)場) 保存斷點在執(zhí)行調(diào)子指令時由硬件實現(xiàn) 入棧 恢復斷點在執(zhí)行返主指令時由硬件實現(xiàn) 出棧 SP 堆棧指針、專用寄存器 專指棧頂 其值程序初先設(shè)定(定棧底該單元空) 以后隨進、出棧自動浮降(指棧頂該單元滿) 14第四節(jié) I/O接口電路 一. 概
11、述 計算機系統(tǒng)必有I/O設(shè)備 外存也可看作外設(shè),要與CPU交換信息.15 外設(shè)與計算機間要傳遞數(shù)據(jù)、狀態(tài)、控制信息, 速度懸殊, 快速如磁盤, 250000位/秒; 慢速每字符為秒級. 傳遞要媒介, 如中間人, 二手牽, 這就是I/O接口電路. CPU只認接口電路, 可設(shè)多個端口, 數(shù)據(jù)端口8 位; 狀態(tài)和控制端口有時只1位, 可合用. 功能 數(shù)據(jù): 緩沖鎖存、信息轉(zhuǎn)換、電平轉(zhuǎn)換. 地址: 譯碼選中. 控制: 狀態(tài)信息 中斷申請 控制信息16二、CPU與外設(shè)間數(shù)據(jù)傳送方式 (一)無條件傳送(同步方式) 外設(shè)總準備好 外部參數(shù)變化慢(一段時間內(nèi)不變) (二)條件傳送(異步方式) 查詢傳送方式 不
12、一定準備好(或空) 條件 異步 要查詢外設(shè) CPU等,反復查詢,到條件滿足,才I或O。 圖1-31 CPU受牽制,不能作它用。 不斷問,象“老和尚念經(jīng)”. (三)中斷傳送方式 CPU先發(fā)啟動外設(shè)工作命令,即可做自己工作。 外設(shè)準備好或空,請求中斷,中斷原程序,轉(zhuǎn)中斷 服務程序(I、O),服務好,返原程序,仍做原 工作,直待下 次請求中斷, CPU與外設(shè)(或多個外設(shè))可同時工作。 CPU做更需CPU做的事 “急癥病人” 胡榮華除與一名手下棋,再加很多“一般棋手”。17(四) 直接數(shù)據(jù)通道傳送(DMA) CPU靠邊,交出總線例:某外設(shè)以100字節(jié)/s傳送,如送100字節(jié) 查詢: 用1s 中斷:中斷
13、服務程序每執(zhí)行一次100s, 100100s=10毫秒 1/100! DMA: 不需保護現(xiàn)場、斷點 不需恢復現(xiàn)場、斷點18三、中斷 用途:分時操作 CPU、外設(shè)同時工作 幾個外設(shè)同時工作 實時處理 監(jiān)控現(xiàn)場參數(shù)、裝置 在任意時刻發(fā)中斷請求,CPU及時處理 故障處理 如電源中斷(通過中斷程序, CPU自行緊急處理大電容、備用電 源)等。19中斷源:引起中斷的原因、能發(fā)中斷請求的裝置。 I/O設(shè)備(含外存) 外部實時時鐘 故障 硬件軟件構(gòu)成 工控的條件、檢測電路 程序 斷點優(yōu)先權(quán):排隊 多個中斷源同時請求時,誰優(yōu)先 權(quán)高,響應誰,依次響應 嵌套 高優(yōu)先權(quán)中斷,中斷低優(yōu)先權(quán)中斷響應過程:開中(包括接
14、口電路) 是否響應? (優(yōu)先權(quán)) 如響應,要現(xiàn)指令執(zhí)行完20 大致的過程如右 (可稍有出入) 注意順序、自動完成的功能(例如開中、關(guān)中)有的需撤消中斷請求信號 防止多次響應 保存斷點(自動)轉(zhuǎn)相應中斷服務程序入口地址 (有時多次轉(zhuǎn))中 關(guān)中斷 保存現(xiàn)場服 開中(如可嵌套)務 子 程 真正中斷服務程序序 關(guān)中(如可嵌套) 恢復現(xiàn)場 開中(如不嵌套) 恢復斷點 繼續(xù)原程序21第二章 MCS-51系列單片機的硬件結(jié)構(gòu)第一節(jié) MCS-51總況 產(chǎn)品簡單介紹 P45 表2-3 一、MCS-51性能 P39 二、結(jié)構(gòu)框圖 圖2-1 三、引腳說明 圖2-2、表2-1第二節(jié) 微處理器 一、運算器 算邏單元 除
15、一般算邏操作外,可:、(在B配合下),交換, 比較判跳,有強的位操作功能。 (A) (A)+#data (A) (A) #data A INC A ADD A, #data ANL A, #data RLA CLRA PSW 圖2-3 C、AC、FO、RSI、RSO、OV、P算邏單元 除一般算邏操作外,可:、(在B配合下),交換,22 二、控制器 三、振蕩器和CPU時序 1、振蕩器 圖2-4 2、時序 圖2-5 PC指下一指令的地址 讀單字節(jié)單周期指令 INC A 讀雙字節(jié)單周期指令 ADD A,#data23 第三節(jié) 存貯器 單片機必含 RAM、ROM: 用途、容量 表2-3: 8031 8
16、051 8751 一、ROM 1. 編址與訪問 尋址范圍: 64K 0000HFFFFH 擴展裕量大 編址: 先片內(nèi)、再片外,片內(nèi)、片外連續(xù),不重疊 EA: (高) (低)(只片外) 調(diào)試程序: 可重疊! 2. 七個特殊單元 表2-4 放跳轉(zhuǎn)指令 24 二、RAM 1、編址與訪問 51 007FH RAM, 80FFH SFR 52 00FFH RAM, 80FFH SFR 訪問見表2-5 片外 可64K單元,用DPTR數(shù)據(jù)指計寄存器 可訪問0000H FFFFH 可256單元,R間址 都用MOVX指令 訪問ROM用MOVC指令,訪問片內(nèi)RAM用 MOV指令, 地址均可重復252、片內(nèi)RAM
17、有三個區(qū) 圖2-8 工作寄存器組區(qū) 0 0007H 1 080FH 2 1017H 3 181FH 位尋址區(qū) 202FH 數(shù)據(jù)緩沖區(qū) 棧區(qū)設(shè)置 原始SP指向07H,可改設(shè),一般2FH或更大3、 SFR 表2-7 不包括PC 51 18個(內(nèi)3個雙字節(jié)) 12個可位尋址 表2-7 52 21個(內(nèi)5個雙字節(jié)) direct 指令27條 且可位尋址 訪問未定義字節(jié)無意義! 位尋址用途 例 SETB D3 R區(qū)改用1組26 第四節(jié) 定時器/計數(shù)器 用途:最重要接口 定時器:定時檢測、采樣或控制(例步進電機) 計數(shù)器:計數(shù)、延時 一、定/計0、1的結(jié)構(gòu) 圖2-9 16位加1計數(shù)器 高8位 低8位 TH
18、0 TL0 對TCY(機器周期脈沖)計數(shù) TH1 TL1 定時值、計數(shù)值由初值設(shè)定決定 1、TMOD P52 高半字節(jié)定/計1,低半字節(jié)定/計0 門控端 定/計選擇 方式選擇M1、M0 其決定見表2-827 2、TCON P.53 高半字節(jié)TR0、TR1,TF0、TF1 低半字節(jié) 外部中斷用 起動 TR0、TR1 由軟件置1或清零 溢出 TF0、TF1 置1,中斷請求 響應后清零二、定/計0、1的工作方式 方式0 圖2-10 M1、M0為00 13位定/計(TL1高3位未用) C/T=0 定時器 對內(nèi)部時鐘Tcy計數(shù) 可213s C/T=1 計數(shù)器 對外部脈沖(T1引腳)計數(shù) 可213次 計數(shù)
19、值=213初值 定時值=(213初值) Tcy 溢出后要重置初值 TR啟停與門控方式(可測 INT1、INT0上正脈沖寬度) 采樣計數(shù)脈沖的時序決定對計數(shù)脈沖的要求(頻率、寬度)28 方式1 M1、M0為01 16位定/計 216s或216 次 計數(shù)值=216 初值 定時值=(216 初值)Tcy 溢出后要重置初值 其它情況可參照方式0推知 例2-2 定初值 TMOD編程 初始化程序 方式2 圖2-11 M1、M0為10 8位定/計 28s或28 次 溢出后能自動重置初值 方式3 圖2-12 M1、M0為11 僅定/計0可 此時定/計1作串行口的波特率發(fā)生器 定/計0為二個8位定/計 用TR0
20、、TF0、TL0 借用TR1,TF1,THO非門控三、定/計2 自學29 第五節(jié) 并行I/O口 4個準雙向口,可并行I、并行O、位I、位O。 P1口: 通用I/O口 圖2-15 一位 輸出鎖存 輸入緩沖 驅(qū)動 輸出(寫) 如 MOV P1,#data 51無I/O指令 經(jīng)鎖存器 輸入(讀) 如 MOV A,P1 先輸出1,“準”! 由引腳 復位后為1,可I 修改(端口操作) 可與、或、異或、+1等(P.60) “讀 修改 寫” 鎖存器 在CPU 鎖存器 負載能力 約4個(實3個)LSTTL 不須上拉電阻 52子系列 P1.0作T2,P1.1作T2EX.30 P2口: 高8位地址總線 通用I/O
21、口 圖2-16 內(nèi)部控制信號選擇其功用 訪片外ROM 右 (鎖 )不變 不能再作它用 通用I/O口 左 似P1口 未用作地址線的位 (I、O、修改、負載能力) P3口: 通用I/O口 第二功能(表2-1) 圖2-17 通用I/O口 第二功能輸出端=1! 余同P1口 第二功能 (鎖 )必=1! 輸入由緩沖器3 P0口: 地址/數(shù)據(jù) 分時復用總線 通用I/O口 圖2-18 (地/數(shù)總線) 訪片外存貯器 控制信號=1 3、4不同時出1 T2、T1不同時通 T2通為1,T1通為031 (通用I/O口) 無片外存貯器 控制信號=0 同P1口 如輸入 T1、T2都不通 引腳懸浮 如0C、0D 如輸出 T2
22、 不通 OD 都要上拉電阻 負載能力 8個LSTTL 串行口 單工、半雙工、全雙工 并行通信 快 硬件多,線多; 如線長, 干擾、壓降、費用均上升 (圖2-19) 串行通信 慢 硬件少,線少; 適于通信 (圖2-19) 雙機 多機 異步通信 圖2-20 8位數(shù)據(jù)1幀 9位數(shù)據(jù)1幀 第9位多作數(shù)據(jù)/地址辯別 起始位0 停止位1 空閑位1 同步通信 圖2-21 同步幀 快 位寬(每位時間) 波特率(每秒位數(shù))32SCON SM2 多機通信用 SM0、SM1 決定工作方式 表2-11 (為1) REN 起動接收 由軟件置1或清零 起動發(fā)送 例:MOV SBUF,A TB8 發(fā)送的最高位(第8位)數(shù)據(jù)
23、 方式1 不用 RB8 接收的最高位(第8位)數(shù)據(jù) 方式1 放停止位 TI 發(fā)送全一幀信息置位,申請中斷或接受查詢 RI 接收全一幀信息置位,申請中斷或接受查詢 由程序清零33工作方式: 方式0 多用 擴展并行I/O口 fOSC/12 方式1 雙機通信 8位 可變(定/計1溢出) 方式2 多機通信 9位 fOSC /64或fOSC /32 方式3 多機通信 9位 可變(定/計1溢出) 波特率 方式0 fOSC /12 方式2 SMOD=0 fOSC /64 SMOD=1 fOSC /32 方式1 2SMOD 定/計1溢出速率 1/32 方式3 2SMOD 定/計1溢出速率1/32 SMOD 電
24、源控制寄存器的最高位 方式0 圖2-22 放第四章講34第七節(jié) 中斷系統(tǒng) 圖2-28一、中斷源 二種講法(1)申請者 (2)申請種類(機器角度) 稍有不同!二 中斷屏蔽寄存器IE P.71上半頁 1允中 0屏蔽 EA總 其它諸中斷三、中斷優(yōu)先級寄存器IP P.71下半頁 先分高低級(圖2-28) 同級的查詢順序定高低 另,TCON低半字節(jié) IT1、IT0=0電平觸發(fā) 1跳變觸發(fā) IE1、IE0 下降沿置1, 中斷響應后清零四、中斷響應 過程 入口地址 中斷矢量 RETI返回,不用RET五、中斷請求的撤除 圖2-29 多用一D觸發(fā)器 在中斷服務程序用與、或指令使P1.0有一負脈沖 ,Q為高。35
25、 第八節(jié) 特殊工作方式 1、復位 復位電路 圖2-30 復位后狀態(tài) 表2-12 PC 0000H , PSW 工作寄存器0組 棧區(qū) 08H起 ,各并行I/O口 可I IP 都低優(yōu)先級,IE都禁中 定/計 初值為0 ,SBUF 不定 其它常用寄存器 一般都00H 2、節(jié)電 新工藝芯片 掉電 等待 自學36第三章 MCS-51系列單片機的指令系統(tǒng)和匯編語言程序示例第一節(jié) 匯編語言與指令系統(tǒng) 重述 機器語言、匯編語言、高級語言 匯編語言程序設(shè)計的重要性:小系統(tǒng), 工具放不下, 單片 機!程序效率高, 占用時間 、空間少 , 小系統(tǒng)和實時. 學微機 : 軟件、硬件結(jié)合, 深入融匯貫通. 指令系統(tǒng):11
26、1條指令 五大類 簡明整齊 指令短 單字節(jié)49 雙字節(jié)46 三字節(jié)16 指令周期短 適于工控! 位操作強 指令匯總表 例見表3-1 助記符 尋址 便于手譯 長度 時間 操作碼 操作數(shù) 操作功能 機器碼 字節(jié)數(shù) Tcy37第二節(jié) 尋址方式 尋址方式 特征 訪問 尋址范圍 用途 例1、立即尋址 前綴# MOV A,#30H (A) #30H2、寄存器尋址 Ri R 48單元 存取操作數(shù) MOV A,R2 (A ) (R2) ADD A,R2 MOV R3,A3、寄存器間址 前綴 RAM 28=256單元 存取操作數(shù) MOV A,R1 Rj (51 只128單元) (A) (R1)4、直接尋址 ad
27、dr ROM 64K、2K 給出跳轉(zhuǎn)或調(diào)子地址 direct RAM007FH 128 各類指令表 SFR 21(51) 存取操作數(shù) 自己找 26(52) 位操作指令 直接尋址位 221 (位) 5、基寄+變寄間址 ROM 64K MOVC指令 MOVC A,A+DPTR PC或DPTR A MOVC指令 (查表) MOV A,A+PC6、相對尋址 偏移量rel ROM 255 程序浮動 CJNE A,#FFH,rel (補碼) (PC -128 +127)38第三節(jié) 數(shù)據(jù)傳送類指令一、指令表表3-1 7個小類 29條 用得多,占75% 以A為一方 6條三對互逆, 含其它特征的未列入, 尋址片
28、 內(nèi)RAM(含SFR), i 0-7, j 0-1(只R0、R1), direct 128+21+26;唯一可尋址SFR, nn地直接尋址地址 不以A為一方 direct類!5條,二對半, 第5條機器碼nn地源 nn地目的勿顛倒 立即數(shù)置數(shù) 置數(shù)類 nn立即數(shù) 第5條 唯一16位傳送指令nn高nn低 (#data16位)39 訪問片外RAM MOVX指令,尋址片外RAM 前2條R間址,尋址28單元 后2條 DPTR間址,尋址64K單元 (基址)+(變址R) MOVC指令,訪問ROM,查表 基址R:PC或DPTR,尋址64K單元 變址R:A, 變址28單元 交換 51指令系統(tǒng)特色(多、快、靈活)
29、 3條 整字節(jié)交換 2條 半字節(jié)交換 操作數(shù)都未丟失(沖走) 進棧出棧 堆棧操作類,壓入、彈出指令 只與direct有關(guān) 128+21+26條, 豐富40二、例 1、R尋址指令 P.82 一條實為8條,或32條, 確切R地址與RS1、RS0值有關(guān) 2、I/O指令 P.83 如direct為80H、90H、A0H、B0H, MOV A,direct 為I指令, MOV direct, A 為O指令, 不以A為一方的也可作I、O指令 3、機器碼 接上例 MOV R5,A 為FDH 4、算字節(jié)數(shù) 算Tcy數(shù) 再接上例 MOV A,R1較 MOV A,50H 孰優(yōu)? 設(shè)(R1)=50H (50H)=F
30、FH 得(A)=FFH (A) (RI) 機器碼 E7H 1字節(jié) 機器碼E5H、50H 2字節(jié) 1Tcy 1Tcy 但左先要有 MOV RI,#50H 即添機器碼A9H 50H二字節(jié)1Tcy! direct是MCS-51 指令系統(tǒng)特色41 5、MOVX指令 P.85例 又:擴展I/O口的I/O指令 6、雙direct指令 接上例 MOV direct,direct指令好,直捷 7、MOVC指令 P.85末 注意(PC)的值 嚴格說:(PC)為下一字節(jié)的地址, 不是當前地址 8、交換指令 P.86三例 9、堆棧操作指令 P.87 PUSH 先調(diào)棧計,自動上?。?1),后壓 棧頂總滿 POP 先彈
31、,后調(diào)棧計,自動下降(-1) 但棧底空42第四節(jié) 算術(shù)操作類指令一、指令表 表3-2 5個小類 24條 快(一般1Tcy, INC DPTR 2Tcy, 4Tcy) 加法 共8條, 不帶C,4條;帶C,4條 不帶C 適用于單字節(jié)或多字節(jié)的最低字節(jié)、帶C 適 用于多字節(jié)的高字節(jié)相加 影響C、AC 、 OV 減法 4條,總帶C; 影響C 、AC、 OV 加1 5條 第4條可“讀修改寫”端口 減1 4條 第4條可“讀修改寫”端口,無DEC DPTR 其它算術(shù)操作 3條 DA只用于BCB碼加法, 不能用于 BCD碼減法 影響C MUL、DIV A與B配合,中間無“,” AB積存B、A,C清零,OV:積
32、 255置位, 255 復位 A/B,商在A,余在B, C清零,OV: (B)=0置位, 0復位43二、例 1、有符號數(shù)指令 注意OV P.89、P.90 四例(OV=1) 上次課先布置予習,本次課細講結(jié)論 2、加法指令 標志位 P.89例 3、減法指令 標志位 P.90例 4、DA指令 P.92例 5、標志位 P.93與表3-344第五節(jié) 邏輯操作類指令一、指令表 表3-4,4個小類(含A操作), 24條,不含位邏 輯操作,其中3條三字節(jié),2Tcy,余均1 Tcy 與指令 6條,第4、6條送回direct:可“讀修改寫”端口 以(A)或nn修改R、RAM、direct、A內(nèi)容, 用0清零、用
33、1不變 或指令 6條,第4、6條送回direct:可“讀修改寫”端口 以(A)或nn修改R、RAM、direct、A內(nèi)容, 用0不變、用1置1 異或指令 6條,第4、6條送回direct:可“讀修改寫”端口 以(A)或nn修改R、RAM、direct、A內(nèi)容, 用0不變,用1取反 A操作 也6條,A清零、A取反 另4條移位, 循環(huán)左移一位,小、大循環(huán),圖3-1,2 循環(huán)右移一位,小、大循環(huán),圖3-1 , 245 二、例 1、與指令 P.94二例 2、或指令 P.95二例 3、異或指令 P.96二例 4、A 操作指令 P.97二例第六節(jié) 程序轉(zhuǎn)移類指令 一、指令表 表3-7 3個小類 16條 均
34、2 Tcy 另加NOP 1條 1Tcy 不含位條件轉(zhuǎn)移指令46無條件轉(zhuǎn)移 4條 長轉(zhuǎn)移 64K地址內(nèi)(216) 73 ( 必轉(zhuǎn)) 相對長轉(zhuǎn)移 64K地址內(nèi)(216) 02 nn高 nn低 絕對轉(zhuǎn)移 2K地址內(nèi)(211) 偶1 nn地(低8位) (表3-5) 相對短轉(zhuǎn)移 一頁地址內(nèi)(28) 80 nn相對 要能手譯偏移量rel條件轉(zhuǎn)移 8條 (A)=0? 2條; 都相對 比較 4條; ,轉(zhuǎn);后前,C置1; =,不轉(zhuǎn) 短轉(zhuǎn)移 后前,C清零; (R)=0? 2條 一 條 頂二條:DEC Ri (或Direct) (direct)=0? 靈活 JNZ rel調(diào)子與返回 4條 長調(diào)子 64K地址內(nèi)(21
35、6) 絕對調(diào)子 2K地址內(nèi)(211) 奇1 nn地(低8位)(表3-6) RET RETI 恢復斷點前,清IP而開中空操作NOP 延時程序等有用 00H47二、例 1、絕對轉(zhuǎn)移指令 可尋址2K(8頁) 11位中高3位決定頁 數(shù), 但高5位變化有32種地址 P.98例 PC當前值決定的2K! 本例特殊,跨到下一2K范圍 長轉(zhuǎn)移指令 可尋址64K,但多用一字節(jié) 不多用 2、相對短轉(zhuǎn)移指令 rel 多用符號地址 機器匯編自動代真 人工匯編 基本功,勿算錯 P.99 末例 STMP $ 80 FE48 3、相對長轉(zhuǎn)移指令 p.100例 多分支 散轉(zhuǎn)指令 前5位后11位指明 分別轉(zhuǎn)1900H、 1B00
36、H、1C00H、1D00H 4、比較指令 減1不為零轉(zhuǎn) P.101例 又例 再例 5、絕對調(diào)子指令 P.102 對照AJMP指令, 但注意操作 P.104 例 又例49第七節(jié) 位操作類指令 一、指令表 表3-8 3個小類 17條 豐富,專門子集,適用于邏輯控制 位傳送 2條 C和 bit互換 nn位 直接尋址位 四種表示方式(P.105) 位邏輯操作 10條 C 3條 清零、置1、取反 bit 3條 清零、置1、取反 C/bit、C/bit 2條 C/bit、C/bit 2條 位條件轉(zhuǎn)移 5條 C=1 相對轉(zhuǎn)移 2條 C1 相對轉(zhuǎn)移 2條 bit=1 相對轉(zhuǎn)移 2條 bit1 相對轉(zhuǎn)移 2條
37、bit = 1 相對轉(zhuǎn)移且清零 1條50二、例 1、位傳送指令 p.105例 2、位邏輯操作指令 p.106例 又例 3、位條件轉(zhuǎn)移指令 p.107例 又例51第八節(jié) 匯編語言源程序的格式和偽指令 格式:(地址單元)(機器碼) 標號:操作碼 操作數(shù);注釋 注意拉齊、空格、標點(如 :、,、;) 有的最前面冠以句號 操作數(shù)可有0個、1個、2個(多數(shù))、3個,有時是表達式。 偽指令:注釋性,計算機不執(zhí)行 ORG 定義起始地址 END 結(jié)束指令, 有時后隨初址 DB 定義字節(jié) DW 定義字 DS 定義字節(jié)數(shù) bit 定義位,規(guī)定特定位以標號 EQU 字節(jié)(標號)賦值 例:P.109 P.110 52
38、第九節(jié) 算邏處理程序 常用、常見程序段 逐漸會編程,提高 技巧 不是最優(yōu)程序,但是可行程序,可: 鉆研(要求稍變)、 思考,精益求精,試編,手譯機器碼 先看,看幾遍,由粗看,再細看,抓頭緒,摘記、歸納, 到看懂,到會編 會編、會看、都是基本功。 例3-1 圖3-4 例3-2 圖3-5 編程前,往往先編程序框圖, 要求(粗) 具體(細) 指令與程序考慮初始化(先考慮資源分配:R、內(nèi)存單元、定/計等) 設(shè)定地址指針、計數(shù)器、R或定/計置初值 本例注意: C先置0、rel為F9H53 例3-3 自已舉一反三看懂 例3-4 假定和小,不溢出 注意ACALL指令的機器碼,(A)的變化 例3-5 高字節(jié)最
39、低位移入低字節(jié)最高位 符號位不變,故可適用于處理帶符號數(shù) 例3-6 注意:最低字節(jié)處理要取反+1,其它字節(jié)單取反 最低字節(jié)用ADD指令、其它字節(jié)用ADDC指令的用意 例3-7 排序 上課自學、當堂答疑 注意 rel=0B 、07、02,F(xiàn)0=D5 例3-8 自學,添機器碼 完善: 設(shè)數(shù)串有L個數(shù) 每輸入兩數(shù)間有時間間隔 或輸入一數(shù)時要查詢某標志位 問: START一定地址值很小,否則MOV A,P1 前先MOV P1,#FFH 為什么?54 例3-9 排隊 看懂程序(參考表3-9)可相互討論 補流程框圖 添機器碼 例3-10 兩雙字節(jié)無符號數(shù)相乘 高字節(jié)低字節(jié) 被乘數(shù) R7 R6 乘數(shù) R5
40、R4 對照表3-10,分成4段,部分積逐段提前一字節(jié) (似小學乘法豎式) 注意: 如何計及可能有的進位。5556例3-14 查表法 籍DPTR查表 籍PC查表 參數(shù)傳遞 TAB不必緊接 TAB必需緊接巧妙 且因有RET, 三種(P.120)自學 故要INC A 子程序首句前要標號,末句為RET 查表法也可用于例3-12,但TAB要接長 DB 41 DB 42 57第十一節(jié)散轉(zhuǎn)程序自學要求徹底理解 例3-15 兩種方法: AJMP、LJMP 在p.100例基礎(chǔ)上 例3-16 注意PUSH與RET指令用法!第十二節(jié)延時程序 軟件延時,不添硬件,變化靈活,但占用CPU, 多用,多為子程序 例3-17
41、1ms延時執(zhí)行程序的耗時循環(huán)數(shù)與NOP湊時間 例3-18250 ms延時 上例調(diào)用250次自學58第十三節(jié)定/計應用程序 例3-191延時定/計0 1 ms延時,定/計1 計數(shù)60000次,兩者串接,CPU不占用1000=03E8H,初值應為FC18H60000=EA60H,初值應為15A0H0030H到005FH,初始化程序 0060H到008FH,CPU作監(jiān)控用,+調(diào)用子程序耗時 +0093H到00A3H用時,應1ms,不足1ms的部分用于JNB TFO,等待。 例3-20 讀定/計 “先讀TH0、后讀TL0、再讀TH0”:防錯 自學59 第十四節(jié)外部中斷應用程序 例3-21 某工控系統(tǒng)
42、圖3-8 注意 INT00、INT01、INT02、INT03、DELAY的真 實地址,AJMP轉(zhuǎn)那里 撤除中斷請求(常用于電平激活場合) 保存與恢復現(xiàn)場 外部中斷入口地址 例3-22利用外部中斷實現(xiàn)程序轉(zhuǎn)換 圖3-9、圖3-10、表3-11 數(shù)顯(6位)的安排 注意:復核各ACALL、AJMP指令的機器碼,復核 各rel(+5、ROUT1、ROUT2、)的值 自學 第十五節(jié) 串行接口應用程序 成績好的自學,其它同學答疑、復習60第四章MCS-51系列單片機的擴展單片機每需擴展:ROM、RAM、并行I/O口、定/計等。擴展很方便。三總線結(jié)構(gòu)圖4-1如擴展的外接芯片多,要用總線驅(qū)動器,單向的、雙
43、向的。驅(qū)動器圖4-2驅(qū)動器接法 圖4-361 第一節(jié)最小系統(tǒng)與程序存貯器的擴展 一、最小系統(tǒng) 未曾擴展 不是應用系統(tǒng),只是裸機 接線 圖4-4 8031 40根 P2、P0地/數(shù)總線 P1 、 P3 電源2根 接晶振2根 EA、RESET接法 ALE 鎖存地址(下降沿) PSEN 取指(上升沿) 2716 24根 地址線 11根(2K)輸出數(shù)據(jù)8根 CE、OE 電源3根 現(xiàn)多用2764以上(圖4-6)(表4-1) 373 20根 8進8出 電源2根 G、OE (圖4-7、4-8、4-9) P2.0接 A8 P2.1 接 A9P2.2接 A10 不能亂接 2732添 P2.3接 A11、2764
44、添P2.4 接A1262原理 第一瞬間 地址鎖存 S2 P0為AB 送A0A7到373鎖存圖4-5 (ALE下降沿) 第二瞬間 取指 S4 P0為DB A0A7由373送 (PSEN上升沿) 必須有地址鎖存器(總線復用)二、程序存貯器的擴展 帶ROM的單片機一般小系統(tǒng),簡單 用片外ROM的單片機, 兼有的系統(tǒng)少用 片外ROM容量干脆大 圖4-10 27128 圖4-11 多片 圖4-12線選法 不用譯碼器 多用單片 圖4-13譯碼法 占用口線少 圖4-14 尋址可兩個64K63 三、用EEPROM的程序存貯器擴展 不用紫外線 可在線改寫 發(fā)展快: 閃存 常用芯片 圖4-15 表4-2、4-3、
45、 2864A、2864B 擴展電路 圖4-16、4-17 第二節(jié)數(shù)據(jù)存貯器的擴展一、用靜態(tài)RAM的擴展 芯片 圖4-18表4-4、4-5、4-6 擴展電路 圖4-19、4-20 (圖4-21、4-22自學) 兼有片外ROM、RAM的擴展電路圖4-23(時序圖4- 24)二、用EEPROM的數(shù)據(jù)存貯器擴展 圖4-16 PSEN 改用RD三、用動態(tài)RAM的數(shù)據(jù)存貯器擴展 圖4-25 發(fā)展快64 第三節(jié) 并行I/O的擴展 一、用多功能芯片的擴展 表4-7 8155/8156 256單元RAM 定時器 28+6口 地址鎖存器 8255A 38 口 8355/8755A 2K單元ROM 28 口 地址鎖
46、存器 8255A芯片 引腳圖4-26 表4-8 結(jié)構(gòu)圖4-27 表4-9端口地址 方式控制字 各位定義圖4-28方式0(基本I/O) 方式1(選通I/O) 方式2(雙向) 只A口 各狀態(tài)控制信號表4-10 置位/復位字 表4-11 例4-2、4-3 擴展實例圖4-29 例4-4、4-565 8155/8156芯片 引腳 圖4-30 表4-12 結(jié)構(gòu) 圖4-31 表4-13端口地址 寫命令字 定工作方式 表4-14 命令/狀態(tài)R 讀狀態(tài)字 知A、B口與定時器狀態(tài) 定時器R 圖4-32 定時器為14位減法器 決定輸出方式(圖4-33)和計數(shù)初值 擴展實例 圖4-34 地址 8755A芯片 引腳 圖
47、4-35表4-15 結(jié)構(gòu) 圖4-36 寄存器 端口地址 讀寫條件 表4-16 擴展實例 圖4-37表4-1766二、用TTL芯片的擴展 價低、種多、靈活通過P0擴展 用74LS377擴展O口 圖4-38圖4-40 圖4-43 用74LS244擴展I口 圖4-41 圖4-42 圖4-43三、用8243的擴展自學四、用串行口的擴展 串行方式0可擴展很多口線,但速度下降 并行I/O串行移位器 CMOS TTL 4014 74LS165 圖4-50 4094 74LS164 圖4-52 圖4-49 并行I 程序 p.164 圖4-51 并行O 程序 p.165 參考圖2-22 RXD(P3.0) 串入
48、或串出 TXD(P3.1) CLK 打拍 P1.7 串并選擇67第五章 MCS-51系列單片機的接口與應用第一節(jié)扳鍵開關(guān)、撥盤開關(guān)、按鈕、鍵盤的接口 一、扳鍵開關(guān)的接口 置數(shù)、輸入電平、操作分檔等人機聯(lián)系 圖5-1程序 二、撥盤開關(guān)的接口 多見的是BCD碼撥盤開關(guān),將置定的十進制數(shù)轉(zhuǎn)成BCD 碼輸入計算機 圖5-2 用于參數(shù)設(shè)定 直觀,方便 原理表5-1 也可得反碼 圖5-3程序 三、按鈕的接口 手按的短時內(nèi)送出改變了的電平。 要消抖 圖5-4是硬件方法68四、鍵盤的接口 單一按鍵似按鈕 但多數(shù)組合成鍵盤矩陣式 重要的人機聯(lián)系手段 輸入程序、數(shù)據(jù)、命令、控制程序 走向 全掃描查有未按、有未松 圖5-5 逐行掃描查按的哪一鍵,轉(zhuǎn)相應鍵處理程序 何時掃描可主程序、可定時、可按鍵時申請中斷以進 行 圖5-6 程序 圖5-7 要介決: 消抖、每按一次響應一次、一鍵多功能 編鍵 號與轉(zhuǎn)相應鍵處理程序,防止二鍵或多鍵同 按69第二節(jié) 顯示器與單片機的接口 上節(jié)輸入器件,本節(jié)輸出器件,都用于人機聯(lián)系一、LED與單片機的接口 用于信號指示輸入、輸出器件常通過擴展I/O口與單片機連接圖5-8程序 二、LED數(shù)碼管與單片機的接口 用于數(shù)顯輸出 前例3-22 共陰極數(shù)碼管、共陽極數(shù)碼管,筆劃信息可能按表3-10 置反 軟件譯碼、硬件譯碼 前者查表,后者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑合同補充協(xié)議書
- 房地產(chǎn)行業(yè)員工勞動合同
- 2025年包頭駕??荚囏涍\從業(yè)資格證考試
- 2025年黃石貨運從業(yè)資格證模擬考試下載什么軟件
- 2024-2025學年高中語文課時作業(yè)2鳥啼含解析蘇教版必修2
- 大學團支部年終工作總結(jié)
- 珠寶營業(yè)員工作計劃
- 聘用人員勞務合同范本
- 昆明理工大學《攝影技術(shù)》2023-2024學年第二學期期末試卷
- 車輛抵押擔保借款合同范本
- ESD測試作業(yè)指導書-防靜電手環(huán)
- 高一(4)班分科后第一次班會課件ppt課件(PPT 29頁)
- 高頻變壓器的制作流程
- 春季開學安全第一課PPT、中小學開學第一課教育培訓主題班會PPT模板
- JJG30-2012通用卡尺檢定規(guī)程
- 部編版人教版二年級上冊語文教材分析
- 艾賓浩斯遺忘曲線復習方法表格模板100天
- APR版制作流程
- 《C++程序設(shè)計》完整教案
- 美國LM2500艦用燃氣輪機
- RNA-seq研究方法與策略-zzz
評論
0/150
提交評論