車(chē)用單片機(jī)原理 課件 第二章 MCS-51單片機(jī)硬件結(jié)構(gòu)_第1頁(yè)
車(chē)用單片機(jī)原理 課件 第二章 MCS-51單片機(jī)硬件結(jié)構(gòu)_第2頁(yè)
車(chē)用單片機(jī)原理 課件 第二章 MCS-51單片機(jī)硬件結(jié)構(gòu)_第3頁(yè)
車(chē)用單片機(jī)原理 課件 第二章 MCS-51單片機(jī)硬件結(jié)構(gòu)_第4頁(yè)
車(chē)用單片機(jī)原理 課件 第二章 MCS-51單片機(jī)硬件結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

車(chē)用單片機(jī)原理(含實(shí)驗(yàn)與實(shí)訓(xùn))21MCS-51單片機(jī)的總體結(jié)構(gòu)MCS-51單片機(jī)的引腳功能單擊此處添加標(biāo)題單擊此處添加標(biāo)題43MCS-51單片機(jī)中央處理器MCS-51單片機(jī)存儲(chǔ)器65MCS-51單片機(jī)并行I/O端口MCS-51單片機(jī)的時(shí)序7MCS-51單片機(jī)的輔助電路01MCS-51單片機(jī)的總體結(jié)構(gòu)第一節(jié)MCS-51單片機(jī)的總體結(jié)構(gòu)中央處理器CPU:8位,運(yùn)算和控制功能內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格內(nèi)部RAM:共256個(gè)RAM單元,用戶(hù)使用前128個(gè)單元,用于存放可讀寫(xiě)數(shù)據(jù),后128個(gè)單元被專(zhuān)用寄存器占用。定時(shí)/計(jì)數(shù)器:兩個(gè)16位的定時(shí)/計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能并行I/O口:4個(gè)8位的I/O口P0、P1、P2、P3。串行口:一個(gè)全雙工串行口。中斷控制系統(tǒng):5個(gè)中斷源。時(shí)鐘電路:可產(chǎn)生時(shí)鐘脈沖序列,允許晶振頻率6MHZ和12MHZ。51系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖2-1所示。第一節(jié)

MCS-51單片機(jī)的總體結(jié)構(gòu)圖2-1

8051單片機(jī)內(nèi)部結(jié)構(gòu)圖02MCS-51單片機(jī)的引腳功能第二節(jié)

MCS-51單片機(jī)的引腳功能圖2-251單片機(jī)的引腳信號(hào)

51單片機(jī)一般采用40引腳雙列直插(DIP)封裝,如圖2-2所示。51單片機(jī)的引腳可以分為三類(lèi),分別是電源和時(shí)鐘引腳、I/O引腳、控制引腳。第二節(jié)

MCS-51單片機(jī)的引腳功能雙列直插式(DIP)51系列單片機(jī)芯片一般為40條引腳,其引腳說(shuō)明如下:一、電源及時(shí)鐘引腳功能

◆主電源引腳

Vcc(40腳):接+5V電源正端。

Vss(20腳):接+5V電源地端。

◆外接晶體引腳

XTAL1(19腳):接外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,可構(gòu)成片內(nèi)振蕩器。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。第二節(jié)

MCS-51單片機(jī)的引腳功能◆外接晶體引腳

XTAL2(18腳):接外部石英晶體的另一端。在片內(nèi),它是片內(nèi)振蕩器反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳為外部振蕩信號(hào)的輸入端;對(duì)于CHMOS單片機(jī),該引腳懸空不接。第二節(jié)

MCS-51單片機(jī)的引腳功能二、控制引腳

◆ALE/PROG(30腳)

片外低8地址鎖存有效信號(hào)輸出端/編程脈沖輸入端。單片機(jī)在訪問(wèn)片外程序存儲(chǔ)器或者數(shù)據(jù)存儲(chǔ)器期間,ALE引腳會(huì)輸出負(fù)跳變信號(hào),P0口作為低8位地址鎖存在外部鎖存器中,通過(guò)ALE引腳可以實(shí)現(xiàn)P0口的地址線(xiàn)和數(shù)據(jù)線(xiàn)分時(shí)復(fù)用;在不訪問(wèn)片外程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器期間,ALE端以時(shí)振蕩時(shí)鐘的6分頻固定地輸出,可用作對(duì)外時(shí)鐘脈沖的輸出;在對(duì)片內(nèi)Flash進(jìn)行編程時(shí),該引腳可以用作輸入編程脈沖。

第二節(jié)

MCS-51單片機(jī)的引腳功能二、控制引腳

◆PSEN(29腳)

外部程序存儲(chǔ)器讀選通輸出端,低電平有效。當(dāng)單片機(jī)需要從外部程序存儲(chǔ)器讀取程序時(shí),每個(gè)機(jī)器周期該信號(hào)兩次有效輸出到外部程序存儲(chǔ)器,外部?jī)?chǔ)存器允許單片機(jī)讀取其中的程序。在訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器期間,這兩次信號(hào)將不出現(xiàn)。第二節(jié)

