




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)系統(tǒng)綜合設(shè)計(jì)與實(shí)踐課件第1頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二課程內(nèi)容單片機(jī)原理與應(yīng)用單片機(jī)應(yīng)用系統(tǒng)(儀表)硬件電路原理及編程單片機(jī)應(yīng)用系統(tǒng)示例任務(wù)書及要求第2頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二第一章 單片機(jī)概述單片機(jī)歷史和發(fā)展單片機(jī)應(yīng)用情況單片機(jī)開發(fā)第3頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二1-1 單片機(jī)的發(fā)展概況單片機(jī)的概念單片機(jī):將微處理器(CPU)、存儲(chǔ)器、I/O接口電路和相應(yīng)實(shí)時(shí)控制 件集成在一塊芯片上,稱其為單片微型計(jì)算機(jī),簡(jiǎn)稱單片 機(jī)。第4頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 單片機(jī)的發(fā)
2、展歷史和發(fā)展趨勢(shì)4位單片機(jī) (1971-1974) 低檔8位單片機(jī) (1974-1978) 高檔8位單片機(jī) (1978-1982) 16位單片機(jī) (1982-1990) 新一代單片機(jī) (90年代以來)發(fā)展趨勢(shì): 單片機(jī)在集成度、 功能、 速度、 可靠性、 應(yīng)用領(lǐng)域等全方位向更高水平發(fā)展。 第5頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二1-2 單片機(jī)的應(yīng)用應(yīng)用特點(diǎn)體積?。夯竟δ懿考M足要求可靠性高:BUS大多在內(nèi)部;易采取電磁屏蔽功能強(qiáng):實(shí)時(shí)響應(yīng)速度;I/O直接操作使用方便:硬件設(shè)計(jì)簡(jiǎn)單;提供開發(fā)工具資料性能價(jià)格比高:電路板??;接插件少易產(chǎn)品化:研制周期短第6頁(yè),共191頁(yè),2
3、022年,5月20日,18點(diǎn)3分,星期二機(jī)電一體化:電腦縫紉機(jī)智能儀表:測(cè)量?jī)x實(shí)時(shí)控制:汽車家電:(MOTOROLA)網(wǎng)絡(luò)通信:通信協(xié)議集成其中計(jì)算機(jī)外設(shè):鍵盤、打印機(jī)保健產(chǎn)品:按摩器多機(jī)應(yīng)用應(yīng)用: 量大面廣第7頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二1-3 單片機(jī)的開發(fā)和開發(fā)工具一、單片機(jī)應(yīng)用系統(tǒng)開發(fā)條件單片機(jī)芯片開發(fā)工具資料手冊(cè)第8頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程系統(tǒng)需求調(diào)查;可行性分析;系統(tǒng)方案設(shè)計(jì);系統(tǒng)建造;系統(tǒng)調(diào)試;系統(tǒng)方案局部修改、再調(diào)試;生成正式產(chǎn)品。第9頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星
4、期二三、單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本原則與方法二、一般設(shè)計(jì)方法確定系統(tǒng)功能與性能確定系統(tǒng)基本結(jié)構(gòu)硬件設(shè)計(jì)軟件設(shè)計(jì)1)任務(wù)確定2) 軟件結(jié)構(gòu)設(shè)計(jì)一、設(shè)計(jì)原則: 可靠性高 性能價(jià)格比高 操作簡(jiǎn)便 設(shè)計(jì)周期短第10頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二四、單片機(jī)應(yīng)用系統(tǒng)的調(diào)試第11頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二五、單片機(jī)開發(fā)系統(tǒng)1、通用型單片機(jī)開發(fā)系統(tǒng)2、軟件模擬開發(fā)系統(tǒng)第12頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二第二章 MCS51單片機(jī)的結(jié)構(gòu)基本組成(內(nèi)部資源)存儲(chǔ)器的配置I/O口的應(yīng)用功能時(shí)序及電路第13頁(yè),共191頁(yè),2022年,
5、5月20日,18點(diǎn)3分,星期二2-1 MCS - 51單片機(jī)的內(nèi)部結(jié)構(gòu)(8051) 存儲(chǔ)器I/O接口CPU第14頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二說明:中央處理機(jī)CPU (8位) 存儲(chǔ)器: 片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM (128個(gè)字節(jié)) 片內(nèi)程序存儲(chǔ)器EPROM(4 KB)I/O接口: 4個(gè)8位并行口(P0、P1、P2、P3口) 1個(gè)串行I/O接口。 2個(gè)16位定時(shí)器/計(jì)數(shù)器。 5個(gè)中斷源二級(jí)優(yōu)先權(quán)的中斷系統(tǒng)第15頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二MCS51系列部分單片機(jī)配置一覽表 第16頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-2
6、中央處理器 CPU 中央處理器是單片機(jī)內(nèi)部的核心部件, 它決定了單片機(jī)的主要功能特性。 它由運(yùn)算部件和控制部件兩大部分組成。第17頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二一、運(yùn)算器 運(yùn)算部件是以算術(shù)邏輯單元ALU為核心, 加上累加器A、 寄存器B、 暫存器TMP1和TMP2、 程序狀態(tài)寄存器PSW及專門用于位操作的布爾處理機(jī)組成的, 它能實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算, 位變量處理和數(shù)據(jù)傳送操作。第18頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二用戶關(guān)心算術(shù)邏輯單元ALU 2. 累加器ACC(Accumulator) 3. 寄存器B 4. 程序狀態(tài)字PSW(Progra
7、me State Word)POVRS0RS1F0ACCyD7 D6 D5 D4 D3 D2 D1 D0PSW第19頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、控制器 控制部件是單片機(jī)的神經(jīng)中樞, 它包括定時(shí)和控制電路、 指令寄存器、 譯碼器以及信息傳送控制等部件。 CPU執(zhí)行指令時(shí), 由程序存儲(chǔ)器中讀取的指令代碼送入指令存儲(chǔ)器, 經(jīng)譯碼器譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào), 完成指令所指定的操作。第20頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二MCS-51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)為哈佛結(jié)構(gòu),既:程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開尋址。從物理結(jié)構(gòu)上可分為: 片內(nèi)、 片
8、外程序存儲(chǔ)器 片內(nèi)、 片外數(shù)據(jù)存儲(chǔ)器 4個(gè)部分 儀表中的存儲(chǔ)器資源:片內(nèi)程序存儲(chǔ)器和片內(nèi)數(shù)據(jù)存儲(chǔ)器。 2-3 存儲(chǔ)器和特殊功能寄存器 一、MCS51單片機(jī)存儲(chǔ)器分類及配置第21頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 從尋址空間分布可分為: 程序存儲(chǔ)器 內(nèi)部數(shù)據(jù)存儲(chǔ)器 外部數(shù)據(jù)存儲(chǔ)器 3大部分從功能上可分為: 程序存儲(chǔ)器 內(nèi)部數(shù)據(jù)存儲(chǔ)器 特殊功能寄存器 位地址空間 外部數(shù)據(jù)存儲(chǔ)器 5大部分。第22頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二重點(diǎn)重點(diǎn)第23頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、程序存儲(chǔ)器計(jì)算機(jī)的工作是按照事先編制好的程序命令
9、一條條循序執(zhí)行的, 程序存儲(chǔ)器就是用來存放這些已編好的程序和表格常數(shù), 它由只讀存儲(chǔ)器ROM或EPROM組成。 程序運(yùn)行的入口地址 MCS51單片機(jī)程序存儲(chǔ)器中有復(fù)位和中斷源共6個(gè)固定的入口地址, 用戶不能更改。第24頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二MCS51單片機(jī)復(fù)位、 中斷入口地址0000H單元開始取指令來執(zhí)行程序。第25頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二三、內(nèi)部數(shù)據(jù)存儲(chǔ)器 MCS51系列單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器由讀寫存儲(chǔ)器RAM組成, 用于存儲(chǔ)數(shù)據(jù)。 內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM塊共分為工作寄存器區(qū)、 位尋址區(qū)和數(shù)據(jù)緩沖區(qū)3個(gè)部分。 第26頁(yè),共1
10、91頁(yè),2022年,5月20日,18點(diǎn)3分,星期二1、工作寄存器和RAM地址對(duì)照表 第27頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2、位尋址區(qū)第28頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3、數(shù)據(jù)緩沖區(qū) 30H-7FH是數(shù)據(jù)緩沖區(qū), 也即用戶RAM區(qū), 共80個(gè)單元。 用戶RAM區(qū)又可分為數(shù)據(jù)區(qū)和堆棧區(qū) MCS51單片機(jī)堆棧區(qū)不是固定的,且堆棧屬向上生長(zhǎng)型, 為了避開工作寄存器區(qū)和位尋址區(qū), 一般設(shè)在30H以后的范圍內(nèi)。 堆棧區(qū)數(shù)據(jù)區(qū)30H7FH第29頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二四、特殊功能寄存器SFR SFR又稱為專用寄存器。
11、 它專用于控制、 管理單片機(jī)內(nèi)算術(shù)邏輯部件、 并行I/O口鎖存器、 串行口數(shù)據(jù)緩沖器、 定時(shí)器/計(jì)數(shù)器、 中斷系統(tǒng)等功能模塊的工作。 97H電源控制0B8H中斷優(yōu)先級(jí)控制99H串行數(shù)據(jù)緩沖器0B0H口398H串行控制0A0H口28BH定時(shí)器/計(jì)數(shù)器1(低字節(jié))90H口180H定時(shí)器/計(jì)數(shù)器1(高字節(jié))80H口08AH定時(shí)器/計(jì)數(shù)器0(低字節(jié))83H和82H數(shù)據(jù)指針8CH定時(shí)器/計(jì)數(shù)器0(高字節(jié))81H堆棧指針88H定時(shí)器/計(jì)數(shù)器控制0D0H程序狀態(tài)字89H定時(shí)器/計(jì)數(shù)器方式控制0F0HB寄存器0A8H允許中斷控制0E0H累加器地址名稱地址名稱IPP3P2P1P0DPTRSPPSWBACC標(biāo)識(shí)符
12、PCONSBUFSCONTL1TH1TL0TH0TCONTMODIE標(biāo)識(shí)符第30頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二說明:PC: 程序地址寄存器(16位),始終指向下一條指令的內(nèi)存地址。 訪問范圍:00000FFFFHACC: 累加器(8位),專門存放操作數(shù)或運(yùn)算結(jié)果。B : 8位,專門為乘除法而設(shè)置的寄存器。SP: 堆棧指針(8位),始終指向堆棧的棧頂位置。 遵循“先進(jìn)后出”的原則。 DPTR: 數(shù)據(jù)地址指針(16位),存放程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器的 地址??煞諨PH和DPL兩個(gè)獨(dú)立8位寄存器。第31頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二程序狀態(tài)字
13、PSWCACF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0進(jìn)位標(biāo)志位輔助進(jìn)位標(biāo)志位用戶自定義標(biāo)志位溢出標(biāo)志位奇偶標(biāo)志位寄存器區(qū)選擇3區(qū)112區(qū)011區(qū)100區(qū)00第32頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二思考: 訪問內(nèi)部數(shù)據(jù)存儲(chǔ)器與外部數(shù)據(jù)存儲(chǔ)器的區(qū)別?1、地址不同。訪問內(nèi)部數(shù)據(jù)存儲(chǔ)器 MOV指令訪問外部數(shù)據(jù)存儲(chǔ)器 MOVX指令內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址為8位(00H-7FH)外部數(shù)據(jù)存儲(chǔ)器的地址為16位(0000H-FFFFH)2、訪問內(nèi)/外部存儲(chǔ)器使用的指令不同。第33頁(yè),共191頁(yè),2022年,5月2
14、0日,18點(diǎn)3分,星期二思考:什么叫哈佛結(jié)構(gòu)?程序存儲(chǔ)器用來存放什么?程序運(yùn)行的入口地址是什么??jī)?nèi)部數(shù)據(jù)存儲(chǔ)器分為哪幾個(gè)部分?位尋址區(qū)有多少個(gè)位?堆棧指針SP有多少位?堆棧是向(大、?。┑刂飞L(zhǎng)?第34頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-4 輸入/輸出口(I/O口)四個(gè)(P0、P1、P2、P3)雙向8位I/O口,共32根I/O口線。每個(gè)I/O線均由鎖存器,輸出電路和輸入緩沖器組成。所以每個(gè)I/O既可作輸入又可作輸出;每一條口線可獨(dú)立用作輸入又可用作輸出。第35頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 一、I/O口的應(yīng)用功能P0:系統(tǒng)擴(kuò)展 一般I/O口
15、(輸出時(shí),需接上拉電阻)P1: 專供用戶使用的I/O口P2: 系統(tǒng)擴(kuò)展 通用I/O口P3: 功能口,每位獨(dú)立定義 通用I/O口紅字為儀表中的用法。第36頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、I/O的負(fù)載能力P0可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載P1-P3可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。第37頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二三、I/O的特點(diǎn)1. P0口: P0口是一個(gè)三態(tài)雙向口,可作為地址/數(shù)據(jù)分時(shí)復(fù) 用口,也可作為通用I/O接口。 第38頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二(1)地址/數(shù)據(jù)分時(shí)復(fù)用功能 當(dāng)P0口作為地址/數(shù)據(jù)分時(shí)復(fù)用總線時(shí)
16、,可分為兩種情況:一種是從P0口輸出地址或數(shù)據(jù),另一種是從P0口輸出數(shù)據(jù)。第39頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二(2)通用I/O接口功能R 在輸出數(shù)據(jù)時(shí),由于T1截止,輸出級(jí)是漏極開路電路,要使1信號(hào)正常輸出,必須外接上拉電阻?!?”“0”截止 P0口作為通用I/O口使用時(shí),是準(zhǔn)雙向口。其特點(diǎn)是在輸入數(shù)據(jù)時(shí),應(yīng)先把口置1(寫1),此時(shí)鎖存器的Q端為0,使輸出級(jí)的兩個(gè)場(chǎng)效應(yīng)管T1、T2均截止,引腳處于懸浮狀態(tài),才可作高阻輸入。第40頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2. P1口 P1口只有一種通用輸入輸出I/O接口功能。 不需要外接電阻;但P1口
17、是準(zhǔn)雙向口,其特點(diǎn)是在輸入數(shù)據(jù)時(shí),應(yīng)先把口置1(寫1)使輸出級(jí)的場(chǎng)效應(yīng)管V1截止,引腳處于懸浮狀態(tài),才可作高阻輸入。第41頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3、P2口 P2口也是一準(zhǔn)雙向口。 它具有通用I/O接口或高8位地址總線輸出兩種功能。當(dāng)作為準(zhǔn)雙向通用I/O接口使用時(shí), 其工作原理與P1相同。第42頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4、P3口 當(dāng)P3口作為通用I/O接口時(shí), 第2功能輸出線為高電平, 使與非門3的輸出取決于口鎖存器的狀態(tài)。 在這種情況下, P3口仍是1個(gè)準(zhǔn)雙向口, 它的工作方式、 負(fù)載能力均與P1、 P2口相同。 當(dāng)P3口作
18、為第2功能使用時(shí),其鎖存器Q端必須為高電平, 否則V1管導(dǎo)通, 引腳被箝位在低電平, 無法輸入或輸出第2功能信號(hào)。 當(dāng)Q端為高電平時(shí), P3口的口線狀態(tài)就取決于第2功能輸出線的狀態(tài)。 第43頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二思考:1、P0口是一個(gè)三態(tài)雙向口,可作為()分時(shí)復(fù)用口,也可 作為()接口。2、P1口僅具有()功能。3、P2口具有()或()功能。4、P3口具有()或()功能。第44頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-5 外部引腳說明1主電源引腳 VCC:接+5V VSS:接地2外接晶體引腳 XTAL1、XTAL23輸入 / 輸出引腳 P
19、0-P3口4控制線(1)ALE/PROG:地址鎖存有效信號(hào)輸出PSEN:片外程序存儲(chǔ)器讀選通信號(hào)RST/VPD:RST即為RESET,VPD為備用電源(4)EA/VPP(31腳):片外程序存儲(chǔ)器選用端第45頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 P3口第二功能表第46頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-6 單片機(jī)工作的基本時(shí)序 1. 機(jī)器周期和指令周期 (1) 振蕩周期: 也稱時(shí)鐘周期, 是指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源的周期。 (2) 狀態(tài)周期: 每個(gè)狀態(tài)周期為時(shí)鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。 (3) 機(jī)器周期: 一個(gè)機(jī)器周
20、期包含 6 個(gè)狀態(tài)周期S1S6, 也就是 12 個(gè)時(shí)鐘周期。 在一個(gè)機(jī)器周期內(nèi), CPU可以完成一個(gè)獨(dú)立的操作。 (4) 指令周期: 它是指CPU完成一條操作所需的全部時(shí)間。 每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成。MCS - 51 系統(tǒng)中, 有單周期指令、雙周期指令和四周期指令。 第47頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二思考:外接晶振為12 MHz時(shí), MCS51單片機(jī)的4個(gè)時(shí)間周期的具體值為多少?答: 振蕩周期=1/12 s; 狀態(tài)周期=1/6 s; 機(jī)器周期=1 s; 指令周期=1-4 s。第48頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2.
21、 MCS - 51 指令的取指/執(zhí)行時(shí)序 (1) 讀外部程序ROM時(shí)序 第49頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二(2) 寫外部數(shù)據(jù)RAM的時(shí)序 第50頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3. 復(fù)位電路 (b) 開關(guān)復(fù)位電路 (a)上電復(fù)位電路第51頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二復(fù)位后內(nèi)部寄存器狀態(tài) 在RST/VPD端持續(xù)給出2個(gè)機(jī)器周期的高電平就可以完成復(fù)位操作。堆棧指針SP=07HP0-P3=FFH其余寄存器均為0第52頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-7 定時(shí)器/計(jì)數(shù)器一、定時(shí)器/計(jì)數(shù)器T
22、0、T1的結(jié)構(gòu)T1T0T0、T1的控制第53頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二說明:兩個(gè)16位定時(shí)器/計(jì)數(shù)器T0、T1定時(shí)器/計(jì)數(shù)器的工作方式及控制由TMOD寄存器和TCON寄存器完成。第54頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、基本功能定時(shí)功能時(shí),每個(gè)機(jī)器周期定時(shí)器加1。計(jì)數(shù)功能時(shí),在外部事件相應(yīng)輸入腳(T0和T1)產(chǎn)生負(fù)跳變,計(jì)數(shù)器加1。K1K2可預(yù)置初值的加法計(jì)數(shù)器中斷請(qǐng)求功能選擇啟動(dòng)控制內(nèi)部時(shí)鐘脈沖(定時(shí))TX 外部輸入脈沖(計(jì)數(shù))溢出信號(hào)計(jì)數(shù)脈沖計(jì)數(shù)初值第55頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二三、方式和控制寄存器
23、1、 定時(shí)器/計(jì)數(shù)器的方式寄存器TMOD C/T=1, 為計(jì)數(shù)器方式; C/T = 0, 為定時(shí)器方式。GATE=1, 外部啟動(dòng)定時(shí)器 /計(jì)數(shù)器; GATE=0, 程序啟動(dòng)定時(shí)器 /計(jì)數(shù)器。 第56頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 M1M0工作方式控制位 T0 分成兩個(gè)獨(dú)立的 8 位計(jì)數(shù)器, T1 在方式 3 時(shí)停止工作 31 1自動(dòng)重裝入初值的 8 位計(jì)數(shù)器 21 016 位定時(shí)器/計(jì)數(shù)器 10 113 位定時(shí)器(TH的 8 位和TL的低 5 位) 00 0說 明方式M1 M0 第57頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2、 定時(shí)器/計(jì)數(shù)器控制
24、寄存器TCONIT0IE0IT1IE1TR0TF0TR1TF1與中斷有關(guān)T0運(yùn)行控制位: “1”啟動(dòng)T0; “0”關(guān)閉T0。由軟件進(jìn)行設(shè)置。T0定時(shí)器/計(jì)數(shù)器溢出中斷標(biāo)志位。 當(dāng)T0計(jì)數(shù)溢出時(shí),由硬件置位,在允許中斷的情況下,向CPU發(fā)出中斷請(qǐng)求信號(hào),CPU響應(yīng)中斷轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件自動(dòng)將該位清零。第58頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3、定時(shí)器/計(jì)數(shù)器的工作方式(1)方式0( 13位定時(shí)/計(jì)數(shù)器)計(jì)數(shù)外部脈沖個(gè)數(shù):18192(213)定時(shí)時(shí)間(T=1s):1s 8.19ms第59頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二(2)方式1( 16位
25、定時(shí)/計(jì)數(shù)器)16位第60頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二(3)方式2(自動(dòng)恢復(fù)初值8位定時(shí)/計(jì)數(shù)器)第61頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二(4)方式3(兩個(gè) 8 位獨(dú)立計(jì)數(shù)器)第62頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二四、計(jì)算時(shí)間常數(shù)X(初值) 加法計(jì)數(shù)器是計(jì)滿溢出時(shí)才申請(qǐng)中斷, 所以在給計(jì)數(shù)器賦初值時(shí), 不能直接輸入所需的計(jì)數(shù)值, 而應(yīng)輸入的是計(jì)數(shù)器計(jì)數(shù)的最大值與這一計(jì)數(shù)值的差值。 初值X的計(jì)算方法: 計(jì)數(shù)功能: X=2計(jì)數(shù)值 定時(shí)功能: X=2定時(shí)時(shí)間/T 其中:方式0:n=13;方式1:n=16;方式2、3 n=
26、8 T=12晶振頻率=機(jī)器周期 第63頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例 :計(jì)算定時(shí)1 ms對(duì)應(yīng)的初值, 設(shè)單片機(jī)晶振頻率為 12 MHz,方式1。解: X = M定時(shí)時(shí)間/T 機(jī)器周期=1212 MHz= 1 s 所以: X = 2161ms/1 s =FC17H 第64頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:若晶振頻率為6MHz,試計(jì)算MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器的最小定時(shí)時(shí)間和最大定時(shí)時(shí)間。解:先確定機(jī)器周期:機(jī)器周期 T=126 MHz= 2 s 計(jì)算最小定時(shí)時(shí)間: 對(duì)于定時(shí)器的幾種工作方式來說,最小定時(shí)時(shí)間都是一樣的,即:X = M定
27、時(shí)時(shí)間/T Tmin=(M-X)T =12s=2s 計(jì)算最大定時(shí)時(shí)間: 在方式1下的定時(shí)時(shí)間最長(zhǎng),則最大定時(shí)時(shí)間為 Tmax= (M-X)T=( 216- 0) 2s =131ms第65頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二五、定時(shí)器/計(jì)數(shù)器的初始化定時(shí)/計(jì)數(shù)器在使用之前需要進(jìn)行初始化。初始化編程包括: 要能正確寫入控制字; 能進(jìn)行計(jì)數(shù)初值的計(jì)算。一般情況下,包括以下幾個(gè)步驟:(1)確定工作方式,即對(duì)TMOD寄存器進(jìn)行賦值。(2)計(jì)算計(jì)數(shù)初值,并寫入寄存器TH0、TL0或TH1、TL1中。(3)根據(jù)需要,置位ETx允許T/C中斷。(4)置位EA使CPU開中斷(需要時(shí))。(5
28、)置位TRx啟動(dòng)計(jì)數(shù)。第66頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二思考題1、MCS-51單片機(jī)有幾個(gè)定時(shí)/計(jì)數(shù)器?2、定時(shí)/計(jì)數(shù)器的核心是1個(gè)(加1、減1)計(jì)數(shù)器,它的輸入脈沖有兩個(gè)來源:一個(gè)是( ),另一個(gè)是( )。 3、定時(shí)/計(jì)數(shù)器有幾種工作方式?如何選擇和設(shè)定?4、MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器在使用之前需要進(jìn)行初始化,在編程時(shí)主要注意兩點(diǎn):第一( );第二( )。第67頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-8 MCS-51單片機(jī)的中斷系統(tǒng)一、 MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)IEIPTCON的高4位SCON的低2位第68頁(yè),共191頁(yè),202
29、2年,5月20日,18點(diǎn)3分,星期二1、5個(gè)中斷源2個(gè)外部中斷源信號(hào)2個(gè)定時(shí)器T0、T1溢出中斷請(qǐng)求1個(gè)串行口數(shù)據(jù)發(fā)送、接收結(jié)束中斷請(qǐng)求第69頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2、中斷請(qǐng)求寄存器(TCON、 SCON中的部分標(biāo)志)中斷請(qǐng)求標(biāo)志位: TF1、TF0、IE1、IE0、RI 、TI登記各中斷源請(qǐng)求信號(hào):=1,有中斷請(qǐng)求; =0,無中斷請(qǐng)求。CPU響應(yīng)中斷后,TI,RI標(biāo)志必須軟件清零,其余中斷標(biāo)志 自動(dòng)清零 。外部中斷觸發(fā)方式選擇位:IT0、IT1 =1:負(fù)邊沿觸發(fā)中斷請(qǐng)求;=0:低電平觸發(fā)中斷請(qǐng)求。第70頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星
30、期二3、中斷允許控制(IE)EX0ET0EX1ET1ESXXEA (MSB)(LSB)中斷允許控制位: =1 開中斷;=0 關(guān)中斷。 總允許開關(guān)源允許開關(guān)例:允許CPU響應(yīng)INT0的中斷請(qǐng)求SETB EX0 SETB EA第71頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4、2級(jí)中斷的優(yōu)先級(jí)控制(IP)對(duì)于每1個(gè)中斷源,均可通過對(duì)IP的設(shè)置來確定其優(yōu)先等級(jí)。置1為高優(yōu)先級(jí),清0為低優(yōu)先級(jí)。PX0PT0PX1PT1PSXXX(MSB)(LSB)同級(jí)的中斷優(yōu)先級(jí)順序?yàn)椋和獠恐袛? T0中斷 外部中斷1 T1中斷 串行口中斷高級(jí) 低級(jí) 第72頁(yè),共191頁(yè),2022年,5月20日,18
31、點(diǎn)3分,星期二例如, 某軟件中對(duì)寄存器IE、 IP設(shè)置如下: MOV IE, 8FH MOV IP, 06H 則此時(shí)該系統(tǒng)中的中斷優(yōu)先次序?yàn)槭裁? 答: 1、除串口中斷禁止外,其余均允許。 1111ESXX1中斷允許控制位: =1 開中斷;=0 關(guān)中斷。 2、允許中斷源的中斷優(yōu)先次序?yàn)? T0 INT1 INT0 T1 高級(jí)別 低級(jí)別01100XXXPX0PT0PX1PT1PSXXX第73頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、中斷響應(yīng)的條件、過程1.中斷響應(yīng)的條件 單片機(jī)響應(yīng)中斷的條件為中斷源有請(qǐng)求(中斷允許寄存器IE相應(yīng)位置1),且CPU開中斷(即EA=1)。2.中斷
32、響應(yīng)過程 單片機(jī)一旦響應(yīng)中斷,自動(dòng)轉(zhuǎn)到各中斷源對(duì)應(yīng)的中斷服務(wù)程序的入口地址執(zhí)行中斷服務(wù)程序。第74頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 各中斷源中斷服務(wù)程序的入口地址中斷源入口地址外部中斷00003HT0中斷000BH外部中斷10013HT1中斷001BH串行口中斷0023H3、中斷返回中斷返回指令: RETI= RET指令 + 通知CPU中斷服務(wù)已結(jié)束。第75頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二思考題1、MCS-51單片機(jī)的中斷源有幾個(gè)?分別是什么?各中斷源所對(duì)應(yīng)的中斷服務(wù)程序的入口地址是什么?2、寄存器IE、IP和TCON的全稱是什么?作用是什么
33、?第76頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2-9 MCS-51單片機(jī)的串行口一、MCS-51串行口的結(jié)構(gòu) 發(fā)送器接收器第77頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二說明:1、 MCS-51單片機(jī)內(nèi)部有1個(gè)功能很強(qiáng)的全雙工串行口。2、發(fā)送器:并串?dāng)?shù)據(jù)格式轉(zhuǎn)換,添加標(biāo)識(shí)位和校驗(yàn)位,一幀數(shù)據(jù)發(fā)送結(jié)束,設(shè)置發(fā)送結(jié)束標(biāo)志,申請(qǐng)中斷。3、接收器:串并數(shù)據(jù)格式轉(zhuǎn)換,刪除標(biāo)識(shí)位和校驗(yàn)位,保存有效數(shù)據(jù),設(shè)置接收結(jié)束標(biāo)志,申請(qǐng)中斷。4、控制器:接收編程命令和控制參數(shù),設(shè)置工作方式:同步/異步、字符格式、波特率、校驗(yàn)方式、數(shù)據(jù)位與同步時(shí)鐘比例等。5、串行口數(shù)據(jù)緩沖器SBUF
34、 SBUF是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù)。第78頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、串行口控制1、串行口控制寄存器SCON RI TIRB8TB8RENSM2SM1SM0 D7 D6 D5 D4 D3 D2 D1 D0 SM0、SM1:串行口工作方式選擇位。SM2:多機(jī)控制位,用于多機(jī)通訊。REN:允許接收控制位,REN=1,允許接收;REN=0,禁止接收。TB8:發(fā)送的第9位數(shù)據(jù)位,可用作校驗(yàn)位和地址/數(shù)據(jù)標(biāo)識(shí)位。RB8:接收的第9位數(shù)據(jù)位或停止位。TI:發(fā)送中斷標(biāo)志,發(fā)送一幀結(jié)束,TI=1,必須軟件清零。RI:接收中斷標(biāo)志,接收一幀結(jié)束
35、,RI=1,必須軟件清零。第79頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2、 電源控制寄存器PCONSMODGF1GF0PDIDL D7 D6 D5 D4 D3 D2 D1 D0 PCON的最高位SMOD是串行口波特率系數(shù)控制位。SMOD=1時(shí),波特率增大一倍。其余各位與串行口無關(guān)。第80頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二三、串行接口的工作方式第81頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二1、方式0為同步移位寄存器方式,用于擴(kuò)展并行I/O接口,波特率是固定的。(1) 方式 0 輸出8051第82頁(yè),共191頁(yè),2022年,5月20日,
36、18點(diǎn)3分,星期二(1) 方式 0 輸入第83頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2、方式1、2、3共性問題寫入SBUF采樣(a) 發(fā)送時(shí)序圖TXD數(shù)據(jù)輸出TID0D1D2D3D4D5D6D7停止位起始位RXD輸入數(shù)據(jù)(b) 接收時(shí)序圖D0D1D2D3D4D5D6D7停止位起始位RI檢測(cè)負(fù)跳變RXD:接收數(shù)據(jù)端。 TXD:發(fā)送數(shù)據(jù)端。發(fā)送:寫入SBUF,同時(shí)啟動(dòng)發(fā)送,一幀發(fā)送結(jié)束,TI=1。 接收:REN=1,允許接收。將接收數(shù)據(jù)裝入SBUF,并使RI=1。第84頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3、方式1、2、3差別數(shù)據(jù)位不同。 波特率可變、固定
37、。 方式1、3波特率:B=(2SMOD/32)T1溢出率。 方式2波特率: B=(2SMOD /64)fosc第85頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4、波特率的選擇第86頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二思考題:51系列單片機(jī)主要有哪些部分組成?各自作用是什么?第87頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二第3章 MCS - 51單片機(jī)指令系統(tǒng) 尋址方式 指令系統(tǒng) 第88頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3-1 MCS-51指令格式及尋址方式 一、匯編語言指令格式1.標(biāo)號(hào): 指令的符號(hào)地址2.操作碼:指
38、明指令功能。3.操作數(shù):指令操作對(duì)象 (立即數(shù)、寄存器、存儲(chǔ)器)4.注釋行:說明指令在程序中的作用。 操作碼和操作數(shù)是指令主體。標(biāo)號(hào):操作碼 操作數(shù)1,操作數(shù)2 ;注釋第89頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、尋址方式 尋址方式, 就是尋找操作數(shù)地址的方式。 尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標(biāo)之一。 在 MCS -51單片機(jī)指令系統(tǒng)中, 有以下7種尋址方式: (1) 立即尋址; (2) 直接尋址; (3) 寄存器尋址; (4) 寄存器間接尋址; (5) 基址寄存器加變址寄存器間接尋址; (6) 相對(duì)尋址; (7) 位尋址。 第90頁(yè),共191頁(yè),2022年,5
39、月20日,18點(diǎn)3分,星期二1、立即尋址 立即尋址方式是指操作數(shù)包含在指令字節(jié)中。 跟在指令操作碼后面的數(shù)就是參加運(yùn)算的數(shù), 該操作數(shù)稱為立即數(shù)。 立即數(shù)有一字節(jié)和二字節(jié)兩種。例如: MOV A, 3AH;將立即數(shù)3AH傳送到累加器A中 MOV DPTR, 0DFFFH“#”表示為立即數(shù)第91頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二2、直接尋址 指令中直接給出操作數(shù)所在的存儲(chǔ)器地址,以供取數(shù)或存數(shù)的尋址方式稱為直接尋址。 例: MOV A,40H ;把片內(nèi)RAM地址為40H單元的內(nèi)容送到A中。直接尋址方式中可以訪問 3 種存儲(chǔ)器空間: (1) 內(nèi)部數(shù)據(jù)存儲(chǔ)器的低 128 個(gè)字
40、節(jié)單元(00H7FH); (2) 特殊功能寄存器; (3) 位地址空間。 第92頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3、寄存器尋址 在該尋址方式中, 參加操作的數(shù)存放在寄存器里。 寄存器包括8個(gè)工作寄存器R0R7, 累加器A, 寄存器B、數(shù)據(jù)指針DPTR和布爾處理器的位累加器C。例: MOVA,R0 ;把寄存器R0中的內(nèi)容傳送到累加器A中第93頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4、寄存器間接尋址 在這種尋址方式中, 寄存器的內(nèi)容為操作數(shù)的地址。例: MOV A,R0 ;將以工作寄存器R0中的內(nèi)容為地址的 片內(nèi)RAM單元的數(shù)據(jù)傳送到A中去注意: 寄存
41、器間接尋址只能使用寄存器R0、R1作為地址指針,尋址內(nèi)部RAM區(qū)的數(shù)據(jù)。 為間址符第94頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二5、基址加變址尋址 這種尋址方式用于訪問程序存儲(chǔ)器中的數(shù)據(jù)表格, 它以基址寄存器DPTR或PC的內(nèi)容為基本地址, 加上變址寄存器A的內(nèi)容作為操作數(shù)的地址。例如: MOVC A, DPTR+A 第95頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二6、位尋址 位尋址是在位操作指令中直接給出位操作數(shù)的地址,可以對(duì)片內(nèi)RAM中的128位和特殊功能寄存器SFR中的93位進(jìn)行尋址。例如: SETB PSW.3 ; (PSW.3)1 比較:MOV C,
42、40H;C 40HMOV A,40H;A 40H位地址字節(jié)地址第96頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二7、相對(duì)尋址 相對(duì)尋址是以當(dāng)前程序計(jì)數(shù)器PC值加上指令規(guī)定的偏移量rel , 而構(gòu)成實(shí)際操作數(shù)地址的尋址方法。 它用于訪問程序存儲(chǔ)器, 常出現(xiàn)在相對(duì)轉(zhuǎn)移指令中。 目的地址 = 當(dāng)前PC值 + rel 第97頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 7 種尋址方式及使用空間 第98頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二三、指令分類 按指令的功能, MCS-51 指令系統(tǒng)可分為下列 5 類,共計(jì)111條指令: (1) 數(shù)據(jù)傳送;(2)
43、算術(shù)運(yùn)算;(3) 邏輯運(yùn)算;(4) 位操作;(5) 控制轉(zhuǎn)移。 第99頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二四、符號(hào)的約定意義Rn: 當(dāng)前選定的寄存器區(qū)中的 8 個(gè)工作寄存器R0-R7, n=0-7。 Ri: 當(dāng)前選定的寄存器區(qū)中的 2 個(gè)寄存器R0、 R1, i=0、1。Direct: 8位內(nèi)部RAM單元的地址(00H-7FH)或特殊功能寄存器地址。data:指令中的 8 位常數(shù)。 data16:指令中的 16 位常數(shù)。 Addr16: 16 位的目的地址, 用于LJMP, LCALL指令。Addr11: 11位的目的地址, 用于AJMP, ACALL指令。Rel: 8
44、位帶符號(hào)的偏移量字節(jié), 用于所有條件轉(zhuǎn)移指令中。 Bit: 內(nèi)部數(shù)據(jù)RAM或特殊功能寄存器中的可直接尋址位。第100頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3-2 數(shù)據(jù)傳送類指令 傳送類指令不影響PSW(除P位)。第101頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二數(shù)據(jù)傳送類指令一覽表第102頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二數(shù)據(jù)傳送類指令一覽表第103頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:順序執(zhí)行下列指令序列,求每一步執(zhí)行結(jié)果。MOV A,#30HMOV 4FH,AMOV R0,#20HMOV R0,4FHMOV
45、 21H,20H;A= 30H;(4FH)= 30H;R0= 20H;(20H)= 30H;(21H)= 30H解2: MOV R0,#60H MOV A,R0解1: MOV A,60H例:用兩種尋址方式將片內(nèi)RAM 60H單元的數(shù)據(jù)傳送給累加器A。第104頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 例:若在外部程序存儲(chǔ)器中TAB單元開始依次存放0-9的平方值,數(shù)據(jù)指針DPTR=3A00H,用查表指令取得2003H單元的數(shù)據(jù)后,要求保持DPTR中的內(nèi)容不變。ORG2000HTAB:DB 00,01,04,09,81H;平方表MOV A,#03H;A03HPUSH DPH;保護(hù)D
46、PTR高8位入棧PUSH DPL;保護(hù)DPTR低8位入棧MOV DPTR,#TAB;確定表首地址(基地址)MOVC A,A+DPTR;A(TAB+03H)POP DPL ;彈出DPTR低位POP DPH ;彈出DPTR高位執(zhí)行結(jié)果:A09H,DPTR=3A00H。第105頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:內(nèi)部RAM 2AH和2BH單元中存放的ASCII碼, 轉(zhuǎn)換為壓縮的BCD碼存放在20H單元中。 MOVA,#0;A=0MOVR1, #2BH; R1=2BHMOVR0,#2AH ; R0=2AHXCHDA, R1;A=05HSWAP A ;A=50HXCHDA, R
47、0;A=58HXCHA, 20H ;(20H)=58H2BH35H2AH38HXX20HXX58H第106頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3-3 算術(shù)運(yùn)算類指令 一、 加、減法指令第107頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二影響相應(yīng)標(biāo)志位第108頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:設(shè)雙字節(jié)數(shù) X 存在片內(nèi)RAM 41H、40H單元,Y存在42H、43H單元,編程求 Z=X+Y,并存入片內(nèi)RAM單元44H、45H、46H。ADDS:MOV A,40HADD A,42HMOV 44H,AMOV A,41HADDC A,43H
48、MOV 45H,AMOV A,#0ADDC A,#0MOV 46H,ARET;取被加數(shù)低字節(jié);加上加數(shù)低字節(jié);保存和的低字節(jié);取被加數(shù)高字節(jié);加上加數(shù)高字節(jié);保存和的高字節(jié);求高字節(jié)進(jìn)位;子程序結(jié)束第109頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、十進(jìn)制調(diào)整指令和乘、除法指令DA A ; 對(duì)A寄存器加6調(diào)整例:MOV A, 36HADD A, 45HDA A 0 0 1 1 0 1 1 0 360 1 0 0 0 1 0 1 450 1 1 1 1 0 1 1 7B0 0 0 0 0 1 1 0 06+1 0 0 0 0 0 0 1 81DA A加6調(diào)整第110頁(yè),共191
49、頁(yè),2022年,5月20日,18點(diǎn)3分,星期二MUL AB ; BA=AB 若乘積大于FFH,則溢出標(biāo)志OV置1,否則OV清零。乘法指令執(zhí)行后進(jìn)位標(biāo)志CY總是零,即CY=0。DIV AB ; AAB之商,BAB之余數(shù) 進(jìn)位標(biāo)志位CY和溢出標(biāo)志位OV均被清零。若B中的內(nèi)容為0時(shí),溢出標(biāo)志OV被置1,即OV=1,而CY仍為0。第111頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例: 利用除法指令把累加器A中的8位二進(jìn)制數(shù)轉(zhuǎn)換為BCD數(shù), 并以壓縮形式存放在內(nèi)部RAM區(qū)M1、 M2單元中。MOV B, 64H ; 除數(shù)100 送BDIV AB ; 得百位數(shù) MOV M1, A ; 百位
50、數(shù)存于M1中MOV A, 0AH ; 取除數(shù)10 XCH A, B ; 上述余數(shù)與除數(shù)交換DIV AB ; 得十位數(shù)和個(gè)位數(shù)SWAP A ; 十位數(shù)存于A的高4位ADD A, B ; 組成壓縮BCD數(shù)MOV M2, A ; 十、 個(gè)位壓縮BCD數(shù)存M2 若上述程序執(zhí)行前: A =A8H (168), 則執(zhí)行后: (M1)=01H, (M2)=68H。第112頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3-4 邏輯運(yùn)算及移位類指令第113頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二邏輯操作指令表第114頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二第115
51、頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例: A=01B,表示隨機(jī)狀態(tài),為1或0,執(zhí)行下述一組指令執(zhí)行后A的值如何? XRL A,#0C0H;將累加器A的內(nèi)容D7、D6取反 ORL A,#03H;將累加器A的內(nèi)容D1、D0置1ANL A,#0E7H;將累加器A的內(nèi)容D4、D3清0 解 :執(zhí)行上述指令后,A=100011B。思考:如何將累加器A中的數(shù)據(jù)高4位清0,低位不變? 如何將寄存器R2中的數(shù)據(jù)奇數(shù)位取反,偶數(shù)位不變?第116頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例: 設(shè)A=43H, CY=0, 則執(zhí)行指令: RL A ; A=86H, CY=0 RLC
52、 A ; A=0CH, CY=1RR A ; A=06H, CY=1 RRC A ; A=83H, CY=0 第117頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3-5 控制轉(zhuǎn)移類指令一、無條件轉(zhuǎn)移指令第118頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二二、條件轉(zhuǎn)移指令第119頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例: 將片外RAM首地址為DATA1的一個(gè)數(shù)據(jù)塊傳送到片內(nèi)RAM首地址為DATA2的存儲(chǔ)區(qū)中,當(dāng)數(shù)據(jù)塊中有0時(shí)停止傳送。MOV R0,#DATA1 ;R0作為外部數(shù)據(jù)塊的地址指針MOV R1,#DATA2 ;R1作為內(nèi)部數(shù)據(jù)塊的地址指針
53、LOOP: MOVX A,R0 ;取外部RAM數(shù)據(jù)送入AJZ HERE ;數(shù)據(jù)為零則終止傳送 MOV R1,A ;數(shù)據(jù)傳送至內(nèi)部RAM 單元 INC R0 ;修改指針,指向下一數(shù)據(jù)地址 INC R1 SJMP LOOP ;循環(huán)取數(shù)HERE: MOV R7,#0 第120頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例: 當(dāng)從P1口輸入數(shù)據(jù)為01H 時(shí),程序繼續(xù)執(zhí)行,否則等待,直到P1口出現(xiàn)01H。 MOV A,#01H ;立即數(shù)01H送AWAIT: CJNE A,P1,WAIT ;P101H,則等待 MOV R0,#2 .第121頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,
54、星期二例 : 將內(nèi)部RAM中從DATA單元開始的 10 個(gè)無符號(hào)數(shù)相加, 相加結(jié)果送SUM 單元保存。設(shè)相加結(jié)果不超過8位二進(jìn)制數(shù), 則相應(yīng)的程序如下: 解: MOV R0, 0AH ; 給 R0 置計(jì)數(shù)器初值 MOV R1, DATA ; 數(shù)據(jù)塊首址送R1 CLR A ; A清零LOOP: ADD A, R1 ; 加一個(gè)數(shù) INC R1 ; 修改地址, 指向下一個(gè)數(shù) DJNZ R0, LOOP ; R0 減 1, 不為零循環(huán) MOV SUM, A ; 存 10 個(gè)數(shù)相加和第122頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二三、子程序調(diào)用與返回指令addr11第123頁(yè),共191
55、頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 (1) RET 指令必須作子程序的最后一條指令;RETI指令必須作中斷服務(wù)程序的最后一條指令。 (2) RET指令只能恢復(fù)返回地址RETI指令除恢復(fù)斷點(diǎn)地址外,還恢復(fù)CPU響應(yīng)中斷時(shí)硬件自動(dòng)保護(hù)的現(xiàn)場(chǎng)信息。執(zhí)行RETI指令后,將清除中斷響應(yīng)時(shí)所置位的優(yōu)先級(jí)狀態(tài)觸發(fā)器,使得已申請(qǐng)的同級(jí)或低級(jí)中斷申請(qǐng)可以響應(yīng)。第124頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二3-6布爾操作類指令 MCS-51在硬件上設(shè)置了一個(gè)獨(dú)立的布爾處理器也稱為位處理機(jī)有自己相應(yīng)的累加器,即進(jìn)位標(biāo)志位CY。有自己的存儲(chǔ)器空間,即內(nèi)部RAM的位尋址區(qū)的128位和特殊
56、功能寄存器SFR中的可位尋址的寄存器中93位。第125頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二第126頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:將位地址20H的一位數(shù)傳送到位地址30H中:MOV C,20H MOV 30H,CXX第127頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:使儀表蜂鳴器間斷發(fā)聲的程序。 N1:CLR P2.3;BEEP響 CALLDELAY1;延時(shí) SETB P2.3;BEEP不響 CALLDELAY2;延時(shí)SJMPN1第128頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二影響標(biāo)志位的指令第129頁(yè),共
57、191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二第4章 MCS-51匯編語言程序設(shè)計(jì)偽指令 匯編語言程序設(shè)計(jì) 第130頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4.1 偽 指 令 一、 匯編起始指令 ORG 指令格式: ORG nn 功能: 指明后面的程序或數(shù)據(jù)塊的起始地址。二、等值指令EQU 指令格式: 字符名稱 EQU 數(shù)字或匯編符號(hào) 功能: 使指令中的字符名稱等價(jià)于給定的數(shù)字或匯編符號(hào)。三、 定義字節(jié)指令DB 指令格式: 標(biāo)號(hào): DB 8位二進(jìn)制數(shù)表 功能: 把 8 位二進(jìn)制數(shù)表依次存入從標(biāo)號(hào)開始的連續(xù)的存儲(chǔ)單元中。四、 匯編結(jié)束指令END 指令格式: 標(biāo)號(hào): END
58、 地址或標(biāo)號(hào)第131頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例:ORG 0000H SJMPMAIN ORG 0030H MAIN:MOV SP, 60H MOV R0, 2FH MOV R2, 0FFHORG偽指令說明其后面程序的目標(biāo)代碼在存儲(chǔ)器中存放的起始地址。0000H0030H程序存儲(chǔ)器X5X6X3X4X1X2第132頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4-2 匯編語言程序設(shè)計(jì) 一、簡(jiǎn)單程序設(shè)計(jì) 例: 設(shè)內(nèi)部RAM 40H,41H單元中分別存放著 8 位二進(jìn)制數(shù), 要求取出兩個(gè)單元中的低半字節(jié), 并成一個(gè)字節(jié)后, 存入 50H單元中。 MOV R
59、1, 40H ; 設(shè)置R1為數(shù)據(jù)指針MOV A, R1 ; 取出第一個(gè)單元中的內(nèi)容ANL A, 0FH ; 取第一個(gè)數(shù)的低半字節(jié)SWAP A ; 移至高半字節(jié)INC R1 ; 修改數(shù)據(jù)指針XCH A, R1 ; 取第二個(gè)單元中的內(nèi)容ANL A, 0FH ; 取第二個(gè)數(shù)的低半字節(jié)ORL A, R1 ; 拼字MOV 50H, A ; 存放結(jié)果RET 第133頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二4-3 分支程序設(shè)計(jì) 例 : x, y均為8位二進(jìn)制數(shù), 設(shè) x存 入A, y存入R1, 求解: 第134頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二 START: CJN
60、E A, 00H, SUL1 ; X 0 則轉(zhuǎn)移SUL1 MOV R1, 00H ;X = 0, R1(Y) 0 SJMP SUL2 SUL1: JB ACC.7,NEG ; 兩數(shù)不等, 若X 0, R1(Y) 01H SJMP SUL2 NEG: MOV R1, 0FFH ; XB 轉(zhuǎn) NEXT,否則 MOV B,A ;保存較小值 SJMP NEXTDONE: 注意:若-1條件不出現(xiàn)程序?qū)⑦M(jìn)入死循環(huán)。第138頁(yè),共191頁(yè),2022年,5月20日,18點(diǎn)3分,星期二例: 設(shè)計(jì) 100 ms延時(shí)程序。 解: 計(jì)算機(jī)執(zhí)行一條指令需要一定的時(shí)間, 由一些指令組成一段程序, 并反復(fù)循環(huán)執(zhí)行, 利用計(jì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 站內(nèi)志愿服務(wù)管理考核試卷
- 機(jī)床結(jié)構(gòu)優(yōu)化技術(shù)考核試卷
- 創(chuàng)業(yè)投資市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì)分析考核試卷
- 電氣設(shè)備光電子器件考核試卷
- 天體物理觀測(cè)與實(shí)踐考核試卷
- 復(fù)印技術(shù)在紙箱包裝印刷的重要性考核試卷
- 硅冶煉操作技能培訓(xùn)考核試卷
- 紙板制造中的廢紙回收利用技術(shù)考核試卷
- 江西應(yīng)用科技學(xué)院《工程師管理(全英文)》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林鐵道職業(yè)技術(shù)學(xué)院《大數(shù)據(jù)審計(jì)實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 【員工關(guān)系管理研究國(guó)內(nèi)外文獻(xiàn)綜述2800字】
- 外派勞務(wù)人員基本情況表(勞工表)
- 部編版 八年級(jí)下冊(cè)語文 第五單元復(fù)習(xí)課件
- 六年級(jí)語文下冊(cè)閱讀及參考答案(12篇)
- ERP實(shí)施方法(實(shí)施顧問的基本功)
- 個(gè)人教師述職報(bào)告PPT模板下載
- 家鴿的解剖課件
- GB 7101-2022食品安全國(guó)家標(biāo)準(zhǔn)飲料
- GB/T 35164-2017用于水泥、砂漿和混凝土中的石灰石粉
- GB/T 17622-2008帶電作業(yè)用絕緣手套
- GB/T 15343-2012滑石化學(xué)分析方法
評(píng)論
0/150
提交評(píng)論