




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2章章 MCS-51單片機(jī)結(jié)構(gòu)和原理單片機(jī)結(jié)構(gòu)和原理 內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 信號(hào)引腳信號(hào)引腳 存儲(chǔ)器存儲(chǔ)器時(shí)鐘電路和時(shí)鐘電路和CPU時(shí)序時(shí)序工作方式工作方式 MCS-51系列單片機(jī)系列單片機(jī)2.1.1 MCS - 51 的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)MCS - 51 的結(jié)構(gòu)方塊圖的結(jié)構(gòu)方塊圖時(shí)鐘電路時(shí)鐘電路定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器64KB64KB總線總線擴(kuò)展控制器擴(kuò)展控制器中斷控制中斷控制CPUROMRAM并行并行接口接口串行串行接口接口T0T1串行口串行口0INT1INT1P1P1鎖存器鎖存器P1P1驅(qū)動(dòng)器驅(qū)動(dòng)器P0P0驅(qū)動(dòng)驅(qū)動(dòng)器器P0P0鎖存鎖存器器定時(shí)定時(shí) 及及控制控制指令寄存器指令寄存器ALUPS
2、W程序地址程序地址寄存器寄存器P3P3鎖存器鎖存器P3P3驅(qū)動(dòng)器驅(qū)動(dòng)器暫存暫存2 2暫存暫存1 1DPTRPCPC+1緩沖器緩沖器ACC寄存器寄存器 B BSPRAM地地址寄存器址寄存器RAMP2P2驅(qū)動(dòng)驅(qū)動(dòng)器器P2P2鎖存鎖存器器EPROM/ROM總總體體結(jié)結(jié)構(gòu)構(gòu)框框圖圖VCCVSSPSENALEEARST中央處理器(CPU)是整個(gè)單片機(jī)的核心部件。運(yùn)算器控制器位處理器(布爾處理器)中央處理器(CPU)CPU的功能:負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入/輸出功能等操作1 中央處理器中央處理器CPUn1. 運(yùn)算器(1)運(yùn)算器的組成)運(yùn)算器的組成算數(shù)邏輯單元累加器A寄存
3、器B暫存器(TEMP)程序狀態(tài)寄存器PSW是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,也可以對(duì)單 字節(jié)、半字節(jié)(4位)等數(shù)據(jù)進(jìn)行操作(2)功能)功能:CPUn 2. 控制器控制器程序計(jì)數(shù)器PC指令寄存器IR指令譯碼ID數(shù)據(jù)指針DPTR堆棧指針SPRAM地址寄存器時(shí)鐘發(fā)生器定時(shí)控制邏輯CPU作用:(1)控制單片機(jī)內(nèi)部各單元的協(xié)調(diào)工作(2)協(xié)調(diào)單片機(jī)與外圍芯片或設(shè)備的工作n3. 位處理器(布爾處理機(jī))MCS-51CPU內(nèi)有一個(gè)一位處理機(jī)子系統(tǒng)是一個(gè)完整的位單片機(jī),只是每次處理的數(shù)據(jù)只是一位有自己累加器CY,數(shù)據(jù)存儲(chǔ)器(可位尋址空間)能完成各種邏輯運(yùn)算 用途邏輯與邏輯或邏輯非異或等邏輯電路的仿真開(kāi)關(guān)量的控制設(shè)置狀態(tài)標(biāo)
4、志位等CPU存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器RAM程序存儲(chǔ)器ROM,4KB/8KB(8051/52)通用存儲(chǔ)器RAM, 128B/256B(8051/52)特殊功能寄存器,21/26個(gè)(8051/52)專用寄存器每個(gè)不得隨便定義用途,如累加器A,定時(shí)器/計(jì)數(shù)器等。不能擴(kuò)展存放運(yùn)算中間或臨時(shí)數(shù)據(jù)等可擴(kuò)展至64KB存放用戶程序、常數(shù)及表格等??蓴U(kuò)展至64KB2 存儲(chǔ)器存儲(chǔ)器接口電路接口電路(I/O接口接口)有四個(gè)并行口P0口,8根輸入/輸出I/O接口線P1口,8根輸入/輸出I/O接口線P2口,8根輸入/輸出I/O接口線P3口,8根輸入/輸出I/O接口線共有32根I/O接口線每一根線都可以設(shè)定為輸入或輸出單片機(jī)單片
5、機(jī)輸出的控制信號(hào)(輸出)采集外部的輸入信號(hào)(輸入)都是通過(guò)這32根I/O線進(jìn)行傳輸?shù)? 并行輸入并行輸入/輸出端口輸出端口實(shí)際是一個(gè)高增益反相放大器,外接一個(gè)晶振和兩個(gè)匹配電容就可組成完整的振蕩器8051內(nèi)置時(shí)鐘電路振蕩器完成時(shí)鐘分相,控制等用途: 產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序最高振蕩頻率12MHz 4 時(shí)鐘振蕩電路時(shí)鐘振蕩電路l用于多處理機(jī)通訊,或全雙工用于多處理機(jī)通訊,或全雙工UART(通用異通用異步收發(fā)器步收發(fā)器)通訊,也可以與一些特殊功能的芯通訊,也可以與一些特殊功能的芯片相連,進(jìn)行輸入片相連,進(jìn)行輸入/輸出擴(kuò)展。輸出擴(kuò)展。5 串行輸入串行輸入/輸出口輸出口(2條條) 中斷系統(tǒng)有中斷系
6、統(tǒng)有5 5個(gè)中斷源、個(gè)中斷源、2 2個(gè)優(yōu)先級(jí),可以個(gè)優(yōu)先級(jí),可以實(shí)現(xiàn)多個(gè)軟件功能的并行運(yùn)行。實(shí)現(xiàn)多個(gè)軟件功能的并行運(yùn)行。 6 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器l單片機(jī)定時(shí)單片機(jī)定時(shí)/計(jì)數(shù)器為增量計(jì)數(shù)器,當(dāng)計(jì)數(shù)滿時(shí)溢計(jì)數(shù)器為增量計(jì)數(shù)器,當(dāng)計(jì)數(shù)滿時(shí)溢出中斷將標(biāo)志位置位。定時(shí)出中斷將標(biāo)志位置位。定時(shí)/計(jì)數(shù)器的作用在于:計(jì)數(shù)器的作用在于: 進(jìn)行精確定時(shí),實(shí)行實(shí)時(shí)控制;進(jìn)行精確定時(shí),實(shí)行實(shí)時(shí)控制; 用于事件計(jì)數(shù)。這樣作減少了軟件開(kāi)銷。用于事件計(jì)數(shù)。這樣作減少了軟件開(kāi)銷。制造工藝為制造工藝為HMOS的系列單片機(jī)大都采用的系列單片機(jī)大都采用40條條引腳的引腳的雙列直插式雙列直插式封裝(封裝(DIP). DIP:Dua
7、l In-line PackageCHMOS制造工藝的單片機(jī)制造工藝的單片機(jī)80C31/80C51除采除采用用DIP封裝外,還采用方形的封裝方式。方封裝外,還采用方形的封裝方式。方形封裝的有形封裝的有44個(gè)引腳,標(biāo)有個(gè)引腳,標(biāo)有NC的的4個(gè)引腳個(gè)引腳不連線。不連線。2.1.2 MCS-51的引腳功能的引腳功能40只引腳只引腳DIP封裝封裝方式方式4444只引腳只引腳方形封裝方形封裝方式(方式(4 4只無(wú)用)只無(wú)用)VCCVSSXTAL2XTAL1RST/VPDP0.0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.
8、6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0ALEP3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7EAPSENRXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C514040只引腳只引腳按功能分為按功能分為3 3類類: (1 1)電源及時(shí)鐘引腳)電源及時(shí)鐘引腳: Vcc: Vcc、VssVss;XTAL1XTAL1、XTAL2XTAL2
9、。 (2 2)控制引腳:)控制引腳: PSENPSEN* *、EAEA* * 、ALEALE、RESET RESET (即(即RSTRST)。)。 (3 3)I/OI/O口引腳:口引腳:P0P0、P1P1、P2P2、P3P3,為,為4 4個(gè)個(gè)8 8位位I/OI/O口口的外部引腳。的外部引腳。引腳功能分類引腳功能分類1 1電源引腳電源引腳 (1 1)VccVcc(4040腳)腳):+5V+5V電源;電源; (2 2)VssVss(2020腳)腳):接地。:接地。2 2時(shí)鐘引腳時(shí)鐘引腳 (1 1)XTAL1XTAL1(1919腳)腳):接外部晶體,如果采用外接振蕩:接外部晶體,如果采用外接振蕩器時(shí)
10、,器時(shí),振蕩器的輸出振蕩器的輸出應(yīng)接到此引腳上。應(yīng)接到此引腳上。(2 2)XTAL2XTAL2(1818腳)腳):接外部晶體的另一端或懸空。:接外部晶體的另一端或懸空。2.3.1 電源及時(shí)鐘引腳電源及時(shí)鐘引腳 2.3.1 電源及時(shí)鐘引腳電源及時(shí)鐘引腳 (a a)外接石英晶體)外接石英晶體 (b b)外接時(shí)鐘)外接時(shí)鐘提供控制信號(hào),有的引腳還具有提供控制信號(hào),有的引腳還具有復(fù)用復(fù)用功能。功能。 (1) RST/VPD(9(1) RST/VPD(9腳腳) ):復(fù)位與備用電源。:復(fù)位與備用電源。復(fù)位電路:復(fù)位電路:使使CPU和系統(tǒng)中的其它部件都處于一和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這
11、個(gè)初始狀態(tài)開(kāi)始工個(gè)確定的初始狀態(tài),并從這個(gè)初始狀態(tài)開(kāi)始工作。作。w 當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。期的高電平將使單片機(jī)復(fù)位。w 復(fù)位以后,復(fù)位以后,P0P3口輸出高電平,口輸出高電平,SP指針重新指針重新賦值為賦值為07H,其它特殊功能寄存器和程序計(jì)數(shù),其它特殊功能寄存器和程序計(jì)數(shù)器器PC被清被清0。2.3.2 控制引腳控制引腳MCS-51復(fù)位后內(nèi)部寄存器初態(tài)復(fù)位后內(nèi)部寄存器初態(tài)MCS-51復(fù)位電路復(fù)位電路上電復(fù)位電路上電復(fù)位電路按鍵電平復(fù)位電路按鍵電平復(fù)位電路按鍵脈沖復(fù)位電路按鍵脈沖復(fù)位電路 (2) ALE/PROG
12、 (2) ALE/PROG* *(3030腳):腳): 第一功能第一功能: :ALEALE為地址鎖存允許。為地址鎖存允許。 存取片外存儲(chǔ)器時(shí),用于鎖存低存取片外存儲(chǔ)器時(shí),用于鎖存低8 8位地址。位地址。 ALE=1 ALE=1,P0P0口用于地址通路;口用于地址通路; ALE=0 ALE=0,P0P0口用于數(shù)據(jù)通路口用于數(shù)據(jù)通路 訪問(wèn)外部存儲(chǔ)器時(shí),訪問(wèn)外部存儲(chǔ)器時(shí),ALEALE輸出信號(hào)的負(fù)跳沿用作低輸出信號(hào)的負(fù)跳沿用作低8 8位地址位地址的所存信號(hào)的所存信號(hào) 第二功能第二功能: :PROGPROG* *為為EPROMEPROM機(jī)型的編程脈沖輸入端。機(jī)型的編程脈沖輸入端。 2.3.2 控制引腳控
13、制引腳 (3) PSEN(3) PSEN* * (2929腳):腳):外部程序存儲(chǔ)器的外部程序存儲(chǔ)器的讀選通讀選通信號(hào)。信號(hào)。 讀外部讀外部ROMROM取指令器件,每機(jī)器周期取指令器件,每機(jī)器周期2 2次有效次有效 (4) EA(4) EA* */VPP (Enable Address/Voltage Pulse of /VPP (Enable Address/Voltage Pulse of ProgramingPrograming,3131腳腳) ) EAEA* *為內(nèi)外程序存儲(chǔ)器選擇控制端。為內(nèi)外程序存儲(chǔ)器選擇控制端。 EAEA* *=1=1,訪問(wèn)訪問(wèn)片內(nèi)程序存儲(chǔ)器片內(nèi)程序存儲(chǔ)器,但在,
14、但在PCPC(程序計(jì)數(shù)器)值(程序計(jì)數(shù)器)值超超過(guò)過(guò)0FFFH0FFFH(對(duì)于(對(duì)于80518051、87518751)時(shí),即)時(shí),即超出片內(nèi)程序存儲(chǔ)器的超出片內(nèi)程序存儲(chǔ)器的4K4K字節(jié)地址范圍字節(jié)地址范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。序。 EAEA* *=0=0,單片機(jī)則單片機(jī)則只訪問(wèn)只訪問(wèn)外部外部程序存儲(chǔ)器程序存儲(chǔ)器。 注意:注意: EAEA* *不能懸空不能懸空 VPPVPP為本引腳的第二功能。用于施加編程電壓(例如為本引腳的第二功能。用于施加編程電壓(例如+21V+21V或或+12V+12V)。對(duì))。對(duì)89C5189C51,加在,加在V
15、PPVPP腳的編程電壓為腳的編程電壓為+12V+12V或或+5V+5V。2.3.3 I/O2.3.3 I/O口引腳口引腳 (1) (1) P0P0口口:雙向雙向8 8位三態(tài)位三態(tài)I/OI/O口,此口為地址總線(低口,此口為地址總線(低8 8位)及數(shù)據(jù)總線位)及數(shù)據(jù)總線分時(shí)復(fù)用分時(shí)復(fù)用口,可驅(qū)動(dòng)口,可驅(qū)動(dòng)8 8個(gè)個(gè)LSLS型型TTLTTL負(fù)載。負(fù)載。 (2) (2) P1P1口口:8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口,可驅(qū)動(dòng)口,可驅(qū)動(dòng)4 4個(gè)個(gè)LSLS型型TTLTTL負(fù)載。負(fù)載。 (3) (3) P2P2口口:8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口,與地址總線(高口,與地址總線(高8 8位)復(fù)位)
16、復(fù)用,可驅(qū)動(dòng)用,可驅(qū)動(dòng)4 4個(gè)個(gè)LSLS型型TTLTTL負(fù)載。負(fù)載。 (4) (4) P3P3口口:8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口,口,雙功能雙功能復(fù)用口,可驅(qū)動(dòng)復(fù)用口,可驅(qū)動(dòng)4 4個(gè)個(gè)LSLS型型TTLTTL負(fù)載。負(fù)載。注意注意: :準(zhǔn)雙向口與雙向三態(tài)口的差別準(zhǔn)雙向口與雙向三態(tài)口的差別。w 當(dāng)當(dāng)3 3個(gè)準(zhǔn)雙向個(gè)準(zhǔn)雙向I/OI/O口作口作輸入口使用輸入口使用時(shí),要向該口時(shí),要向該口先寫(xiě)先寫(xiě)“1 1”。w 準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口無(wú)高阻無(wú)高阻 “浮空浮空”狀態(tài)。狀態(tài)。P3口引腳第二功能 2.3 存儲(chǔ)器存儲(chǔ)器w 普林斯頓(Princeton)結(jié)構(gòu):將程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu)。w
17、 哈佛(Harvard)結(jié)構(gòu):n為絕大多數(shù)單片機(jī)所采用。程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),ROM和RAM獨(dú)立編址并分別尋址的結(jié)構(gòu),相互間不會(huì)沖突。n在MCS-51系列單片機(jī)中,不僅在片內(nèi)預(yù)留了一定容量的程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器以及眾多的特殊功能寄存器(SFR),而且還具有很強(qiáng)的外部存儲(chǔ)器擴(kuò)展能力,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址能力均可達(dá)64KB,尋址和操作簡(jiǎn)單方便。 2.3.1 MCS-51的空間配置的空間配置 物理上,分為四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、物理上,分為四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器。片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器。(8031
18、無(wú)片內(nèi)程序存儲(chǔ)器無(wú)片內(nèi)程序存儲(chǔ)器) 邏輯上,分為三個(gè)空間:片內(nèi)、片外同一程序存儲(chǔ)邏輯上,分為三個(gè)空間:片內(nèi)、片外同一程序存儲(chǔ)器,片內(nèi)隨機(jī)存儲(chǔ)器,片外隨機(jī)存儲(chǔ)器。器,片內(nèi)隨機(jī)存儲(chǔ)器,片外隨機(jī)存儲(chǔ)器。地址編址:地址編址:程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分別編址;程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分別編址;程序存儲(chǔ)器程序存儲(chǔ)器(片內(nèi)、外片內(nèi)、外)統(tǒng)一編址,使用統(tǒng)一編址,使用MOVC指令;指令;數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器(片內(nèi)片內(nèi))統(tǒng)一編址,使用統(tǒng)一編址,使用MOV指令;指令;數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器(片外片外)統(tǒng)一編址,使用統(tǒng)一編址,使用MOVX指令;指令;以字節(jié)編址。以字節(jié)編址。1234567891011121314282726
19、2524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 12345678910111213142827262524232221 201918171615RAM6264 80318751805189C51256B(字節(jié))4KB
20、64K64KMCS51存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu) 三大邏輯存儲(chǔ)空間H00000 00 08 80 0H HRAM內(nèi)內(nèi)部部0 00 0F FF FH H特殊功能寄存器0 0F FF FF FF FH H)(外部外部K64RAM 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器H00000 0F FF FF FH HH0000 程序存儲(chǔ)器程序存儲(chǔ)器1EA內(nèi)部?jī)?nèi)部ROM= =0 0F FF FF FF FH H1000H1000H外外部部ROM0 0F FF FF FH HH00000EA外部外部ROM= =0 00 07 7F FH Hw 程序存儲(chǔ)器(Program memory)一般用半導(dǎo)體只讀存儲(chǔ)器即ROM(Read Only
21、 Memory)。這種存儲(chǔ)器在計(jì)算機(jī)運(yùn)行時(shí)只能對(duì)其執(zhí)行讀操作,即使整機(jī)掉電后存于其中的信息也不會(huì)丟失。w 程序存儲(chǔ)器主要用于存放經(jīng)調(diào)試正確的應(yīng)用程序和常數(shù)表格。w MCS-51系列單片機(jī)采用16位的程序計(jì)數(shù)器PC和16位的地址總線,因而程序存儲(chǔ)器可擴(kuò)展的地址空間為64KB。w 這64KB地址在空間分布范圍上是連續(xù)和統(tǒng)一的。1.1.程序存儲(chǔ)器的分類程序存儲(chǔ)器的分類 w(1)Mask ROM 型型:掩膜ROM。w(2)OTPROM型型: 一次可編程ROM(One Time Programmable ROM)。w(3)EPROM型型:可擦除可編程ROM(Erasable Programmable R
22、om)。w(4)E2PROM型型:電可擦除可編程ROM(Electrically Erasable Programmable ROM)。w(5)Flash ROM型型:閃速只讀存儲(chǔ)器 MCS51片內(nèi)程序存儲(chǔ)器為固定的只讀存儲(chǔ)器ROM。如8051中含有4KB容量的掩膜ROM,8751中含有4KB容量的EPROM,89C51中含有4KB容量的Flash ROM。而8031/8032中不設(shè)程序存儲(chǔ)器,這種單片機(jī)在供應(yīng)狀態(tài)上稱為ROM Less型器件,使用過(guò)程中必須外擴(kuò)ROM。程序程序存儲(chǔ)器存儲(chǔ)器0000H0001H0002H(PC)中斷5中斷4中斷3中斷2中斷10003H000BH0013H001B
23、H0023H002BH外部中斷0定時(shí)器0中斷外部中斷1定時(shí)器1中斷串行口中斷8位位0FFFH0FFEH內(nèi)部外部0000HFFFFH(64K)0000H0FFFH(4K)EA=1 EA=0程序程序存儲(chǔ)器資源分布存儲(chǔ)器資源分布中斷入口地址引腳接高電平時(shí),CPU可訪問(wèn)內(nèi)部和外部ROM,且程序自片內(nèi)程序存儲(chǔ)器開(kāi)始執(zhí)行,PC值超出片內(nèi)ROM容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器中的程序。程序存儲(chǔ)器中的特定程序入口程序存儲(chǔ)器中的特定程序入口(51(51子系列為子系列為6 6個(gè))個(gè)) 0000HFFFFH(64K)內(nèi)部外部數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器00HFFH7FH80H(高128B)(低128B)RAM專用寄存器0組
24、組R0R7R0R7R0R7R0R71組組2組組3組組工作寄存器區(qū)工作寄存器區(qū)可位尋址區(qū)可位尋址區(qū)20H2FH7F 7807 0030H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)內(nèi)部?jī)?nèi)部RAM存儲(chǔ)器存儲(chǔ)器18H1FH10H17H08H0FH00H07H2.3.3 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07 MSB 位地址 LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D05
25、7C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800單元地址堆?;驍?shù)據(jù)緩沖區(qū)(堆?;驍?shù)據(jù)緩沖區(qū)(30H7FH)此區(qū)間共80個(gè)單元,只可按字節(jié)尋址,而不可位尋址。程序運(yùn)行期間,會(huì)產(chǎn)生一些運(yùn)算結(jié)果等中間數(shù)據(jù),這些數(shù)據(jù)可在此區(qū)間暫時(shí)保存。另外,若程序運(yùn)行過(guò)程中遇到調(diào)用子程序或響應(yīng)中斷,往往需要保護(hù)現(xiàn)場(chǎng),將有關(guān)的數(shù)據(jù)壓入堆棧,待子程序返回
26、或中斷響應(yīng)結(jié)束時(shí)再將入棧數(shù)據(jù)彈出,此時(shí),該區(qū)間可作堆棧使用。單片機(jī)復(fù)位后,堆棧指針SP的值為07H,即默認(rèn)此區(qū)間的08H為棧底??紤]到00H2FH通常留作工作寄存器區(qū)和位尋址區(qū),因此一般將棧底設(shè)置在30H或更高地址單元。 2.3.4專用寄存器專用寄存器特殊功能寄存器特殊功能寄存器SFR(Special Function Register) 尋址空間:尋址空間:80HFFH80HFFH中定義了中定義了21個(gè)特殊功能寄存器,占用個(gè)特殊功能寄存器,占用26個(gè)字節(jié)地址空間。個(gè)字節(jié)地址空間。 特殊功能寄存器地址分配特殊功能寄存器地址分配9FH9EH 9DH 9CH 9BH9AH 99H98H SCONS
27、M0 SM1 SM2 REN TB8 RB8TI RI 98H 97 96 95 94 93 92 91 90 P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 90H TH1 8DH TH0 8CH TL1 8BH TL0 8AH TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H 8F 8E 8D 8C 8B 8A 89 88 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H PCON SMOD / / / GF1 GF0 PD IDL 87H DPH 83H DPL 82H SP 81H 87
28、86 85 84 83 82 81 80 P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 80H 算術(shù)運(yùn)算寄存器算術(shù)運(yùn)算寄存器 累加器累加器A(Accumulator)l最常用;最常用;l大多數(shù)單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作大多數(shù)單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令的一個(gè)操作數(shù)取自累加器;數(shù)指令的一個(gè)操作數(shù)取自累加器;l運(yùn)算結(jié)果大多存放在累加器中;運(yùn)算結(jié)果大多存放在累加器中;l累加器累加器A的地址為的地址為0E0H。 B寄存器寄存器l乘、除指令,用乘、除指令,用B寄存器作為其中的一個(gè)操作數(shù);寄存器作為其中的一個(gè)操作數(shù);l進(jìn)行乘法運(yùn)算
29、時(shí),進(jìn)行乘法運(yùn)算時(shí),A、B分別存放乘數(shù)和被乘數(shù),運(yùn)算的分別存放乘數(shù)和被乘數(shù),運(yùn)算的結(jié)果仍舊存放在結(jié)果仍舊存放在A、B中,中,B存放結(jié)果的高八位,存放結(jié)果的高八位,A存放結(jié)存放結(jié)果的低八位;果的低八位;l進(jìn)行除法運(yùn)算時(shí),進(jìn)行除法運(yùn)算時(shí),A中存放被除數(shù),中存放被除數(shù),B中存放除數(shù),運(yùn)算中存放除數(shù),運(yùn)算后的結(jié)果的商存放在后的結(jié)果的商存放在A中,余數(shù)存放在中,余數(shù)存放在B中。中。 程序狀態(tài)字程序狀態(tài)字PSW(Program Status Word)l程序狀態(tài)字程序狀態(tài)字PSW包含了程序的運(yùn)行狀態(tài)信息。包含了程序的運(yùn)行狀態(tài)信息。CY AC F0 RS1 RS0 OV - PPSW寄存器各位功能、標(biāo)志符號(hào)
30、、位地址寄存器各位功能、標(biāo)志符號(hào)、位地址CY(PSW.7)(Carry):進(jìn)位進(jìn)位/借位標(biāo)志。借位標(biāo)志。在進(jìn)行加法運(yùn)算時(shí),若最高位有進(jìn)位,在進(jìn)行加法運(yùn)算時(shí),若最高位有進(jìn)位,CY=1,否則,否則CY=0。在進(jìn)行減法運(yùn)算時(shí),若被減數(shù)小于減數(shù),在進(jìn)行減法運(yùn)算時(shí),若被減數(shù)小于減數(shù),CY=1,否則,否則CY=0。在布爾處理機(jī)中,。在布爾處理機(jī)中,CY被用作位累加器使用。被用作位累加器使用。AC(PSW.6)(Auxiliary Carry):輔助進(jìn)位輔助進(jìn)位/借位標(biāo)志。借位標(biāo)志。當(dāng)?shù)桶胱止?jié)向高半字節(jié)有進(jìn)當(dāng)?shù)桶胱止?jié)向高半字節(jié)有進(jìn)/借位時(shí),借位時(shí),AC=1,否則,否則AC=0。該標(biāo)志主要用于十進(jìn)制調(diào)整。該標(biāo)
31、志主要用于十進(jìn)制調(diào)整。F0(PSW.5)(Flag 0):標(biāo)志標(biāo)志0,由用戶定義,可由軟件置位或,由用戶定義,可由軟件置位或清除,以對(duì)程序的運(yùn)行起指導(dǎo)作用。清除,以對(duì)程序的運(yùn)行起指導(dǎo)作用。RS1、RS0(PSW.4,PSW.3):寄存器區(qū)選擇控制位寄存器區(qū)選擇控制位當(dāng)當(dāng)(RS1,RS0)=00時(shí),選擇寄存器區(qū)時(shí),選擇寄存器區(qū)0區(qū),區(qū),R0對(duì)應(yīng)地址為對(duì)應(yīng)地址為00H,R7對(duì)應(yīng)地址為對(duì)應(yīng)地址為07H;當(dāng)當(dāng)(RS1,RS0)=01時(shí),選擇時(shí),選擇1區(qū),區(qū),R0R7對(duì)應(yīng)對(duì)應(yīng)08H0FH;當(dāng)當(dāng)(RS1,RS0)=10時(shí),選擇時(shí),選擇2區(qū),區(qū),R0R7對(duì)應(yīng)對(duì)應(yīng)10H17H;當(dāng)當(dāng)(RS1,RS0)=11時(shí),
32、選擇時(shí),選擇3區(qū),區(qū),R0R7對(duì)應(yīng)對(duì)應(yīng)18H1FH。OV(PSW.2)(Overflow):溢出標(biāo)志,由硬件置位或清除。:溢出標(biāo)志,由硬件置位或清除。執(zhí)行帶符號(hào)加減法指令時(shí),執(zhí)行帶符號(hào)加減法指令時(shí),OV=C6 C7(Ci為第為第i位向第位向第i+1位的進(jìn)位或借位位的進(jìn)位或借位),執(zhí)行乘法指令時(shí),乘積大于,執(zhí)行乘法指令時(shí),乘積大于255,OV=1,乘積結(jié)果的高八位從乘積結(jié)果的高八位從B取,低八位從取,低八位從A取。取。否則否則OV=0,結(jié)果只需從,結(jié)果只需從A取。執(zhí)行除法指令時(shí),若除數(shù)為取。執(zhí)行除法指令時(shí),若除數(shù)為0,OV=1,否則,否則OV=0。P(PSW.0)(Parity):奇偶標(biāo)志,若:
33、奇偶標(biāo)志,若A中值為中值為1的位數(shù)為奇數(shù),的位數(shù)為奇數(shù),P=1,否則,否則P=0。 作用:存放下一條待執(zhí)行指令的地址作用:存放下一條待執(zhí)行指令的地址。 PC為為16位寄存器,可尋址范圍位寄存器,可尋址范圍64KB (即216Byte)。系統(tǒng)開(kāi)機(jī)初始化時(shí),PC=0000H。 PC的基本工作過(guò)程可以描述為:PC中的數(shù)作為指令地址輸出給程序存儲(chǔ)器,程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PC本身自動(dòng)加1,指向下一條指令。 注意:在執(zhí)行轉(zhuǎn)移、調(diào)用類指令或響應(yīng)中斷等操作時(shí),PC的工作過(guò)程將有所不同。 PC本身是不可尋址的。 (1)程序計(jì)數(shù)器程序計(jì)數(shù)器PC(Program Counter) 指針寄存器指針寄存
34、器 (2)堆棧指針堆棧指針SP(Stack Pointer)字節(jié)地址:字節(jié)地址:81H作用:指明棧頂元素的地址作用:指明棧頂元素的地址位數(shù):位數(shù):8位。位??捎绍浖O(shè)置初始值,系統(tǒng)復(fù)位時(shí)設(shè)置為可由軟件設(shè)置初始值,系統(tǒng)復(fù)位時(shí)設(shè)置為07H。 堆棧指針堆棧指針SPw 堆棧是指用戶在單片機(jī)內(nèi)部RAM中開(kāi)辟的、遵循“先進(jìn)后出”原則、只能從一端存取數(shù)據(jù)的一個(gè)存儲(chǔ)區(qū)存儲(chǔ)區(qū),我們我們把存取數(shù)據(jù)的一端稱為棧頂把存取數(shù)據(jù)的一端稱為棧頂。w 凡是關(guān)系到堆棧操作的場(chǎng)合(無(wú)論是入棧還是出棧),都需要借助MCS-51的CPU中一個(gè)專用8位寄存器SP來(lái)間接指示堆棧中數(shù)據(jù)存取的位置,該寄存器被稱為堆棧指針SP。 w MCS-
35、51的堆棧是向上(即向地址增加的方向)生成的,堆棧指針SP的初始值稱為棧底。在堆棧操作過(guò)程中,SP始終指向堆棧的棧頂。 堆棧中的數(shù)據(jù)壓入和彈出過(guò)程堆棧中的數(shù)據(jù)壓入和彈出過(guò)程注意:注意:q單片機(jī)復(fù)位后SP的值為07H,因此入棧數(shù)據(jù)將從08H存起。 q08H1FH與工作寄存器區(qū)13,通過(guò)把棧底設(shè)計(jì)在片內(nèi)RAM中地址值較高的地方,如60H等。 入棧操作步驟:1、將SP的內(nèi)容記為(SP)自動(dòng)增1,將SP間接指示的棧區(qū)片內(nèi)RAM存儲(chǔ)單元地址向上調(diào)整一次;2、把數(shù)據(jù)壓入由SP最新指示的片內(nèi)RAM單元中。 出棧操作步驟:1、將當(dāng)前棧頂?shù)膬?nèi)容彈出到相應(yīng)位置;2、把SP的內(nèi)容自動(dòng)減1??梢?jiàn),在堆棧操作過(guò)程中,S
36、P的值將自動(dòng)增1或減1。 89H 80H 70H 50H棧底棧底SPSP入棧過(guò)程入棧過(guò)程PUSH ACC出棧過(guò)程出棧過(guò)程POP ACCSP89HSP 89HAA 89H 80H 70H 50H棧底棧底 數(shù)據(jù)指針數(shù)據(jù)指針DPTR(Data Pointer)字節(jié)地址:字節(jié)地址:83H和和82H作用:指明訪問(wèn)的數(shù)據(jù)存儲(chǔ)器的單元地址作用:指明訪問(wèn)的數(shù)據(jù)存儲(chǔ)器的單元地址數(shù)據(jù)指針數(shù)據(jù)指針16位,可尋址范圍位,可尋址范圍64KB,由,由DPH、DPL組成。組成。在某些情況下,在某些情況下,DPH、DPL也可單獨(dú)使用。也可單獨(dú)使用。 并行輸入并行輸入/輸出端口輸出端口(Parallel I/O Port)專用
37、寄存器專用寄存器P0、P1、P2、P3分別是分別是I/O端口端口P0P3的鎖的鎖存器。存器。 串行輸入串行輸入/輸出端口輸出端口(Serial I/O Port) 串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器SBUF(Serial Data Buffer)用于存放要發(fā)送用于存放要發(fā)送或已接收的數(shù)據(jù)或已接收的數(shù)據(jù),由兩個(gè)獨(dú)立由兩個(gè)獨(dú)立的寄存器組成的寄存器組成,占用一個(gè)地址占用一個(gè)地址,其中之一為發(fā)送緩沖器,另其中之一為發(fā)送緩沖器,另一個(gè)為接收緩沖器。一個(gè)為接收緩沖器。 接收發(fā)送WRCSABDBRD 串行控制串行控制/狀態(tài)寄存器狀態(tài)寄存器SCON(Serial Contral)控制監(jiān)視
38、串行口的工作狀態(tài)。控制監(jiān)視串行口的工作狀態(tài)。 電源控制寄存器電源控制寄存器PCON(Power Contral)。 中斷系統(tǒng)中斷系統(tǒng) 中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IP(Interrupt Priority Register)中斷分為中斷分為2個(gè)優(yōu)先級(jí),可由個(gè)優(yōu)先級(jí),可由IP設(shè)定各個(gè)中斷源的優(yōu)先級(jí)。設(shè)定各個(gè)中斷源的優(yōu)先級(jí)。 中斷允許寄存器中斷允許寄存器IE(Interrupt Enable Register)用于各個(gè)中斷源的允許和屏蔽的設(shè)置。用于各個(gè)中斷源的允許和屏蔽的設(shè)置。 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器 定時(shí)器方式寄存器定時(shí)器方式寄存器TMOD(Timer Mode)用于設(shè)定定時(shí)器的工作方式。用
39、于設(shè)定定時(shí)器的工作方式。定時(shí)器控制寄存器定時(shí)器控制寄存器TCON(Timer Contral)其各位用于對(duì)定時(shí)器和外部中斷進(jìn)行控制。其各位用于對(duì)定時(shí)器和外部中斷進(jìn)行控制。 計(jì)數(shù)寄存器計(jì)數(shù)寄存器TH0、TL0、TH1、TL1用于設(shè)定定時(shí)用于設(shè)定定時(shí)/計(jì)數(shù)器的初值。計(jì)數(shù)器的初值。TH0、TL0為一組,為一組,TH1、TL1為一組。為一組。 8052/8032增設(shè)的專用寄存器增設(shè)的專用寄存器 定時(shí)器定時(shí)器2控制寄存器控制寄存器T2CON ( Timer 2 Contral)對(duì)定時(shí)器對(duì)定時(shí)器T2進(jìn)行控制進(jìn)行控制,設(shè)置工作方式。設(shè)置工作方式。 計(jì)數(shù)寄存器計(jì)數(shù)寄存器TH2、TL2。 定時(shí)器定時(shí)器2捕獲捕獲
40、/重裝載寄存器重裝載寄存器RCAP2H、RCAP2L存放自動(dòng)重裝載到存放自動(dòng)重裝載到TH2、TL2的數(shù)據(jù)。的數(shù)據(jù)。2.4.5 位地址空間位地址空間組成:組成: 內(nèi)部數(shù)據(jù)存儲(chǔ)器的內(nèi)部數(shù)據(jù)存儲(chǔ)器的20H2FH共共16個(gè)單元可按位尋找,個(gè)單元可按位尋找,128位;位; 專用寄存器地址碼能被專用寄存器地址碼能被8整除的可按位尋址,整除的可按位尋址, 12個(gè)專個(gè)專用寄存器,但是用寄存器,但是IP.7、IP.6、IE.6三位未定義,共三位未定義,共93位可位可按位尋址。按位尋址。則可按位尋址的空間為則可按位尋址的空間為221位。位。RAM位地址分配位地址分配 特殊功能寄存器位地址特殊功能寄存器位地址 說(shuō)明
41、:說(shuō)明:1、51子系列離散分布有子系列離散分布有21個(gè)特殊功能寄存器個(gè)特殊功能寄存器SFR、52子系列為子系列為26個(gè)。個(gè)。2、凡地址能被、凡地址能被8整除的寄存器(共整除的寄存器(共11個(gè))都是可位個(gè))都是可位尋址的寄存器尋址的寄存器。3、位尋址形式:、位尋址形式:直接位地址:如直接位地址:如D3H位助記符:位助記符:RS0寄存器寄存器.位:如位:如PSW.3單元地址單元地址.位:如位:如D0H.32.3.4 外部數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器 容量最大可擴(kuò)展到容量最大可擴(kuò)展到64KB; 尋址范圍:尋址范圍:0000HFFFFH; 尋址方式:尋址方式:間接尋址??捎瞄g接尋址??捎肦0、R1及及DP
42、TR作間址寄存器。作間址寄存器。2.4 I/O2.4 I/O端口端口單片機(jī)有四個(gè)并行口,都是準(zhǔn)雙向口。每位單片機(jī)有四個(gè)并行口,都是準(zhǔn)雙向口。每位I/O口包含口包含一個(gè)鎖存器、一個(gè)輸出帶動(dòng)器和一個(gè)輸入緩沖器。一個(gè)鎖存器、一個(gè)輸出帶動(dòng)器和一個(gè)輸入緩沖器。 2.4.1 P0口口 結(jié)構(gòu):結(jié)構(gòu):包含一個(gè)輸出鎖包含一個(gè)輸出鎖存器、兩個(gè)三態(tài)存器、兩個(gè)三態(tài)緩沖器、一個(gè)輸緩沖器、一個(gè)輸出帶動(dòng)電路和一出帶動(dòng)電路和一個(gè)輸出控制電路。個(gè)輸出控制電路。 讀引腳寫(xiě)鎖存器內(nèi)部總線讀鎖存器DCLQQ P0.X鎖存器MUXP0.X引腳控制地址/數(shù)據(jù)Vcc圖2-12 P0口的位結(jié)構(gòu)&l 通用通用I/O口口控制信號(hào)為控制信號(hào)為“0
43、”,MUX倒向倒向a,把輸出腳接通,把輸出腳接通Q,與門,與門輸出為輸出為“0”,T2截止,輸出是漏極開(kāi)路的開(kāi)漏電路。截止,輸出是漏極開(kāi)路的開(kāi)漏電路。P0口作通用口作通用I/O口使用。若口使用。若D=1,Q=0,T1截止,截止,P0.X輸出高電平;若輸出高電平;若D=0,Q=1,T1導(dǎo)通,導(dǎo)通,P0.X輸出低電平。輸出低電平。 讀讀(端口外數(shù)據(jù)端口外數(shù)據(jù)端口端口):端口中的兩個(gè)三態(tài)緩沖器端口中的兩個(gè)三態(tài)緩沖器用于讀操作。用于讀操作。n讀引腳:讀引腳:P0.XG1內(nèi)部總線。內(nèi)部總線。 n讀鎖存器:讀鎖存器:Q內(nèi)部總線。內(nèi)部總線。 此種方式適用于此種方式適用于“讀讀-修改修改-寫(xiě)寫(xiě)”指令,這類指令
44、的指令,這類指令的特點(diǎn)是:先讀口,隨后可能對(duì)讀入的數(shù)據(jù)進(jìn)行修特點(diǎn)是:先讀口,隨后可能對(duì)讀入的數(shù)據(jù)進(jìn)行修改,再寫(xiě)到端口上。改,再寫(xiě)到端口上。 lP0口在作為通用口在作為通用I/O口使用時(shí),是一個(gè)準(zhǔn)雙向口,這是因口使用時(shí),是一個(gè)準(zhǔn)雙向口,這是因?yàn)檫@種為這種I/O接口沒(méi)有高阻抗輸出,輸入不能鎖存,不是真接口沒(méi)有高阻抗輸出,輸入不能鎖存,不是真正的雙向傳送口。正的雙向傳送口。l對(duì)于準(zhǔn)雙向口,在作為輸入口時(shí),應(yīng)先置位,即在輸入對(duì)于準(zhǔn)雙向口,在作為輸入口時(shí),應(yīng)先置位,即在輸入數(shù)據(jù)時(shí)應(yīng)先把口置數(shù)據(jù)時(shí)應(yīng)先把口置1,使兩個(gè),使兩個(gè)FET都截止,引腳處于懸浮都截止,引腳處于懸浮狀態(tài),可作高阻抗輸入。因?yàn)橐_上的外
45、部信號(hào)加在輸出狀態(tài),可作高阻抗輸入。因?yàn)橐_上的外部信號(hào)加在輸出極極FET的漏極上,若的漏極上,若FET是導(dǎo)通的,則引腳上的電位被鉗是導(dǎo)通的,則引腳上的電位被鉗在在0電平上。電平上。寫(xiě)寫(xiě)(片內(nèi)數(shù)據(jù)片內(nèi)數(shù)據(jù)端口端口) :數(shù)據(jù)鎖存器QMuxP0.x 地址地址/數(shù)據(jù)總線口數(shù)據(jù)總線口 控制信號(hào)為控制信號(hào)為1,MUX倒向倒向b,接到,接到地址地址/數(shù)據(jù)數(shù)據(jù),同時(shí)與,同時(shí)與門開(kāi)鎖。門開(kāi)鎖。 寫(xiě):寫(xiě):地址地址/數(shù)據(jù)為數(shù)據(jù)為“1”,與門為與門為“1”,b處電平為處電平為“0”,T2導(dǎo)通,導(dǎo)通,T1截止,截止,P0.X為高電平。為高電平。 地址地址/數(shù)據(jù)為數(shù)據(jù)為“0”,與門為,與門為“0”,b處電平為處電平為“
46、1”,T2截止,截止,T1導(dǎo)通,導(dǎo)通,P0.X為低電平。為低電平。讀:經(jīng)緩沖器讀:經(jīng)緩沖器G1讀入。讀入。 負(fù)載能力:負(fù)載能力:可帶可帶8個(gè)個(gè)TTL負(fù)載。在帶動(dòng)負(fù)載。在帶動(dòng)NMOS時(shí),需接上拉電阻。時(shí),需接上拉電阻。 小結(jié)小結(jié) P0口可做通用口可做通用I/O,即一般,即一般I/O口使用,又可做地址口使用,又可做地址/數(shù)據(jù)總線口;數(shù)據(jù)總線口; P0既可按字節(jié)尋址,又可按位尋址;既可按字節(jié)尋址,又可按位尋址; P0作為輸入口使用時(shí)作為輸入口使用時(shí),先向口寫(xiě)先向口寫(xiě)1,使使T2、T1截止截止,引腳引腳懸浮懸浮,用作高阻抗輸入;用作高阻抗輸入; 作通用作通用I/O口輸出時(shí),口輸出時(shí),T2(上拉上拉FE
47、T)截止,輸出電路為截止,輸出電路為開(kāi)漏電路;開(kāi)漏電路; 作地址作地址/數(shù)據(jù)總線口時(shí),數(shù)據(jù)總線口時(shí),P0口是一個(gè)真正的雙向口;作口是一個(gè)真正的雙向口;作通用通用I/O口時(shí),只是一個(gè)準(zhǔn)雙向口;口時(shí),只是一個(gè)準(zhǔn)雙向口; P0作地址作地址/數(shù)據(jù)總線口使用時(shí),與數(shù)據(jù)總線口使用時(shí),與P2口配合,送出一個(gè)口配合,送出一個(gè)完整的地址,完整的地址,P0送地址低八位,送地址低八位,P2送高八位,送高八位,P0接收高接收高位數(shù)據(jù)。位數(shù)據(jù)。注:準(zhǔn)雙向口特點(diǎn)是當(dāng)復(fù)位時(shí),口鎖存器均置注:準(zhǔn)雙向口特點(diǎn)是當(dāng)復(fù)位時(shí),口鎖存器均置1,8根引根引腳可作一般數(shù)據(jù)線使用;而在某引腳由原輸出狀態(tài)變?yōu)檩斈_可作一般數(shù)據(jù)線使用;而在某引腳由
48、原輸出狀態(tài)變?yōu)檩斎霑r(shí),則應(yīng)先寫(xiě)入時(shí),則應(yīng)先寫(xiě)1,以免錯(cuò)讀引腳上的信息。,以免錯(cuò)讀引腳上的信息。2.4.2 P1口口 結(jié)構(gòu):結(jié)構(gòu):無(wú)模擬開(kāi)關(guān)無(wú)模擬開(kāi)關(guān)MUX,只能作通用,只能作通用I/O口,用內(nèi)部上口,用內(nèi)部上拉電阻拉電阻R*代替代替P0口結(jié)構(gòu)中的場(chǎng)效應(yīng)管口結(jié)構(gòu)中的場(chǎng)效應(yīng)管FET。是。是一個(gè)準(zhǔn)雙向口。一個(gè)準(zhǔn)雙向口。內(nèi)部上拉電阻包括固定部?jī)?nèi)部上拉電阻包括固定部分和附加部分兩部分。固分和附加部分兩部分。固定部分是一個(gè)源柵相連的定部分是一個(gè)源柵相連的 n溝道耗盡型溝道耗盡型FET(T2),附加附加部分是一個(gè)柵極受控的部分是一個(gè)柵極受控的n溝溝道增強(qiáng)型道增強(qiáng)型FET(T3),用以改用以改善電阻的變換。當(dāng)
49、端口的善電阻的變換。當(dāng)端口的數(shù)據(jù)從數(shù)據(jù)從0變到變到1時(shí)時(shí),內(nèi)部上拉內(nèi)部上拉電阻用來(lái)加速這個(gè)轉(zhuǎn)變過(guò)電阻用來(lái)加速這個(gè)轉(zhuǎn)變過(guò)程。程。讀鎖存器a)讀引腳寫(xiě)鎖存器內(nèi)部總線DCLQQ P1.X鎖存器P1.X引腳Vcc內(nèi)部上拉電阻R*端口引腳+5V耗盡型FET增強(qiáng)型FETQb)圖2-13 P1口的位結(jié)構(gòu)T3T1T2延遲2個(gè)振蕩器周期a)P1口的位結(jié)構(gòu) b)內(nèi)部上拉電阻& 分析分析 處于靜態(tài)時(shí),處于靜態(tài)時(shí),Q不論等于不論等于0或或1,T3柵極為低電平柵極為低電平0,T3截止,附加部分不起作用。截止,附加部分不起作用。 在動(dòng)態(tài)變化時(shí),在動(dòng)態(tài)變化時(shí),Q從低電平從低電平0變化到高電平變化到高電平1,則,則Q從高電從
50、高電平平1變化到低電平變化到低電平0,場(chǎng)效應(yīng)管,場(chǎng)效應(yīng)管T1由導(dǎo)通變?yōu)榻刂梗蚍怯蓪?dǎo)通變?yōu)榻刂?,或非門的門的2端為低電平端為低電平0,1端由于延遲性作用仍為端由于延遲性作用仍為0,或,或非輸出為高電平非輸出為高電平1,T3導(dǎo)通,導(dǎo)通,T2電阻雖大,電阻雖大,T3導(dǎo)通電導(dǎo)通電流約為流約為T2的的100倍,總負(fù)載下降,使引腳很快由倍,總負(fù)載下降,使引腳很快由0變到變到1,再經(jīng)延時(shí)后或非輸出為低電平再經(jīng)延時(shí)后或非輸出為低電平0,T3截止,內(nèi)部上拉截止,內(nèi)部上拉電阺恢復(fù)到穩(wěn)定情況電阺恢復(fù)到穩(wěn)定情況(約為約為2040K )。輸出由低電平。輸出由低電平0變到高電平變到高電平1。 小結(jié)小結(jié) P1只能作通用只
51、能作通用I/O口,無(wú)地址口,無(wú)地址/數(shù)據(jù)功能;數(shù)據(jù)功能; P1口可按字節(jié)尋址,其各位可按位尋址;口可按字節(jié)尋址,其各位可按位尋址; P1口作輸入口時(shí),為準(zhǔn)雙向口,先將鎖存器寫(xiě)口作輸入口時(shí),為準(zhǔn)雙向口,先將鎖存器寫(xiě)1,使,使T1截止以便信息正常輸入;截止以便信息正常輸入; 輸出極不再是開(kāi)漏電路,而是標(biāo)準(zhǔn)的準(zhǔn)雙向口。輸出極不再是開(kāi)漏電路,而是標(biāo)準(zhǔn)的準(zhǔn)雙向口。2.4.3 P2口口 結(jié)構(gòu):結(jié)構(gòu): 在結(jié)構(gòu)上,比在結(jié)構(gòu)上,比P1口多了一個(gè)輸出轉(zhuǎn)換控制部分,口多了一個(gè)輸出轉(zhuǎn)換控制部分,模擬開(kāi)關(guān)模擬開(kāi)關(guān)MUX的數(shù)據(jù)端接鎖存器的的數(shù)據(jù)端接鎖存器的Q端。端。P2口作通用口作通用I/O口使用時(shí),是一個(gè)準(zhǔn)雙向口口使用
52、時(shí),是一個(gè)準(zhǔn)雙向口(MUX倒向左倒向左邊邊)。當(dāng)系統(tǒng)中接有外部數(shù)據(jù)存儲(chǔ)器時(shí),。當(dāng)系統(tǒng)中接有外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口用于輸出高口用于輸出高八位地址,這時(shí),在八位地址,這時(shí),在CPU的控制下,的控制下,MUX倒向右邊,倒向右邊,P2口不再作通用口不再作通用I/O口使用,而作為地址輸出口??谑褂?,而作為地址輸出口。 圖2-14 P2口的位結(jié)構(gòu)讀引腳寫(xiě)鎖存器內(nèi)部總線讀鎖存器DCLQQ P2.X鎖存器MUXP2.X引腳地址Vcc控制內(nèi)部上拉電阻R*l 當(dāng)當(dāng)P2口作通用口作通用I/O口時(shí),是一個(gè)準(zhǔn)雙向口;口時(shí),是一個(gè)準(zhǔn)雙向口; 小結(jié)小結(jié) 從從P2口輸入數(shù)據(jù)時(shí),先向鎖存器寫(xiě)口輸入數(shù)據(jù)時(shí),先向鎖存器寫(xiě)1,使,
53、使T1截止,截止,用作高阻抗輸入;用作高阻抗輸入; 當(dāng)外部數(shù)據(jù)存儲(chǔ)器小于當(dāng)外部數(shù)據(jù)存儲(chǔ)器小于128B,而無(wú)外部程序存儲(chǔ)器,而無(wú)外部程序存儲(chǔ)器時(shí),時(shí),P2口可作通用口可作通用I/O口使用。口使用。2.4.4 P3口口 結(jié)構(gòu)結(jié)構(gòu)控制部分是一個(gè)與非門,與非門的一端接控制部分是一個(gè)與非門,與非門的一端接D觸發(fā)器的觸發(fā)器的Q端,輸入通道有兩個(gè)緩沖器。端,輸入通道有兩個(gè)緩沖器。P3口是雙功能口??谑请p功能口。 讀引腳寫(xiě)鎖存器內(nèi)部總線讀鎖存器DCLQQ P3.X鎖存器P3.X引腳圖2-15 P3口的位結(jié)構(gòu)選擇輸出功能內(nèi)部上拉電阻R*替代輸入功能Vcc& 工作情況分析工作情況分析 P3口作通用口作通用I/O口
54、時(shí),工作原理與口時(shí),工作原理與P1、P2類似,是準(zhǔn)類似,是準(zhǔn)雙向口;選擇輸出功能端應(yīng)保持高電平,使與非門對(duì)鎖雙向口;選擇輸出功能端應(yīng)保持高電平,使與非門對(duì)鎖存器存器Q端暢通;端暢通; P3口工作于第二功能時(shí),則該位的鎖存器應(yīng)置口工作于第二功能時(shí),則該位的鎖存器應(yīng)置1,使與非門對(duì)選擇輸出功能端暢通;使與非門對(duì)選擇輸出功能端暢通; P3口作輸入口時(shí),輸出鎖存器和選擇輸出功能端都應(yīng)口作輸入口時(shí),輸出鎖存器和選擇輸出功能端都應(yīng)置置1; 第二功能的專用輸入信號(hào)取自輸入通道的第一個(gè)緩沖第二功能的專用輸入信號(hào)取自輸入通道的第一個(gè)緩沖器輸出端,通用輸入信號(hào)取自器輸出端,通用輸入信號(hào)取自讀引腳讀引腳。 2.4.
55、5 各端口的一般使用方法各端口的一般使用方法P0口:地址低八位與數(shù)據(jù)線分時(shí)使用口;口:地址低八位與數(shù)據(jù)線分時(shí)使用口;P1口:按位可編址的輸入輸出口;口:按位可編址的輸入輸出口;P2口:地址高八位輸出口;口:地址高八位輸出口;P3口:雙功能口。若不用第二功能,可作通用口:雙功能口。若不用第二功能,可作通用I/O口???。u按三總線劃分,則有:按三總線劃分,則有:地址線:地址線:P0、P2口分別輸出地址的低八位和高八位;口分別輸出地址的低八位和高八位;數(shù)據(jù)線:數(shù)據(jù)線:P0口輸入八位數(shù)據(jù);口輸入八位數(shù)據(jù);控制線:控制線:P3口的八位加上口的八位加上PSEN、ALE共同完成。共同完成。 時(shí)鐘的基本概念時(shí)
56、鐘的基本概念指令執(zhí)行過(guò)程指令執(zhí)行過(guò)程 取指分析執(zhí)行 MCS-51系列單片機(jī)的系列單片機(jī)的CPU時(shí)序時(shí)序 CPU以不同的方式,通過(guò)復(fù)雜的時(shí)序電路執(zhí)行并完成各種不同指令功能。CPU的控制器按照指令的功能發(fā)出一系列在時(shí)間上有一定次序的信號(hào)去控制和啟動(dòng)一部分邏輯電路,完成某種操作。在一定時(shí)刻發(fā)出一定的控制信號(hào)去啟動(dòng)一定的邏輯部件動(dòng)作,這就是CPU的時(shí)序。 MCS-51的時(shí)序定時(shí)單位從小到大依次為拍節(jié)(或節(jié)拍)、狀態(tài)、機(jī)器周期和指令周期 。系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘 系統(tǒng)時(shí)鐘是一切微處理器、微控制器內(nèi)部電路工作的基礎(chǔ)。單片機(jī)內(nèi)部有一個(gè)自激振蕩電路,可以通過(guò)它或外部提供振蕩源驅(qū)動(dòng)內(nèi)部時(shí)鐘電路產(chǎn)生系統(tǒng)時(shí)鐘信號(hào)。 1.
57、 1. 振蕩周期與狀態(tài)周期振蕩周期與狀態(tài)周期w 振蕩周期 P 系統(tǒng)時(shí)鐘信號(hào)的振蕩周期簡(jiǎn)稱振蕩周期(或拍節(jié))。w 狀態(tài)周期S(又稱為時(shí)鐘周期)n一個(gè)狀態(tài)周期S由兩個(gè)振蕩周期構(gòu)成。分別成為拍節(jié)P1和拍節(jié)P2。2P1P1S2S6S2P1P1S2S6S3S4S5S3S4S5S2.2.機(jī)器周期與指令周期機(jī)器周期與指令周期w 機(jī)器周期nCPU完成一種基本操作所需要的時(shí)間稱為機(jī)器周期Tcy。nMCS51系列單片機(jī)的的1個(gè)機(jī)器周期包括12個(gè)振蕩周期。n為了敘述方便,可將1個(gè)機(jī)器周期分為6個(gè)狀態(tài)S1S6,每個(gè)狀態(tài)又分為兩節(jié)拍P1、P2,則1個(gè)機(jī)器周期的12 個(gè)節(jié)拍依次為S1P1、S1P2、S2P1S6P2。2.2.機(jī)器周期與指令周期機(jī)器周期與指令周期如果系統(tǒng)時(shí)鐘的晶振頻率為fosc=12MHz,則 1Tcy = 12Tosc = 12/fosc = 12/(12106) =1s 即:1個(gè)機(jī)器周期的時(shí)間為1s。 機(jī)器周期與時(shí)鐘周期的關(guān)系機(jī)器周期與時(shí)鐘周期的關(guān)系w 指令周期nCPU執(zhí)行一條指令所需要的時(shí)間稱為指令周期,它以機(jī)器周期為單位。nMCS-51的指令可以分為單
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 決策行為學(xué)在房地產(chǎn)營(yíng)銷中的應(yīng)用
- 新人教版六年級(jí)下冊(cè)數(shù)學(xué)教案教學(xué)設(shè)計(jì)全集
- 2025年嵌入式工程實(shí)例試題及答案
- 計(jì)算機(jī)一級(jí)Photoshop技能提升試題及答案
- 數(shù)據(jù)類型與運(yùn)算符的試題及答案
- 2025年VFP考試課后總結(jié)試題及答案
- JAVA環(huán)境搭建指南試題及答案
- 餐飲就餐合同協(xié)議書(shū)范本
- 邏輯思維的類型與考試復(fù)習(xí)方法及試題及答案
- 繼續(xù)履行合同協(xié)議書(shū)
- SAP電池行業(yè)解決方案
- 冥王星的命運(yùn)課件
- 燃?xì)夤驹露劝踩a(chǎn)檢查表
- 行政執(zhí)法實(shí)務(wù)講課課件PPT
- DB43∕T 604-2010 日用炻瓷-行業(yè)標(biāo)準(zhǔn)
- 《品牌策劃與管理(第4版)》知識(shí)點(diǎn)與關(guān)鍵詞解釋
- 國(guó)家開(kāi)放大學(xué)《水利水電工程造價(jià)管理》形考任務(wù)1-4參考答案
- 司法局PPT模板
- 軸直線滑臺(tái)設(shè)計(jì)畢業(yè)論文
- 泄爆墻施工方案1
- FC西游記后傳金手指
評(píng)論
0/150
提交評(píng)論