MCS-51單片機(jī)的引腳功能

第二節(jié)

MCS-51單片機(jī)的引腳功能

第二節(jié)

MCS-51單片機(jī)的引腳功能◆RST/VPD(9腳)

復(fù)位信號(hào)輸入端和備用電源,高電平有效。當(dāng)單片機(jī)開(kāi)始工作時(shí),此引腳加上超過(guò)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)單片機(jī)的重置復(fù)位,使單片機(jī)回復(fù)到初始運(yùn)行狀態(tài)。在單片機(jī)正常工作時(shí),此引腳是低電平。自動(dòng)上電時(shí),考慮到振蕩器需要一定的起振時(shí)間,該引腳上高電平必須持續(xù)10ms以上才能保證有效復(fù)位。第二節(jié)

MCS-51單片機(jī)的引腳功能二、并行I/O口引腳

◆輸入/輸出引腳

P0口(第39~32腳):?jiǎn)纹瑱C(jī)不外擴(kuò)存儲(chǔ)器與I/O口時(shí),P0口可作為準(zhǔn)雙向8位輸入/輸出口,但需要外接上拉電阻。在單片機(jī)外擴(kuò)存儲(chǔ)器或I/O口時(shí),P0口可以作為低8位地址線(xiàn)和8位雙向數(shù)據(jù)線(xiàn)的分時(shí)復(fù)用端口,為雙向8位輸入/輸出口。

P1口(第1~8腳):可以作為準(zhǔn)雙向8位I/O口使用,具有內(nèi)部上拉電阻。

P2口(第21~28腳):可以作為準(zhǔn)雙向8位I/O口使用,內(nèi)部具有上拉電阻;當(dāng)單片機(jī)外擴(kuò)存儲(chǔ)器或I/O時(shí),P2口作為高8位地址總線(xiàn)使用,與P0輸出低8位地址組成16位地址。

P3口(第10~17腳):可以作為準(zhǔn)雙向8位I/O口使用,具有內(nèi)部上拉電阻,各個(gè)引腳還有第二功能。P3口的第二功能見(jiàn)表2-1。第二節(jié)

MCS-51單片機(jī)的引腳功能

◆輸入/輸出引腳-P3口的第二功能端口引腳第二功能說(shuō)明P3.0RXD串行數(shù)據(jù)接收端P3.1TXD串行數(shù)據(jù)發(fā)送端P3.2INT0外部中斷0P3.3INT1外部中斷1P3.4T0定時(shí)器/計(jì)數(shù)器0的外部輸入引腳P3.5T1定時(shí)器/計(jì)數(shù)器1的外部輸入引腳P3.6WR外部RAM寫(xiě)選通引腳P3.7RD外部RAM讀選通引腳第二節(jié)

MCS-51單片機(jī)的引腳功能

注意:準(zhǔn)雙向口與雙向口的差別。準(zhǔn)雙向口僅有兩個(gè)狀態(tài)。而P0口作為總線(xiàn)使用,口線(xiàn)內(nèi)無(wú)上拉電阻,處于高阻“懸浮”態(tài)。故為雙向三態(tài)I/O口。

為什么P0口要有高阻“懸浮”態(tài)?因?yàn)镻0口作為數(shù)據(jù)總線(xiàn)用時(shí),多個(gè)數(shù)據(jù)源都掛在數(shù)據(jù)總線(xiàn)上,當(dāng)P0口不需要讀寫(xiě)其他數(shù)據(jù)源時(shí),需要與數(shù)據(jù)總線(xiàn)高阻“懸浮”隔離。

準(zhǔn)雙向I/O口則無(wú)高阻“懸浮”態(tài)。

另外,準(zhǔn)雙向口作通用I/O輸入使用時(shí),需先向該口先寫(xiě)入“1”。準(zhǔn)雙向口與雙向口的差別。

至此,40只引腳已介紹,應(yīng)熟記每一引腳功能,對(duì)應(yīng)用系統(tǒng)硬件電路設(shè)計(jì)十分重要。03MCS-51單片機(jī)中央處理器CPU第三節(jié)MCS-51單片機(jī)中央處理器CPU一、運(yùn)算器運(yùn)算部件以算術(shù)邏輯單元ALU為核心,包括累加器ACC、寄存器B、暫存器、程序狀態(tài)字PSW等許多部件。它能實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳輸?shù)炔僮?。(一)算術(shù)邏輯單元ALU

