單片機(jī)基礎(chǔ)與應(yīng)用C語言版課件_第1頁
單片機(jī)基礎(chǔ)與應(yīng)用C語言版課件_第2頁
單片機(jī)基礎(chǔ)與應(yīng)用C語言版課件_第3頁
單片機(jī)基礎(chǔ)與應(yīng)用C語言版課件_第4頁
單片機(jī)基礎(chǔ)與應(yīng)用C語言版課件_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

教學(xué)內(nèi)容單片機(jī)內(nèi)部結(jié)構(gòu)8051單片機(jī)引腳功能單片機(jī)存儲器結(jié)構(gòu)時鐘電路與復(fù)位電路單片機(jī)并行I/O口第2章

單片機(jī)硬件系統(tǒng)教學(xué)內(nèi)容第2章單片機(jī)硬件系統(tǒng)單片機(jī)內(nèi)部結(jié)構(gòu)時鐘電路CPUROMRAMT0T1中斷系統(tǒng)串行接口并行接口P0P1P2P3TXDRXDINT0INT1定時計數(shù)器中央處理器CPU:8位,運(yùn)算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ復(fù)位電路單片機(jī)內(nèi)部結(jié)構(gòu)時鐘電路CPUROMRAMT0T1中斷8051單片機(jī)信號引腳P3口線的第二功能VCCVSSXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1

P3.2P3.3P3.4P3.5P3.6P3.72、振蕩電路:XTAL1、XTAL23、復(fù)位引腳:RST4、并行口:P0、P1、P2、P37、ALE:地址鎖存控制信號1、電源線:VCC(+5V)、VSS(地)EAPSEN5、EA:訪問程序存儲控制信號6、PSEN:外部ROM讀選通信號RXD/

TXD/

INT0/INT1/

T0/

T1/

WR/

RD/1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C518051單片機(jī)信號引腳P3口線的第二功能VCCVSSXTAL8051單片機(jī)引腳邏輯結(jié)構(gòu)8051單片機(jī)引腳邏輯結(jié)構(gòu)引腳第二功能第二功能信號名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2外部中斷0申請P3.3外部中斷1申請P3.4T0定時/計數(shù)器0的外部輸入P3.5T1定時/計數(shù)器1的外部輸入P3.6外部RAM或外部I/O寫選通P3.7外部RAM或外部I/O讀選通P3口各引腳與第二功能表引腳第二功能第二功能信號名稱P3.0RXD串行數(shù)據(jù)接收P3.時鐘電路與復(fù)位電路

時鐘振蕩電路時鐘電路與復(fù)位電路

時鐘振蕩電路時序

關(guān)于MCS-51系列單片機(jī)的時序概念有4個,可用定時單位來說明,從小到大依次是:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期,下面分別加以說明。1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為節(jié)拍,用P表示,也就是晶振的振蕩頻率fosc。2)狀態(tài)振蕩脈沖fosc經(jīng)過二分頻后,就是單片機(jī)時鐘信號的周期,定義為狀態(tài),用S表示。一個狀態(tài)包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫P1,后半周期對應(yīng)的節(jié)拍叫P2。3)機(jī)器周期

MCS-51系列單片機(jī)采用定時控制方式,有固定的機(jī)器周期。規(guī)定一個機(jī)器周期的寬度為6個狀態(tài),即12個振蕩脈沖周期,因此機(jī)器周期就是振蕩脈沖的十二分頻。小提示當(dāng)振蕩脈沖頻率為12MHz時,一個機(jī)器周期為1μs;當(dāng)振蕩脈沖頻率為6MHz時,一個機(jī)器周期為2μs。時序關(guān)于MCS-51系列單片機(jī)的時序概念有4單片機(jī)復(fù)位條件:必須使RST引腳持續(xù)2微秒高電平(外部時鐘12MHz)時鐘電路與復(fù)位電路

