




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)應(yīng)用技術(shù)目前一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)第一章單片機(jī)概述§1-1單片機(jī)的歷史及發(fā)展概述§1-2單片機(jī)的應(yīng)用§1-3單片機(jī)的開(kāi)發(fā)和開(kāi)發(fā)工具目前二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§1-1單片機(jī)的發(fā)展概況★單片機(jī)的概念單片機(jī):將微處理器(CPU)、存儲(chǔ)器、I/O接口電路和相應(yīng)實(shí)時(shí)控制件集成在一塊芯片上,稱其為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。目前三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)★單片機(jī)的發(fā)展歷史和發(fā)展趨勢(shì)4位單片機(jī)(1971-1974)低檔8位單片機(jī)
(1974-1978)高檔8位單片機(jī)
(1978-1982)
16位單片機(jī)
(1982-1990)新一代單片機(jī)(90年代以來(lái))發(fā)展趨勢(shì):單片機(jī)在集成度、功能、速度、可靠性、應(yīng)用領(lǐng)域等全方位向更高水平發(fā)展。目前四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§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)單;提供開(kāi)發(fā)工具資料性能價(jià)格比高:電路板??;接插件少易產(chǎn)品化:研制周期短目前五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)機(jī)電一體化:電腦縫紉機(jī)智能儀表:測(cè)量?jī)x實(shí)時(shí)控制:汽車家電:電冰箱、洗衣機(jī)、(MOTOROLA)網(wǎng)絡(luò)通信:通信協(xié)議集成其中計(jì)算機(jī)外設(shè):鍵盤、打印機(jī)保健產(chǎn)品:按摩器多機(jī)應(yīng)用應(yīng)用:量大面廣目前六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§1-3單片機(jī)的開(kāi)發(fā)和開(kāi)發(fā)工具一、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)條件單片機(jī)芯片開(kāi)發(fā)工具資料手冊(cè)目前七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程系統(tǒng)需求調(diào)查;可行性分析;系統(tǒng)方案設(shè)計(jì);系統(tǒng)建造;系統(tǒng)調(diào)試;系統(tǒng)方案局部修改、再調(diào)試;生成正式產(chǎn)品。目前八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)三、單片機(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ì)周期短目前九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)四、單片機(jī)應(yīng)用系統(tǒng)的調(diào)試目前十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)五、單片機(jī)開(kāi)發(fā)系統(tǒng)一、通用型單片機(jī)開(kāi)發(fā)系統(tǒng)二、軟件模擬開(kāi)發(fā)系統(tǒng)目前十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)第二章MCS-51單片機(jī)的結(jié)構(gòu)內(nèi)部結(jié)構(gòu)存儲(chǔ)器的配置I/O口的應(yīng)用功能時(shí)序及電路目前十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)(80C51)
存儲(chǔ)器I/O接口CPU總線控制器目前十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)說(shuō)明:中央處理機(jī)CPU(8位)存儲(chǔ)器:片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128個(gè)字節(jié))
片內(nèi)程序存儲(chǔ)器EPROM(4KB)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)目前十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)MCS—51系列部分單片機(jī)配置一覽表
目前十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-2中央處理器CPU
中央處理器是單片機(jī)內(nèi)部的核心部件,它決定了單片機(jī)的主要功能特性。它由運(yùn)算部件和控制部件兩大部分組成。目前十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)一、運(yùn)算器運(yùn)算部件是以算術(shù)邏輯單元ALU為核心,加上累加器A、寄存器B、暫存器TMP1和TMP2、程序狀態(tài)寄存器PSW及專門用于位操作的布爾處理機(jī)組成的,它能實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算,位變量處理和數(shù)據(jù)傳送操作。目前十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)用戶關(guān)心1.算術(shù)邏輯單元ALU2.累加器ACC:8位,專門存放操作數(shù)或運(yùn)算結(jié)果。
3.寄存器B:8位,專門為乘除法而設(shè)置的寄存器。4.程序狀態(tài)字PSW(ProgrameStateWord)P…OVRS0RS1F0ACCyD7D6D5D4D3D2D1D0PSW目前十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)程序狀態(tài)字PSWCACF0RS1RS0OV---PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.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目前十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、控制器控制部件是單片機(jī)的神經(jīng)中樞,它包括定時(shí)和控制電路、指令寄存器、譯碼器以及信息傳送控制等部件。
CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令存儲(chǔ)器,經(jīng)譯碼器譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令所指定的操作。目前二十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
MCS-51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)為哈佛結(jié)構(gòu),既:程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)尋址。從物理結(jié)構(gòu)上可分為:片內(nèi)、片外程序存儲(chǔ)器
片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器4個(gè)部分§2-3存儲(chǔ)器和特殊功能寄存器一、MCS—51單片機(jī)存儲(chǔ)器分類及配置目前二十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)從尋址空間分布可分為:程序存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器3大部分從功能上可分為:程序存儲(chǔ)器
內(nèi)部數(shù)據(jù)存儲(chǔ)器特殊功能寄存器位地址空間外部數(shù)據(jù)存儲(chǔ)器5大部分。目前二十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)重點(diǎn)重點(diǎn)目前二十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、程序存儲(chǔ)器
計(jì)算機(jī)的工作是按照事先編制好的程序命令一條條循序執(zhí)行的,程序存儲(chǔ)器就是用來(lái)存放這些已編好的程序和表格常數(shù),它由只讀存儲(chǔ)器ROM或EPROM組成。程序運(yùn)行的入口地址MCS—51單片機(jī)程序存儲(chǔ)器中有復(fù)位和中斷源共7個(gè)固定的入口地址,用戶不能更改。目前二十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)MCS—51單片機(jī)復(fù)位、中斷入口地址0000H單元開(kāi)始取指令來(lái)執(zhí)行程序。目前二十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)三、內(nèi)部數(shù)據(jù)存儲(chǔ)器
MCS—51系列單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器由讀寫存儲(chǔ)器RAM組成,用于存儲(chǔ)數(shù)據(jù)。內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM塊共分為工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)3個(gè)部分。
目前二十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)1、工作寄存器和RAM地址對(duì)照表
目前二十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2、位尋址區(qū)目前二十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)3、數(shù)據(jù)緩沖區(qū)
30H-7FH是數(shù)據(jù)緩沖區(qū),也即用戶RAM區(qū),共80個(gè)單元。用戶RAM區(qū)又可分為數(shù)據(jù)區(qū)和堆棧區(qū)
MCS—51單片機(jī)堆棧區(qū)不是固定的,且堆棧屬向上生長(zhǎng)型,為了避開(kāi)工作寄存器區(qū)和位尋址區(qū),一般設(shè)在30H以后的范圍內(nèi)。堆棧區(qū)數(shù)據(jù)區(qū)30H7FH目前二十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)四、特殊功能寄存器SFR
SFR又稱為專用寄存器。它專用于控制、管理單片機(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í)符PCONSBUFSCONTL1TH1TL0TH0TCONTMODIE標(biāo)識(shí)符目前三十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)說(shuō)明:PC:程序地址寄存器(16位),始終指向下一條指令的內(nèi)存地址。訪問(wèn)范圍: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位寄存器。目前三十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)程序狀態(tài)字PSWCACF0RS1RS0OV---PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.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目前三十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)思考:訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器與外部數(shù)據(jù)存儲(chǔ)器的區(qū)別?1、地址不同。訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器MOV指令訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器MOVX指令內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址為8位(00H-7FH)外部數(shù)據(jù)存儲(chǔ)器的地址為16位(0000H-FFFFH)2、訪問(wèn)內(nèi)/外部存儲(chǔ)器使用的指令不同。目前三十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)思考:什么叫哈佛結(jié)構(gòu)?程序存儲(chǔ)器用來(lái)存放什么?程序運(yùn)行的入口地址是什么??jī)?nèi)部數(shù)據(jù)存儲(chǔ)器分為哪幾個(gè)部分?位尋址區(qū)有多少個(gè)位?堆棧指針SP是幾位寄存器?堆棧是向(大、小)地址生長(zhǎng)?目前三十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-4輸入/輸出口(I/O口)四個(gè)(P0、P1、P2、P3)雙向8位I/O口,共32根I/O口線。每個(gè)I/O線均由鎖存器,輸出電路和輸入緩沖器組成。所以每個(gè)I/O既可作輸入又可作輸出;每一條口線可獨(dú)立用作輸入又可用作輸出。目前三十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)一、I/O口的應(yīng)用功能P0:系統(tǒng)擴(kuò)展
一般I/O口(輸出時(shí),需接上拉電阻)P1:專供用戶使用的I/O口P2:
系統(tǒng)擴(kuò)展
通用I/O口P3:功能口,每位獨(dú)立定義
通用I/O口目前三十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、I/O的特點(diǎn)1.P0口:
P0口是一個(gè)三態(tài)雙向口,可作為地址/數(shù)據(jù)分時(shí)復(fù)用口,也可作為通用I/O接口。目前三十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)(1)地址/數(shù)據(jù)分時(shí)復(fù)用功能當(dāng)P0口作為地址/數(shù)據(jù)分時(shí)復(fù)用總線時(shí),可分為兩種情況:一種是從P0口輸出地址或數(shù)據(jù),另一種是從P0口輸出數(shù)據(jù)?!?’目前三十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)(2)通用I/O接口功能在輸出數(shù)據(jù)時(shí),由于T1截止,輸出級(jí)是漏極開(kāi)路電路,要使"1"信號(hào)正常輸出,必須外接上拉電阻。R“1”“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),才可作高阻輸入。目前三十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2.P1口P1口只有一種通用輸入輸出I/O接口功能。
不需要外接電阻;但P1口是準(zhǔn)雙向口,其特點(diǎn)是在輸入數(shù)據(jù)時(shí),應(yīng)先把口置1(寫1)使輸出級(jí)的場(chǎng)效應(yīng)管V1截止,引腳處于懸浮狀態(tài),才可作高阻輸入。目前四十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)3、P2口
P2口也是一準(zhǔn)雙向口。它具有通用I/O接口或高8位地址總線輸出兩種功能。當(dāng)作為準(zhǔn)雙向通用I/O接口使用時(shí),其工作原理與P1相同。目前四十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)4、P3口當(dāng)P3口作為通用I/O接口時(shí),第2功能輸出線為高電平,使與非門3的輸出取決于口鎖存器的狀態(tài)。在這種情況下,P3口仍是1個(gè)準(zhǔn)雙向口,它的工作方式、負(fù)載能力均與P1、P2口相同。當(dāng)P3口作為第2功能使用時(shí),其鎖存器Q端必須為高電平,否則V1管導(dǎo)通,引腳被箝位在低電平,無(wú)法輸入或輸出第2功能信號(hào)。當(dāng)Q端為高電平時(shí),P3口的口線狀態(tài)就取決于第2功能輸出線的狀態(tài)。
目前四十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
P3口第二功能表目前四十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-5外部引腳說(shuō)明1.主電源引腳
VCC:接+5VVSS:接地2.外接晶體引腳
XTAL1、XTAL23.輸入/輸出引腳
P0-P3口4.控制線(1)ALE/PROG:地址鎖存有效信號(hào)輸出(2)PSEN:片外程序存儲(chǔ)器讀選通信號(hào)(3)RST/VPD:RST即為RESET,VPD為備用電源(4)EA/VPP(31腳):片外程序存儲(chǔ)器選用端目前四十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-6單片機(jī)工作的基本時(shí)序1.機(jī)器周期和指令周期(1)振蕩周期:也稱時(shí)鐘周期,是指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源的周期。(2)狀態(tài)周期:每個(gè)狀態(tài)周期為時(shí)鐘周期的2倍,也稱S狀態(tài),是振蕩周期經(jīng)二分頻后得到的。(3)機(jī)器周期:一個(gè)機(jī)器周期包含6個(gè)狀態(tài)周期S1~S6,也就是12個(gè)時(shí)鐘周期。在一個(gè)機(jī)器周期內(nèi),CPU可以完成一個(gè)獨(dú)立的操作。(4)指令周期:它是指CPU完成一條操作所需的全部時(shí)間。每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成。MCS-51系統(tǒng)中,有單周期指令、雙周期指令和四周期指令?!?×6×1、2、4目前四十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)思考:外接晶振為12MHz時(shí),MCS—51單片機(jī)的4個(gè)時(shí)間周期的具體值為多少?答:振蕩周期=1/12μs;狀態(tài)周期=1/6μs;
機(jī)器周期=1μs;
指令周期=1-4μs。目前四十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2.MCS-51的典型時(shí)序(1)單周期指令時(shí)序目前四十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)(2)雙周期指令時(shí)序目前四十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)訪問(wèn)外部RAM的雙指令周期外部數(shù)據(jù)存儲(chǔ)器的尋址和數(shù)據(jù)選通目前四十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)3.復(fù)位電路
(b)開(kāi)關(guān)復(fù)位電路
(a)上電復(fù)位電路目前五十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)復(fù)位后內(nèi)部寄存器狀態(tài)
在RST/VPD端持續(xù)給出2個(gè)機(jī)器周期的高電平就可以完成復(fù)位操作。堆棧指針SP=07HP0-P3=FFH其余寄存器均為0目前五十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-7定時(shí)器/計(jì)數(shù)器一、定時(shí)器/計(jì)數(shù)器T0、T1的結(jié)構(gòu)T1T0T0、T1的控制目前五十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)說(shuō)明:兩個(gè)16位定時(shí)器/計(jì)數(shù)器T0、T1定時(shí)器/計(jì)數(shù)器的工作方式及控制由TMOD寄存器和TCON寄存器完成。目前五十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、基本功能1)定時(shí)功能時(shí),每個(gè)機(jī)器周期定時(shí)器加1。2)計(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ù)初值目前五十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)三、方式和控制寄存器1、定時(shí)器/計(jì)數(shù)器的方式寄存器TMOD●C/T=1,為計(jì)數(shù)器方式;C/T=0,為定時(shí)器方式?!馟ATE=1,外部啟動(dòng)定時(shí)器/計(jì)數(shù)器;
GATE=0,程序啟動(dòng)定時(shí)器/計(jì)數(shù)器。
目前五十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)●
M1M0工作方式控制位T0分成兩個(gè)獨(dú)立的8位計(jì)數(shù)器,T1在方式3時(shí)停止工作31
1自動(dòng)重裝入初值的8位計(jì)數(shù)器21016位定時(shí)器/計(jì)數(shù)器10
113位定時(shí)器(TH的8位和TL的低5位)000說(shuō)明方式M1M0目前五十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2、定時(shí)器/計(jì)數(shù)器控制寄存器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)將該位清零。目前五十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)四、計(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、3n=8T=12÷晶振頻率=機(jī)器周期
目前五十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:計(jì)算定時(shí)1ms對(duì)應(yīng)的初值,設(shè)單片機(jī)晶振頻率為12MHz,方式1。解X=M-定時(shí)時(shí)間/T機(jī)器周期=12÷12MHz=1μs所以:X=216-1ms/1μs=FC17H目前五十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:若晶振頻率為6MHz,試計(jì)算MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器的最小定時(shí)時(shí)間和最大定時(shí)時(shí)間。解:先確定機(jī)器周期:機(jī)器周期T=12÷6MHz=2μs①計(jì)算最小定時(shí)時(shí)間:對(duì)于定時(shí)器的幾種工作方式來(lái)說(shuō),最小定時(shí)時(shí)間都是一樣的,即:X=M-定時(shí)時(shí)間/
Tmin=(M-X)T=1×2μs=2μs
②計(jì)算最大定時(shí)時(shí)間:在方式1下的定時(shí)時(shí)間最長(zhǎng),則最大定時(shí)時(shí)間為
Tmax=(M-X)T=(216-0)×2μs=131ms目前六十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)五、定時(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開(kāi)中斷(需要時(shí))。(5)置位TRx啟動(dòng)計(jì)數(shù)。目前六十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)思考題1、MCS-51單片機(jī)有幾個(gè)定時(shí)/計(jì)數(shù)器?2、定時(shí)/計(jì)數(shù)器的核心是1個(gè)(加1、減1)計(jì)數(shù)器,它的輸入脈沖有兩個(gè)來(lái)源:一個(gè)是(內(nèi)部時(shí)鐘脈沖(定時(shí))),另一個(gè)是(外部部時(shí)鐘脈沖(計(jì)數(shù)))。3、定時(shí)/計(jì)數(shù)器有幾種工作方式?如何選擇和設(shè)定?4種4、MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器在使用之前需要進(jìn)行初始化,在編程時(shí)主要注意兩點(diǎn):第一(正確寫入控制字);第二(計(jì)數(shù)初值的計(jì)算)。目前六十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)中斷的定義計(jì)算機(jī)在程序執(zhí)行過(guò)程中,當(dāng)出現(xiàn)硬件或軟件請(qǐng)求時(shí),處理器暫時(shí)停止正在執(zhí)行的程序,轉(zhuǎn)去對(duì)請(qǐng)求進(jìn)行處理,處理完后,回到程序斷點(diǎn)位置繼續(xù)執(zhí)行。斷點(diǎn)主程序中斷服務(wù)程序有中斷請(qǐng)求對(duì)外設(shè)進(jìn)行處理繼續(xù)執(zhí)行返回?cái)帱c(diǎn)中斷源:任何能夠引發(fā)中斷事件的來(lái)源§2-8MCS-51單片機(jī)的中斷系統(tǒng)目前六十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)一、MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)IEIPTCON的高4位SCON的低2位采用中斷技術(shù)的優(yōu)點(diǎn)
(1)可方便地處理隨機(jī)事件(實(shí)時(shí)處理、故障處理)。
(2)提高處理器的使用效率和提高計(jì)算機(jī)的工作速度。
目前六十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)1、5個(gè)中斷源2個(gè)外部中斷源信號(hào)2個(gè)定時(shí)器T0、T1溢出中斷請(qǐng)求1個(gè)串行口數(shù)據(jù)發(fā)送、接收結(jié)束中斷請(qǐng)求目前六十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)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,無(wú)中斷請(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)求。目前六十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)3、中斷允許控制(IE)EX0ET0EX1ET1ESXXEA
(MSB)(LSB)中斷允許控制位:=1開(kāi)中斷;=0關(guān)中斷??傇试S開(kāi)關(guān)源允許開(kāi)關(guān)例:允許CPU響應(yīng)INT0的中斷請(qǐng)求
SETB EX0 SETB EA 目前六十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)4、2級(jí)中斷的優(yōu)先級(jí)控制(IP)對(duì)于每1個(gè)中斷源,均可通過(guò)對(duì)IP的設(shè)置來(lái)確定其優(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í)
目前六十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例如,某軟件中對(duì)寄存器IE、IP設(shè)置如下:MOVIE,#8FHMOVIP,#06H
則此時(shí)該系統(tǒng)中的中斷優(yōu)先次序?yàn)槭裁?
答:1、除串口中斷禁止外,其余均允許。
1111ESXX1中斷允許控制位:=1開(kāi)中斷;=0關(guān)中斷。
2、允許中斷源的中斷優(yōu)先次序?yàn)?
T0
→
INT1
→
INT0→
T1
高級(jí)別低級(jí)別01100XXXPX0PT0PX1PT1PSXXX目前六十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、中斷響應(yīng)的條件、過(guò)程1.中斷響應(yīng)的條件單片機(jī)響應(yīng)中斷的條件為中斷源有請(qǐng)求(中斷允許寄存器IE相應(yīng)位置1),且CPU開(kāi)中斷(即EA=1)。2.中斷響應(yīng)過(guò)程單片機(jī)一旦響應(yīng)中斷,自動(dòng)轉(zhuǎn)到各中斷源對(duì)應(yīng)的中斷服務(wù)程序的入口地址執(zhí)行中斷服務(wù)程序。目前七十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)各中斷源中斷服務(wù)程序的入口地址中斷源入口地址外部中斷00003HT0中斷000BH外部中斷10013HT1中斷001BH串行口中斷0023H3、中斷返回
中斷返回指令:RETI=RET指令+通知CPU中斷服務(wù)已結(jié)束目前七十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)思考題1、MCS-51單片機(jī)的中斷源有幾個(gè)?分別是什么?各中斷源所對(duì)應(yīng)的中斷服務(wù)程序的入口地址是什么?2、寄存器IE、IP和TCON的全稱是什么?作用是什么?目前七十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§2-9MCS-51單片機(jī)的串行口一、MCS-51串行口的結(jié)構(gòu)發(fā)送器接收器目前七十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)說(shuō)明: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
SBUF是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù)。目前七十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、串行口控制1、串行口控制寄存器SCONRITIRB8TB8RENSM2SM1SM0D7D6D5D4D3D2D1D0
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é)束,RI=1,必須軟件清零目前七十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2、電源控制寄存器PCONSMODGF1GF0PDIDLD7D6D5D4D3D2D1D0
PCON的最高位SMOD是串行口波特率系數(shù)控制位。SMOD=1時(shí),波特率增大一倍。其余各位與串行口無(wú)關(guān)。目前七十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)三、串行接口的工作方式目前七十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)1、方式0為同步移位寄存器方式,用于擴(kuò)展并行I/O接口,波特率是固定的(1)方式0輸出8051目前七十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)(1)方式0輸入目前七十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2、方式1、2、3共性問(wèn)題寫入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。目前八十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)3、方式1、2、3差別數(shù)據(jù)位不同。波特率可變、固定。方式1、3波特率:B=(2SMOD/32)×T1溢出率。方式2波特率:
B=(2SMOD
/64)×fosc目前八十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)4、波特率的選擇目前八十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)思考題:51系列單片機(jī)主要有哪些部分組成?各自作用是什么?目前八十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)第3章MCS-51單片機(jī)指令系統(tǒng)★尋址方式★指令系統(tǒng)目前八十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§3-1MCS-51指令格式及尋址方式
一、匯編語(yǔ)言指令格式1.標(biāo)號(hào):指令的符號(hào)地址2.操作碼:指明指令功能。3.操作數(shù):指令操作對(duì)象(立即數(shù)、寄存器、存儲(chǔ)器)4.注釋行:說(shuō)明指令在程序中的作用。操作碼和操作數(shù)是指令主體。標(biāo)號(hào):操作碼操作數(shù)1,操作數(shù)2
;注釋目前八十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、尋址方式
尋址方式,就是尋找操作數(shù)地址的方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標(biāo)之一。在MCS-51單片機(jī)指令系統(tǒng)中,有以下7種尋址方式:(1)立即尋址;(2)直接尋址;(3)寄存器尋址;(4)寄存器間接尋址;(5)基址寄存器加變址寄存器間接尋址;(6)相對(duì)尋址;(7)位尋址。目前八十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)1、立即尋址
立即尋址方式是指操作數(shù)包含在指令字節(jié)中。跟在指令操作碼后面的數(shù)就是參加運(yùn)算的數(shù),該操作數(shù)稱為立即數(shù)。立即數(shù)有一字節(jié)和二字節(jié)兩種。例如:
MOVA,#3AH;將立即數(shù)3AH傳送到累加器A中MOVDPTR,#0DFFFH“#”表示為立即數(shù)目前八十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)2、直接尋址
指令中直接給出操作數(shù)所在的存儲(chǔ)器地址,以供取數(shù)或存數(shù)的尋址方式稱為直接尋址。例:MOVA,40H;把片內(nèi)RAM地址為40H單元的內(nèi)容送到A中。直接尋址方式中可以訪問(wèn)3種存儲(chǔ)器空間:(1)內(nèi)部數(shù)據(jù)存儲(chǔ)器的低128個(gè)字節(jié)單元(00H~7FH);(2)特殊功能寄存器;(3)位地址空間。
目前八十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)3、寄存器尋址
在該尋址方式中,參加操作的數(shù)存放在寄存器里。寄存器包括8個(gè)工作寄存器R0~R7,累加器A,寄存器B、數(shù)據(jù)指針DPTR和布爾處理器的位累加器C。例:MOVA,R0;把寄存器R0中的內(nèi)容傳送到累加器A中目前八十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)4、寄存器間接尋址在這種尋址方式中,寄存器的內(nèi)容為操作數(shù)的地址。例:MOV
A,@R0
;將以工作寄存器R0中的內(nèi)容為地址的片內(nèi)RAM單元的數(shù)據(jù)傳送到A中去注意:寄存器間接尋址只能使用寄存器R0、R1作為地址指針,尋址內(nèi)部RAM區(qū)的數(shù)據(jù)。@為間址符目前九十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)5、基址加變址尋址這種尋址方式用于訪問(wèn)程序存儲(chǔ)器中的數(shù)據(jù)表格,它以基址寄存器DPTR或PC的內(nèi)容為基本地址,加上變址寄存器A的內(nèi)容作為操作數(shù)的地址。例如:MOVCA,@DPTR+A
目前九十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)6、相對(duì)尋址
相對(duì)尋址是以當(dāng)前程序計(jì)數(shù)器PC值加上指令規(guī)定的偏移量rel,而構(gòu)成實(shí)際操作數(shù)地址的尋址方法。它用于訪問(wèn)程序存儲(chǔ)器,常出現(xiàn)在相對(duì)轉(zhuǎn)移指令中。
目的地址=當(dāng)前PC值+rel目前九十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)7、位尋址
位尋址是在位操作指令中直接給出位操作數(shù)的地址,可以對(duì)片內(nèi)RAM中的128位和特殊功能寄存器SFR中的93位進(jìn)行尋址。例如:SETBPSW.3;(PSW.3)←1比較: MOV C,40H ;C←40H MOV A,40H ;A←40H位地址字節(jié)地址目前九十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)7種尋址方式及使用空間目前九十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)三、指令分類按指令的功能,MCS-51指令系統(tǒng)可分為下列5類,共計(jì)111條指令:(1)數(shù)據(jù)傳送;(2)算術(shù)運(yùn)算;(3)邏輯運(yùn)算;(4)位操作;(5)控制轉(zhuǎn)移。目前九十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)四、符號(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位帶符號(hào)的偏移量字節(jié),用于所有條件轉(zhuǎn)移指令中。Bit:部數(shù)據(jù)RAM或特殊功能寄存器中的可直接尋址位。目前九十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§3-2數(shù)據(jù)傳送類指令
傳送類指令不影響PSW(除P位)。目前九十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)數(shù)據(jù)傳送類指令一覽表目前九十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)數(shù)據(jù)傳送類指令一覽表目前九十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:順序執(zhí)行下列指令序列,求每一步執(zhí)行結(jié)果。MOVA,#30H MOV4FH,A MOVR0,#20H MOV@R0,4FH MOV21H,20H;A=30H;(4FH)=30H;R0=20H;(20H)=30H;(21H)=30H解2:
MOVR0,#60H MOVA,@R0解1:MOVA,60H例:用兩種尋址方式將片內(nèi)RAM60H單元的數(shù)據(jù)傳送給累加器A。目前一百頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
例:若在外部程序存儲(chǔ)器中TAB單元開(kāi)始依次存放0-9的平方值,數(shù)據(jù)指針DPTR=3A00H,用查表指令取得2003H單元的數(shù)據(jù)后,要求保持DPTR中的內(nèi)容不變。
ORG 2000HTAB: DB00,01,04,09,…,81H;平方表
MOVA,#03H ;A←03HPUSHDPH ;保護(hù)DPTR高8位入棧PUSHDPL ;保護(hù)DPTR低8位入棧MOVDPTR,#TAB ;確定表首地址(基地址)MOVCA,@A+DPTR ;A←(TAB+03H)POPDPL ;彈出DPTR低8位POPDPH ;彈出DPTR高8位執(zhí)行結(jié)果:A=09H,DPTR=3A00H。目前一百零一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:內(nèi)部RAM2AH和2BH單元中存放的ASCII碼,轉(zhuǎn)換為壓縮的BCD碼存放在20H單元中。
MOV A,#0 ;A=0MOV R1,#2BH ;R1=2BHMOV R0,#2AH ;R0=2AHXCHD A,@R1 ;A=05HSWAPA ;A=50HXCHD A,@R0 ;A=58HXCH A,20H;(20H)=58H2BH35H2AH38H……XX20HXX58H目前一百零二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§3-3算術(shù)運(yùn)算類指令
一、加、減法指令目的操作數(shù)源操作數(shù)目前一百零三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)影響相應(yīng)標(biāo)志位目前一百零四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:設(shè)雙字節(jié)數(shù)X存在片內(nèi)RAM41H、40H單元,Y存在42H、43H單元,編程求Z=X+Y,并存入片內(nèi)RAM單元44H、45H、46H。ADDS:MOV A,40H ADD A,42H MOV44H,A MOVA,41H DDCA,43HMOV45H,A MOVA,#0 ADDCA,#0 MOV46H,A RET;取被加數(shù)低字節(jié);加上加數(shù)低字節(jié);保存和的低字節(jié);取被加數(shù)高字節(jié);加上加數(shù)高字節(jié);保存和的高字節(jié);求高字節(jié)進(jìn)位;子程序結(jié)束目前一百零五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、十進(jìn)制調(diào)整指令和乘、除法指令DAA;對(duì)A寄存器加6調(diào)整例:MOVA,#36HADDA,#45HDAA00110110360100010145011110117B0000011006++1000000181DAA加6調(diào)整目前一百零六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)MULAB;BA=A×B
若乘積大于FFH,則溢出標(biāo)志OV置1,否則OV清零。乘法指令執(zhí)行后進(jìn)位標(biāo)志CY總是零,即CY=0。DIVAB;A←A÷B之商,B←A÷B之余數(shù)進(jìn)位標(biāo)志位CY和溢出標(biāo)志位OV均被清零。若B中的內(nèi)容為0時(shí),溢出標(biāo)志OV被置1,即OV=1,而CY仍為0。目前一百零七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:利用除法指令把累加器A中的8位二進(jìn)制數(shù)轉(zhuǎn)換為BCD數(shù),并以壓縮形式存放在內(nèi)部RAM區(qū)M1、M2單元中。MOVB,#64H;除數(shù)100送BDIVAB
;得百位數(shù)MOVM1,A ;百位數(shù)存于M1中MOVA,#0AH;取除數(shù)10XCHA,B;上述余數(shù)與除數(shù)交換DIVAB ;得十位數(shù)和個(gè)位數(shù)SWAPA ;十位數(shù)存于A的高4位ADDA,B ;組成壓縮BCD數(shù)MOVM2,A ;十、個(gè)位壓縮BCD數(shù)存M2
若上述程序執(zhí)行前:A=A8H(168),則執(zhí)行后:(M1)=01H,(M2)=68H。目前一百零八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§3-4邏輯運(yùn)算及移位類指令目的操作數(shù)源操作數(shù)目的操作數(shù)源操作數(shù)目前一百零九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)邏輯操作指令表目前一百一十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)目前一百一十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:A=01××××××B,×表示隨機(jī)狀態(tài),為1或0,執(zhí)行下述一組指令執(zhí)行后A的值如何?
XRLA,#0C0H ;將累加器A的內(nèi)容D7、D6取反
ORLA,#03H ;將累加器A的內(nèi)容D1、D0置1
ANLA,#0E7H ;將累加器A的內(nèi)容D4、D3清0
解:執(zhí)行上述指令后,A=10×00×11B。思考:如何將累加器A中的數(shù)據(jù)高4位清0,低位不變?
如何將寄存器R2中的數(shù)據(jù)奇數(shù)位取反,偶數(shù)位不變?目前一百一十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:設(shè)A=43H,CY=0,則執(zhí)行指令:RLA;A=86H,CY=0RLCA;A=0CH,CY=1RRA;A=06H,CY=1
RRCA;A=83H,CY=0
目前一百一十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§3-5控制轉(zhuǎn)移類指令一、無(wú)條件轉(zhuǎn)移指令目前一百一十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)二、條件轉(zhuǎn)移指令目前一百一十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:將片外RAM首地址為DATA1的一個(gè)數(shù)據(jù)塊傳送到片內(nèi)RAM首地址為DATA2的存儲(chǔ)區(qū)中,當(dāng)數(shù)據(jù)塊中有0時(shí)停止傳送 MOVR0,#DATA1;R0作為外部數(shù)據(jù)塊的地址指針 MOVR1,#DATA2 ;R1作為內(nèi)部數(shù)據(jù)塊的地址指針LOOP:MOVXA,@R0;取外部RAM數(shù)據(jù)送入A JZHERE;數(shù)據(jù)為零則終止傳送 MOV@R1,A ;數(shù)據(jù)傳送至內(nèi)部RAM單元INCR0 ;修改指針,指向下一數(shù)據(jù)地址INCR1SJMPLOOP;循環(huán)取數(shù)HERE:MOVR7,#0
……
目前一百一十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:當(dāng)從P1口輸入數(shù)據(jù)為01H時(shí),程序繼續(xù)執(zhí)行,否則等待,直到P1口出現(xiàn)01H。
MOVA,#01H ;立即數(shù)01H送AWAIT:CJNEA,P1,WAIT
;P1≠01H,則等待
MOVR0,#2…….目前一百一十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:將內(nèi)部RAM中從DATA單元開(kāi)始的10個(gè)無(wú)符號(hào)數(shù)相加,相加結(jié)果送SUM單元保存。設(shè)相加結(jié)果不超過(guò)8位二進(jìn)制數(shù),則相應(yīng)的程序如下:解: MOVR0,#0AH;給R0置計(jì)數(shù)器初值 MOVR1,#DATA;數(shù)據(jù)塊首址送R1 CLRA;A清零LOOP: ADDA,@R1;加一個(gè)數(shù)INCR1;修改地址,指向下一個(gè)數(shù)
DJNZR0,LOOP;R0減1,不為零循環(huán)MOVSUM,A;存10個(gè)數(shù)相加和目前一百一十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)三、子程序調(diào)用與返回指令目前一百一十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)(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)。目前一百二十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§3-6布爾操作類指令
MCS-51在硬件上設(shè)置了一個(gè)獨(dú)立的布爾處理器也稱為位處理機(jī)有自己相應(yīng)的累加器,即進(jìn)位標(biāo)志位CY。有自己的存儲(chǔ)器空間,即內(nèi)部RAM的位尋址區(qū)的128位和特殊功能寄存器SFR中的可位尋址的寄存器中93位。目前一百二十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)目前一百二十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:將位地址20H的一位數(shù)傳送到位地址30H中: MOVC,20H MOV30H,CXX目前一百二十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:使儀表蜂鳴器間斷發(fā)聲的程序。N1: CLR P2.3 ;BEEP響 CALL DELAY1 ;延時(shí) SETB P2.3 ;BEEP不響 CALL DELAY2 ;延時(shí) SJMP N1目前一百二十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)影響標(biāo)志位的指令目前一百二十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)第4章MCS-51匯編語(yǔ)言程序設(shè)計(jì)偽指令匯編語(yǔ)言程序設(shè)計(jì)目前一百二十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§4.1偽指令一、匯編起始指令ORG指令格式:ORGnn功能:指明后面的程序或數(shù)據(jù)塊的起始地址。二、等值指令EQU指令格式:字符名稱EQU數(shù)字或匯編符號(hào)
功能:使指令中的字符名稱等價(jià)于給定的數(shù)字或匯編符號(hào)。三、定義字節(jié)指令DB指令格式:標(biāo)號(hào):DB8位二進(jìn)制數(shù)表功能:把8位二進(jìn)制數(shù)表依次存入從標(biāo)號(hào)開(kāi)始的連續(xù)的存儲(chǔ)單元中。四、匯編結(jié)束指令END指令格式:標(biāo)號(hào):END地址或標(biāo)號(hào)目前一百二十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:
ORG0000HSJMP MAIN
ORG0030H
MAIN:MOVSP,#60HMOVR0,#2FHMOVR2,#0FFHORG偽指令說(shuō)明其后面程序的目標(biāo)代碼在存儲(chǔ)器中存放的起始地址。0000H0030H程序存儲(chǔ)器X5X6X3X4…………X1X2目前一百二十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§4-2匯編語(yǔ)言程序設(shè)計(jì)
一、簡(jiǎn)單程序設(shè)計(jì)例:設(shè)內(nèi)部RAM40H,41H單元中分別存放著8位二進(jìn)制數(shù),要求取出兩個(gè)單元中的低半字節(jié),并成一個(gè)字節(jié)后,存入50H單元中。
MOVR1,#40H;設(shè)置R1為數(shù)據(jù)指針MOVA,@R1;取出第一個(gè)單元中的內(nèi)容ANLA,#0FH;取第一個(gè)數(shù)的低半字節(jié)SWAPA ;移至高半字節(jié)INCR1 ;修改數(shù)據(jù)指針XCHDA,@R1 ;取第二個(gè)單元低半字節(jié)SWAPAMOV50H,A ;存放結(jié)果RET目前一百二十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§4-3分支程序設(shè)計(jì)
例:
x,y均為8位二進(jìn)制數(shù),設(shè)x存入R0,y存入R1,求解:目前一百三十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
START:CJNE R0,#00H,SUL1
;X0
則轉(zhuǎn)移SUL1 MOV R1,#00H ;X=0,R1(Y)←0SJMP SUL2SUL1:JC NEG
;兩數(shù)不等,若X<0,轉(zhuǎn)向NEGMOV R1,#01H;X>0,R1(Y)←01HSJMPSUL2NEG:MOV R1,#0FFH ;X<0,R1(Y)←0FFHSUL2:RET;目前一百三十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§4-4循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
目前一百三十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:將外部存儲(chǔ)器8000H開(kāi)始的50個(gè)單元清零。
CLEAR:CLRAMOVDPTR,#8000H;工作單元首址送指針MOVR2,50 ;置循環(huán)次數(shù)CLEAR1:MOVX@DPTR,AINCDPTR ;修改指針
DJNZR2,CLEAR1 ;控制循環(huán)
RET目前一百三十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:設(shè)計(jì)100ms延時(shí)程序。解:計(jì)算機(jī)執(zhí)行一條指令需要一定的時(shí)間,由一些指令組成一段程序,并反復(fù)循環(huán)執(zhí)行,利用計(jì)算機(jī)執(zhí)行程序所用的時(shí)間來(lái)實(shí)現(xiàn)延時(shí),這種程序稱為延時(shí)程序。如當(dāng)系統(tǒng)使用12MHz晶振時(shí),一個(gè)機(jī)器周期為1μs,計(jì)算執(zhí)行次數(shù)約50000次,就可以達(dá)到延時(shí)100ms的目的。對(duì)于50000次循環(huán)可采用外循環(huán)、內(nèi)循環(huán)嵌套的多重循環(huán)結(jié)構(gòu)。目前一百三十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)程序清單:START:ORG1000HMOVR6,#0C8H;外循環(huán)200次
LOOP1:MOVR7,#0F8H;內(nèi)循環(huán)250次LOOP2:DJNZR7,LOOP2 ;延時(shí)2μs×250=500μsDJNZR6,LOOP1 ;延時(shí)500μs×200=100msRET
2μs×250=500μs500μs×200=100ms目前一百三十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§4-5子程序設(shè)計(jì)
子程序名即為子程序入口標(biāo)號(hào)。調(diào)用子程序之前要檢查堆棧是否已設(shè)置好。用RET結(jié)束子程序,并保證保證棧平衡。子程序嵌套須考慮堆棧容量。提供足夠的調(diào)用信息:子程序名、子程序功能、入口參數(shù)和出口參數(shù)、子程序占用的硬件資源、子程序中調(diào)用的其他子程序名。目前一百三十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)在匯編語(yǔ)言源程序中使用子程序,需要強(qiáng)調(diào)注意兩個(gè)問(wèn)題: ①參數(shù)傳遞(入口參數(shù)和出口參數(shù)) ②現(xiàn)場(chǎng)保護(hù)(占用的硬件資源和棧平衡)目前一百三十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:把內(nèi)部RAM40H單元中一個(gè)字節(jié)的十六進(jìn)制數(shù)轉(zhuǎn)換成兩位ASCII碼,結(jié)果存放在內(nèi)部RAM的50H,51H兩個(gè)單元中??梢杂枚褩_M(jìn)行參數(shù)傳遞。MAIN:MOV R1,#50H;R1為存結(jié)果的指針
MOV A,40H;A為需轉(zhuǎn)換的十六進(jìn)制數(shù)
SWAP A;先轉(zhuǎn)換高位半字
PUSH ACC;壓棧
LCALLHEASC;調(diào)用將低半字節(jié)的內(nèi)容轉(zhuǎn)換
;成ASCII碼子程序HEASC
POP ACCMOV @R1,A;存高半字節(jié)轉(zhuǎn)換結(jié)果
INC R1PUSH 40H目前一百三十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
LCALL HEASC
POP ACC MOV @R1,A ;存低半字節(jié)轉(zhuǎn)換結(jié)果HR1:SJMP HR1;------------------------------------------------------------;功能:將低半字節(jié)的內(nèi)容轉(zhuǎn)換成ASCII碼;入口參數(shù):棧頂;出口參數(shù):棧頂;------------------------------------------------------------HEASC: MOV R0,SP DEC R0 DEC R0 ;R0指向入口參數(shù)地址
XCH A,@R0 ;取被轉(zhuǎn)換參數(shù)
ANL A,#0FH ;保留低半字節(jié)
MOV DPTR,#TAB ;查表
MOVC A,@A+DPTR XCH A,@R0 ;結(jié)果送回堆棧
RETTAB: DB30H,31H,32H,…
目前一百三十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
子程序調(diào)用中應(yīng)注意的問(wèn)題
由于子程序調(diào)用過(guò)程中,CPU自動(dòng)使用了堆棧,因此,容易出現(xiàn)以下幾種錯(cuò)誤:(1)忘記給堆棧指針SP賦初值,堆棧初始化位置與第1組工作寄存器重合,如果以不同的方式使用了同一個(gè)內(nèi)存區(qū)域,會(huì)導(dǎo)致程序亂套。(2)程序中的PUSH和POP沒(méi)有配對(duì)使用,使RET指令執(zhí)行時(shí)不能彈出正確的斷點(diǎn)地址,造成返回錯(cuò)誤。(3)堆棧設(shè)置太小,使棧區(qū)溢出。
目前一百四十頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§4-6程序設(shè)計(jì)舉例例:編程完成始終統(tǒng)計(jì)來(lái)自P1口的數(shù)據(jù)中正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)的任務(wù)。解:設(shè)R0、R1、R2三個(gè)工作寄存器分別為統(tǒng)計(jì)正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)的計(jì)數(shù)器。目前一百四十一頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)START:CLRAMOVR0,A ;+統(tǒng)計(jì)
MOVR1,A ;-統(tǒng)計(jì)
MOVR2,A ;0統(tǒng)計(jì)
ENTER:MOVA,P1 ;自P1口取一個(gè)數(shù)
JZZERO ;該數(shù)為0,轉(zhuǎn)ZEROJBP1.7,NEG ;該數(shù)為負(fù),轉(zhuǎn)NEGINCR0 ;該數(shù)不為0、不為負(fù),則必為正數(shù)
SJMPENTER ;循環(huán)自P1口取數(shù)
ZERO:INCR2 ;零計(jì)數(shù)器加1SJMPENTERNEG:INCR1 ;負(fù)數(shù)計(jì)數(shù)器加1SJMPENTER目前一百四十二頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:根據(jù)A的位狀態(tài)散轉(zhuǎn)到不同的處理程序。BIT-JMP:JBACC.0,LP0;A累加器D0為1,則轉(zhuǎn)LP0
JBACC.1,LP1
JBACC.2,LP2JBACC.3,LP3JBACC.4,LP4
JBACC.5,LP5JBACC.6,LP6JBACC.7,LP7
RETLP0:ACALLPRG0;調(diào)相應(yīng)子程序
……..
LJMP XXXLP1:ACALLPRG1…….. LJMP XXXLP7: ACALLPRG7…….. LJMP XXX目前一百四十三頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn) 設(shè):將R3中的二位十六進(jìn)制數(shù)轉(zhuǎn)換成七段顯示代碼存放在R4、R5中。(1)根據(jù)電路圖,做出0F的七段顯示代碼表;(2)分離R3,分別查表。8A0800R3R4R5【例4-6-5】十六進(jìn)制數(shù)轉(zhuǎn)換成七段顯示代碼。目前一百四十四頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)START:PUSH A MOV DPTR,#TAB ;置表首地址
MOV A,R3 ;取十六進(jìn)制數(shù)
ANL A,#0FH ;處理低4位
MOVC A,@A+DPTR
;查表,取對(duì)應(yīng)七段顯示碼
MOV R5,A ;低4位七段顯示碼存入R5 MOV A,R3 ;取高4位十六進(jìn)制數(shù)
ANL A,#0F0H ;處理高4位
SWAP A ;A中高4位與低4位交換
MOVC A,@A+DPTR
;查表,取高4位七段顯示碼
MOV R4,A ;高4位七段顯示碼存入R1 POP A RETTAB: DB 40H,79H,24H,30H,19H,12H,02H,78H 00H,18H,08H,03H,46H,21H,06H,0EH目前一百四十五頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)例:電路如圖,利用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器實(shí)現(xiàn)喇叭1秒間斷發(fā)聲。設(shè)單片機(jī)振蕩頻率fosc=12MHz。分析:?jiǎn)纹瑱C(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器,按定時(shí)工作方式,最長(zhǎng)定時(shí)時(shí)間只有65.536ms。要達(dá)到1秒定時(shí)可采用定時(shí)器與軟件程序結(jié)合完成。即:采用定時(shí)器1中斷定時(shí)50ms,用R3做秒計(jì)數(shù)器,從而實(shí)現(xiàn)對(duì)喇叭的1秒定時(shí)控制。目前一百四十六頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)
ORG 0000H ;程序入口
AJMP MAIN ;轉(zhuǎn)向主程序
ORG 001BH ;T1中斷入口地址
AJMP CONT ;轉(zhuǎn)到中斷服務(wù)子程序
ORG 30HMAIN: MOVTMOD,#10H ;置定時(shí)器1為工作方式1 MOVTH1,#3CH ;置50ms定時(shí)初值
MOV TL1,#0B0H SETB EA ;CPU開(kāi)中斷
SETBET1 ;定時(shí)器定時(shí)器1開(kāi)中斷
MOV R3,#0 ;秒計(jì)數(shù)初值
SETB P1.0 ;喇叭初始時(shí)為不響
SETBTR1 ;啟動(dòng)定時(shí)器1NEXT: NOP ;其它工作
SJMP NEXT目前一百四十七頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)T1中斷服務(wù)子程序CONT: INC R3 CJNE R3,#20,EXIT
CPL P1.0 ;中斷服務(wù)子程序主要工作
MOV R3,#0EXIT:
MOV TH1,#3CH ;重置50ms定時(shí)初值
MOV TL1,#0B0H SETBTR1 ;啟動(dòng)定時(shí)器1 RETI END目前一百四十八頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)第五章MCS-51系統(tǒng)擴(kuò)展技術(shù)
★單片機(jī)的用法★存儲(chǔ)器的擴(kuò)展★I/O的擴(kuò)展目前一百四十九頁(yè)\總數(shù)一百九十一頁(yè)\編于二十點(diǎn)§5-1單片機(jī)的用法(重點(diǎn))一、單片用法(最小應(yīng)用系統(tǒng))
MCS-51單片機(jī)內(nèi)部帶有程序存儲(chǔ)器時(shí),就是一個(gè)最簡(jiǎn)單的最小應(yīng)用系統(tǒng),許多實(shí)際應(yīng)用系統(tǒng)就是用這種成本低和體積小的單片結(jié)構(gòu)實(shí)現(xiàn)了高性能的控制。該系統(tǒng)的特點(diǎn)如下:
(1)單片機(jī)提供了P0、P1、P2、P3四個(gè)I/O口,32根I/O線。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力行業(yè)員工薪酬福利合同
- 勞動(dòng)合同 月度范文
- 大型商業(yè)綜合體裝修合同
- 建筑工地安全施工合同書(shū)
- 廢舊物資循環(huán)利用合同項(xiàng)目2025
- 生產(chǎn)制造合同合作書(shū)
- 商品房購(gòu)回合同條款
- 房地產(chǎn)租賃管理合同范本
- 訂單班人才培養(yǎng)協(xié)議(范本)
- 無(wú)機(jī)鹽產(chǎn)品在農(nóng)業(yè)領(lǐng)域的應(yīng)用考核試卷
- GB 8537-2018食品安全國(guó)家標(biāo)準(zhǔn)飲用天然礦泉水
- GB 31247-2014電纜及光纜燃燒性能分級(jí)
- 主要農(nóng)作物(糧食作物)課件
- 部編人教版道德與法治五年級(jí)下冊(cè)全冊(cè)課時(shí)練習(xí)講解課件
- 廉政鑒定書(shū)(院內(nèi)廉政意見(jiàn)書(shū))
- 《潘姓源于固始,是不爭(zhēng)的史實(shí)》的考辨
- 園林景觀工程細(xì)節(jié)
- 焊接技師培訓(xùn)教材(釬焊)課件
- 2022年中級(jí)注冊(cè)安全工程師(安全生產(chǎn)法及相關(guān)法律知識(shí))考試題庫(kù)???00題及答案下載(四川省專用)
- 《未成年人保護(hù)法》課件
- 原發(fā)性肝癌經(jīng)皮肝動(dòng)脈化療栓塞術(shù)(TACE)臨床路徑
評(píng)論
0/150
提交評(píng)論