算術(shù)邏輯單元不僅能完成8位二進(jìn)制的加、減、乘、除、加1、減1及BCD加法的十進(jìn)制調(diào)整等算術(shù)運(yùn)算,還能對(duì)8位變量進(jìn)行邏輯“與”、“或”、“異或”、循環(huán)移位、求補(bǔ)、清零等邏輯運(yùn)算,并具有數(shù)據(jù)傳輸、程序轉(zhuǎn)移等功能。第三節(jié)MCS-51單片機(jī)中央處理器CPU(二)累加器ACC、寄存器B

累加器ACC(簡(jiǎn)稱(chēng)累加器A)為一個(gè)8位寄存器,它是CPU中使用最頻繁的寄存器。進(jìn)入ALU作算術(shù)和邏輯運(yùn)算的操作數(shù)多來(lái)自于ACC,運(yùn)算結(jié)果也常送回ACC保存。寄存器B是為ALU進(jìn)行乘/除法運(yùn)算而設(shè)置的。若不作乘除運(yùn)算時(shí),B可作為通用寄存器使用。第三節(jié)MCS-51單片機(jī)中央處理器CPU

(三)程序狀態(tài)字PSW

程序狀態(tài)字PSW是一個(gè)8位的標(biāo)志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程序查詢(xún)和判別。其各位的定義如下:

進(jìn)位標(biāo)志位C(PSW.7):當(dāng)CPU進(jìn)行加減運(yùn)算過(guò)程中,運(yùn)算結(jié)果如果在最高位有進(jìn)位(加法時(shí))或有借位(減法時(shí)),則CY位置1,當(dāng)運(yùn)算結(jié)果沒(méi)有進(jìn)位或者借位時(shí),CY位置0。第三節(jié)MCS-51單片機(jī)中央處理器CPU

輔助進(jìn)位(或稱(chēng)半進(jìn)位)標(biāo)志位AC(PSW.6):在CPU進(jìn)行加減法運(yùn)算過(guò)程中,若低半字節(jié)的PSW.3位向高半字節(jié)的PSW.4位位有進(jìn)(借)位,則AC由硬件置1,否則AC由硬件置0。

用戶(hù)自定義標(biāo)志位F0(PSW.5):用戶(hù)可根據(jù)自己的需要對(duì)F0賦予一定的含義,通過(guò)軟件置位或清零,并根據(jù)F0=1或0來(lái)決定程序的執(zhí)行方式,或反映系統(tǒng)某一種工作狀態(tài)。

奇偶標(biāo)志位P(PSW.0):若累加器ACC中“1”的個(gè)數(shù)為奇數(shù),則標(biāo)志位P置為1;若累加器ACC中“1”的個(gè)數(shù)為奇數(shù),則P置為0。在串行通信的數(shù)據(jù)傳輸中,通常會(huì)通過(guò)奇偶校驗(yàn)來(lái)檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴5谌?jié)MCS-51單片機(jī)中央處理器CPU

溢出標(biāo)志位OV(PSW.1):在做無(wú)符號(hào)的加法或減法時(shí),當(dāng)運(yùn)算結(jié)果超出了累加器的數(shù)值范圍(無(wú)符號(hào)數(shù)的范圍為0~255),OV位置1,否則OV置0。進(jìn)行無(wú)符號(hào)的加或減法時(shí),OV的值與進(jìn)位標(biāo)志位CY的值相同;在做有符號(hào)數(shù)的加法時(shí),當(dāng)運(yùn)算結(jié)果超出了累加器的數(shù)值范圍(有符號(hào)數(shù)的范圍為-128~+127)時(shí),即次高位有進(jìn)位或借位,OV被置1,否則OV被置0。

工作寄存器組選擇位RS1、RS0(PSW.4、PSW.3):通過(guò)工作寄存器選擇位的組合,可以從4個(gè)工作寄存器組中選擇某一組用于單片機(jī)的運(yùn)行工作中數(shù)據(jù)的臨時(shí)保存。

第三節(jié)MCS-51單片機(jī)中央處理器CPU

工作寄存器組選擇位RS1、RS0(PSW.4、PSW.3):通過(guò)工作寄存器選擇位的組合,可以從4個(gè)工作寄存器組中選擇某一組用于單片機(jī)的運(yùn)行工作中數(shù)據(jù)的臨時(shí)保存。

RS1RS0所選的4組寄存器000區(qū)(內(nèi)部RAM地址00H~07H)011區(qū)(內(nèi)部RAM地址08H~0FH)102區(qū)(內(nèi)部RAM地址10H~17H)113區(qū)(內(nèi)部RAM地址18H~1FH)二、控制器

CPU中的控制器是負(fù)責(zé)協(xié)調(diào)指揮各單元的數(shù)據(jù)傳輸運(yùn)作,使得單片機(jī)可依照指令的要求完成工作。(一)程序計(jì)數(shù)器PC

