版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章第二章 MCS-51單片機(jī)的基本結(jié)構(gòu)及工作原理單片機(jī)的基本結(jié)構(gòu)及工作原理了解單片機(jī)內(nèi)部基本結(jié)構(gòu)了解單片機(jī)內(nèi)部基本結(jié)構(gòu)掌握單片機(jī)存儲(chǔ)器分布和使用掌握單片機(jī)存儲(chǔ)器分布和使用掌握常用的掌握常用的特殊功能寄存器特殊功能寄存器SFRSFR的使用的使用 了解單片機(jī)的工作方式了解單片機(jī)的工作方式掌握單片機(jī)的引腳及引腳功能掌握單片機(jī)的引腳及引腳功能教學(xué)目的教學(xué)目的 學(xué)習(xí)重點(diǎn)和難點(diǎn)學(xué)習(xí)重點(diǎn)和難點(diǎn)n單片機(jī)單片機(jī)的存儲(chǔ)器結(jié)構(gòu)的存儲(chǔ)器結(jié)構(gòu)n單片機(jī)的引腳及引腳功能單片機(jī)的引腳及引腳功能MCS-51系列單片機(jī)配置一覽表一、一、MCS-51內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)ROM 4KB時(shí)鐘電路RAM 128計(jì)數(shù)器/定時(shí)器8051CP
2、U控制邏輯可編程I/O口可編程全雙工串行口圖圖2-1 8051的功能部件圖的功能部件圖二二 、 CPUl主要功能:主要功能:產(chǎn)生各種控制信號(hào),去控制存儲(chǔ)產(chǎn)生各種控制信號(hào),去控制存儲(chǔ)器、輸入輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算器、輸入輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等。術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等。 (一)運(yùn)算器(一)運(yùn)算器 組成:組成:運(yùn)算器由算術(shù)邏運(yùn)算部件運(yùn)算器由算術(shù)邏運(yùn)算部件ALU、累加累加器器Acc、暫存器、程序狀態(tài)字寄存器暫存器、程序狀態(tài)字寄存器PSW、BCD碼運(yùn)算調(diào)整電路等組成碼運(yùn)算調(diào)整電路等組成 。對(duì)數(shù)據(jù)完成對(duì)數(shù)據(jù)完成算術(shù)運(yùn)算算術(shù)運(yùn)算,邏輯運(yùn)算邏輯運(yùn)算、循環(huán)移
3、位循環(huán)移位、位處理位處理。(二)控制器(二)控制器組成:組成:由程序計(jì)數(shù)器由程序計(jì)數(shù)器PC、指令寄存器、指令指令寄存器、指令譯碼器、定時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。譯碼器、定時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。功能:功能:對(duì)來(lái)自存儲(chǔ)器中的對(duì)來(lái)自存儲(chǔ)器中的指令進(jìn)行譯碼指令進(jìn)行譯碼,通,通過(guò)定時(shí)控制電路,過(guò)定時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部?jī)?nèi)部和外部控制信號(hào)所需的全部?jī)?nèi)部和外部控制信號(hào),協(xié)調(diào)各功能,協(xié)調(diào)各功能元件的工作,完成指令所規(guī)定的功能。元件的工作,完成指令所規(guī)定的功能。 特點(diǎn):特點(diǎn):它是它是1616位位的按機(jī)器周期的按機(jī)器周期自動(dòng)增自動(dòng)增1 1計(jì)數(shù)器計(jì)數(shù)器
4、一切一切分支分支/ /跳轉(zhuǎn)跳轉(zhuǎn)/ /調(diào)用調(diào)用/ /中斷中斷/ /復(fù)位復(fù)位 等操作的等操作的本質(zhì)本質(zhì)就是就是: :改變改變 PC PC 值值總指向下一條指令所在首地址總指向下一條指令所在首地址( (當(dāng)前當(dāng)前PCPC值值) ) 1 1程序計(jì)數(shù)器程序計(jì)數(shù)器PC(Program Counter)PC(Program Counter) 一個(gè)一個(gè)1616位的專(zhuān)用寄存器,用來(lái)存放下一條位的專(zhuān)用寄存器,用來(lái)存放下一條( (當(dāng)當(dāng)前前) )指令的地址。它具有自動(dòng)加指令的地址。它具有自動(dòng)加1 1的功能。的功能。 程序存儲(chǔ)器程序存儲(chǔ)器地址地址 程序代碼程序代碼0000H 指令代碼指令代碼1 0001H 指令代碼指令代
5、碼2 0002H 指令代碼指令代碼3 N 指令代碼指令代碼n PC=PC=PC=2指令寄存器指令寄存器 一個(gè)一個(gè)8位的寄存器,用于暫存待執(zhí)行的指令,等待譯碼。位的寄存器,用于暫存待執(zhí)行的指令,等待譯碼。3指令譯碼器指令譯碼器 對(duì)指令寄存器中的指令進(jìn)行譯碼,分析它的功能,并根對(duì)指令寄存器中的指令進(jìn)行譯碼,分析它的功能,并根據(jù)功能產(chǎn)生相應(yīng)的電信號(hào)。據(jù)功能產(chǎn)生相應(yīng)的電信號(hào)。4數(shù)據(jù)指針數(shù)據(jù)指針DPTR 是一個(gè)是一個(gè)16位的位的專(zhuān)用地址指針寄存器。它主要用來(lái)存放專(zhuān)用地址指針寄存器。它主要用來(lái)存放16位位地址。地址。DPTR也可以拆成兩個(gè)獨(dú)立也可以拆成兩個(gè)獨(dú)立8位寄存器,即位寄存器,即DPH(高高8位位字
6、節(jié)字節(jié))和和DPL(低低8位字節(jié)位字節(jié)),分別占據(jù),分別占據(jù)83H和和82H兩個(gè)地址。兩個(gè)地址。 數(shù)據(jù)指針可以用來(lái)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器中的任一單元,數(shù)據(jù)指針可以用來(lái)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器中的任一單元,作間址寄存器使用,也可以作為通用寄存器來(lái)用,是作間址寄存器使用,也可以作為通用寄存器來(lái)用,是 8051單片機(jī)中單片機(jī)中唯一一個(gè)用戶(hù)可使用的唯一一個(gè)用戶(hù)可使用的16位寄存器。位寄存器。5 5.定時(shí)控制部件與時(shí)序定時(shí)控制部件與時(shí)序 功能:功能:在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部?jī)?nèi)在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部?jī)?nèi)部和外部的控制信號(hào),協(xié)調(diào)各功能元件工作,完部和外部的控制信號(hào),協(xié)調(diào)各功能元件工作,完成指令所規(guī)
7、定的功能。成指令所規(guī)定的功能。主要任務(wù):主要任務(wù):產(chǎn)生一個(gè)工作時(shí)序,其工作需要時(shí)鐘產(chǎn)生一個(gè)工作時(shí)序,其工作需要時(shí)鐘電路提供一個(gè)工作頻率。電路提供一個(gè)工作頻率。 圖圖2.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)在在XTALl和和XTAL2兩端接兩端接晶體晶體或或陶瓷諧振器陶瓷諧振器,與內(nèi)部反向器構(gòu)成穩(wěn),與內(nèi)部反向器構(gòu)成穩(wěn)定的自激振蕩器。定的自激振蕩器。參數(shù)選取:參數(shù)選?。篊1、C2起穩(wěn)定振蕩頻起穩(wěn)定振蕩頻率,快速起振的作用。率,快速起振的作用。 外接晶振時(shí):外接晶振時(shí):Cl和和C2選擇選擇1030pF外接陶瓷諧振器時(shí):外接陶瓷諧振器時(shí): Cl和和C2的典型值約為的典型值約為4010pF。振蕩
8、頻率范圍一般是振蕩頻率范圍一般是1.2MHz12MHz,有的,有的可達(dá)可達(dá)40MHz。內(nèi)部時(shí)鐘方式內(nèi)部時(shí)鐘方式XTAL1XTAL1XTAL2XTAL2內(nèi)部時(shí)鐘方式內(nèi)部時(shí)鐘方式對(duì)對(duì)A AT89S51/S52T89S51/S52單片機(jī),單片機(jī),通常通常外接一個(gè)晶振兩個(gè)外接一個(gè)晶振兩個(gè)2020或或30pf30pf電容,一個(gè)電容,一個(gè)12M12M或或11.0592MHz11.0592MHz的晶振的晶振XTAL1XTAL1XTAL2XTAL2外部時(shí)鐘外部時(shí)鐘VCC8051XTAL2XTAL2XTAL1XTAL1外部時(shí)鐘外部時(shí)鐘80C51NC由外部振蕩器產(chǎn)生時(shí)鐘信號(hào),輸入單片機(jī)。由外部振蕩器產(chǎn)生時(shí)鐘信號(hào),
9、輸入單片機(jī)。外部時(shí)鐘方式外部時(shí)鐘方式 注意:?jiǎn)纹瑱C(jī)生產(chǎn)工藝不同,接法也不同。注意:?jiǎn)纹瑱C(jī)生產(chǎn)工藝不同,接法也不同。 CPUCPU總是按照一定的時(shí)鐘節(jié)拍與時(shí)序工作:總是按照一定的時(shí)鐘節(jié)拍與時(shí)序工作:1. 1. 時(shí)鐘周期:時(shí)鐘周期:又稱(chēng)為振蕩周期、節(jié)拍(用又稱(chēng)為振蕩周期、節(jié)拍(用P P表示),定義為表示),定義為單片機(jī)提供時(shí)鐘信號(hào)的振蕩源(單片機(jī)提供時(shí)鐘信號(hào)的振蕩源(OSCOSC)的周期。)的周期。晶振頻率晶振頻率foscfosc(或外加頻率)的倒數(shù)或外加頻率)的倒數(shù). .2. 2. 狀態(tài)(用狀態(tài)(用S S表示):表示):振蕩脈沖經(jīng)過(guò)二分頻后得到整個(gè)單片振蕩脈沖經(jīng)過(guò)二分頻后得到整個(gè)單片機(jī)工作系統(tǒng)的
10、狀態(tài)。一個(gè)狀態(tài)有兩個(gè)節(jié)拍,前半周期對(duì)應(yīng)的機(jī)工作系統(tǒng)的狀態(tài)。一個(gè)狀態(tài)有兩個(gè)節(jié)拍,前半周期對(duì)應(yīng)的節(jié)拍定義為節(jié)拍定義為P1P1,后半周期對(duì)應(yīng)的節(jié)拍定義為,后半周期對(duì)應(yīng)的節(jié)拍定義為P2P2。3. 3. 機(jī)器周期:機(jī)器周期:完成一個(gè)基本操作所需的時(shí)間。一個(gè)機(jī)器周期完成一個(gè)基本操作所需的時(shí)間。一個(gè)機(jī)器周期含有含有6 6個(gè)狀態(tài),分別表示為個(gè)狀態(tài),分別表示為S1S1S6S6。每個(gè)狀態(tài)周期有兩拍,分。每個(gè)狀態(tài)周期有兩拍,分別為別為S1P1S1P1、S1P2S1P2、S2P1S2P1、S2P2S2P2,S6P1S6P1、S6P2 S6P2 時(shí)序時(shí)序80C51的片內(nèi)振蕩器及時(shí)鐘發(fā)生器的片內(nèi)振蕩器及時(shí)鐘發(fā)生器牢記牢記
11、: 振蕩周期振蕩周期( (時(shí)鐘周期時(shí)鐘周期) = ) = 晶振頻率晶振頻率foscfosc的倒數(shù);的倒數(shù);1 1個(gè)機(jī)器周期個(gè)機(jī)器周期=6=6個(gè)狀態(tài)周期個(gè)狀態(tài)周期 = 12= 12個(gè)振蕩周期;個(gè)振蕩周期;1 1個(gè)指令周期個(gè)指令周期 = 1 = 1、2 2、4 4個(gè)機(jī)器周期個(gè)機(jī)器周期時(shí)序時(shí)序指令寄存器譯碼地址譯碼程序計(jì)數(shù)器地址寄存器累加器A運(yùn)算器存儲(chǔ)器內(nèi)部數(shù)據(jù)總線(xiàn)外部地址總線(xiàn)AB數(shù)據(jù)緩沖器外部數(shù)據(jù)總線(xiàn)DB寄存器區(qū)外部控制總線(xiàn)CB內(nèi)部控制信號(hào)時(shí)鐘及清零取指過(guò)程例例: : MOV A,#09H MOV A,#09H 74H74H 09H09H ; ;把把09H09H送到累加器送到累加器A A中中執(zhí)行過(guò)
12、程執(zhí)行過(guò)程PC=0000H0001H0000H0002H0 1 1 1 0 1 0 00 0 0 0 1 0 0 1(PC)(PC)0001H0002H0000H外部控制總線(xiàn)CB取指過(guò)程(PC)執(zhí)行過(guò)程執(zhí)行過(guò)程你知道你知道PC的作用嗎?的作用嗎?AT89S52認(rèn)識(shí)單片機(jī)的引腳MCS-51MCS-51單片機(jī)單片機(jī)4040腳腳Vcc, GND Vcc, GND 2 2XTAL1, XTAL2 XTAL1, XTAL2 2 2RESET RESET 1 1EAEA/Vpp /Vpp 1 1ALE/ALE/PROG PROG 1 1PSENPSEN 1 1P0.0P0.7P0.0P0.7 8 8 P1
13、.0P1.7 P1.0P1.7 8 8 P2.0P2.7 P2.0P2.7 8 8 P3.0P3.7 P3.0P3.7 8 8單片機(jī)的引腳(電源端)Vcc Vcc ( (引腳引腳4040): : 正電源端正電源端(+5+5V/3.3V/2.7V)V/3.3V/2.7V)不同的單片機(jī)可以允許不不同的單片機(jī)可以允許不同的工作電壓,不同的單同的工作電壓,不同的單片機(jī)表現(xiàn)出的功耗也不同。片機(jī)表現(xiàn)出的功耗也不同。GND GND ( (引腳引腳2020): :接地端接地端單片機(jī)的引腳(晶振端)內(nèi)部時(shí)鐘方式內(nèi)部時(shí)鐘方式XTAL1XTAL1XTAL2XTAL2Vcc, GND:Vcc, GND:正電源端與接地
14、端正電源端與接地端XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路設(shè)計(jì)1.內(nèi)部時(shí)鐘方式內(nèi)部時(shí)鐘方式外接一個(gè)晶振兩外接一個(gè)晶振兩個(gè)電容個(gè)電容(1030pF)單片機(jī)的引腳(晶振端)XTAL1XTAL1XTAL2XTAL2外部時(shí)鐘外部時(shí)鐘VCC8051XTAL2XTAL2XTAL1XTAL1外部時(shí)鐘外部時(shí)鐘80C51NCVcc, GND:Vcc, GND:正電源端與接地端正電源端與接地端XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路設(shè)計(jì)2.外部時(shí)鐘
15、方式:外部振蕩器輸入時(shí)鐘信號(hào)。外部時(shí)鐘方式:外部振蕩器輸入時(shí)鐘信號(hào)。單片機(jī)的引腳(復(fù)位端)Vcc, GND: Vcc, GND: 電源端電源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端PC與SFR復(fù)位狀態(tài)表簡(jiǎn)單復(fù)位電路簡(jiǎn)單復(fù)位電路+5V10uF10kVccRSTGND上電復(fù)位上電復(fù)位10uF10kVccRSTGND上電上電+按鈕復(fù)位按鈕復(fù)位1k+5V單片機(jī)的引腳(EA端)單片機(jī)的引腳(ALE端)Vcc, GND: Vcc, GND: 電源端電源端 (+5+5V/3.3V/2
16、.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RESET: RESET: 復(fù)位端復(fù)位端 (正脈沖有效(正脈沖有效)EA/Vpp: EA/Vpp: 尋址外部尋址外部ROMROM控制端控制端/ /編程電源輸入端。編程電源輸入端。ALE/PROG(30ALE/PROG(30腳)腳) : : 地址鎖存允許地址鎖存允許/ /編程脈沖輸入端。編程脈沖輸入端。 P0P0口尋址外部低口尋址外部低8 8位地址位地址時(shí)時(shí)接外部鎖存器接外部鎖存器74ls37374ls373的的G G端;端; ALEALE端端平時(shí)會(huì)輸出周期正脈
17、沖平時(shí)會(huì)輸出周期正脈沖:f f fosc/6fosc/6 ; 對(duì)片內(nèi)對(duì)片內(nèi)ROMROM編程時(shí)編程脈沖由此端加入。編程時(shí)編程脈沖由此端加入。(指并行(指并行編程模式)編程模式)單片機(jī)的引腳(PSEN端) PSEN PSEN (2929腳)腳) : 片外片外ROMROM選通線(xiàn)。選通線(xiàn)。 在執(zhí)行訪問(wèn)片外在執(zhí)行訪問(wèn)片外ROMROM的指令的指令MOVCMOVC時(shí),時(shí),80518051自動(dòng)在該引腳產(chǎn)生一個(gè)負(fù)脈沖,用于對(duì)片外自動(dòng)在該引腳產(chǎn)生一個(gè)負(fù)脈沖,用于對(duì)片外ROMROM的選通。其他情況下,該引腳均為高電平的選通。其他情況下,該引腳均為高電平封鎖狀態(tài)。封鎖狀態(tài)。 Vcc, GND: Vcc, GND: 電
18、源端電源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端片內(nèi)振蕩電路輸入、輸出端RESET: RESET: 復(fù)位端復(fù)位端 (正脈沖有效(正脈沖有效)EA/Vpp: EA/Vpp: 尋址外部尋址外部ROMROM控制端控制端/ /編程電源輸入端。編程電源輸入端。ALE/PROG: ALE/PROG: 地址鎖存允許地址鎖存允許/ /編程脈沖輸入端。編程脈沖輸入端。 單片機(jī)單片機(jī)鎖存器鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOEC
19、EEPROM單片機(jī)的引腳(PSEN端)PSENPSEN:尋址外部程序存儲(chǔ)器時(shí)選通外部尋址外部程序存儲(chǔ)器時(shí)選通外部EPROMEPROM的的 讀控制端讀控制端(OEOE)低有效。低有效。單片機(jī)的I/O引腳結(jié)構(gòu)眾多功能各異的I/O引腳源于它結(jié)構(gòu)的不同并行口并行口I/OI/O結(jié)構(gòu)與操作結(jié)構(gòu)與操作5151系列單片機(jī)有系列單片機(jī)有4 4個(gè)個(gè)I/OI/O端口,每個(gè)端口端口,每個(gè)端口都是都是8 8位準(zhǔn)雙向口,共占位準(zhǔn)雙向口,共占3232根引腳。每個(gè)端口根引腳。每個(gè)端口都包括一個(gè)鎖存器都包括一個(gè)鎖存器( (即專(zhuān)用寄存器即專(zhuān)用寄存器P0P0P3P3) )、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。通常把一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖
20、器。通常把4 4個(gè)端個(gè)端口籠統(tǒng)地表示為口籠統(tǒng)地表示為P0P0P3P3。并行口并行口I/OI/O結(jié)構(gòu)與操作結(jié)構(gòu)與操作 在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4 4個(gè)端口的每一個(gè)端口的每一位都可以作為位都可以作為準(zhǔn)雙向準(zhǔn)雙向通用通用I/OI/O端口使用。在具有片外擴(kuò)端口使用。在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,展存儲(chǔ)器的系統(tǒng)中,P2P2口口作為作為高高8 8位地址線(xiàn)位地址線(xiàn),P0P0口口分時(shí)分時(shí)作為作為低低8 8位地址線(xiàn)和雙向數(shù)據(jù)總線(xiàn)位地址線(xiàn)和雙向數(shù)據(jù)總線(xiàn)。驅(qū)動(dòng)器驅(qū)動(dòng)器緩沖器緩沖器鎖存器鎖存器單片機(jī)的引腳(P1口)P1.0P1.7: P1.0P1.7: 準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口
21、(內(nèi)置內(nèi)置了上拉電阻)了上拉電阻)輸出時(shí)一切照常,輸出時(shí)一切照常,僅在作僅在作輸入口輸入口用時(shí)要先對(duì)其用時(shí)要先對(duì)其寫(xiě)寫(xiě)“1 1”。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖寫(xiě)鎖存器存器內(nèi)部?jī)?nèi)部總線(xiàn)總線(xiàn)Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸出出數(shù)據(jù)數(shù)據(jù) = 1 時(shí)時(shí)110截截止止=1單片機(jī)的引腳單片機(jī)的引腳(P1P1口)口)21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸出出數(shù)據(jù)數(shù)
22、據(jù) = 0 時(shí)時(shí)001導(dǎo)導(dǎo)通通=0單片機(jī)的引腳單片機(jī)的引腳(P1P1口)口)21DQCK/Q讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸入入數(shù)據(jù)時(shí),要先對(duì)其寫(xiě)數(shù)據(jù)時(shí),要先對(duì)其寫(xiě)“1”110截截止止單片機(jī)的引腳單片機(jī)的引腳(P1P1口)口)讀引腳讀引腳 =121DQCK/Q讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻假如需要讀引腳狀態(tài),而未對(duì)其先寫(xiě)入假如需要讀引腳狀態(tài),而未對(duì)其先寫(xiě)入“1”,如果如果之前之前輸出輸出001導(dǎo)導(dǎo)通通單片機(jī)的引腳單片機(jī)的引腳(P1P1口)口)讀引腳讀引腳 =1低電平
23、低電平“0” 簡(jiǎn)單測(cè)控實(shí)例原理圖P1.3作輸入端口光路通暢,光路通暢,R亮亮 2K 光路阻斷,光路阻斷,R暗暗 400K R亮亮 250K JOB3: CLR P1.1 ;JOB3: CLR P1.1 ;亮綠燈亮綠燈REDO: REDO: SETB P1.3SETB P1.3 ;P1.3;P1.3作輸入口必先置作輸入口必先置1 1CHECK:JNB P1.3,CHECK ;CHECK:JNB P1.3,CHECK ;檢測(cè)檢測(cè)通道是否被阻斷?通道是否被阻斷?LOOP: ;LOOP: ;有入侵者,有入侵者,報(bào)警!報(bào)警!AJMP REDO ;AJMP REDO ;再跳回去檢測(cè)再跳回去檢測(cè)任務(wù)三:任務(wù)
24、三:紅外防盜報(bào)警紅外防盜報(bào)警P1.3P1.3口口用于輸入狀態(tài)檢測(cè)的語(yǔ)句用于輸入狀態(tài)檢測(cè)的語(yǔ)句: 紅外線(xiàn)光路通暢時(shí),紅外線(xiàn)光路通暢時(shí),P1.3P1.3端端低電平低電平紅外線(xiàn)光路阻斷時(shí),紅外線(xiàn)光路阻斷時(shí),P1.3P1.3端端高電平高電平單片機(jī)的引腳單片機(jī)的引腳(P0P0口)口)P0.0-P0.7: P0.0-P0.7: 準(zhǔn)雙向準(zhǔn)雙向I/O I/O (內(nèi)置內(nèi)置場(chǎng)效應(yīng)管場(chǎng)效應(yīng)管上拉)上拉)尋址外部存儲(chǔ)器時(shí)尋址外部存儲(chǔ)器時(shí)分時(shí)分時(shí)作作雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和低低8 8位位地址地址復(fù)用口復(fù)用口,工作狀態(tài)由,工作狀態(tài)由CPUCPU發(fā)出的控制信號(hào)決發(fā)出的控制信號(hào)決定;定;不接存儲(chǔ)器不接存儲(chǔ)器時(shí)可時(shí)可
25、作為作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖寫(xiě)鎖存器存器內(nèi)部?jī)?nèi)部總線(xiàn)總線(xiàn)地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X34Vcc21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址/數(shù)據(jù)數(shù)據(jù)控制控制=0引腳引腳P0.X34作作通用通用I/O端口端口使用使用時(shí)時(shí),控制控制=0 。00100截截止止截截止止Vcc=1此腳作此腳作輸入口,輸入口,“讀引腳讀引腳”時(shí),時(shí),事先必須對(duì)事先必須對(duì)它寫(xiě)它寫(xiě)“1”。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址/數(shù)據(jù)數(shù)據(jù)控制控制=0
26、引腳引腳P0.X34“輸出輸出1”時(shí),時(shí),漏級(jí)開(kāi)路電路漏級(jí)開(kāi)路電路引引腳上必須接上拉電阻,才能輸出高電平。腳上必須接上拉電阻,才能輸出高電平。00100截截止止截截止止VccVdd21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址/數(shù)據(jù)數(shù)據(jù)=0控制控制=1引腳引腳P0.X34P0口口作地址作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口時(shí),控制時(shí),控制=1:(1)當(dāng))當(dāng)輸出地址輸出地址/數(shù)據(jù)數(shù)據(jù) =0 時(shí)時(shí)101截截止止導(dǎo)導(dǎo)通通Vcc=01=0地址數(shù)據(jù)總線(xiàn)地址數(shù)據(jù)總線(xiàn)不用外接上拉電阻。不用外接上拉電阻。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地
27、址地址/數(shù)據(jù)數(shù)據(jù)=1控制控制=1引腳引腳P0.X34P0口口作地址作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口時(shí),控制時(shí),控制=1:(2)當(dāng))當(dāng)輸出地址輸出地址/數(shù)據(jù)數(shù)據(jù) =1時(shí)時(shí)110導(dǎo)導(dǎo)通通截截止止Vcc=00=1輸出高電平的時(shí)候,內(nèi)部電源直接通過(guò)輸出高電平的時(shí)候,內(nèi)部電源直接通過(guò)VT1VT1輸出到輸出到P0P0口線(xiàn)上口線(xiàn)上, ,因此因此驅(qū)動(dòng)能力驅(qū)動(dòng)能力( (電流電流) )可以很大可以很大21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址/數(shù)據(jù)數(shù)據(jù)控制控制=0引腳引腳P0.X34P0口口作地址作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口輸入輸入時(shí),僅從外存讀入信息,時(shí),僅從外存讀入信息,
28、控制控制=0,CPU自動(dòng)向自動(dòng)向P0口輸出口輸出FFH,使下拉場(chǎng)效應(yīng)管,使下拉場(chǎng)效應(yīng)管截止。輸入指令將使引腳與內(nèi)部總線(xiàn)直通截止。輸入指令將使引腳與內(nèi)部總線(xiàn)直通Vcc=1截截止止截截止止ADC0809 ADC0809 與單片機(jī)的連接與單片機(jī)的連接MOV DPTR,#0FEF0H ;ADC0口地址口地址MOVX DPTR,A ;啟動(dòng);啟動(dòng)A/D轉(zhuǎn)換轉(zhuǎn)換LCALL DELAY ;等待轉(zhuǎn)換結(jié)束;等待轉(zhuǎn)換結(jié)束MOVX A,DPTR ;取轉(zhuǎn)換結(jié)果;取轉(zhuǎn)換結(jié)果ADC0809ADC0809延時(shí)方延時(shí)方式數(shù)據(jù)采集式數(shù)據(jù)采集單片機(jī)的引腳單片機(jī)的引腳(P2P2口)口)P2.0P2.7: P2.0P2.7: 準(zhǔn)雙向準(zhǔn)
29、雙向I/O I/O (內(nèi)置了上拉電阻)內(nèi)置了上拉電阻)尋址外部存儲(chǔ)器時(shí)尋址外部存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外部存儲(chǔ)器不接外部存儲(chǔ)器時(shí)可時(shí)可作為作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖寫(xiě)鎖存器存器內(nèi)部?jī)?nèi)部總線(xiàn)總線(xiàn)地址高地址高8位位 控制控制引腳引腳 P2.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址高高8位位控制控制 引腳引腳 P2.XP2作通用作通用輸出口輸出口時(shí),控制時(shí),控制=0。110截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻11Vcc=1=
30、0輸出輸出=1時(shí),時(shí),21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址高高8位位控制控制 引腳引腳 P2.X001導(dǎo)導(dǎo)通通3內(nèi)部上拉電阻內(nèi)部上拉電阻00Vcc=0=0P2作通用作通用輸出口輸出口時(shí),控制時(shí),控制=0。輸出輸出=0時(shí),時(shí),21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址高高8位位控制控制 引腳引腳 P2.XP2作作高高8位地址位地址A8-A15輸出口時(shí),控制輸出口時(shí),控制=1 。10截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻1Vcc=1=1=1當(dāng)當(dāng)輸出輸出 =1時(shí)時(shí)21DQCK/Q讀引腳讀引腳 =0讀鎖存
31、器讀鎖存器寫(xiě)鎖存器寫(xiě)鎖存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)地址地址高高8位位=0控制控制 引腳引腳 P2.X01導(dǎo)導(dǎo)通通3內(nèi)部上拉電阻內(nèi)部上拉電阻0Vcc=0=1P2作作高高8位地址位地址A8-A15輸出口時(shí),控制輸出口時(shí),控制=1 。當(dāng)當(dāng)輸出輸出 =0時(shí)時(shí)P2口特點(diǎn)小結(jié)(口特點(diǎn)小結(jié)(1)P2口特點(diǎn)小結(jié)(口特點(diǎn)小結(jié)(2)單片機(jī)的引腳(P3口)P3.0P3.7: P3.0P3.7: 雙功能口雙功能口(內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻)它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功能。在不使用它的第二功能時(shí)它就是普通的時(shí)它就是普通的通用準(zhǔn)雙向通用準(zhǔn)雙向I/OI/O口口。21DQCK/Q讀引腳讀引腳讀
32、鎖存器讀鎖存器寫(xiě)鎖寫(xiě)鎖存器存器內(nèi)部?jī)?nèi)部總線(xiàn)總線(xiàn)第二功能輸出第二功能輸出引腳引腳 P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc第二功能輸入第二功能輸入4P3口第二功能表(P.27 表21)21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖寫(xiě)鎖存器存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)D第二功能輸出第二功能輸出(WRWR,RDRD,TxDTxD)引腳引腳 P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc4第二功能第二功能輸出輸出時(shí),內(nèi)部時(shí),內(nèi)部自動(dòng)自動(dòng) D=1D=1=111與非門(mén)與非門(mén)21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫(xiě)鎖寫(xiě)鎖存器存器內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)第二輸出功能第二輸出功能1引腳引腳 P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻
33、Vcc4第二功能輸入時(shí),信號(hào)經(jīng)第二功能輸入時(shí),信號(hào)經(jīng)緩沖器緩沖器4 直接進(jìn)入內(nèi)總線(xiàn)直接進(jìn)入內(nèi)總線(xiàn)11與非門(mén)與非門(mén)10截截止止 第二功能輸入第二功能輸入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)Px.yVddVdd灌電流方式,灌電流方式,輸出輸出”0”,點(diǎn)亮點(diǎn)亮LEDPx.yVdd拉電流方式輸出高電平點(diǎn)亮LEDPx.yVdd拉電流方式拉電流方式輸出高電平輸出高電平點(diǎn)亮點(diǎn)亮LEDVdd51單片機(jī)的4個(gè)8位的I/O口P0.0P0.7:P0.0P0.7:8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口復(fù)用口 ( (復(fù)用時(shí)是復(fù)用時(shí)是雙向口雙向口;不復(fù)用時(shí)也是;
34、不復(fù)用時(shí)也是準(zhǔn)雙向口準(zhǔn)雙向口) )P1.0P1.7: P1.0P1.7: 通用通用I/OI/O口口(準(zhǔn)雙向口)(準(zhǔn)雙向口)P2.0P2.7:P2.0P2.7: 輸出高輸出高8 8位地址位地址(用于尋址時(shí)是(用于尋址時(shí)是輸出口;輸出口;不尋址時(shí)是不尋址時(shí)是準(zhǔn)雙向口準(zhǔn)雙向口)P3.0P3.7: P3.0P3.7: 具有特定的第二功能具有特定的第二功能(準(zhǔn)雙向口)(準(zhǔn)雙向口)注意:注意:在不外擴(kuò)在不外擴(kuò)ROM/RAMROM/RAM時(shí),時(shí),P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口!P3口第二功能表 (P.27 表21)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器
35、數(shù)據(jù)存儲(chǔ)器RAMRAM(Random Access MemoryRandom Access Memory)程序存儲(chǔ)器程序存儲(chǔ)器ROMROM(Read Only MemoryRead Only Memory)閃速存儲(chǔ)器閃速存儲(chǔ)器Flash MemoryFlash MemoryEPROMEPROMErazible Programmable ROMErazible Programmable ROMEEPROM/EEEPROM/E2 2PROMPROMElectrical Erasable Electrical Erasable Programmable ROM Programmable ROM按字節(jié)
36、尋址:每個(gè)字節(jié)按字節(jié)尋址:每個(gè)字節(jié)(8(8個(gè)位個(gè)位) )占一個(gè)地址占一個(gè)地址按位尋址:有的存儲(chǔ)器每一個(gè)位就有一個(gè)地址按位尋址:有的存儲(chǔ)器每一個(gè)位就有一個(gè)地址MCS-51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)MCS-51單片機(jī)單片機(jī)的存儲(chǔ)器空間分布的存儲(chǔ)器空間分布l特點(diǎn):特點(diǎn):l在在MCS-51單片機(jī)的內(nèi)部集成了單片機(jī)的內(nèi)部集成了4K的的程序存儲(chǔ)器程序存儲(chǔ)器和和256B的的數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器,同時(shí)還可以使用片外的程,同時(shí)還可以使用片外的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,其擴(kuò)展能力都是其擴(kuò)展能力都是64K。l從從物理結(jié)構(gòu)物理結(jié)構(gòu)的角度講,的角度講,51單片機(jī)的存儲(chǔ)系統(tǒng)可以單片機(jī)的存儲(chǔ)系統(tǒng)可以分為四個(gè)存儲(chǔ)
37、空間:分為四個(gè)存儲(chǔ)空間:即片內(nèi)即片內(nèi)ROM,RAM和片外和片外ROM、RAM。l從從邏輯上邏輯上講(即用戶(hù)編程的角度講)講(即用戶(hù)編程的角度講)51單片機(jī)的單片機(jī)的存儲(chǔ)系統(tǒng)又可分為存儲(chǔ)系統(tǒng)又可分為三個(gè)存儲(chǔ)空間三個(gè)存儲(chǔ)空間。即片內(nèi)即片內(nèi)RAM,片外片外RAM和片內(nèi)、外的程序存儲(chǔ)器和片內(nèi)、外的程序存儲(chǔ)器ROM。FFFFH0000H可尋址可尋址片外片外RAMRAM 64K字節(jié)字節(jié)7FH00H片內(nèi)片內(nèi) RAMRAM 128字節(jié)字節(jié)FFH80H 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器FFFFH0000H可尋址可尋址片外片外ROMROM 64K字節(jié)字節(jié)0FFFH0000H片內(nèi)片內(nèi) ROMROM4K 字節(jié)字節(jié) 程序存儲(chǔ)器程序
38、存儲(chǔ)器MCS-51單片機(jī)的內(nèi)存結(jié)構(gòu)單片機(jī)的內(nèi)存結(jié)構(gòu)物理上分為:物理上分為:4個(gè)空間,即片內(nèi)個(gè)空間,即片內(nèi)ROM、片外片外ROM 片內(nèi)片內(nèi)RAM、片外片外RAM邏輯上分為邏輯上分為: : 3個(gè)空間,個(gè)空間, 即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址 MOVC 數(shù)據(jù)存儲(chǔ)器(片內(nèi))數(shù)據(jù)存儲(chǔ)器(片內(nèi)) MOV 數(shù)據(jù)存儲(chǔ)器(片外)數(shù)據(jù)存儲(chǔ)器(片外) MOVXMCS-51單片機(jī)的內(nèi)存結(jié)構(gòu)單片機(jī)的內(nèi)存結(jié)構(gòu)尋址范圍:尋址范圍:0000H FFFFH 64KB (16位位).). 1EA ,尋址內(nèi)部尋址內(nèi)部ROM;0EA ,尋址外部尋址外部ROM。 當(dāng)當(dāng)PC值超過(guò)片內(nèi)值超過(guò)片內(nèi)ROM容量時(shí)會(huì)
39、自動(dòng)轉(zhuǎn)向容量時(shí)會(huì)自動(dòng)轉(zhuǎn)向 外部外部存儲(chǔ)器空間。存儲(chǔ)器空間。EA8031單片機(jī)單片機(jī)接低電平。接低電平。作用:作用: 存放程序及程序運(yùn)行時(shí)所需的常數(shù)。存放程序及程序運(yùn)行時(shí)所需的常數(shù)。低段低段4KB: 0000H0FFFH80C51和和87C51在片內(nèi),在片內(nèi),80C31在片外。在片外。高段高段60KB:1000HFFFFH。在片外。在片外。存儲(chǔ)器配置(ROM) 0000H 系統(tǒng)復(fù)位,系統(tǒng)復(fù)位,PC指向此處指向此處 0003H 外部中斷外部中斷0入口入口 000BH T0溢出中斷入口溢出中斷入口 0013H 外中斷外中斷1入口入口 001BH T1溢出中斷入口溢出中斷入口 0023H 串口中斷入口
40、串口中斷入口 002BH T2溢出中斷入口溢出中斷入口 注意:注意: 7個(gè)單元被保留用于特定的程序入口地址(中個(gè)單元被保留用于特定的程序入口地址(中斷服務(wù)程序入口地址)。編程者是不能隨便使用的。斷服務(wù)程序入口地址)。編程者是不能隨便使用的。存儲(chǔ)器配置(ROM)由于系統(tǒng)復(fù)位后的由于系統(tǒng)復(fù)位后的PC內(nèi)容為內(nèi)容為0000H,故系統(tǒng)從故系統(tǒng)從0000H單元開(kāi)始取指令,執(zhí)行程序。它是系統(tǒng)的啟動(dòng)地址。單元開(kāi)始取指令,執(zhí)行程序。它是系統(tǒng)的啟動(dòng)地址。一般在該單元設(shè)置一般在該單元設(shè)置轉(zhuǎn)移指令轉(zhuǎn)移指令,使之轉(zhuǎn)向用戶(hù)主程序,使之轉(zhuǎn)向用戶(hù)主程序處。因此,處。因此,0000H0002H單元被保留用于單元被保留用于初始化
41、初始化。存儲(chǔ)器配置(ROM) org0000h jmpmain ;跳過(guò)中斷入口地址區(qū);跳過(guò)中斷入口地址區(qū) org0100hmain: mov p1,#55h mov r0,#3fh l 讀寫(xiě)外讀寫(xiě)外RAMRAM用用MOVXMOVX指令,指令, 控制信號(hào)是控制信號(hào)是P3P3口中的口中的RDRD和和WRWR。 一般情況下,只有在內(nèi)一般情況下,只有在內(nèi)RAM不能滿(mǎn)足不能滿(mǎn)足應(yīng)用應(yīng)用要求時(shí),才外接要求時(shí),才外接RAMRAM。 51單片機(jī)存儲(chǔ)器配置(片外RAM)51單片機(jī)存儲(chǔ)器配置(片內(nèi)RAM)片內(nèi)片內(nèi)RAMRAM 128 128字節(jié)(字節(jié)(0000H7FHH7FH);); 片內(nèi)片內(nèi)RAMRAM前前32
42、32個(gè)單元是工作寄存器區(qū)個(gè)單元是工作寄存器區(qū)(00(00H1FH)H1FH) 片內(nèi)片內(nèi)RAMRAM有有128128個(gè)可按位尋址的位,占個(gè)可按位尋址的位,占1616個(gè)單元。個(gè)單元。 位地址編號(hào)為:位地址編號(hào)為:0000H7FHH7FH,分布在分布在2020H2FHH2FH單元單元片內(nèi)片內(nèi)2121個(gè)特殊功能寄存器個(gè)特殊功能寄存器( (SFRSFR) )中:地址號(hào)能被中:地址號(hào)能被8 8整整除的除的 SFRSFR中的各位中的各位也可也可按位尋址按位尋址(P.29-30P.29-30)存儲(chǔ)器配置(片內(nèi)RAM)片內(nèi)片內(nèi)RAMRAM 128128字節(jié)字節(jié)(0000H7FHH7FH)0000H H2020H
43、 H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SFR分布在分布在80H-FFH其中其中92個(gè)位個(gè)位可位尋址可位尋址8080H HFFHFFH所有的所有的RAMRAM區(qū)區(qū)( (包括包括位位尋址區(qū)、工作寄存器尋址區(qū)、工作寄存器區(qū))都可以用于存放區(qū))都可以用于存放數(shù)據(jù),故也稱(chēng)為數(shù)據(jù),故也稱(chēng)為數(shù)據(jù)數(shù)據(jù)緩存寄存器緩存寄存器片內(nèi)片內(nèi)RAMRAM前前3232個(gè)單元是個(gè)單元是工作寄存器區(qū)工作寄存器區(qū) (00(00H1FH)H1FH)0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H
44、H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)存儲(chǔ)器配置(片內(nèi)RAM) 有專(zhuān)用于工作寄存有專(zhuān)用于工作寄存器操作的指令,讀寫(xiě)速器操作的指令,讀寫(xiě)速度比一般內(nèi)度比一般內(nèi)RAMRAM要快,指要快,指令字節(jié)比一般直接尋址令字節(jié)比一般直接尋址指令要短,還具有間址指令要短,還具有間址功能,能給編程和應(yīng)用功能,能給編程和應(yīng)用帶來(lái)方便。帶來(lái)方便。0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06
45、H04H05H03H08H1FH工作寄存器區(qū)工作寄存器區(qū)3工作寄存器區(qū)工作寄存器區(qū)2工作寄存器區(qū)工作寄存器區(qū)1工作寄存器區(qū)工作寄存器區(qū)00FH10H17H18H片內(nèi)片內(nèi)RAMRAM前前3232個(gè)單元是個(gè)單元是工作寄存器區(qū)工作寄存器區(qū) (00(00H1FH)H1FH)存儲(chǔ)器配置(片內(nèi)RAM) 工作寄存器區(qū)分為工作寄存器區(qū)分為4 4個(gè)區(qū):個(gè)區(qū):0 0區(qū)、區(qū)、1 1區(qū)、區(qū)、2 2區(qū)、區(qū)、3 3區(qū)。每區(qū)有區(qū)。每區(qū)有8 8個(gè)寄存器:個(gè)寄存器:R0R0R7R7,寄存器名稱(chēng)相同。但是,當(dāng)前工作的寄存器,寄存器名稱(chēng)相同。但是,當(dāng)前工作的寄存器區(qū)只能有一個(gè),由區(qū)只能有一個(gè),由PSWPSW中的中的D4D4、D3D
46、3位決定位決定。 0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)片內(nèi)片內(nèi)RAMRAM中有中有128128個(gè)可按位尋址的位。個(gè)可按位尋址的位。 位地址位地址: :0000H7FH H7FH 分布在分布在: :2020H2FHH2FH單元單元存儲(chǔ)器配置(片內(nèi)RAM)用于用于存放各種標(biāo)志位信息和位存放各種標(biāo)志位信息和位數(shù)據(jù)。每一位均有一個(gè)位地址,數(shù)據(jù)。每一位均有一個(gè)位地址,可位尋址、位操作。即按位地可位尋址、位操作。即按位地址對(duì)該位進(jìn)行址對(duì)該位進(jìn)行置置1、清清0、求反求反或或判轉(zhuǎn)
47、判轉(zhuǎn).注意事項(xiàng)注意事項(xiàng): 位地址與字節(jié)地址編址相同,位地址與字節(jié)地址編址相同,容易混淆。容易混淆。 區(qū)分方法區(qū)分方法:位操作指令位操作指令中的地址中的地址是位地址是位地址; 字節(jié)操作指令字節(jié)操作指令中的地址中的地址是字節(jié)地址。是字節(jié)地址。0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址單元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 1
48、3 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址總共總共128個(gè)可個(gè)可按位按位尋址尋址的位的位片內(nèi)片內(nèi)RAMRAM中有中有128128個(gè)可按位尋址的位。個(gè)可按位尋址的位。 位地址位地址: :0000H7FH H7FH 分布在分布在: :2020H2FHH2FH單元單元存儲(chǔ)器配置(片內(nèi)RAM)0
49、000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū): :30H7FH30H7FH單元單元存儲(chǔ)器配置(片內(nèi)RAM)用于用于特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(專(zhuān)用寄存器)專(zhuān)用寄存器) 特殊用途寄存器的集合。特殊用途寄存器的集合。專(zhuān)用于專(zhuān)用于控制、選擇、管控制、選擇、管理、存放理、存放單片機(jī)內(nèi)部各部分的工作單片機(jī)內(nèi)部各部分的工作方式、條件、狀方式、條件、狀態(tài)、結(jié)果態(tài)、結(jié)果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模塊,負(fù)
50、責(zé)不同的功管理不同的硬件模塊,負(fù)責(zé)不同的功能能各司其職各司其職換言之:要讓單片機(jī)實(shí)現(xiàn)預(yù)訂的功能,必須有相應(yīng)換言之:要讓單片機(jī)實(shí)現(xiàn)預(yù)訂的功能,必須有相應(yīng)的硬件和軟件,的硬件和軟件,而軟件中最重要的一項(xiàng)工作就是對(duì)而軟件中最重要的一項(xiàng)工作就是對(duì)SFRSFR寫(xiě)命令(要求)寫(xiě)命令(要求)。特殊功能寄存器不能特殊功能寄存器不能作為作為普通的普通的RAMRAM存儲(chǔ)單元來(lái)使存儲(chǔ)單元來(lái)使用。用。只有在編程中根據(jù)需要,進(jìn)行一些特定功能的只有在編程中根據(jù)需要,進(jìn)行一些特定功能的設(shè)定,或者是從中查尋相關(guān)部件的狀態(tài)時(shí),才能進(jìn)設(shè)定,或者是從中查尋相關(guān)部件的狀態(tài)時(shí),才能進(jìn)行讀、寫(xiě)操作。行讀、寫(xiě)操作。如中斷方式的設(shè)定、定時(shí)器
51、工作模如中斷方式的設(shè)定、定時(shí)器工作模式的設(shè)定,查詢(xún)串行口發(fā)送或接收是否結(jié)束等等。式的設(shè)定,查詢(xún)串行口發(fā)送或接收是否結(jié)束等等。有有2121個(gè)個(gè)SFRSFR 已知的已知的P0P0、P1P1、P2P2、P3P3等四個(gè)等四個(gè)8 8位位I/OI/O口口分別由名為分別由名為P0P0、P1P1、P2P2、P3P3四個(gè)四個(gè)SFRSFR代表。代表。堆棧指針寄存器堆棧指針寄存器 SPSP(Stack Pointer): Stack Pointer): 總是指總是指向棧頂向棧頂, ,壓棧時(shí)先壓棧時(shí)先 ( (SP)+1 SP)+1 然后數(shù)據(jù)進(jìn)棧;彈棧然后數(shù)據(jù)進(jìn)棧;彈棧時(shí)數(shù)據(jù)先出棧時(shí)數(shù)據(jù)先出棧 然后然后( (SP)-1
52、SP)-1。累加器累加器 ACC:ACC:一個(gè)用得最頻繁的特殊功能寄存器一個(gè)用得最頻繁的特殊功能寄存器( (如:運(yùn)算、數(shù)據(jù)傳輸如:運(yùn)算、數(shù)據(jù)傳輸)。副累加器副累加器 B B: :一個(gè)經(jīng)常與一個(gè)經(jīng)常與 ACCACC 配合在一起使用的配合在一起使用的特殊功能寄存器特殊功能寄存器( (如:乘法、除法如:乘法、除法) ),此外,它也,此外,它也經(jīng)常當(dāng)作普通寄存器使用。經(jīng)常當(dāng)作普通寄存器使用。特殊功能寄存器(P0P3,SP,A,B)堆棧: 在在片內(nèi)片內(nèi)RAMRAM中,常常要指定一個(gè)專(zhuān)門(mén)的區(qū)域來(lái)存放某些中,常常要指定一個(gè)專(zhuān)門(mén)的區(qū)域來(lái)存放某些特別的特別的數(shù)據(jù)數(shù)據(jù), ,它遵循它遵循順序存取順序存取和和后進(jìn)先出
53、后進(jìn)先出( (LIFO/FILOLIFO/FILO)的的原則原則, ,這個(gè)這個(gè)RAMRAM區(qū)區(qū)叫叫堆棧堆棧。功用功用:1 1)子程序調(diào)用)子程序調(diào)用和和中斷服務(wù)中斷服務(wù)2 2)保護(hù)現(xiàn)場(chǎng))保護(hù)現(xiàn)場(chǎng)/ /恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)3 3)數(shù)據(jù)傳輸)數(shù)據(jù)傳輸 堆棧操作分自動(dòng)方式和指令方式。自動(dòng)方式是在調(diào)堆棧操作分自動(dòng)方式和指令方式。自動(dòng)方式是在調(diào)用子程序或發(fā)生中斷時(shí)用子程序或發(fā)生中斷時(shí)CPUCPU自動(dòng)將斷口地址存人或者取出;自動(dòng)將斷口地址存人或者取出;指令方式是使用進(jìn)出棧指令進(jìn)行操作。指令方式是使用進(jìn)出棧指令進(jìn)行操作。0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080
54、H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū) SP棧頂棧頂下一個(gè)進(jìn)棧的下一個(gè)進(jìn)棧的數(shù)據(jù)將存在此數(shù)據(jù)將存在此數(shù)據(jù)數(shù)據(jù)進(jìn)棧進(jìn)棧已經(jīng)進(jìn)棧的數(shù)已經(jīng)進(jìn)棧的數(shù)據(jù)存放在此據(jù)存放在此初始初始 SP復(fù)位后復(fù)位后 SP=07HSP=07H,數(shù)據(jù)進(jìn)棧時(shí):數(shù)據(jù)進(jìn)棧時(shí):首先首先SP+1SP+1指向指向0808H H單元,第一個(gè)放進(jìn)堆棧單元,第一個(gè)放進(jìn)堆棧的數(shù)據(jù)將放進(jìn)的數(shù)據(jù)將放進(jìn)0808H H單元,然后單元,然后SPSP再自再自動(dòng)增動(dòng)增 1 1,仍指著棧頂,仍指著棧頂堆棧區(qū)由特殊功能寄存器堆棧區(qū)由特殊功能寄存器堆棧指針堆棧指針SPSP管理管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM
55、區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。SFR從堆棧取出數(shù)據(jù)時(shí)從堆棧取出數(shù)據(jù)時(shí):取出的數(shù)據(jù)是取出的數(shù)據(jù)是最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動(dòng)減再自動(dòng)減1 1,仍指著棧頂仍指著棧頂0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)
56、SP棧頂棧頂當(dāng)前要出棧的數(shù)據(jù)當(dāng)前要出棧的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧SP-1指向下一個(gè)指向下一個(gè)將要出棧的數(shù)據(jù)將要出棧的數(shù)據(jù)初始初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。從堆棧取出數(shù)據(jù)時(shí)從堆棧取出數(shù)據(jù)時(shí):取出的數(shù)據(jù)是取出的數(shù)據(jù)是最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動(dòng)減再自動(dòng)減1 1,仍指著棧頂仍指著棧
57、頂00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SP-1 指向新的棧指向新的棧頂頂,也就是下一個(gè)也就是下一個(gè)將要出棧的數(shù)據(jù)將要出棧的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧初始初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。程序狀態(tài)字寄存器程序狀
58、態(tài)字寄存器 PSWPSW:CYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)進(jìn)位進(jìn)位/ /借位標(biāo)志位借位標(biāo)志位。若在加減運(yùn)算過(guò)程中如果。若在加減運(yùn)算過(guò)程中如果操作結(jié)果最高位有進(jìn)位或借位,則操作結(jié)果最高位有進(jìn)位或借位,則CY=1CY=1;否則否則=0=0。它也。它也是是布爾處理器布爾處理器的的位累加器位累加器,可用于布爾操作。,可用于布爾操作。ACAC(PSW.6)(PSW.6)半進(jìn)位半進(jìn)位/ /借位標(biāo)志位。借位標(biāo)志位。若在加減運(yùn)算過(guò)程若在加減運(yùn)算過(guò)程中,中,D3D3位向位向D4D4位發(fā)生了進(jìn)位或借位,則位發(fā)生了進(jìn)位或借位,則AC=1,AC=1,否則否則=0=
59、0。機(jī)器在執(zhí)行。機(jī)器在執(zhí)行“DA ADA A”指令時(shí)指令時(shí)自動(dòng)自動(dòng)要判斷這一要判斷這一位,我們可以暫時(shí)不關(guān)心它。位,我們可以暫時(shí)不關(guān)心它。PSW.6 PSW.5特殊功能寄存器(PSW)F0 F0 (PSW.5)(PSW.5)可由用戶(hù)定義的標(biāo)志位??捎捎脩?hù)定義的標(biāo)志位。程序狀態(tài)字寄存器程序狀態(tài)字寄存器 PSWPSW(續(xù))續(xù)):CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3)工作寄存器組選擇位工作寄存器組選擇位。PSW.4 PSW.3片內(nèi)片內(nèi)RAMRAM前前3232個(gè)單元個(gè)單元(00(00H1FH)H1FH)是工作
60、寄存器區(qū)是工作寄存器區(qū) ( (由由PSWPSW中的中的RS1,RS0RS1,RS0決定決定) )0000H H2020H H2 2FHFH7 7FHFH1 1FHFH3030H H8080H HFFHFFH普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)工作寄存器區(qū)3工作寄存器區(qū)工作寄存器區(qū)2工作寄存器區(qū)工作寄存器區(qū)1工作寄存器區(qū)工作寄存器區(qū)0 程序狀態(tài)字寄存器程序狀態(tài)字寄存器 PSWPSW(續(xù))續(xù)):CYACF0RS0OVPRS1PSW.7PSW.0OV OV (PSW.2)(P
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024棉花定購(gòu)合同
- 2024年度人工智能技術(shù)應(yīng)用招投標(biāo)合同管理部技術(shù)規(guī)范2篇
- 2025年度救生員水上安全教育與實(shí)操服務(wù)合同3篇
- 2024排水溝清理項(xiàng)目融資合同
- 2025年度智能機(jī)器人軟件著作權(quán)買(mǎi)賣(mài)合同3篇
- 二零二五年度二手房購(gòu)房合同范本-跨區(qū)域房產(chǎn)交易與物流服務(wù)3篇
- 2025年度生態(tài)旅游區(qū)酒店專(zhuān)業(yè)安保與巡邏服務(wù)合同3篇
- 2025版板材批發(fā)代理合同模板
- 2024年酒類(lèi)產(chǎn)品獨(dú)家代理合同模板
- 2025版環(huán)保行業(yè)技師服務(wù)合同范本3篇
- 2023非預(yù)應(yīng)力鋼筒混凝土管
- 2024年3月八省八校T8第二次聯(lián)考語(yǔ)文試題及答案
- 程序設(shè)計(jì)基礎(chǔ)-C智慧樹(shù)知到期末考試答案章節(jié)答案2024年四川師范大學(xué)
- 駕駛員三年內(nèi)工作總結(jié)
- 廣東省深圳市羅湖區(qū)2023-2024學(xué)年二年級(jí)下學(xué)期期末考試數(shù)學(xué)試題
- 2023年第八屆“鵬程杯”六年級(jí)語(yǔ)文邀請(qǐng)賽試卷(初賽)
- 2023-2024學(xué)年成都市金牛區(qū)八年級(jí)上英語(yǔ)期末考試題(含答案)
- 更年期婦女健康管理專(zhuān)家共識(shí)1
- 青年你為什么要入團(tuán)-團(tuán)員教育主題班會(huì)-熱點(diǎn)主題班會(huì)課件
- MOOC 隧道工程-中南大學(xué) 中國(guó)大學(xué)慕課答案
- 煤礦綜采工作面安全檢查
評(píng)論
0/150
提交評(píng)論