




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025/6/141單片機(jī)原理與應(yīng)用●
教學(xué)目標(biāo):
學(xué)習(xí)內(nèi)部結(jié)構(gòu)與外部引腳功能
學(xué)習(xí)單片機(jī)的存儲(chǔ)器組織
學(xué)習(xí)單片機(jī)輸入輸出端口的結(jié)構(gòu)與功能●
學(xué)習(xí)要求:
掌握MCS—51系列單片機(jī)的外部引腳功能
掌握單片機(jī)存儲(chǔ)器的構(gòu)成與編址方式掌握輸入輸出端口的功能
掌握振蕩電路與復(fù)位電路的功能第二章MCS51單片機(jī)硬件結(jié)構(gòu)2025/6/142單片機(jī)原理與應(yīng)用第二章MCS51單片機(jī)結(jié)構(gòu)和原理2.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理2.2MCS-51單片機(jī)的引腳分布及其功能2.3MCS-51單片機(jī)的工作時(shí)序2025/6/143單片機(jī)原理與應(yīng)用2.1
MCS-51單片機(jī)的組成結(jié)構(gòu)
基本組成
nMCS--51系列單片機(jī)是美國(guó)Intel公司在1980年推出的8位單片機(jī)
,包含51和52兩個(gè)子系列。n51子系列的典型產(chǎn)品有8031,8051和8751三種機(jī)型
n52子系列包括8032,8052和8751三種機(jī)型
n目前有多家著名半導(dǎo)體購(gòu)買(mǎi)了核,加上自己的外圍,生產(chǎn)多種兼容芯片。
不同型號(hào)MCS-51單片機(jī)CPU處理能力和指令系統(tǒng)完全兼容,只是存儲(chǔ)器和I/O接口的配置有所不同。MCS-51單片機(jī)結(jié)構(gòu)框圖2025/6/145單片機(jī)原理與應(yīng)用MCS-51單片機(jī)的組成:
(1)8位CPU;(2)振蕩頻率1.2~12MHZ;(3)128個(gè)字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器(片內(nèi)RAM);(4)21個(gè)專(zhuān)用寄存器;
(5)4KB的片內(nèi)程序存儲(chǔ)器(8031無(wú));
(6)8位并行I/O口P0,P1,P2,P3;(7)一個(gè)全雙工串行I/O口;
(8)2個(gè)16位定時(shí)器/計(jì)數(shù)器;
(9)5個(gè)中斷源,分為2個(gè)優(yōu)先級(jí);2025/6/146單片機(jī)原理與應(yīng)用(一)CPU內(nèi)部結(jié)構(gòu)CPU是單片機(jī)的核心,由運(yùn)算器和控制器等部件組成程序增量器MCS-51單片機(jī)的內(nèi)部詳細(xì)結(jié)構(gòu)如下圖所示:2025/6/147單片機(jī)原理與應(yīng)用(一)CPU內(nèi)部結(jié)構(gòu)CPU是單片機(jī)的核心,由運(yùn)算器和控制器等部件組成運(yùn)算器運(yùn)算器以8位算術(shù)/邏輯運(yùn)算部件ALU為核心,加上通過(guò)內(nèi)部總線而掛在其周?chē)臅捍嫫鱐MP1、TMP2、累加器ACC、寄存器B、狀態(tài)標(biāo)志寄存器PSW以及布爾處理器組成整個(gè)運(yùn)算器的邏輯電路。2025/6/148MCS-51單片機(jī)的內(nèi)部詳細(xì)結(jié)構(gòu)如下圖所示:?jiǎn)纹瑱C(jī)原理與應(yīng)用程序增量器2025/6/149單片機(jī)原理與應(yīng)用1.算術(shù)邏輯運(yùn)算單元ALU(8位)ALU能完成+、–、×、÷算術(shù)運(yùn)算,與、或、非、異或、循環(huán)移位等邏輯運(yùn)算。ALU只能進(jìn)行運(yùn)算不能寄存數(shù)據(jù),數(shù)據(jù)應(yīng)先放在ACC中或其他寄存單元中。運(yùn)算時(shí)先將數(shù)據(jù)送到TMP1、TMP2中,再經(jīng)ALU運(yùn)算處理,運(yùn)算后結(jié)果經(jīng)內(nèi)部總線送回ACC中或其他寄存單元中。累加器A在數(shù)據(jù)傳輸和處理過(guò)程中起著十分重要的作用。2025/6/1410單片機(jī)原理與應(yīng)用2.寄存器陣列(1)工作寄存器R0~R7
(8位)暫存運(yùn)算數(shù)據(jù)和中間結(jié)果。4個(gè)工作寄存器區(qū),工作寄存器0區(qū)~3區(qū)。每個(gè)區(qū)均含8個(gè)寄存器R0~R7。用PSW中的兩位PSW.4和PSW.3來(lái)切換工作寄存器區(qū),選用一個(gè)工作寄存器區(qū)進(jìn)行讀寫(xiě)操作。2025/6/1411單片機(jī)原理與應(yīng)用(2)累加器ACC(8位)需要ALU處理的數(shù)據(jù)和計(jì)算結(jié)果多數(shù)要經(jīng)過(guò)A累加器(3)寄存器B(8位)與A累加器配合執(zhí)行乘、除運(yùn)算。也可用作通用寄存器。2025/6/1412單片機(jī)原理與應(yīng)用(4)程序狀態(tài)字PSW(8位)存放ALU運(yùn)算過(guò)程的標(biāo)志狀態(tài)
(1)進(jìn)位標(biāo)志C(PSW.7)
表示運(yùn)算是否有進(jìn)位(借位),有“1”,否則“0”,很多算術(shù)邏輯運(yùn)算指令都會(huì)影響(2)輔助進(jìn)位標(biāo)志AC(PSW.6)
做加減運(yùn)算時(shí),若低半字節(jié)有進(jìn)位(借位)則AC=1,主要用于BCD運(yùn)算調(diào)整時(shí)。(3)軟件標(biāo)志FO(PSW.5)
由用戶定義,可置位、清0、測(cè)試2025/6/1413單片機(jī)原理與應(yīng)用(4)工作寄存器組選擇位RS1、RS0(PSW.4,PSW.3):
RS1 RS0 工作寄存器組
片內(nèi)RAM地址
0 0 第0組 00H~07H
0 1 第1組 08H~0FH
1 0 第2組10H~17H
1 1 第3組18H~1FH
單片機(jī)上電復(fù)位后,RS1RS0=00。
2025/6/1414單片機(jī)原理與應(yīng)用(5)溢出標(biāo)志OV(PSW.2)
運(yùn)算結(jié)果超出機(jī)器所能表示的范圍時(shí)稱(chēng)溢出。溢出是指有符號(hào)數(shù)運(yùn)算時(shí),數(shù)值超過(guò)了+127---128。OV=Cy7?Cy6,補(bǔ)碼運(yùn)算產(chǎn)生溢出OV=1,否則OV=0(6)奇偶標(biāo)志P(PSW.0)
P反映執(zhí)行指令后累加器A中1的個(gè)數(shù)的奇偶,若A中1的個(gè)數(shù)為奇數(shù),則P=1,若A中1的個(gè)數(shù)為偶數(shù),則P=0。2025/6/1415單片機(jī)原理與應(yīng)用例:分析執(zhí)行下列指令序列后,A、C、AC、OV、P的內(nèi)容是什么?
MOVA,#79HADDA,#58H
該指令功能是將79H+58H→A。計(jì)算過(guò)程如下:(79H)01111001+(58H)01011000
————————————(D1H)11010001A=D1H最高位無(wú)進(jìn)位,C=0;低半字節(jié)有進(jìn)位,AC=1;OV=1,發(fā)生溢出;A中1的個(gè)數(shù)為偶數(shù),P=0。2025/6/1416單片機(jī)原理與應(yīng)用3.布爾處理機(jī)有相應(yīng)的指令系統(tǒng),可提供17條位操作指令,硬件上有自己的“累加器”,即進(jìn)位位C,也有自己的位尋址空間.2025/6/1417單片機(jī)原理與應(yīng)用控制器以定時(shí)控制邏輯為中心,包括指令寄存器IR、指令譯碼器ID、程序計(jì)數(shù)器PC(16位)、數(shù)據(jù)指針DPTR、堆棧指針SP以及程序地址寄存器、16位地址緩沖器CPU總是按PC的指示讀取程序。PC可自動(dòng)加1。因此CPU執(zhí)行程序一般是順序方式。當(dāng)發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復(fù)位等操作,PC被強(qiáng)制改寫(xiě),程序執(zhí)行順序也發(fā)生改變。復(fù)位時(shí),PC=0000H。2025/6/1418MCS-51單片機(jī)的內(nèi)部詳細(xì)結(jié)構(gòu)如下圖所示:?jiǎn)纹瑱C(jī)原理與應(yīng)用程序增量器2025/6/1419單片機(jī)原理與應(yīng)用
指令寄存器IR和指令譯碼器ID:由PC中的內(nèi)容指定ROM地址,取出來(lái)的指令經(jīng)指令寄存器IR送至指令譯碼器ID,由ID對(duì)指令譯碼產(chǎn)生一定序列的控制信號(hào),以執(zhí)行指令所規(guī)定的操作振蕩器及定時(shí)電路:8051單片機(jī)內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容。同其他計(jì)算機(jī)一樣,在基本節(jié)拍的控制下協(xié)調(diào)的工作。2025/6/1420單片機(jī)原理與應(yīng)用堆棧指針SP(8位)堆棧是按“先進(jìn)后出”原則存取數(shù)據(jù)的存儲(chǔ)區(qū)。MCS-51堆棧設(shè)在片內(nèi)RAM區(qū)。數(shù)據(jù)入棧/出棧時(shí),SP自動(dòng)加1/減1,其內(nèi)容始終為棧頂?shù)刂?。?fù)位時(shí)SP=07H。數(shù)據(jù)指針DPTR(16位)存放片外存儲(chǔ)器地址,作為片外存儲(chǔ)器的指針。可分成兩個(gè)8位寄存器DPH、DPL使用。2025/6/1421單片機(jī)原理與應(yīng)用(二)MCS-51單片機(jī)的存儲(chǔ)器空間及配置89C51存儲(chǔ)器程序存儲(chǔ)器ROM數(shù)據(jù)存儲(chǔ)器ROM片內(nèi)程序存儲(chǔ)器片外程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器2025/6/1422單片機(jī)原理與應(yīng)用8051片內(nèi)有ROM程序存儲(chǔ)器和RAM數(shù)據(jù)存儲(chǔ)器兩類(lèi),他們有各自獨(dú)立的存儲(chǔ)地址空間。(1)程序存儲(chǔ)器空間:采用片內(nèi)、片外統(tǒng)一編址的方式,共有64KB,地址范圍為0000H~FFFFH(用16位地址表示)。
(2)數(shù)據(jù)存儲(chǔ)器空間:分為片內(nèi)和片外兩部分。
片內(nèi)有256字節(jié)數(shù)據(jù)存儲(chǔ)器地址空間,地址范圍為00H~FFH(用8位地址表示)。
片外有64KB的數(shù)據(jù)存儲(chǔ)器空間,其地址范圍也是0000H~FFFFH(用16位地址表示)。
片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器空間的訪問(wèn)通過(guò)不同的數(shù)據(jù)訪問(wèn)指令來(lái)區(qū)分開(kāi)來(lái)
2025/6/1423單片機(jī)原理與應(yīng)用物理空間與地址物理上4個(gè)存儲(chǔ)器地址空間:片內(nèi)/片外程序存儲(chǔ)器空間片內(nèi)/片外數(shù)據(jù)存儲(chǔ)器空間邏輯上3個(gè)存儲(chǔ)器地址空間:64KB程序存儲(chǔ)器256B片內(nèi)數(shù)據(jù)存儲(chǔ)器64KB片外數(shù)據(jù)存儲(chǔ)器2025/6/14241、程序存儲(chǔ)器空間配置2025/6/1425單片機(jī)原理與應(yīng)用
程序存儲(chǔ)器空間的片內(nèi)、片外選擇通過(guò)單片機(jī)的引腳來(lái)實(shí)現(xiàn),當(dāng)接低電平時(shí)(),程序存儲(chǔ)器空間接高電平由片內(nèi)實(shí)現(xiàn)。對(duì)于8031/80C31/8032/80C32這些片內(nèi)沒(méi)有ROM的單片機(jī),的這些單片機(jī),如果想使用這些片內(nèi)存儲(chǔ)器的話,引腳也必須接高電平。的前4KB(MCS-52是8KB)由片外實(shí)現(xiàn),當(dāng)時(shí)(),程序存儲(chǔ)器空間的前4KB(MCS-52是8KB)引腳必須接低電平。同樣,對(duì)于具有片內(nèi)FLASH或者ROM2025/6/14262、片內(nèi)數(shù)據(jù)存儲(chǔ)器空間配置256字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器分為兩部分:低128字節(jié)(00H~7FH)是真正的RAM區(qū),高128字節(jié)(80H~FFH)為特殊功能寄存器(SFR)區(qū)(MCS-52也有高128字節(jié)的數(shù)據(jù)存儲(chǔ)單元,它們和特殊功能寄存器重疊的,區(qū)分這些重疊的高128字節(jié)存儲(chǔ)單元的方法是使用不同的尋址方式,SFR使用直接尋址而數(shù)據(jù)存儲(chǔ)單元使用間接尋址)。2025/6/1427單片機(jī)原理與應(yīng)用51子系列片內(nèi)RAM塊可分工作寄存器存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)等三個(gè)區(qū)域。統(tǒng)一編址,從00H~7FH,各區(qū)域有自己的特殊功能,也可統(tǒng)一調(diào)度使用。(1)片內(nèi)RAM(00H~7FH)2025/6/1428單片機(jī)原理與應(yīng)用工作寄存器區(qū):字節(jié)地址:00H~1FH位尋址區(qū):字節(jié)地址:20H~2FH位地址為:00H~7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H~7FH一般使用30H~7FH2025/6/1429單片機(jī)原理與應(yīng)用工作寄存器存器區(qū)2025/6/1430單片機(jī)原理與應(yīng)用RS1 RS0 工作寄存器組
片內(nèi)RAM地址
0 0 第0組 00H~07H
0 1 第1組 08H~0FH
1 0 第2組10H~17H
1 1 第3組18H~1FH
單片機(jī)上電復(fù)位后,RS1RS0=00。2025/6/1431單片機(jī)原理與應(yīng)用單片機(jī)工作寄存器的這個(gè)特性,提供了快速保護(hù)現(xiàn)場(chǎng)功能,提高了CPU的響應(yīng)速度,也提高了程序效率:如工作寄存器工作在0區(qū),當(dāng)需保護(hù)這些R0-R7中的數(shù)據(jù)時(shí),不必將其存到其他地方,只需簡(jiǎn)單的切換R0-R7的工作區(qū)即可,比如切換到1區(qū)后,再用R0-R7是從地址08H-0FH2025/6/1432單片機(jī)原理與應(yīng)用
為適應(yīng)控制型應(yīng)用領(lǐng)域需要,內(nèi)部RAM的20H-2FH這16個(gè)字節(jié),CPU對(duì)它們不僅有字節(jié)尋址能力,而且還具有位尋址能力,這16字節(jié)RAM單元的8*16=128位賦以位地址00H-7FH,CPU能直接尋址這些位,執(zhí)行置“1”、清“0”、求反、“1”轉(zhuǎn)移、“0”轉(zhuǎn)移、傳送等邏輯操作??捎米鬈浖?biāo)志位等位尋址區(qū)2025/6/1433單片機(jī)原理與應(yīng)用工作寄存器區(qū):字節(jié)地址:00H~1FH位尋址區(qū):字節(jié)地址:20H~2FH位地址為:00H~7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H~7FH一般使用30H~7FH2025/6/1434單片機(jī)原理與應(yīng)用2025/6/1435單片機(jī)原理與應(yīng)用30H-7FH這部分RAM空間只能進(jìn)行字節(jié)尋址,可以作數(shù)據(jù)緩沖區(qū),也可作堆棧區(qū)。
所謂堆棧區(qū)就是指在片內(nèi)RAM中專(zhuān)門(mén)開(kāi)辟出來(lái)一個(gè)區(qū)域,數(shù)據(jù)的存取是以“后進(jìn)先出”的結(jié)構(gòu)方式處理的。這種數(shù)據(jù)結(jié)構(gòu)方式對(duì)于處理中斷,調(diào)用子程序都非常方便。
數(shù)據(jù)緩沖區(qū)2025/6/1436單片機(jī)原理與應(yīng)用工作寄存器區(qū):字節(jié)地址:00H~1FH位尋址區(qū):字節(jié)地址:20H~2FH位地址為:00H~7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H~7FH一般使用30H~7FH2025/6/1437單片機(jī)原理與應(yīng)用堆棧的操作有兩種:一種叫數(shù)據(jù)壓入(PUSH),另一種叫數(shù)據(jù)彈出(POP)。89C51的堆棧指針SP是一個(gè)雙向計(jì)數(shù)器。進(jìn)棧時(shí),SP內(nèi)容自動(dòng)增值,出棧時(shí)自動(dòng)減值。存取信息必須按“后進(jìn)先出”或“先進(jìn)后出”的規(guī)則進(jìn)行。(a)入棧(PUSH)(b)出棧(POP)2025/6/1438單片機(jī)原理與應(yīng)用圖中,假若有8個(gè)RAM單元,每個(gè)單元都在其右面編有地址,棧頂由堆棧指針SP自動(dòng)管理。每次進(jìn)行壓入或彈出操作以后,堆棧指針便自動(dòng)調(diào)整以保持指示堆棧頂部的位置2025/6/1439單片機(jī)原理與應(yīng)用MCS51單片機(jī)的堆棧區(qū)原則上是由用戶在內(nèi)部RAM區(qū)任意分配的,只有對(duì)堆棧指針SP賦以不同的初值。但具體應(yīng)用系統(tǒng)中,堆棧區(qū)的設(shè)置應(yīng)和整個(gè)RAM分配統(tǒng)一起來(lái)考慮,工作寄存器區(qū)和位尋址區(qū)分配好后,再指定堆棧區(qū)。MCS51的堆棧是向上生成的。注意:。上電復(fù)位后,SP=07H,應(yīng)重新賦值數(shù)據(jù)緩沖區(qū)2025/6/1440單片機(jī)原理與應(yīng)用特殊功能寄存器又稱(chēng)專(zhuān)用寄存器,MCS51除PC和R0-R7外,其余22個(gè)寄存器都屬SFR(其中有4個(gè)只在8052中存在),這里有5個(gè)為16位寄存器(其中有2個(gè)只在8052中存在),其余均為8位,共占22+5=27個(gè)字節(jié)(8051中共占18+3=21個(gè)字節(jié)),離散分布在128個(gè)地址單元中,其余單元沒(méi)定義,用戶不能訪問(wèn),否則出現(xiàn)不確定值,用直接尋址方式尋址(2)特殊功能寄存器SFR2025/6/14412025/6/14單片機(jī)原理與應(yīng)用占用字節(jié)地址:80H~FFH位尋址寄存器:其字節(jié)地址可被8整除。專(zhuān)用寄存器:A、B、PSW、DPTR、SPI/O接口寄存器:
P0、P1、P2、P3、SBUF、TMOD、TCON、SCON…2025/6/1443單片機(jī)原理與應(yīng)用SFR反映了8051的狀態(tài),實(shí)際上是8051的狀態(tài)字和控制寄存器,大體可分為兩類(lèi):
與引腳有關(guān)的SFR
P0-P3:四個(gè)鎖存器,每個(gè)附加相應(yīng)的輸出驅(qū)動(dòng)和輸入緩沖,構(gòu)成4個(gè)并行口,提供32根雙向I/O線。
內(nèi)部功能控制用SFR
ACC、B、PSW、SP、DPTR、IE、IP、
SCON、SBUF、TCON、TMOD、PCON、T0、T1(T2、T2CON、T2MOD、RCAP2)2025/6/1444單片機(jī)原理與應(yīng)用外部數(shù)據(jù)存儲(chǔ)器由RAM組成,有靜態(tài)、動(dòng)態(tài)之分,8051單片機(jī)一般采用靜態(tài)RAM。單片機(jī)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器可用地址指針寄存器DPTR,它是一個(gè)16位寄存器,尋址范圍最大為64KB,0000H-FFFFH。16位地址通過(guò)P0、P2口提供,ALE鎖存低八位。單片機(jī)提供RD、WR信號(hào)控制RAM讀寫(xiě)。3、片外數(shù)據(jù)存儲(chǔ)器2025/6/1445單片機(jī)原理與應(yīng)用
訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器也可用R0、R1間址尋址,尋址范圍為256個(gè)字節(jié);由P0口送出,高八位地址默認(rèn)是P2口的值。在編址時(shí),片外數(shù)據(jù)存儲(chǔ)器的地址可與片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址重疊,事實(shí)上,數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器的地址也是重疊的。2025/6/1446單片機(jī)原理與應(yīng)用規(guī)定:片內(nèi)RAM的低128個(gè)字節(jié)用直接尋址、寄存器尋址和寄存器間址尋址,而SFR塊只能用直接尋址,訪問(wèn)片內(nèi)數(shù)據(jù)存儲(chǔ)器用MOV指令,訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器用MOVX指令,而訪問(wèn)程序存儲(chǔ)器則用MOVC指令
應(yīng)用系統(tǒng)存儲(chǔ)數(shù)據(jù)一般先充分使用內(nèi)部RAM,只有在數(shù)據(jù)量比較大時(shí)才使用外部數(shù)據(jù)存儲(chǔ)器。2025/6/1447單片機(jī)原理與應(yīng)用(三)I/O接口89C51有四個(gè)8位并行I/O接口P0~P3。它們都是雙向端口,每個(gè)端口各有8條I/O線。P0-P3口四個(gè)鎖存器同RAM統(tǒng)一編址,可作為SFR來(lái)尋址。P0~P3端口在結(jié)構(gòu)與功能上基本相同,又各有特點(diǎn)2025/6/14481、P0口當(dāng)不接外部程序/數(shù)據(jù)存儲(chǔ)器進(jìn)行擴(kuò)展時(shí),P0口作為8位雙向I/O口使用;當(dāng)進(jìn)行程序/數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí),P0口分時(shí)作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口。21DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34Vcc鎖存器V1V2MUX2025/6/144921DQCK/Q讀引腳=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X3400100截止=0Vcc(1)雙向I/O口方式1:輸出V2鎖存器V1MUX控制=0時(shí),此腳作輸出口時(shí),由于V2截止,輸出極是漏極開(kāi)路,要使“1”信號(hào)正確輸出,必須外接上拉電阻。作輸出口時(shí),CPU執(zhí)行口的輸出指令,內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)在“寫(xiě)鎖存器”信號(hào)的作用下由D端進(jìn)入鎖存器,經(jīng)鎖存器的反向端/Q送至場(chǎng)效應(yīng)管V1,再經(jīng)V1反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。截止2025/6/145021DQCK/Q讀引腳=1讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時(shí),此腳作可以作為輸入口。數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來(lái)決定。讀引腳時(shí),事先必須對(duì)該端口寫(xiě)“1”,以消除上次輸出為“0”時(shí)的影響。00100截止截止=0Vcc(2)雙向I/O口方式(輸入)鎖存器V1MUXV22025/6/1451
CPU在執(zhí)行“讀—修改—寫(xiě)”類(lèi)輸入指令時(shí)(如:ANLP0,A),內(nèi)部產(chǎn)生的“讀鎖存器”操作信號(hào),使鎖存器Q端數(shù)據(jù)進(jìn)入內(nèi)部數(shù)據(jù)總線,在與累加器A進(jìn)行邏輯運(yùn)算之后,結(jié)果又送回P0的口鎖存器并出現(xiàn)在引腳。讀口鎖存器可以避免因外部電路原因使原口引腳的狀態(tài)發(fā)生變化造成的誤讀。(3)讀-修改-寫(xiě)操作21DQCK/Q讀引腳讀鎖存器=1寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X3400100截止截止=0Vcc鎖存器V1MUXV2導(dǎo)通Vcc0.7v2025/6/145221DQCK/Q讀引腳=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時(shí),此腳作地址/數(shù)據(jù)復(fù)用口:(1)輸出地址/數(shù)據(jù)=0
時(shí)1011=0導(dǎo)通截止=0Vcc(4)地址/數(shù)據(jù)分時(shí)復(fù)用方式鎖存器V1MUXV22025/6/145321DQCK/Q讀引腳
=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時(shí),此腳作地址/數(shù)據(jù)復(fù)用口:(2)輸出地址/數(shù)據(jù)=1
時(shí)1100=1截止導(dǎo)通=1Vcc鎖存器V1MUXV22025/6/145421DQCK/Q讀引腳
=1讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時(shí),此腳作地址/數(shù)據(jù)復(fù)用口:(3)輸入數(shù)據(jù)時(shí),輸入指令將使引腳與內(nèi)部總線直通Vcc鎖存器V1MUXV22025/6/1455P1.0—P1.7:雙向I/O口(內(nèi)置了上拉電阻)
輸出時(shí)一切照常,僅在作輸入口用時(shí)要先對(duì)其寫(xiě)“1”。21DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻2、P1口鎖存器V12025/6/145621DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸出數(shù)據(jù)=1時(shí)110截止=1(1)雙向I/O口方式1:輸出1鎖存器V12025/6/145721DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸出數(shù)據(jù)=0時(shí)001=0導(dǎo)通(2)雙向I/O口方式1:輸出0鎖存器V12025/6/145821DQCK/Q讀引腳=1讀鎖存器寫(xiě)鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸入數(shù)據(jù)時(shí),要先對(duì)其寫(xiě)“1”110截止(3)雙向I/O口方式2:輸入鎖存器V12025/6/14593、P2口P2.0—P2.7:向I/O(內(nèi)置了上拉電阻)
尋址外部存儲(chǔ)器時(shí)輸出高8位地址;不接外部存儲(chǔ)器時(shí)可作為8位雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址高8位控制引腳P2.X3內(nèi)部上拉電阻Vcc鎖存器V1MUX2025/6/146021DQCK/Q讀引腳
=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時(shí),此腳作通用輸出口:輸出=1時(shí)110截止3內(nèi)部上拉電阻11Vcc=1=0(1)雙向I/O口方式:輸出1鎖存器V1MUX2025/6/146121DQCK/Q讀引腳
=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時(shí),此腳作通用輸出口:輸出=0時(shí)001導(dǎo)通3內(nèi)部上拉電阻00Vcc=0=0(2)雙向I/O口方式:輸出0鎖存器V1MUX2025/6/146221DQCK/Q讀引腳
=1讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時(shí),此腳作通用輸入口:讀引腳=1時(shí)0103內(nèi)部上拉電阻11Vcc=0=0(3)雙向I/O口方式:輸入截止鎖存器V1MUX2025/6/146321DQCK/Q讀引腳
=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址高8位控制=1引腳P2.X控制=1時(shí),此腳作高8位地址A8—A15輸出口:當(dāng)輸出=1時(shí)10截止3內(nèi)部上拉電阻1=1Vcc=1(4)高8位地址輸出方式:輸出12025/6/146421DQCK/Q讀引腳
=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線地址高8位控制=1引腳P2.X01導(dǎo)通3內(nèi)部上拉電阻0=0Vcc=0控制=1時(shí),此腳作高8位地址A8—A15輸出口:當(dāng)輸出=0時(shí)(5)高8位地址輸出方式:輸出02025/6/14654、P3口P3.0—P3.7:雙功能口(內(nèi)置了上拉電阻)
它具有特定的第二功能。在不使用它的第二功能時(shí)它就是普通的通用準(zhǔn)雙向I/O口。21DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線第二功能輸出引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入4鎖存器V12025/6/1466P3口第二功能表引腳第二功能P3.0RxD:串行口接收數(shù)據(jù)輸入端P3.1TxD:
串行口發(fā)送數(shù)據(jù)輸出端P3.2INT0:
外部中斷申請(qǐng)輸入端0P3.3INT1:
外部中斷申請(qǐng)輸入端1P3.4T0:
外部計(jì)數(shù)脈沖輸入端0P3.5T1:
外部計(jì)數(shù)脈沖輸入端1P3.6WR:
寫(xiě)外設(shè)控制信號(hào)輸出端P3.7RD:
讀外設(shè)控制信號(hào)輸出端2025/6/146721DQCK/Q讀引腳=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4111反相器(1)雙向I/O口方式:輸出1011截止鎖存器V12025/6/146821DQCK/Q讀引腳=0讀鎖存器寫(xiě)鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4000反相器(2)雙向I/O口方式:輸出0110導(dǎo)通鎖存器V12025/6/146921DQCK/Q讀引腳=1讀鎖存器寫(xiě)鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4111反相器(3)雙向I/O口方式:輸入01截止鎖存器V12025/6/147021DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4第二功能輸出時(shí),內(nèi)部自動(dòng)D=1111反相器(4)第二功能輸出方式鎖存器V12025/6/147121DQCK/Q讀引腳讀鎖存器寫(xiě)鎖存器內(nèi)部總線此端自動(dòng)=1引腳P3.X3內(nèi)部上拉電阻Vcc
第二功能輸入(RxD,T0,T1,INT0,INT1)4第二功能輸入時(shí),信號(hào)經(jīng)緩沖器4直接進(jìn)入內(nèi)總線1110截止(5)第二功能輸入方式鎖存器V12025/6/1472單片機(jī)原理與應(yīng)用I/O口線功能P0可以作為8位數(shù)據(jù)口和低8位地址口,也可作為通用I/O口;P2可以作為高8位地址口,也可作為通用I/O口;P1只能作為通用I/O口;P3可作為通用I/O口,也可用于第二功能;
P0可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載P1、P2、P3可以驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載所有口作輸入口使用時(shí)要先寫(xiě)1,準(zhǔn)雙向口
40DIP2025/6/1473MCS-51I/O端口的簡(jiǎn)單應(yīng)用這里舉一個(gè)簡(jiǎn)單的MCS-51I/O口的應(yīng)用實(shí)例。如圖所示,單片機(jī)的P1.0口設(shè)置成輸入口,通過(guò)一個(gè)按鈕開(kāi)關(guān)連接到地。P1.1口設(shè)置成輸出口,通過(guò)電阻R1連接到Q1的基極,Q1的發(fā)射極連接到地,集電極通過(guò)發(fā)光二極管D1和電阻R2連接到+5V電源。2025/6/1474要實(shí)現(xiàn)的功能是每當(dāng)按鈕開(kāi)關(guān)S1按下時(shí),發(fā)光二極管就亮,松開(kāi)時(shí)發(fā)光二極管就滅。具體的程序如下:
SETBP1.0 ;為了P1.0做輸入,先要輸出高電平LOOP1:CLRP1.1 ;熄滅LOOP2:JBP1.0,LOOP1 ;查看開(kāi)關(guān)是否按下,高電平說(shuō)明沒(méi)有
;按下,低電平說(shuō)明已按下。
LCALLDELAY10ms;軟件延時(shí)10ms,去開(kāi)關(guān)抖動(dòng)
JBP1.0,LOOP1 ;再查看一次開(kāi)關(guān)狀態(tài)
SETBP1.1 ;點(diǎn)亮發(fā)光二極管
SJMPLOOP2 ;重復(fù)2025/6/1475單片機(jī)原理與應(yīng)用第二章MCS51單片機(jī)結(jié)構(gòu)和原理2.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理2.2MCS-51單片機(jī)的引腳分布及其功能2.3MCS-51單片機(jī)的工作時(shí)序2025/6/1476單片機(jī)原理與應(yīng)用8051、8052引腳是相互兼容的,均采用40腳DIP封裝,因受引腳數(shù)目限制,不少引腳具有第二功能。目前也有簡(jiǎn)化封裝,如1051、2051,采用20腳DIP封裝,減少P0、P2口16條引腳。44腳PLCC封裝2025/6/1477單片機(jī)原理與應(yīng)用2025/6/14782025/6/14792025/6/1480單片機(jī)原理與應(yīng)用電源引腳:Vcc和Vss時(shí)鐘電路引腳:XTAL1和XTAL2控制信號(hào)引腳RST、ALE、PSEN和EAI/O端口P0、P1、P2和P32025/6/1481單片機(jī)原理與應(yīng)用引腳功能簡(jiǎn)要說(shuō)明:電源VCC、VSS
VCC+5V工作電源VSS接地端時(shí)鐘XTAL1、XTAL2XTAL2振蕩電路反向放大輸出端若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖。89C51/8031正常工作時(shí),該引腳應(yīng)有脈沖信號(hào)輸出XTAL1振蕩電路反向放大輸入端在采用外部時(shí)鐘時(shí),該引腳接地XTAL1
單片機(jī)
XTAL2時(shí)鐘頻率:范圍要求在1.2MHz~12MHz之間2025/6/1482(a)內(nèi)部振蕩方式(b)外部振蕩方式圖2.14MCS-51單片機(jī)內(nèi)部時(shí)鐘電路圖2.15MCS-51單片機(jī)時(shí)鐘電路產(chǎn)生方式2025/6/1483單片機(jī)原理與應(yīng)用控制線ALE/PROG:地址鎖存允許信號(hào)端輸出脈沖頻率是振蕩頻率的1/6,可作為低8位地址鎖存信號(hào)也可為定時(shí)信號(hào),還可判斷芯片好壞。PROG編程脈沖輸入端。2025/6/1484PSEN:外部程序存儲(chǔ)器讀選通信號(hào)端EA/VPP:程序存儲(chǔ)器選擇信號(hào)端和編程電源輸入端ALE和PSEN可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載2025/6/1485
RST/VPD:復(fù)位信號(hào)端和后備電源輸入端。輸入24個(gè)振蕩周期以上的高電平脈沖,單片機(jī)復(fù)位。VPD使用后備電源,可實(shí)現(xiàn)掉電保護(hù)。2025/6/1486單片機(jī)原理與應(yīng)用
復(fù)位電路: 1)上電復(fù)位 2)外部信號(hào)復(fù)位單片機(jī)RSTK+5V200Ω1K30μF2025/6/1487單片機(jī)原理與應(yīng)用表2-2復(fù)位后有關(guān)狀態(tài)
寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PCABPSWSPDPTRP0~P3IPIETMOD
0000HOOH00H00H07H0000HFFHXX000000B0X000000B00H
TCONT2CONTH0TL0TH1TL1SCONSBUFPCON
00H00H00H00H00H00H00HXXH(0XXX0000B)
2025/6/1488單片機(jī)原理與應(yīng)用注意:?jiǎn)纹瑱C(jī)各功能模塊由特殊寄存器控制,因此上述復(fù)位狀態(tài)決定了單片機(jī)的初始狀態(tài):1、PC=0000H,從0000H單元開(kāi)始執(zhí)行程序。2、PSW=00H,所以RS1RS0=00,當(dāng)前工作寄存器組為第0組。3、SP=07,堆棧區(qū)從片內(nèi)RAM08H單元開(kāi)始。4、各定時(shí)器/計(jì)數(shù)器初值為0。5、禁止中斷工作。6、全部中斷設(shè)置在低優(yōu)先級(jí)中斷狀態(tài)。7、P0~P3口全1。2025/6/1489有時(shí)候系統(tǒng)運(yùn)行過(guò)程出現(xiàn)錯(cuò)誤,進(jìn)入死循環(huán),除了手動(dòng)復(fù)位,還有一種自動(dòng)復(fù)位的手段。由于這種電路常由一個(gè)定時(shí)器來(lái)實(shí)現(xiàn),因此常常稱(chēng)為“看門(mén)狗定時(shí)器(WatchDogTimer)”,簡(jiǎn)稱(chēng)WDT??撮T(mén)狗電路一般利用外部芯片來(lái)實(shí)現(xiàn),有些新型單片機(jī)(如MSP430單片機(jī))內(nèi)部集成了看門(mén)狗電路。
MCS-51單片機(jī)系統(tǒng)中常用的一款WDT芯片是美國(guó)DALLAS公司生產(chǎn)的看門(mén)狗集成電路DS1232,其外部引腳如圖所示:DS12322025/6/1490
DS1232在系統(tǒng)上電或者在電源電壓瞬時(shí)突變的時(shí)候自動(dòng)復(fù)位處理器,也可以在處理器工作異常時(shí)對(duì)處理器進(jìn)行自動(dòng)復(fù)位,外部增加一個(gè)手動(dòng)按鍵時(shí),還可以對(duì)處理器進(jìn)行手動(dòng)復(fù)位。
DS1232的管腳功能是::按扭復(fù)位輸入端TD:看門(mén)狗定時(shí)器延時(shí)設(shè)置端TOL:5%或10%電壓監(jiān)測(cè)選擇端RST:高電平有效復(fù)位脈沖輸出端:低電平有效復(fù)位脈沖輸出端 :周期輸入端VCC:電源GND:地2025/6/1491
DS1232內(nèi)部有一個(gè)定時(shí)器,當(dāng)該定時(shí)器的輸入端/ST在一定的時(shí)間間隔內(nèi)沒(méi)有有效輸入時(shí)DS1232也將使RST端輸出至少250ms的正脈沖,同時(shí)/RST端輸出寬度相同的負(fù)脈沖,構(gòu)成看門(mén)狗復(fù)位系統(tǒng)??撮T(mén)狗的定時(shí)時(shí)間長(zhǎng)度由TD引腳的連接狀態(tài)決定,如下表所示:TD引腳連接定時(shí)時(shí)間最小值典型值最大值地(GND)62.5ms150ms250ms浮空250ms600ms1000ms電源(Vcc)500ms1200ms2000ms2025/6/1492當(dāng)電源電壓VCC低于設(shè)定值(4.75V或4.5V,由TOL端選擇,當(dāng)TOL端為低電平時(shí)為4.75V,當(dāng)TOL端為高電平時(shí)為4.5V)時(shí),RST端將輸出至少250ms的正脈沖,同時(shí)/RST端輸出寬度相同,電平相反的負(fù)脈沖。
利用DS1232構(gòu)成的包含看門(mén)狗的MCS-51單片機(jī)系統(tǒng)復(fù)位電路如圖所示:2025/6/1493圖中連接到DS1232的/PBRST引腳的按鍵按下時(shí),/PBRST引腳連接到地,這也將使RST端輸出至少250ms的正脈沖,同時(shí)/RST端輸出寬度相同的負(fù)脈沖,構(gòu)成按鍵復(fù)位系統(tǒng)。2025/6/1494單片機(jī)原理與應(yīng)用第二章MCS51單片機(jī)結(jié)構(gòu)和原理2.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理2.2MCS-51單片機(jī)的引腳分布及其功能2.3MCS-51單片機(jī)的工作時(shí)序2025/6/1495單片機(jī)原理與應(yīng)用1.時(shí)序的概念
計(jì)算機(jī)是按程序工作的,程序是由許多指令組成的,指令是宏觀組成程序的最小單位,指令是逐條存放在程序存儲(chǔ)器中的,當(dāng)執(zhí)行指令時(shí),首先將指令取出送到指令寄存器中,然后進(jìn)行譯碼,轉(zhuǎn)換成一系列定時(shí)控制的微操作,用來(lái)控制單片機(jī)各部分工作,來(lái)完成指令所要求的操作。
因?yàn)橐粭l指令分解成許多基本的微操作,而這些微操作對(duì)應(yīng)的脈沖信號(hào)在時(shí)間上由嚴(yán)格的先后次序這種次序就是計(jì)算機(jī)的時(shí)序2025/6/1496單片機(jī)原理與應(yīng)用時(shí)序是非常重要的概念,指明了單片機(jī)內(nèi)部和外部互連所必須遵守的規(guī)律。
幾個(gè)概念:振蕩周期狀態(tài)周期機(jī)器周期指令周期2025/6/1497
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省長(zhǎng)春市汽開(kāi)區(qū)2024-2025學(xué)年八年級(jí)下學(xué)期期末考試數(shù)學(xué)試卷(含詳解)
- 工程與建筑類(lèi)考試報(bào)名全流程指南
- 基因工程和細(xì)胞利用(共30題)-2023年高考生物總復(fù)習(xí)(原卷版)
- 2025至2030年中國(guó)城市公共交通市場(chǎng)前景預(yù)測(cè)及投資規(guī)劃研究報(bào)告
- 化工行業(yè)勞動(dòng)合同書(shū)
- MySQL數(shù)據(jù)庫(kù)應(yīng)用實(shí)戰(zhàn)教程(慕課版)(第2版)實(shí)訓(xùn)指導(dǎo)-8-1 創(chuàng)建數(shù)據(jù)庫(kù)
- 親子出游訂酒店合同范本
- 兼職游泳教練勞務(wù)合同范本
- 專(zhuān)利授權(quán)獨(dú)家協(xié)議書(shū)模板
- 廣東省惠州市2026屆高三上學(xué)期第一次調(diào)研考試地理試卷(含答案)
- 解約合同協(xié)議書(shū)范本
- 2025-2030電子印制電路板市場(chǎng)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 國(guó)網(wǎng) 35kV~750kV輸電線路絕緣子金具串通 用設(shè)計(jì)模塊清單(試行)2024
- 香港信托合同協(xié)議
- 2025年不動(dòng)產(chǎn)登記培訓(xùn)
- 2025年浙江省數(shù)字安全證書(shū)管理有限公司招聘筆試參考題庫(kù)含答案解析
- UWB技術(shù)在地下礦井人機(jī)定位中的應(yīng)用與優(yōu)勢(shì)
- 施工現(xiàn)場(chǎng)危險(xiǎn)源管理制度
- 新版煤礦安全投入保障制度
- 跨境運(yùn)輸問(wèn)題應(yīng)急預(yù)案
- 預(yù)包裝食品采購(gòu)合同樣本6篇
評(píng)論
0/150
提交評(píng)論