程序計(jì)數(shù)器PC為一個(gè)16位寄存器,不能訪問(wèn),主要功能是用來(lái)指引CPU依其內(nèi)含有的程序地址來(lái)提取相應(yīng)的指令碼,它總是存放著下一條將要執(zhí)行指令的地址。CPU每提取完一個(gè)指令后,PC的值自動(dòng)加1,如此CPU即可按照PC中的值,逐一提取并執(zhí)行每一個(gè)指令。如果執(zhí)行到跳轉(zhuǎn)指令如GOTO指令或中斷函數(shù)時(shí),PC的值將會(huì)改變,使CPU能夠執(zhí)行相應(yīng)子程序或中斷函數(shù)。第三節(jié)MCS-51單片機(jī)中央處理器CPU(二)指令寄存器IR和指令譯碼器ID

指令寄存器IR是用來(lái)放置臨時(shí)從存儲(chǔ)器里面取得的指令。當(dāng)執(zhí)行一條指令時(shí),首先把該指令從主存取到數(shù)據(jù)寄存器中,然后再傳送至指令寄存器。當(dāng)指令寄存器中的指令送至指令譯碼器ID時(shí),ID對(duì)該指令中的操作碼部分進(jìn)行譯碼,把指令轉(zhuǎn)換成所需的電平信號(hào),然后在時(shí)序部件定時(shí)信號(hào)的作用下,產(chǎn)生執(zhí)行該指令所需的操作控制信號(hào)。第三節(jié)MCS-51單片機(jī)中央處理器CPU

(三)堆棧指針SP

堆棧指針SP是在單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)域,開(kāi)辟一個(gè)連續(xù)的存儲(chǔ)空間,用于暫時(shí)放置數(shù)據(jù)和地址,在中斷系統(tǒng)中,通常用于保護(hù)現(xiàn)場(chǎng)和保存斷點(diǎn),具有先進(jìn)后出,后進(jìn)先出的特點(diǎn)。

(四)數(shù)據(jù)指針寄存器DPTR

8051單片機(jī)中內(nèi)含一個(gè)16位的地址指針寄存器DPTR,可以對(duì)外部的數(shù)據(jù)存儲(chǔ)器或者程序存儲(chǔ)器進(jìn)行間接尋址,數(shù)據(jù)指針寄存器DPTR也可以作為兩個(gè)8位的寄存器(DPL和DPH),分別單獨(dú)使用。第三節(jié)MCS-51單片機(jī)中央處理器CPU04MCS-51單片機(jī)存儲(chǔ)器第四節(jié)MCS-51單片機(jī)存儲(chǔ)器

51單片機(jī)的程序存儲(chǔ)器可分為片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器也分為片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器(一)片內(nèi)數(shù)據(jù)存儲(chǔ)器8051單片機(jī)的數(shù)據(jù)存儲(chǔ)器分為片內(nèi)RAM和片外RAM。

8051單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器共有256B,其中低128字節(jié)為數(shù)據(jù)存儲(chǔ)區(qū),地址范圍是00H-7FH,按照用于又分為:工作寄存器區(qū)、位尋址去、通用RAM區(qū);高128字節(jié)是特殊功能寄存器區(qū),地址范圍是80H-FFH。8051單片機(jī)外部數(shù)據(jù)存儲(chǔ)器共有64KB,地址范圍是0000H-FFFFH。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器

8051單片機(jī)片內(nèi)RAM有256B,根據(jù)需要分為低128字節(jié)RAM區(qū)和高128字節(jié)的特殊功能寄存器(SFR)區(qū)。

低128B(地址范圍:00H~7FH)是真正的RAM存儲(chǔ)器,按用途劃分為通用工作寄存器區(qū)、位尋址區(qū)、用戶(hù)RAM區(qū)。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器(1)通用工作寄存器區(qū)

該區(qū)共有4組通用寄存器組,地址范圍為00H~1FH,每組有8個(gè)工作寄存器R0~R7,共計(jì)32個(gè)寄存器,用于存放操作數(shù)和中間結(jié)果等,一般稱(chēng)為通用寄存器。(2)位尋址區(qū)

位尋址區(qū)是數(shù)據(jù)存儲(chǔ)器的一部分,地址范圍為20H~2FH的單元,既可以像普通RAM一樣按字節(jié)使用,還可以對(duì)RAM單元中的每一位進(jìn)行位操作,因此把該區(qū)域稱(chēng)為位尋址區(qū)。(3)用戶(hù)RAM區(qū)

用戶(hù)RAM區(qū)的地址范圍為30H~7FH,共80個(gè)字節(jié)的空間,是供用戶(hù)使用和操作的RAM區(qū)。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器

堆棧是在片內(nèi)RAM中開(kāi)辟一連續(xù)的區(qū)域,一般設(shè)在2FH地址單元之后的用戶(hù)RAM區(qū)中,用于保存臨時(shí)數(shù)據(jù)。堆棧數(shù)據(jù)存取按“先進(jìn)后出”或“后進(jìn)先出”的原則。8051單片機(jī)的SP是8位寄存器,堆棧為“向上生長(zhǎng)型”,即棧頂?shù)刂房偸谴笥跅5椎刂返?。堆棧從棧底地址單元開(kāi)始,向高端地址延伸,如圖2-6所示。