時鐘振蕩電路單片機(jī)復(fù)位條件:必須使RST引腳持續(xù)2微秒高電平(1

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

31302928272625242422211

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM62641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM6264

器80318751805189C51片內(nèi)RAM片內(nèi)ROM256B(字節(jié))4K1

2

3

4

5

6

7

8

9

10

11

12

13

(1)程序存儲器程序存儲器內(nèi)部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,

在這三個單元存放一條

無條件轉(zhuǎn)移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位...0FFFH0FFEHEA=1EA=0程序存儲器資源分布中斷入口地址(1)程序存儲器程序存儲器內(nèi)部外部0000H0FFFH(4K在單片機(jī)C語言程序設(shè)計中,用戶無需考慮程序的存放地址,編譯程序會在編譯過程中按照上述規(guī)定,自動安排程序的存放地址。例如:C語言是從main()函數(shù)開始執(zhí)行的,編譯程序會在程序存儲器的0000H處自動存放一條轉(zhuǎn)移指令,跳轉(zhuǎn)到main()函數(shù)存放的地址;中斷函數(shù)也會按照中斷類型號,自動由編譯程序安排存放在程序存儲器相應(yīng)的地址中。因此,讀者只需了解程序存儲器的結(jié)構(gòu)就可以了。說明說明0000HFFFFH(64K)內(nèi)部外部(2)數(shù)據(jù)存儲器數(shù)據(jù)存儲器00HFFH7FH80H(高128B)(低128B)RAM專用

寄存器00H07H08H0FH10H17H18H1FH0區(qū)R0R7R0R7R0R7R0R71區(qū)2區(qū)3區(qū)工作寄存器區(qū)可位尋址區(qū)20H2FH7F78070030H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū)內(nèi)部RAM存儲器

11第3區(qū)18H~1FH

01第1區(qū)08H~0FHRS1RS0寄存器區(qū)片內(nèi)RAM地址

00第0區(qū)00H~07H10第2區(qū)10H~17H工作寄存器區(qū)選擇位RS0、RS10000HFFFFH(64K)內(nèi)部外部(2)數(shù)據(jù)存儲器數(shù)據(jù)存注意:一個單元地址對應(yīng)有8個位地址

MSB——MostSignificantBit(最高有效位)

LSB——LeastSignificantBit(最低有效位)單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07

MSB

位地址

LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位尋址區(qū)位地址表注意:一個單元地址對應(yīng)有8個位地址

MSB——Most高128個單元☆離散分布有21個特殊功能寄存器SFR?!?/p>

11個可以進(jìn)行位尋址。☆特別提示:對SFR只能使用直接尋址方式,書寫時可使用寄存器符號,也可用寄存器單元地址。高128個單元☆離散分布有21個特殊功能寄存器SFR?!?在單片機(jī)的C語言程序設(shè)計中,可以通過關(guān)鍵字sfr來定義所有特殊功能寄存器,從而在程序中直接訪問它們,例如:sfrP1=0x90;//特殊功能寄存器P1的地址是90H,對應(yīng)P1口的8個I/O引腳在程序中就可以直接使用P1這個特殊功能寄存器了,下面語句是合法的:P1=0x00;//將P1口的8位I/O口全部清0說明在單片機(jī)的C語言程序設(shè)計中,可以通過關(guān)鍵字sfr來定義所有特C語言中,還可以通過關(guān)鍵字sbit來定義特殊功能寄存器中的可尋址位,在程序ex1_1.c中,采用了下面語句定義P1口的第0位:sbitP1_0=P1^0;通常情況下,這些特殊功能寄存器已經(jīng)在頭文件reg51.h中定義了,只要在程序中包含了該頭文件,就可以直接使用已定義的特殊功能寄存器。如果沒有頭文件reg51.h,或者該文件中只定義了部分特殊功能寄存器和位,用戶也可以在程序中自行定義。說明C語言中,還可以通過關(guān)鍵字sbit來定義特殊功能寄存器中的可并行I/O口電路結(jié)構(gòu)

MCS-51系列單片機(jī)共有四個8位并行I/O口,分別用P0、P1、P2、P3表示。每個I/O口既可以按位操作使用單個引腳,也可以按字節(jié)操作使用8個引腳。并行I/O口電路結(jié)構(gòu)MCS-51系列單片機(jī)共有四P0口的結(jié)構(gòu)

輸出控制電路輸出驅(qū)動電路

P0口的結(jié)構(gòu)輸出控制電路輸出驅(qū)

當(dāng)P0口作為輸出口使用時,內(nèi)部總線將數(shù)據(jù)送入鎖存器,內(nèi)部的寫脈沖加在鎖存器時鐘端CP上,鎖存數(shù)據(jù)到Q、端。經(jīng)過MUX,T2反相后正好是內(nèi)部總線的數(shù)據(jù),送到P0口引腳輸出。當(dāng)P0口作為輸入口使用時,應(yīng)區(qū)分讀引腳和讀端口兩種情況,所謂讀引腳,就是讀芯片引腳的狀態(tài),這時使用下方的數(shù)據(jù)緩沖器,由“讀引腳”信號把緩沖器打開,把端口引腳上的數(shù)據(jù)從緩沖器通過內(nèi)部總線讀進(jìn)來。讀端口是指通過上面的緩沖器讀鎖存器Q端的狀態(tài)。讀端口是為了適應(yīng)對I/O口進(jìn)行“讀-修改-寫”操作語句的需要。例如下面的C51語句:

P0=P0&0xf0; //將P0口的低4位引腳清0輸出P0口的結(jié)構(gòu)當(dāng)P0口作為輸出口使用時,內(nèi)部總線將數(shù)據(jù)送入

除了I/O功能以外,在進(jìn)行單片機(jī)系統(tǒng)擴(kuò)展時,P0口是作為單片機(jī)系統(tǒng)的地址/數(shù)據(jù)線使用的,一般稱為地址/數(shù)據(jù)分時復(fù)用引腳。當(dāng)輸出地址或數(shù)據(jù)時,由內(nèi)部發(fā)出控制信號,使“控制”端為高電平,打開與門,并使多路開關(guān)MUX處于內(nèi)部地址/數(shù)據(jù)線與驅(qū)動場效應(yīng)管柵極反相接通狀態(tài)。此時,輸出驅(qū)動電路由于兩個FET處于反相,形成推拉式電路結(jié)構(gòu),使負(fù)載能力大為提高。輸入數(shù)據(jù)時,數(shù)據(jù)信號直接從引腳通過輸入緩沖器進(jìn)入內(nèi)部總線。P0口的結(jié)構(gòu)除了I/O功能以外,在進(jìn)行單片機(jī)系統(tǒng)擴(kuò)展時,P0P1口的結(jié)構(gòu)

P1口的結(jié)構(gòu)

P1口是準(zhǔn)雙向口,只能作為通用I/O口使用。P1口作為輸出口使用時,無需再外接上拉電阻。P1口作為輸入口使用時,應(yīng)區(qū)分讀引腳和讀端口。讀引腳時,必須先向電路中的鎖存器寫入“1”,使輸出級的FET截止。P1口的結(jié)構(gòu)P1口是準(zhǔn)雙向口,只能作為通用I/O口使用。P1口的結(jié)構(gòu)P2口的結(jié)構(gòu)

P2口的結(jié)構(gòu)

P2口是準(zhǔn)雙向口,在實際應(yīng)用中,可以用于為系統(tǒng)提供高8位地址,也能作為通用I/O口使用。P2口作為通用I/O口的輸出口使用時,與P1口一樣無需再外接上拉電阻。P2口作為通用I/O口的輸入口使用時,應(yīng)區(qū)分讀引腳和讀端口。讀引腳時,必須先向鎖存器寫入“1”。P2口的結(jié)構(gòu)P2口是準(zhǔn)雙向口,在實際應(yīng)用中,可以用于為系統(tǒng)提供高8位地址P3口的結(jié)構(gòu)

P3口的結(jié)構(gòu)

P3口是準(zhǔn)雙向口,可以作為通用I/O口使用,還可以作為第二功能使用。作為第二功能使用的端口,不能同時當(dāng)作通用I/O口使用,但其他未被使用的端口仍可作為通用I/O口使用。P3口作為通用I/O的輸出口使用時,不用外接上拉電阻。P3口的結(jié)構(gòu)P3口是準(zhǔn)雙向口,可以作為通用I/O口使用,還可以作為第二功本章小結(jié)

本章介紹單片機(jī)的硬件結(jié)構(gòu),為單片機(jī)應(yīng)用系統(tǒng)設(shè)計打下硬件基礎(chǔ),主要內(nèi)容如下。單片機(jī)內(nèi)部結(jié)構(gòu)。單片機(jī)外部信號引腳功能。存儲器結(jié)構(gòu):片內(nèi)128B數(shù)據(jù)存儲器、特殊功能存儲器SFR和程序存儲器。時鐘電路和復(fù)位電路:單片機(jī)最小系統(tǒng)電路。單片機(jī)并行I/O口結(jié)構(gòu)。單片機(jī)并行I/O口的輸入和輸出功能應(yīng)用。本章小結(jié)本章介紹單片機(jī)的硬件結(jié)構(gòu),為單片機(jī)應(yīng)用系教學(xué)內(nèi)容單片機(jī)內(nèi)部結(jié)構(gòu)8051單片機(jī)引腳功能單片機(jī)存儲器結(jié)構(gòu)時鐘電路與復(fù)位電路單片機(jī)并行I/O口第2章

單片機(jī)硬件系統(tǒng)教學(xué)內(nèi)容第2章單片機(jī)硬件系統(tǒng)單片機(jī)內(nèi)部結(jié)構(gòu)時鐘電路CPUROMRAMT0T1中斷系統(tǒng)串行接口并行接口P0P1P2P3TXDRXDINT0INT1定時計數(shù)器中央處理器CPU:8位,運(yùn)算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ復(fù)位電路單片機(jī)內(nèi)部結(jié)構(gòu)時鐘電路CPUROMRAMT0T1中斷8051單片機(jī)信號引腳P3口線的第二功能VCCVSSXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1

P3.2P3.3P3.4P3.5P3.6P3.72、振蕩電路:XTAL1、XTAL23、復(fù)位引腳:RST4、并行口:P0、P1、P2、P37、ALE:地址鎖存控制信號1、電源線:VCC(+5V)、VSS(地)EAPSEN5、EA:訪問程序存儲控制信號6、PSEN:外部ROM讀選通信號RXD/

TXD/

INT0/INT1/

T0/

T1/

WR/

RD/1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C518051單片機(jī)信號引腳P3口線的第二功能VCCVSSXTAL8051單片機(jī)引腳邏輯結(jié)構(gòu)8051單片機(jī)引腳邏輯結(jié)構(gòu)引腳第二功能第二功能信號名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2外部中斷0申請P3.3外部中斷1申請P3.4T0定時/計數(shù)器0的外部輸入P3.5T1定時/計數(shù)器1的外部輸入P3.6外部RAM或外部I/O寫選通P3.7外部RAM或外部I/O讀選通P3口各引腳與第二功能表引腳第二功能第二功能信號名稱P3.0RXD串行數(shù)據(jù)接收P3.時鐘電路與復(fù)位電路

時鐘振蕩電路時鐘電路與復(fù)位電路

時鐘振蕩電路時序

關(guān)于MCS-51系列單片機(jī)的時序概念有4個,可用定時單位來說明,從小到大依次是:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期,下面分別加以說明。1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為節(jié)拍,用P表示,也就是晶振的振蕩頻率fosc。2)狀態(tài)振蕩脈沖fosc經(jīng)過二分頻后,就是單片機(jī)時鐘信號的周期,定義為狀態(tài),用S表示。一個狀態(tài)包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫P1,后半周期對應(yīng)的節(jié)拍叫P2。3)機(jī)器周期