圖2-6

堆棧工作示意圖

堆棧棧頂?shù)奈恢糜蓪?zhuān)用的堆棧指針寄存器SP指出。當(dāng)單片機(jī)執(zhí)行壓棧操作時(shí),先執(zhí)行SP加1的操作,然后再把數(shù)據(jù)壓入堆棧;當(dāng)數(shù)據(jù)再次從堆棧取出之后,SP的值自動(dòng)減1。51單片機(jī)復(fù)位后SP的初值為07H,所以堆棧實(shí)際上是從08H開(kāi)始存放數(shù)據(jù)的。用戶(hù)必須重新給SP賦值以規(guī)定其棧底位置。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器堆棧主要是為子程序調(diào)用和中斷操作而設(shè)。用于保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。(1)保護(hù)斷點(diǎn)。無(wú)論子程序調(diào)用還是中斷服務(wù)子程序調(diào)用,最終都要返回主程序。應(yīng)預(yù)先把主程序的斷點(diǎn)在堆棧中保護(hù)起來(lái),為程序正確返回做準(zhǔn)備。(2)現(xiàn)場(chǎng)保護(hù)。執(zhí)行子程序或中斷服務(wù)子程序時(shí),要用到一些寄存器單元,會(huì)破壞原有內(nèi)容。要把有關(guān)寄存器單元的內(nèi)容送入堆棧,保存起來(lái),即“現(xiàn)場(chǎng)保護(hù)”。

兩種操作:數(shù)據(jù)壓入(PUSH)堆棧,數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動(dòng)加1;數(shù)據(jù)彈出堆棧,SP自動(dòng)減1。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器特殊功能寄存器(SFR)區(qū)

特殊功能寄存器(SFR,即SpecialFunctionRegisters)又稱(chēng)為專(zhuān)用寄存器,專(zhuān)用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行I/O口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等功能模塊的工作。用戶(hù)在編程時(shí)可以設(shè)置參數(shù),卻不能隨意移作它用。在51子系列單片機(jī)中,各專(zhuān)用寄存器(PC例外)與片內(nèi)RAM統(tǒng)一編址,且作為直接尋址字節(jié),可直接尋址。第四節(jié)MCS-51單片機(jī)存儲(chǔ)器序號(hào)標(biāo)識(shí)符名稱(chēng)字節(jié)地址位地址1ACC累加器E0HE0H~E7H2BB寄存器F0HF0H~F7H3PSW程序狀態(tài)字D0HD0H~D7H4SP堆棧指針81H5DPTR數(shù)據(jù)指針(DPH,DPL)83H、82H6P0P0口80H80H~87H7P1P1口90H90H~97H8P2P2口A0HA0H~A7H9P3P3口B0HB0H~B7H10IP中斷優(yōu)先級(jí)控制寄存器B8HB8H~BFH11IE中斷允許控制寄存器A8HA8H~AFH12TOMD定時(shí)器/計(jì)數(shù)器方式控制寄存器89H第四節(jié)MCS-51單片機(jī)存儲(chǔ)器13TCON定時(shí)器/計(jì)數(shù)器控制寄存器88H88H~8FH14T2CON定時(shí)器/計(jì)數(shù)器2控制寄存器C8HC8H~CFH15TH0定時(shí)器/計(jì)數(shù)器0(高字節(jié))8CH16TL0定時(shí)器/計(jì)數(shù)器0(低字節(jié))8AH17TH1定時(shí)器/計(jì)數(shù)器1(高字節(jié))8DH18TL1定時(shí)器/計(jì)數(shù)器1(低字節(jié))8BH19TH2定時(shí)器/計(jì)數(shù)器2(高字節(jié))CDH20TL2定時(shí)器/計(jì)數(shù)器2(低字節(jié))CCH21RLDH定時(shí)器/計(jì)數(shù)器2重自動(dòng)裝載(高字節(jié))CBH22RLDL定時(shí)器/計(jì)數(shù)器2重自動(dòng)裝載(低字節(jié))CAH23SCON串行口控制寄存器98H98H~9FH24SBUF串行數(shù)據(jù)緩沖器99H25PCON電源控制及波特率選擇寄存器97H第四節(jié)MCS-51單片機(jī)存儲(chǔ)器51單片機(jī)C語(yǔ)言中的SFRsfr不是標(biāo)準(zhǔn)C語(yǔ)言的關(guān)鍵字,是Keil中用來(lái)定義專(zhuān)用寄存器字節(jié)地址的關(guān)鍵字,從而在單片機(jī)C51語(yǔ)言程序中可以直接訪問(wèn)這些專(zhuān)用寄存器。用法:sfr變量名=地址值例如:sfrP1=0x90;//專(zhuān)用寄存器P1的地址為90H,對(duì)應(yīng)P1端口的8個(gè)I/O引腳/*BYTERegisters*/sfrP0=0x80;sfrP1=0x90;sfrP2=0xA0;sfrP3=0xB0;sfrPSW=0xD0;sfrACC=0xE0;sfrB=0xF0;sfrSP=0x81;sfrDPL=0x82;sfrDPH=0x83;sfrPCON=0x87;sfrTCON=0x88;sfrTMOD=0x89;sfrTL0=0x8A;sfrTL1=0x8B;sfrTH0=0x8C;sfrTH1=0x8D;sfrIE=0xA8;sfrIP=0xB8;sfrSCON=0x98;sfrSBUF=0x99;第四節(jié)MCS-51單片機(jī)存儲(chǔ)器

二、程序存儲(chǔ)器第四節(jié)MCS-51單片機(jī)存儲(chǔ)器

51單片機(jī)的片內(nèi)ROM中不只存放用戶(hù)的應(yīng)用程序,還將一部分空間劃分出來(lái),用于中斷處理程序。在系統(tǒng)遇到中斷時(shí),會(huì)根據(jù)中斷的類(lèi)型,自動(dòng)跳轉(zhuǎn)到ROM中該中斷處理程序處執(zhí)行相應(yīng)的中斷處理服務(wù)程序。地址說(shuō)明0000H~0002H單片機(jī)復(fù)位后的程序入口地址(占3個(gè)單元)0003H~000AH外部中斷0的中斷服務(wù)程序地址(占8個(gè)單元)000BH~0012H定時(shí)器0的中斷服務(wù)程序地址(占8個(gè)單元)0013H~001AH外部中斷1的中斷服務(wù)程序地址(占8個(gè)單元)001BH~0022H定時(shí)器1(T1)的中斷服務(wù)程序地址(占8個(gè)單元)0023H~002AH串行口的中斷服務(wù)程序地址(占8個(gè)單元)

程序存儲(chǔ)器中的0003H~002AH共40個(gè)單元被保留,用于5個(gè)中斷源的中斷服務(wù)程序的入口地址,用戶(hù)不可修改。用戶(hù)程序在程序存儲(chǔ)器中的位置05MCS-51單片機(jī)并行I/O端口第五節(jié)MCS-51單片機(jī)并行I/O端口

(1)P0口用作系統(tǒng)的地址/數(shù)據(jù)總線(xiàn)用8051外擴(kuò)存儲(chǔ)器或I/O時(shí),P0口作為系統(tǒng)復(fù)用的地址/數(shù)據(jù)總線(xiàn)用。此時(shí),圖2-9中的控制信號(hào)C為1,一、P0口的工作原理硬件自動(dòng)使轉(zhuǎn)接開(kāi)關(guān)MUX打向上面,接通反相器輸出,同時(shí)使“與門(mén)”處于開(kāi)啟狀態(tài)。第五節(jié)MCS-51單片機(jī)并行I/O端口當(dāng)輸出的“地址/數(shù)據(jù)”信息為1時(shí),“與門(mén)”輸出為1,上方的場(chǎng)效應(yīng)管導(dǎo)通,下方的場(chǎng)效應(yīng)管截止,P0.n引腳輸出為1;當(dāng)輸出的“地址/數(shù)據(jù)”信息為0時(shí),上方的場(chǎng)效應(yīng)管截止,下方的場(chǎng)效應(yīng)管導(dǎo)通,P0.n引腳輸出為0??梢?jiàn)P0.x引腳的輸出狀態(tài)隨“地址/數(shù)據(jù)”狀態(tài)的變化而變化。上方場(chǎng)效應(yīng)管起到內(nèi)部上拉電阻作用。一、P0口的工作原理第五節(jié)MCS-51單片機(jī)并行I/O端口

一、P0口的工作原理第五節(jié)MCS-51單片機(jī)并行I/O端口

由上分析,P0口具有高電平、低電平和高阻抗輸入3種狀態(tài)的端口,因此,P0口作為地址/數(shù)據(jù)總線(xiàn)使用時(shí)是一真正的雙向端口。1.P0口的工作原理第五節(jié)MCS-51單片機(jī)并行I/O端口