MCS-51系列單片機(jī)采用定時控制方式,有固定的機(jī)器周期。規(guī)定一個機(jī)器周期的寬度為6個狀態(tài),即12個振蕩脈沖周期,因此機(jī)器周期就是振蕩脈沖的十二分頻。小提示當(dāng)振蕩脈沖頻率為12MHz時,一個機(jī)器周期為1μs;當(dāng)振蕩脈沖頻率為6MHz時,一個機(jī)器周期為2μs。時序關(guān)于MCS-51系列單片機(jī)的時序概念有4單片機(jī)復(fù)位條件:必須使RST引腳持續(xù)2微秒高電平(外部時鐘12MHz)時鐘電路與復(fù)位電路

時鐘振蕩電路單片機(jī)復(fù)位條件:必須使RST引腳持續(xù)2微秒高電平(1

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

31302928272625242422211

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM62641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM6264

器80318751805189C51片內(nèi)RAM片內(nèi)ROM256B(字節(jié))4K1

2

3

4

5

6

7

8

9

10

11

12

13

(1)程序存儲器程序存儲器內(nèi)部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,

在這三個單元存放一條

無條件轉(zhuǎn)移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位...0FFFH0FFEHEA=1EA=0程序存儲器資源分布中斷入口地址(1)程序存儲器程序存儲器內(nèi)部外部0000H0FFFH(4K在單片機(jī)C語言程序設(shè)計中,用戶無需考慮程序的存放地址,編譯程序會在編譯過程中按照上述規(guī)定,自動安排程序的存放地址。例如:C語言是從main()函數(shù)開始執(zhí)行的,編譯程序會在程序存儲器的0000H處自動存放一條轉(zhuǎn)移指令,跳轉(zhuǎn)到main()函數(shù)存放的地址;中斷函數(shù)也會按照中斷類型號,自動由編譯程序安排存放在程序存儲器相應(yīng)的地址中。因此,讀者只需了解程序存儲器的結(jié)構(gòu)就可以了。說明說明0000HFFFFH(64K)內(nèi)部外部(2)數(shù)據(jù)存儲器數(shù)據(jù)存儲器00HFFH7FH80H(高128B)(低128B)RAM專用

寄存器00H07H08H0FH10H17H18H1FH0區(qū)R0R7R0R7R0R7R0R71區(qū)2區(qū)3區(qū)工作寄存器區(qū)可位尋址區(qū)20H2FH7F78070030H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū)內(nèi)部RAM存儲器

11第3區(qū)18H~1FH

01第1區(qū)08H~0FHRS1RS0寄存器區(qū)片內(nèi)RAM地址

00第0區(qū)00H~07H10第2區(qū)10H~17H工作寄存器區(qū)選擇位RS0、RS10000HFFFFH(64K)內(nèi)部外部(2)數(shù)據(jù)存儲器數(shù)據(jù)存注意:一個單元地址對應(yīng)有8個位地址

MSB——MostSignificantBit(最高有效位)

LSB——LeastSignificantBit(最低有效位)單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07

MSB

位地址

LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位尋址區(qū)位地址表注意:一個單元地址對應(yīng)有8個位地址

MSB——Most高128個單元☆離散分布有21個特殊功能寄存器SFR。☆

11個可以進(jìn)行位尋址?!钐貏e提示:對SFR只能使用直接尋址方式,書寫時可使用寄存器符號,也可用寄存器單元地址。高128個單元☆離散分布有21個特殊功能寄存器SFR?!?在單片機(jī)的C語言程序設(shè)計中,可以通過關(guān)鍵字sfr來定義所有特殊功能寄存器,從而在程序中直接訪問它們,例如:sfrP1=0x90;//特殊功能寄存器P1的地址是90H,對應(yīng)P1口的8個I/O引腳在程序中就可以直接使用P1這個特殊功能寄存器了,下面語句是合法的:P1=0x00;//將P1口的8位I/O口全部清0說明在單片機(jī)的C語言程序設(shè)計中,可以通過關(guān)鍵字sfr來定義所有特C語言中,還可以通過關(guān)鍵字sbit來定義特殊功能寄存器中的可尋址位,在程序ex1_1.c中,采用了下面語句定義P1口的第0位:sbitP1_0=P1^0;通常情況下,這些特殊功能寄存器已經(jīng)在頭文件reg51.h中定義了,只要在程序中包含了該頭文件,就可以直接使用已定義的特殊功能寄存器。如果沒有頭文件reg51.h,或者該文件中只定義了部分特殊功能寄存器和位,用戶也可以在程序中自行定義。說明C語言中,還可以通過關(guān)鍵字sbit來定義特殊功能寄存器中的可并行I/O口電路結(jié)構(gòu)

MCS-51系列單片機(jī)共有四個8位并行I/O口,分別用P0、P1、P2、P3表示。每個I/O口既可以按位操作使用單個引腳,也可以按字節(jié)操作使用8個引腳。并行I/O口電路結(jié)構(gòu)MCS-51系列單片機(jī)共有四P0口的結(jié)構(gòu)

輸出控制電路輸出驅(qū)動電路

P0口的結(jié)構(gòu)輸出控制電路輸出驅(qū)

當(dāng)P0口作為輸出口使用時,內(nèi)部總線將數(shù)據(jù)送入鎖存器,內(nèi)部的寫脈沖加在鎖存器時鐘端CP上,鎖存數(shù)據(jù)到Q、端。經(jīng)過MUX,T2反相后正好是內(nèi)部總線的數(shù)據(jù),送到P0口引腳輸出。當(dāng)P0口作為輸入口使用時,應(yīng)區(qū)分讀引腳和讀端口兩種情況,所謂讀引腳,就是讀芯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論