第五節(jié)MCS-51單片機(jī)并行I/O端口P0口作為通用I/O輸入口時(shí),有兩種讀入方式:“讀鎖存器”和“讀引腳”。當(dāng)CPU發(fā)出“讀鎖存器”指令時(shí),鎖存器的狀態(tài)由Q端經(jīng)上方的三態(tài)緩沖器BUF1進(jìn)入內(nèi)部總線(xiàn);當(dāng)CPU發(fā)出“讀引腳”指令時(shí),鎖存器的輸出狀態(tài)=1(即端為0),從而使下方場(chǎng)效應(yīng)管截止,引腳狀態(tài)經(jīng)下方三態(tài)緩沖器BUF2進(jìn)入內(nèi)部總線(xiàn)。小結(jié):(1)當(dāng)P0口用作地址/數(shù)據(jù)總線(xiàn)口使用時(shí),是一個(gè)真正的雙向口,用作與外部擴(kuò)展的存儲(chǔ)器或I/O連接,輸出低8位地址和輸出/輸入8位數(shù)據(jù)。(2)當(dāng)P0口用作通用I/O口使用時(shí),需要在片外接上拉電阻,此時(shí)端口不存在高阻抗的懸浮狀態(tài),因此是一個(gè)準(zhǔn)雙向口。如果單片機(jī)片外擴(kuò)展了RAM和I/O接口芯片,P0口此時(shí)應(yīng)作為復(fù)用的地址/數(shù)據(jù)總線(xiàn)口使用。如果沒(méi)有外擴(kuò)RAM和I/O接口芯片,此時(shí)即可作為通用I/O口使用。第五節(jié)MCS-51單片機(jī)并行I/O端口二、P1口的工作原理P1口只作為通用I/O口使用

P1口作為輸入口時(shí),分為“讀鎖存器”和“讀引腳”兩種方式。“讀鎖存器”時(shí),鎖存器的輸出端Q的狀態(tài)經(jīng)輸入緩沖器BUF1進(jìn)入內(nèi)部總線(xiàn);“讀引腳”時(shí),先向鎖存器寫(xiě)1,使場(chǎng)效應(yīng)管截止,P1.n引腳的電平經(jīng)輸入緩沖器BUF2進(jìn)入內(nèi)部總線(xiàn)。第五節(jié)MCS-51單片機(jī)并行I/O端口1.P1口工作原理

圖2-10P1口某一位的位電路結(jié)構(gòu)小結(jié):

P1口由于有內(nèi)部上拉電阻,沒(méi)有高阻抗輸入狀態(tài),故為準(zhǔn)雙向口。作為輸出口時(shí),不需要在片外接上拉電阻。

P1口“讀引腳”輸入時(shí),必須先向鎖存器P1寫(xiě)入1。第五節(jié)MCS-51單片機(jī)并行I/O端口三、P2口的工作原理P2口用作地址總線(xiàn)口,在內(nèi)部控制信號(hào)作用下,MUX與“地址”接通。當(dāng)“地址”線(xiàn)為0時(shí),場(chǎng)效應(yīng)管導(dǎo)通,P2口引腳輸出0;當(dāng)“地址”線(xiàn)為1時(shí),場(chǎng)效應(yīng)管截止,P2口引腳輸出1。P2口用作通用I/O口,在內(nèi)部控制信號(hào)作用下,MUX與鎖存器的Q端接通。第五節(jié)MCS-51單片機(jī)并行I/O端口1.P2口的工作原理CPU輸出1時(shí),Q=1,場(chǎng)效應(yīng)管截止,P2.n引腳輸出1;CPU輸出0時(shí),Q=0,場(chǎng)效應(yīng)管導(dǎo)通,P2.n引腳輸出0。輸入時(shí),分為“讀鎖存器”和“讀引腳”兩種方式?!白x鎖存器”時(shí),Q端信號(hào)經(jīng)輸入緩沖器BUF1進(jìn)入內(nèi)部總線(xiàn);“讀引腳”時(shí),先向鎖存器寫(xiě)1,使場(chǎng)效應(yīng)管截止,P2.n引腳上的電平經(jīng)輸入緩沖器BUF2進(jìn)入內(nèi)部總線(xiàn)。

圖2-11P2口某一位的位電路結(jié)構(gòu)第五節(jié)MCS-51單片機(jī)并行I/O端口P2口小結(jié):

作為地址輸出線(xiàn)使用時(shí),P2口可輸出外部存儲(chǔ)器的高8位地址,與P0口輸出的低8位地址一起構(gòu)成16位地址,共可尋址64KB的地址空間。當(dāng)P2口作為高8位地址輸出口時(shí),輸出鎖存器的內(nèi)容保持不變。

作為通用I/O口使用時(shí),P2口為一個(gè)準(zhǔn)雙向口,功能與P1口一樣。

一般情況下,P2口大多作為高8位地址總線(xiàn)口使用,就不能再作為通用I/O口。如果不作為地址總線(xiàn)口使用,可作為通用I/O口使用。第五節(jié)MCS-51單片機(jī)并行I/O端口四、P3口的工作原理(一)P3口結(jié)構(gòu)

P3口的字節(jié)地址為B0H,與其他I/O相比,多了一個(gè)緩沖器4。P3口除了可作為通用準(zhǔn)雙向I/O接口外,還增加了引腳第二功能,其結(jié)構(gòu)原理圖如下圖所示。

圖2-12P3口某一位的位電路結(jié)構(gòu)第五節(jié)MCS-51單片機(jī)并行I/O端口(二)第二輸入/輸出功能。

當(dāng)選擇第二輸出功能時(shí),該位的鎖存器需置“1”,使“與非門(mén)”為開(kāi)啟狀態(tài)。當(dāng)?shù)诙敵鰹?時(shí),場(chǎng)效應(yīng)管截止,P3.n引腳輸出為1;當(dāng)?shù)诙敵鰹?時(shí),場(chǎng)效應(yīng)管導(dǎo)通,P3.n引腳輸出為0。

當(dāng)選擇第二輸入功能時(shí),該位的鎖存器和第二輸出功能端均應(yīng)置1,保證場(chǎng)效應(yīng)管截止,P3.n引腳的信息由輸入緩沖器BUF3的輸出獲得。四、P3口的工作原理第五節(jié)MCS-51單片機(jī)并行I/O端口(三)第一功能的通用I/O口

當(dāng)用作通用I/O輸出時(shí),“第二輸出功能”端應(yīng)保持高電平,“與非門(mén)”為開(kāi)啟狀態(tài)。CPU輸出1時(shí),Q=1,場(chǎng)效應(yīng)管截止,P3.n引腳輸出為1;CPU輸出0時(shí),Q=0,場(chǎng)效應(yīng)管導(dǎo)通,P3.n引腳輸出為0。

當(dāng)用作通用I/O輸入時(shí),P3.n位的輸出鎖存器和“第二輸出功能”端均應(yīng)置1,場(chǎng)效應(yīng)管截止,P3.n引腳信息通過(guò)輸入BUF3和BUF2進(jìn)入內(nèi)部總線(xiàn),完成“讀引腳”操作。06MCS-51單片機(jī)的時(shí)序第六節(jié)MCS-51單片機(jī)的時(shí)序產(chǎn)生8051工作時(shí)所必需的控制信號(hào),在時(shí)鐘信號(hào)控制下,嚴(yán)格按時(shí)序執(zhí)行指令。執(zhí)行指令時(shí),CPU首先到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)完成指令所規(guī)定的操作。CPU發(fā)的時(shí)序信號(hào)兩類(lèi),一類(lèi)用對(duì)片內(nèi)各個(gè)功能部件控制,用戶(hù)無(wú)須了解;另一類(lèi)用于對(duì)片外存儲(chǔ)器或I/O端口的控制,這部分時(shí)序?qū)τ诜治?、設(shè)計(jì)硬件接口電路至關(guān)重要。第六節(jié)MCS-51單片機(jī)的時(shí)序MCS-51單片機(jī)的時(shí)序由4個(gè)單位構(gòu)成:(1)振蕩周期晶振或者外接振蕩脈沖信號(hào)的振蕩周期,又稱(chēng)節(jié)拍,用P表示。時(shí)鐘脈沖頻率的倒數(shù),為MCS-51單片機(jī)最小的時(shí)序單位,也稱(chēng)為時(shí)鐘周期。(2)狀態(tài)周期晶振信號(hào)經(jīng)過(guò)時(shí)鐘電路的二分頻后,由兩個(gè)振蕩周期組成一個(gè)狀態(tài)周期,用S表示。狀態(tài)周期中的兩個(gè)振蕩周期分別稱(chēng)為節(jié)拍P1和節(jié)拍P2。(3)機(jī)器周期晶振信號(hào)經(jīng)過(guò)12分頻后形成機(jī)器周期,一個(gè)機(jī)器周期由6個(gè)狀態(tài)周期組成,是單片機(jī)執(zhí)行指令的最短時(shí)間,用S1、S2、…、S6表示,共12個(gè)節(jié)拍,依次可表示為S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。第六節(jié)MCS-51單片機(jī)的時(shí)序(4)指令周期是指執(zhí)行一條指令所需要的時(shí)間,它以機(jī)器周期為單位。8051單片機(jī)中指令周期由1-4個(gè)機(jī)器周期組成,可以分為單周期指令、雙周期指令、4周期指令,其中只有乘法和除法是四周期指令。

從指令執(zhí)行時(shí)間看:

單字節(jié)和雙字節(jié)指令一般為單機(jī)器周期和雙機(jī)器周期;

三字節(jié)指令都是雙機(jī)器周期;

乘、除指令占用4個(gè)機(jī)器周期。第六節(jié)MCS-51單片機(jī)的時(shí)序圖2-14CPU時(shí)序第六節(jié)MCS-51單片機(jī)的時(shí)序

CPU按照規(guī)定時(shí)間執(zhí)行內(nèi)部操作,在指令的執(zhí)行過(guò)程中,分別在S1P2、S4P2期間讀取指令。指令碼被讀取后送入指令寄存器,供CPU執(zhí)行,同時(shí)PC指針加1。對(duì)于單

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論