第八章80C51并行口和串行口_第1頁
第八章80C51并行口和串行口_第2頁
第八章80C51并行口和串行口_第3頁
第八章80C51并行口和串行口_第4頁
第八章80C51并行口和串行口_第5頁
已閱讀5頁,還剩93頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章第八章 8051單片機的并行口和單片機的并行口和串行口原理及應(yīng)用串行口原理及應(yīng)用 并行傳送方式與串行傳送方式并行傳送方式與串行傳送方式 計算機的數(shù)據(jù)傳送共有兩種方式計算機的數(shù)據(jù)傳送共有兩種方式 并行數(shù)據(jù)傳送和串并行數(shù)據(jù)傳送和串行數(shù)據(jù)傳送。行數(shù)據(jù)傳送。 并行傳送方式(并行傳送方式(parallel communication) 在數(shù)據(jù)傳輸時,如果一個數(shù)據(jù)編碼字符的所有各位都在數(shù)據(jù)傳輸時,如果一個數(shù)據(jù)編碼字符的所有各位都同時發(fā)送、并排傳輸,又同時被接收,則將這種傳送方式同時發(fā)送、并排傳輸,又同時被接收,則將這種傳送方式稱為并行傳送方式。稱為并行傳送方式。 串行傳送方式串行傳送方式 (seri

2、al communication) 在數(shù)據(jù)傳輸時,如果一個數(shù)據(jù)編碼字符的所有各位不在數(shù)據(jù)傳輸時,如果一個數(shù)據(jù)編碼字符的所有各位不是同時發(fā)送,而是按一定順序,一位接著一位在信道中被是同時發(fā)送,而是按一定順序,一位接著一位在信道中被發(fā)送和接收,則將這種傳送方式稱為串行傳送方式。串行發(fā)送和接收,則將這種傳送方式稱為串行傳送方式。串行傳送方式的物理信道為串行總線。傳送方式的物理信道為串行總線。并行與串行通信 0 1 0 0 1 0 0 1D0D1D2D3D4D5D6D7狀態(tài)控制(選通)計算機計算機(或外設(shè)) 0 1 0 0 1 0 0 1(a)8T計算機計算機計算機(或外設(shè))(b).8.0 8051的

3、并行口原理8.0.1 并行輸入并行輸入/輸出端口概述輸出端口概述 80C51共有四個共有四個 8位的并行雙向口,計有位的并行雙向口,計有 32根輸入輸出(根輸入輸出(I/O)口線。各)口線。各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。由于它們在結(jié)構(gòu)口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。由于它們在結(jié)構(gòu)上的一些差異,故各口的性質(zhì)和功能也就有了差異。上的一些差異,故各口的性質(zhì)和功能也就有了差異。 其位置及它們之間的異同如下圖和表所示:其位置及它們之間的異同如下圖和表所示:8.0.2 P0口口 P0口是一個多功能的口是一個多功能的8位口,可以字節(jié)訪問也可位訪問,其位口,可以字節(jié)

4、訪問也可位訪問,其字節(jié)訪問地址為字節(jié)訪問地址為80H,位訪問地址為,位訪問地址為80H87H。 位結(jié)構(gòu)原理:位結(jié)構(gòu)原理: P0P0口位結(jié)構(gòu)原理圖見下口位結(jié)構(gòu)原理圖見下圖圖所示。所示。 u P0口中一個多路開關(guān):多路開關(guān)的輸入有兩個,地口中一個多路開關(guān):多路開關(guān)的輸入有兩個,地址數(shù)據(jù)輸出;輸出鎖存器的輸出址數(shù)據(jù)輸出;輸出鎖存器的輸出/Q。多路開關(guān)的輸出。多路開關(guān)的輸出用于控制輸出用于控制輸出FET Q0的導(dǎo)通和截止。多路開關(guān)的切換由的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控制信號控制。內(nèi)部控制信號控制。u P0口的輸出上拉電路:口的輸出上拉電路:I/O口的上拉電路導(dǎo)通和截止口的上拉電路導(dǎo)通和截止受內(nèi)部

5、控制信號和地址數(shù)據(jù)信號共同(相受內(nèi)部控制信號和地址數(shù)據(jù)信號共同(相“與與”)來)來控制??刂啤 當(dāng)內(nèi)部信號置當(dāng)內(nèi)部信號置1時,多路開關(guān)接通地址數(shù)據(jù)輸出端時,多路開關(guān)接通地址數(shù)據(jù)輸出端。當(dāng)?shù)刂窋?shù)據(jù)輸出線置當(dāng)?shù)刂窋?shù)據(jù)輸出線置1 1時,時,控制上拉電路的控制上拉電路的“與與”門輸出為門輸出為1 1,上拉上拉FETFET導(dǎo)通,同時地址數(shù)據(jù)輸出通過反相器輸出導(dǎo)通,同時地址數(shù)據(jù)輸出通過反相器輸出0 0,控制下,控制下拉拉FETFET截止,這樣截止,這樣A A點電位上拉,點電位上拉,地址數(shù)據(jù)輸出線為地址數(shù)據(jù)輸出線為“1”1”。當(dāng)?shù)刂窋?shù)據(jù)輸出線置當(dāng)?shù)刂窋?shù)據(jù)輸出線置0 0時,時,“與與”門輸出為門輸出為0 0

6、,上拉,上拉FETFET截止,截止,同時地址數(shù)據(jù)輸出通過反相器輸出同時地址數(shù)據(jù)輸出通過反相器輸出1 1,控制下拉,控制下拉FETFET導(dǎo)通,這導(dǎo)通,這樣樣A A點電位下拉,點電位下拉,地址數(shù)據(jù)輸出線為地址數(shù)據(jù)輸出線為“0”0”。 通過上述分析可以看出,此時的輸出狀態(tài)隨地址數(shù)據(jù)線通過上述分析可以看出,此時的輸出狀態(tài)隨地址數(shù)據(jù)線而變。因此,而變。因此,P1P1口可以作為地址口可以作為地址/ /數(shù)據(jù)復(fù)用總線使用。這時上數(shù)據(jù)復(fù)用總線使用。這時上下兩個下兩個FETFET處于反相,構(gòu)成了推拉式的輸出電路,其負載能力處于反相,構(gòu)成了推拉式的輸出電路,其負載能力大大增加。此時的大大增加。此時的P0P0口相當(dāng)一

7、個雙向口。口相當(dāng)一個雙向口。u 由于內(nèi)部控制信號為由于內(nèi)部控制信號為0 0,與門關(guān)閉,上拉,與門關(guān)閉,上拉FETFET截止,形成截止,形成P0P0口的輸出電路為漏極開路輸出;口的輸出電路為漏極開路輸出;u P0 P0口作為普通口作為普通I/OI/O口使用:口使用: 輸出鎖存器的輸出鎖存器的Q端引至下拉端引至下拉FET柵極,因此柵極,因此P0口的輸出狀口的輸出狀態(tài)由下拉電路決定。態(tài)由下拉電路決定。 在在P0口作輸出口用時,若口作輸出口用時,若P0.i 輸出輸出1,輸出鎖存器的,輸出鎖存器的Q端為端為0,下拉下拉FET截止,這時截止,這時P0.iP0.i為漏極開路輸出;若為漏極開路輸出;若P0.i

8、P0.i輸出輸出0,輸出,輸出鎖存器的鎖存器的Q端為端為0,下拉,下拉FET導(dǎo)通,導(dǎo)通,P0.iP0.i輸出低電平。輸出低電平。 在在P0口作輸入口用時,為了使口作輸入口用時,為了使P0.i 能正確讀入數(shù)據(jù),必須先能正確讀入數(shù)據(jù),必須先使使P0.i置置1。這樣,下拉這樣,下拉FET也截止,也截止,P0.i 處于懸浮狀態(tài)。處于懸浮狀態(tài)。A點點的電平由外設(shè)的電平而定,通過輸入緩沖器讀入的電平由外設(shè)的電平而定,通過輸入緩沖器讀入CPU。這時。這時P0口相當(dāng)于一個高阻抗的輸入口??谙喈?dāng)于一個高阻抗的輸入口。 P0 P0口的功能總結(jié)口的功能總結(jié) 作作IO口使用??谑褂?。 相當(dāng)于一個真正的雙向口:輸出鎖存

9、、輸入緩沖,但輸入相當(dāng)于一個真正的雙向口:輸出鎖存、輸入緩沖,但輸入時需先將口置時需先將口置1;每根口線可以獨立定義為輸入或輸出。它具;每根口線可以獨立定義為輸入或輸出。它具有雙向口的一切特點。有雙向口的一切特點。 與其它口的區(qū)別是,與其它口的區(qū)別是,輸出時為漏極開路輸出,與輸出時為漏極開路輸出,與NMOS的的電路接口時必須要用電阻上拉,電路接口時必須要用電阻上拉,才能有高電平輸出;輸入時才能有高電平輸出;輸入時為懸浮狀態(tài),為一個高阻抗的輸入口。為懸浮狀態(tài),為一個高阻抗的輸入口。 作地址數(shù)據(jù)復(fù)用總線用。作地址數(shù)據(jù)復(fù)用總線用。 此時此時P0口為一個準雙向口。但是有上拉電阻,作數(shù)據(jù)輸入口為一個準雙

10、向口。但是有上拉電阻,作數(shù)據(jù)輸入時,口也不是懸浮狀態(tài)。作數(shù)據(jù)總線用時,輸入輸出時,口也不是懸浮狀態(tài)。作數(shù)據(jù)總線用時,輸入輸出8位數(shù)位數(shù)據(jù)據(jù)D0D7;作地址總線用時,輸出低;作地址總線用時,輸出低8位地址位地址A0A7。當(dāng)。當(dāng)P0口作地址數(shù)據(jù)復(fù)用總線用之后,就再也不能作口作地址數(shù)據(jù)復(fù)用總線用之后,就再也不能作IO口使用口使用了。了。 P1口是一個口是一個8位口,可以字節(jié)訪問也可按位訪問,其字節(jié)訪位口,可以字節(jié)訪問也可按位訪問,其字節(jié)訪問地址為問地址為90H,位訪問地址為,位訪問地址為90H97H。 位結(jié)構(gòu)和工作原理位結(jié)構(gòu)和工作原理 P1口的位結(jié)構(gòu)如下圖所示??诘奈唤Y(jié)構(gòu)如下圖所示。8.0.3 P1

11、口口包含輸出鎖存器、輸入緩沖器包含輸出鎖存器、輸入緩沖器BUF1(讀引腳)、(讀引腳)、BUF2(讀鎖(讀鎖存器)以及由存器)以及由 FET晶體管晶體管 Q0與上拉電阻組成的輸出輸入驅(qū)與上拉電阻組成的輸出輸入驅(qū)動器。動器。 P1口的工作過程分析如下:口的工作過程分析如下:u P1.i位作輸出口用時:位作輸出口用時:CPU輸出輸出0時,時,D0,Q0,Ql,晶體管晶體管Q0導(dǎo)通,導(dǎo)通,A點被下拉為低電平,即輸出點被下拉為低電平,即輸出0;CPU輸出輸出1時,時,Dl,Q1,Q0,晶體管,晶體管Q0截止,截止,A點被上拉為高電平,點被上拉為高電平,即輸出即輸出l。 P1口的特點口的特點u 輸出鎖存

12、器,輸出時沒有條件;輸出鎖存器,輸出時沒有條件;u 輸入緩沖,輸入時有條件,即需要先將該口設(shè)為輸入狀態(tài),輸入緩沖,輸入時有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出先輸出1;u P1i位作輸入口用時:先向位作輸入口用時:先向P1i位輸出高電平,使位輸出高電平,使A點提點提升為高電平,此操作稱為設(shè)置升為高電平,此操作稱為設(shè)置P1i為輸入線。若外設(shè)輸入為為輸入線。若外設(shè)輸入為1時時A點為高電平,由點為高電平,由BUFI讀入總線后讀入總線后B點也為高電平;若外設(shè)點也為高電平;若外設(shè)輸入為輸入為0時時A點為低電平,由點為低電平,由BUF1讀入總線后讀入總線后B點也為低電平點也為低電平。u 工作過程中無高

13、阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是輸出態(tài)。輸出態(tài)。 具有這種特性的口不屬于具有這種特性的口不屬于“真正真正”的雙向口,而被稱為的雙向口,而被稱為“準準”雙向口。雙向口。 P1口的操作口的操作 字節(jié)操作和位操作字節(jié)操作和位操作 CPU對于對于 P1口不僅可以作為一個口不僅可以作為一個 8位口(字節(jié))來操作,位口(字節(jié))來操作,也可以按位來操作。也可以按位來操作。 有關(guān)字節(jié)操作的指令有:有關(guān)字節(jié)操作的指令有: 輸出:輸出: MOV P1,A ;P1A MOV P1,data ;P1data MOV P1,direct ;P1direct 輸入:輸

14、入: MOV A,P1 ;AP1 MOV direct,Pl ;directPl有關(guān)位操作的指令有:有關(guān)位操作的指令有: 置位、清除:置位、清除:SETB P1.i ;P1.i1 CLR Pli ;P1i0 輸入、輸出:輸入、輸出:MOV P1i,C ;P1iCY MOV C,P1i ;CYP1.i 判跳:判跳: JBP1i,rel ;P1.I=1,跳轉(zhuǎn),跳轉(zhuǎn) JBC P1i,rel ;P1.i0,跳轉(zhuǎn)且,跳轉(zhuǎn)且;P1.i0 邏輯運算:邏輯運算: ANL C,P1i ;CY(P1.iCY) ORL C,P1i ;CY(P1.iCY) P1i中的中的i0,7。 P1口不僅可以以口不僅可以以8位一

15、組進行輸入、輸出操作,還可以逐位一組進行輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。例如:位分別定義各口線為輸入線或輸出線。例如:ORLP1,0 0 0 0 0 0 1 0 B可以使可以使P1l位口線輸出位口線輸出l,而使其余各位不變。,而使其余各位不變。 ANL P1,1 1 1 1 1 1 0 1 B可以使可以使P11位線輸出位線輸出0,而使其余各位不變。,而使其余各位不變。 讀引腳操作和讀鎖存器操作讀引腳操作和讀鎖存器操作 從從P1口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種是讀引腳操作,一種是讀鎖存器操作。是讀引腳操作,一種

16、是讀鎖存器操作。u 在響應(yīng)在響應(yīng)CPU輸出的讀引腳信號時,端口本身引腳的電平值輸出的讀引腳信號時,端口本身引腳的電平值通過緩沖器通過緩沖器BUF1進入內(nèi)部總線。這種類型的指令,執(zhí)行之前進入內(nèi)部總線。這種類型的指令,執(zhí)行之前必須先將端口鎖存器置必須先將端口鎖存器置1,使,使A點處于高電平,否則會損壞引點處于高電平,否則會損壞引腳,而且也使信號無法讀出。腳,而且也使信號無法讀出。 這種類型的指令有:這種類型的指令有: MOV A,P1 ;AP1 MOV direct,P1 ;directP1u 在執(zhí)行讀鎖存器的指令時,在執(zhí)行讀鎖存器的指令時,CPU首先完成將鎖存器的值通過首先完成將鎖存器的值通過緩

17、沖器緩沖器BUF2讀入內(nèi)部,進行修改,然后重新寫到鎖存器中去,讀入內(nèi)部,進行修改,然后重新寫到鎖存器中去,這就是這就是“讀一修改一寫讀一修改一寫”指令。指令。這種類型的指令包含所有的口的邏輯操作(這種類型的指令包含所有的口的邏輯操作(ANL、ORL、XRL)和位操作)和位操作(JBC、CPL、MOV、SETB、CLR等)指令。等)指令。 P1口的多功能線口的多功能線 在在80C52中,中,P10和和P11口線是多功能的,即除作一般雙口線是多功能的,即除作一般雙向向I/O口線之外,這兩根口線還具有下列功能:口線之外,這兩根口線還具有下列功能: P10定時器計數(shù)器定時器計數(shù)器2的外部輸入端的外部輸

18、入端T2; P11定時器計數(shù)器定時器計數(shù)器2的外部控制端的外部控制端T2EX。 P2口是一個多功能的口是一個多功能的8位口,可以字節(jié)訪問也可位訪問,位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為其字節(jié)訪問地址為A0H,位訪問地址為,位訪問地址為A0HA7H。 P2P2口位結(jié)構(gòu)和工作原理口位結(jié)構(gòu)和工作原理8.0.4 P28.0.4 P2口口 多路開關(guān)的輸入有兩個:一個是口輸出鎖存器的輸出端多路開關(guān)的輸入有兩個:一個是口輸出鎖存器的輸出端Q;一個是地址寄存器(一個是地址寄存器(PC或或DPTR)的高位輸出端。多路開關(guān))的高位輸出端。多路開關(guān)的輸出經(jīng)反相器反相后去控制輸出的輸出經(jīng)反相器反相后去控制輸

19、出FET的的 Q0。多路開關(guān)的切。多路開關(guān)的切換由內(nèi)部控制信號控制。換由內(nèi)部控制信號控制。 輸出鎖存器的輸出端是輸出鎖存器的輸出端是Q而不是而不是/Q,多路開關(guān)之后需接反,多路開關(guān)之后需接反相器。相器。 u P2P2口的口的I/OI/O口狀態(tài)??跔顟B(tài)。 在內(nèi)部控制信號的作用下,多路開關(guān)的輸入投向輸出鎖存在內(nèi)部控制信號的作用下,多路開關(guān)的輸入投向輸出鎖存器的輸出器的輸出Q(C點)側(cè),這樣多路開關(guān)將接通輸出鎖存器。點)側(cè),這樣多路開關(guān)將接通輸出鎖存器。 若經(jīng)由內(nèi)部總線輸出若經(jīng)由內(nèi)部總線輸出0,輸出鎖存器的,輸出鎖存器的Q端為端為”0”,信號經(jīng),信號經(jīng)多路開關(guān)和反相器后輸出多路開關(guān)和反相器后輸出”1

20、”,Q0導(dǎo)通,導(dǎo)通,A點為點為”0”,輸出,輸出低電平;若經(jīng)由內(nèi)部總線輸出低電平;若經(jīng)由內(nèi)部總線輸出”1”,輸出鎖存器的,輸出鎖存器的Q端為端為”1”,反相器后輸出反相器后輸出”0”,Q0截止,截止,A點為點為”1” ,輸出高電平。,輸出高電平。u P2口的高口的高8位地址位地址輸出狀態(tài)輸出狀態(tài) 在內(nèi)部控制信號的作用下,多路開關(guān)的輸入投向地址輸出在內(nèi)部控制信號的作用下,多路開關(guān)的輸入投向地址輸出(B點)側(cè),這樣多路開關(guān)將接通地址寄存器輸出。點)側(cè),這樣多路開關(guān)將接通地址寄存器輸出。A點的電點的電平將隨地址輸出的平將隨地址輸出的“0”、“1”而而“l(fā)”、“0”地變化。地變化。 P2口的功能口的功

21、能 從上述工作過程的分析中可以看出從上述工作過程的分析中可以看出P2口是一個雙功能的口:口是一個雙功能的口: 作作IO口使用時,口使用時,P2口為一準雙向口。口為一準雙向口。 作地址輸出時,作地址輸出時,P2口可以輸出程序存儲器或片外數(shù)據(jù)存口可以輸出程序存儲器或片外數(shù)據(jù)存儲器的高儲器的高8位地址,與位地址,與P0輸出的低地址一起構(gòu)成輸出的低地址一起構(gòu)成16位地址線,位地址線,從而可分別尋址從而可分別尋址64KB的程序存儲器或片外數(shù)據(jù)存儲器。地址的程序存儲器或片外數(shù)據(jù)存儲器。地址線是線是8位一起自動輸出的。位一起自動輸出的。 P2口使用中注意的問題口使用中注意的問題 由于由于P2口的輸出鎖存功能

22、,在取指周期內(nèi)或外部數(shù)據(jù)存口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲器讀、寫選通期間,輸出的高儲器讀、寫選通期間,輸出的高8位地址是鎖存的,故無需外位地址是鎖存的,故無需外加地址鎖存器。加地址鎖存器。 在系統(tǒng)中如果外接有程序存儲器,由于訪問片外程序存儲在系統(tǒng)中如果外接有程序存儲器,由于訪問片外程序存儲器時連續(xù)不斷的取指操作,器時連續(xù)不斷的取指操作,P2口需要不斷送出高位地址,這口需要不斷送出高位地址,這時時P2口的全部口線均不宜再作口的全部口線均不宜再作I/O口使用。口使用。 在無外接程序存儲器而有片外數(shù)據(jù)存儲器的系統(tǒng)中,在無外接程序存儲器而有片外數(shù)據(jù)存儲器的系統(tǒng)中,P2口口使用可分為兩種情

23、況:使用可分為兩種情況:u 若片外數(shù)據(jù)存儲器的容量若片外數(shù)據(jù)存儲器的容量256 B:可使用:可使用“MOVX A,Ri”及及“MOVX Ri,A”類指令訪問片外數(shù)據(jù)存儲器,這類指令訪問片外數(shù)據(jù)存儲器,這時時P2口不輸出地址,口不輸出地址,P2口仍可作為口仍可作為I/O口使用;口使用;u 若片外數(shù)據(jù)存儲器的容量若片外數(shù)據(jù)存儲器的容量256 B:這時使用:這時使用“MOVX A,DPTR”及及“MOVXDPTR,A”類指令訪問片外數(shù)據(jù)存儲類指令訪問片外數(shù)據(jù)存儲器,器,P2口需輸出高口需輸出高8位地址。在片外數(shù)據(jù)存儲器讀、寫選通位地址。在片外數(shù)據(jù)存儲器讀、寫選通期間,期間,P2口引腳上鎖存高口引腳上

24、鎖存高8位地址信息,但是在選通結(jié)束后,位地址信息,但是在選通結(jié)束后,P2口內(nèi)原來鎖存的內(nèi)容又重新出現(xiàn)在引腳上??趦?nèi)原來鎖存的內(nèi)容又重新出現(xiàn)在引腳上。 使用使用“MOVX A,Ri”及及“MOVX Ri,A”類訪問指類訪問指令時,高位地址通過程序設(shè)定,只利用令時,高位地址通過程序設(shè)定,只利用P1、P3甚至甚至P2口中的某口中的某幾根口線送高位地址,從而保留幾根口線送高位地址,從而保留P2口的全部或部分口線作口的全部或部分口線作I/O口口用。用。 8.0.5 P38.0.5 P3口口 P3P3口是一個多功能的口是一個多功能的8 8位口,可以字節(jié)訪問也可位訪問,其位口,可以字節(jié)訪問也可位訪問,其字節(jié)

25、訪問地址為字節(jié)訪問地址為B0HB0H,位訪問地址為,位訪問地址為B0HB0HB7HB7H。 位結(jié)構(gòu)與工作原理位結(jié)構(gòu)與工作原理 P3P3口的位結(jié)構(gòu)原理下圖所示??诘奈唤Y(jié)構(gòu)原理下圖所示。u 與非門有兩個輸入端:一個為口輸出鎖存器的與非門有兩個輸入端:一個為口輸出鎖存器的Q Q端,另一端,另一個為替代功能的控制輸出。與非門的輸出端控制輸出個為替代功能的控制輸出。與非門的輸出端控制輸出FETFET管管Q0Q0。u 有兩個輸入緩沖器,替代輸入功能取自第一個緩沖器的輸有兩個輸入緩沖器,替代輸入功能取自第一個緩沖器的輸出端;出端;I/OI/O口的通用輸入信號取自第二個緩沖器的輸出端??诘耐ㄓ幂斎胄盘柸∽缘诙?/p>

26、個緩沖器的輸出端。u 當(dāng)替代輸出功能當(dāng)替代輸出功能B B點置點置”1”1”時,輸出鎖存器的輸出可以時,輸出鎖存器的輸出可以順利通到引腳順利通到引腳P3P3i i。其工作狀況與。其工作狀況與P1P1口相類似。這時口相類似。這時P3P3口的口的工作狀態(tài)為一工作狀態(tài)為一I/OI/O口,顯然此時該口具有準雙向口的性質(zhì)。口,顯然此時該口具有準雙向口的性質(zhì)。u 當(dāng)輸出鎖存器的輸出置當(dāng)輸出鎖存器的輸出置“1”1”時,替代輸出功能可以順利時,替代輸出功能可以順利通到引腳通到引腳P3P3i i。 若替代輸出為若替代輸出為“0”0”時,因與非門的時,因與非門的C C點已置點已置l l,現(xiàn),現(xiàn)B B點點為為”0”0

27、”,故與非門的輸出為,故與非門的輸出為“l(fā)”l”,使,使Q0Q0導(dǎo)通,從而使導(dǎo)通,從而使A A點也點也為為“0”0”。若替代輸出為。若替代輸出為“1”1”時,與非門的輸出為時,與非門的輸出為“1”1”,Q0Q0截止,從而使截止,從而使A A點也為高電平。這時點也為高電平。這時P3P3口的工作狀態(tài)處于替代口的工作狀態(tài)處于替代輸出功能狀態(tài)。輸出功能狀態(tài)。 P3口的功能口的功能 P3口是一個多功能口??谑且粋€多功能口。 可作可作I/O口使用,為準雙向口??谑褂?,為準雙向口。 既可以字節(jié)操作,也可以位操作;既可以既可以字節(jié)操作,也可以位操作;既可以8位口操作,也可位口操作,也可以逐位定義口線為輸入線或

28、輸出線;既可以讀引腳,也可以讀以逐位定義口線為輸入線或輸出線;既可以讀引腳,也可以讀鎖存器,實現(xiàn)鎖存器,實現(xiàn)“讀一修改一輸出讀一修改一輸出”操作。操作。 可以作為替代功能的輸入、輸出??梢宰鳛樘娲δ艿妮斎?、輸出。 替代輸入功能:替代輸入功能: P30 RXD,串行輸入口。,串行輸入口。 P32外部中斷外部中斷0的請求。的請求。 P33外部中斷外部中斷1的請求。的請求。 P3P34T04T0,定時器計數(shù)器,定時器計數(shù)器0 0外部計數(shù)脈沖輸入。外部計數(shù)脈沖輸入。P3P35T15T1,定時器計數(shù)器,定時器計數(shù)器1 1外部計數(shù)脈沖輸入。外部計數(shù)脈沖輸入。 替代輸出功能:替代輸出功能:P3P3lTXD

29、lTXD,串行輸出口。,串行輸出口。P3P366外部數(shù)據(jù)存儲器寫選通,輸出,低電平有效。外部數(shù)據(jù)存儲器寫選通,輸出,低電平有效。 P3P377外部數(shù)據(jù)存儲器讀選通,輸出,低電平有效。外部數(shù)據(jù)存儲器讀選通,輸出,低電平有效。8.2 串行數(shù)據(jù)通信概述串行數(shù)據(jù)通信概述1. 單工方式、半雙工方式、全雙工方式單工方式、半雙工方式、全雙工方式 單工方式單工方式 (Simplex mode) 信號信號(不包括聯(lián)絡(luò)信號不包括聯(lián)絡(luò)信號) 在信道中只能沿一個方向傳送,而不能在信道中只能沿一個方向傳送,而不能沿相反方向傳送的工作方式稱為單工方式。沿相反方向傳送的工作方式稱為單工方式。 半雙工方式半雙工方式 (Hal

30、f-Duplex mode) 通信的雙方均具有發(fā)送和接收信息的能力,信道也具有雙向傳通信的雙方均具有發(fā)送和接收信息的能力,信道也具有雙向傳輸性能,但是,通信的任何一方都不能同時既發(fā)送信息又接收信輸性能,但是,通信的任何一方都不能同時既發(fā)送信息又接收信息,即在指定的時刻,只能沿某一個方向傳送信息。這樣的傳送息,即在指定的時刻,只能沿某一個方向傳送信息。這樣的傳送方式稱為半雙工方式。方式稱為半雙工方式。 全雙工方式全雙工方式(Full-Duplex mode) 若信號在通信雙方之間沿兩個方向同時傳送,任何一方在同一若信號在通信雙方之間沿兩個方向同時傳送,任何一方在同一時刻既能發(fā)送又能接收信息,這樣

31、的方式稱為全雙工方式。時刻既能發(fā)送又能接收信息,這樣的方式稱為全雙工方式。ASSB(a)(b)(c)ABAB串行通信數(shù)據(jù)傳送的四種方式(a)單工方式;(b) 半雙工方式;(b)全雙工方式(d)多工方式: 以上三種傳輸方式都是用同一線路傳輸一種頻率信號,為了充分地利用線路資源,可通過使用多路復(fù)用器或多路集線器,采用頻分、時分或碼分復(fù)用技術(shù),即可實現(xiàn)在同一線路上資源共享功能,稱之為多工傳輸方式。2. 異步通信和同步通信異步通信和同步通信 在數(shù)據(jù)通信中,要保證發(fā)送的信號在接收端能被正確地接收,在數(shù)據(jù)通信中,要保證發(fā)送的信號在接收端能被正確地接收,必須采用同步技術(shù)。常用的同步技術(shù)有兩種方式,一種稱為異

32、步必須采用同步技術(shù)。常用的同步技術(shù)有兩種方式,一種稱為異步通信也稱起止同步方式,另一種稱為同步通信也稱同步字符同步通信也稱起止同步方式,另一種稱為同步通信也稱同步字符同步方式。方式。 異步通信異步通信 異步通信以字符為單位進行數(shù)據(jù)傳輸,每個字符都用起始位、異步通信以字符為單位進行數(shù)據(jù)傳輸,每個字符都用起始位、停止位包裝起來,在字符間允許有長短不一的間隙。停止位包裝起來,在字符間允許有長短不一的間隙。 在單片微機中使用的串行通信都是異步方式。在單片微機中使用的串行通信都是異步方式。 同步通信同步通信 同步通信用來對數(shù)據(jù)塊進行傳輸,一個數(shù)同步通信用來對數(shù)據(jù)塊進行傳輸,一個數(shù)據(jù)塊中包含著許多連續(xù)的字

33、符,在字符之間沒據(jù)塊中包含著許多連續(xù)的字符,在字符之間沒有空閑。同步通信可以方便地實現(xiàn)某一通信協(xié)有空閑。同步通信可以方便地實現(xiàn)某一通信協(xié)議要求的幀格式。議要求的幀格式。例:IBM的BSC協(xié)議異步通信和同步通信的比較異步通信和同步通信的比較v(1)異步通信簡單,雙方時鐘可允許一定誤差。同步通信較復(fù)雜,雙方時鐘的允許誤差較小。v(2)異步通信只適用于點 點,同步通信可用于點 多。v(3)通信效率:異步通信低,同步通信高。 3. 波特率波特率(BAUD RATE) Baud: Jean Maurice Emile Baudot (1845-1903), French Engineer 串行通信的傳送

34、速率用于說明數(shù)據(jù)傳送的快慢,波串行通信的傳送速率用于說明數(shù)據(jù)傳送的快慢,波特率表示串行通信時每秒鐘傳送特率表示串行通信時每秒鐘傳送“位位” 的數(shù)目,比如的數(shù)目,比如1秒鐘傳送秒鐘傳送1位,就是位,就是1波特。即波特。即1波特波特1bps (位位/秒秒)串行通信常用的標準波特率在串行通信常用的標準波特率在RS-232C標準中已標準中已有規(guī)定,如波特率為有規(guī)定,如波特率為600、1200、2400、4800、9600、19200等等。等等。 假若數(shù)據(jù)傳送速率為假若數(shù)據(jù)傳送速率為120字符字符/秒,而每一秒,而每一個字符幀已規(guī)定為個字符幀已規(guī)定為10個數(shù)據(jù)位,則傳輸速率為個數(shù)據(jù)位,則傳輸速率為120

35、101200位位/秒,即波特率為秒,即波特率為1200,每一位數(shù)據(jù)傳送的時,每一位數(shù)據(jù)傳送的時間為波特率的倒數(shù):間為波特率的倒數(shù):T112000.833ms8.2 80C51串行口及控制串行口及控制8.2.1 80C51串行口結(jié)構(gòu)串行口結(jié)構(gòu) 8051中的串行口是一個全雙工的異步串行通信接口,它可作中的串行口是一個全雙工的異步串行通信接口,它可作UART (Universal Asynchronous Receiver and Transmitter) (通用通用異步接收和發(fā)送器)用,也可作同步移位寄存器用。異步接收和發(fā)送器)用,也可作同步移位寄存器用。80C51串行口基本結(jié)構(gòu)如串行口基本結(jié)構(gòu)如

36、圖圖81所示。主要由兩大部分組成所示。主要由兩大部分組成 。 波特率發(fā)生器:波特率發(fā)生器: 主要由主要由T1、T2 及內(nèi)部的一些控制開關(guān)和分頻器所組成。它提及內(nèi)部的一些控制開關(guān)和分頻器所組成。它提供串行口的時鐘信號為供串行口的時鐘信號為 TXCLOCK(發(fā)送時鐘)和發(fā)送時鐘)和 RXCLOCK(接收時鐘)。相應(yīng)的控制波特率發(fā)生器的特殊功能寄存器有接收時鐘)。相應(yīng)的控制波特率發(fā)生器的特殊功能寄存器有 TMOD、TCON、T2CON、PCON、TL1、TH1、TL2、TH2等。等。 串行口的內(nèi)部包含:串行口的內(nèi)部包含: 串行數(shù)據(jù)緩沖寄存器串行數(shù)據(jù)緩沖寄存器SBUF 有接收緩沖器有接收緩沖器SBUF

37、和發(fā)送緩沖器和發(fā)送緩沖器SBUF,以便以便80C51能以全雙能以全雙工方式進行通信。它們在物理上是隔離的,但是占用同一個地址工方式進行通信。它們在物理上是隔離的,但是占用同一個地址(99H) 。串行發(fā)送時,從片內(nèi)總線向發(fā)送緩沖器串行發(fā)送時,從片內(nèi)總線向發(fā)送緩沖器SBUF寫入數(shù)據(jù);寫入數(shù)據(jù);串行接收時,從接收緩沖器串行接收時,從接收緩沖器SBUF中讀出數(shù)據(jù)。中讀出數(shù)據(jù)。 串行口控制寄存器:串行口控制寄存器:SCON。 串行數(shù)據(jù)輸入輸出引腳串行數(shù)據(jù)輸入輸出引腳接收方式下,串行數(shù)據(jù)從接收方式下,串行數(shù)據(jù)從RXD(P30)引腳輸入,串行口引腳輸入,串行口內(nèi)部在接收緩沖器之前還有移位寄存器,從而構(gòu)成了串

38、行接收的內(nèi)部在接收緩沖器之前還有移位寄存器,從而構(gòu)成了串行接收的雙緩沖結(jié)構(gòu),可以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯誤,即在雙緩沖結(jié)構(gòu),可以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯誤,即在下一幀數(shù)據(jù)來時,前一幀數(shù)據(jù)還沒有讀走。下一幀數(shù)據(jù)來時,前一幀數(shù)據(jù)還沒有讀走。在發(fā)送方式下,串行數(shù)據(jù)通過在發(fā)送方式下,串行數(shù)據(jù)通過TXD(P31)引腳輸出引腳輸出。 串行口控制邏輯:串行口控制邏輯:n接受來自波特率發(fā)生器的時鐘信號接受來自波特率發(fā)生器的時鐘信號TXCLOCK(發(fā)送時鐘)和發(fā)送時鐘)和RXCLOCK(接收時鐘);接收時鐘);n控制內(nèi)部的輸入移位寄存器將外部的串行數(shù)據(jù)轉(zhuǎn)換控制內(nèi)部的輸入移位寄存器將外部的串行數(shù)據(jù)

39、轉(zhuǎn)換為并行數(shù)據(jù);為并行數(shù)據(jù);n控制內(nèi)部的輸出移位寄存器將內(nèi)部的并行數(shù)據(jù)轉(zhuǎn)換控制內(nèi)部的輸出移位寄存器將內(nèi)部的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)輸出;為串行數(shù)據(jù)輸出;n控制串行中斷(控制串行中斷(RI和和TI)。)。8.2.2 80C51串行口控制串行口控制在在8051中與串行口相關(guān)的寄存器包括:中與串行口相關(guān)的寄存器包括:nSCON ( Serial Control Register) (98H)nPCON (Power Control and Baud Rate Selection Register) ( 97H)nSBUF( Serial Buffer Register) (99H)n與定時器與定時器T

40、1和中斷相關(guān)的控制寄存器和中斷相關(guān)的控制寄存器 串行口狀態(tài)控制寄存器串行口狀態(tài)控制寄存器 SCON串行口狀態(tài)控制寄存器串行口狀態(tài)控制寄存器SCON用來控制串行通信的方式選擇、用來控制串行通信的方式選擇、接收,指示串行口的中斷狀態(tài)。寄存器接收,指示串行口的中斷狀態(tài)。寄存器SCON既可字節(jié)尋址也可位既可字節(jié)尋址也可位尋址,字節(jié)地址為尋址,字節(jié)地址為98H,位地址為位地址為98H9FH。SCON寄存器格式如下:寄存器格式如下:各位的意義如下:各位的意義如下:nSM0(SCON.7),SM1(SCON.6)串行口工作方式選擇位串行口工作方式選擇位 。其。其功能見功能見表表81。 n SM2(SCON.

41、5)允許方式允許方式2、3中的多處理機通信位。中的多處理機通信位。 方式方式0時,時,SM20。 方式方式1時,若時,若SM2l,只有接收到有效的停止位,接收中斷只有接收到有效的停止位,接收中斷RI才置才置1。 而當(dāng)而當(dāng)SM20時,則不論接收到的笫九位數(shù)據(jù)是時,則不論接收到的笫九位數(shù)據(jù)是”0” 或或”1” ,都將前八位數(shù)據(jù)裝入都將前八位數(shù)據(jù)裝入SBUF中,并申請中斷。中,并申請中斷。位 地位 地址址 9FH 9EH9DH9CH 9BH9AH 99H 98H位 功位 功能能SM0SM1SM2REN TB8 RB8 TI RI 串行接口輸入串行接口輸入/ /輸出引腳:輸出引腳:TXD(P3.1)T

42、XD(P3.1)、RXD(P3.0)RXD(P3.0)按按不同方式,一幀位數(shù)不同方式,一幀位數(shù) 8/10/118/10/11發(fā)送發(fā)送/ /接收時,數(shù)據(jù)皆低位接收時,數(shù)據(jù)皆低位在前。在前。一幀字符發(fā)送一幀字符發(fā)送/ /接收結(jié)束,置位標志位接收結(jié)束,置位標志位(TI/RI)(TI/RI)并申請并申請SIOSIO中斷。中斷。中斷控制:中斷允許位中斷控制:中斷允許位ESES中斷入口:中斷入口:0023H0023HD0D1D2D3D4D5D6D7停止位停止位起始位起始位D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6T/RB8停止位停止位起始位起始位D780518051串行口各種工作方式下的

43、數(shù)據(jù)格式串行口各種工作方式下的數(shù)據(jù)格式方式方式0 0方式方式1 1方式方式2,32,3 方式方式2和方式和方式3時,若時,若SM21,則只有當(dāng)接收到的第則只有當(dāng)接收到的第9位位數(shù)據(jù)(數(shù)據(jù)(RB8)為為1時,才將接收到的前八位數(shù)據(jù)送入緩沖器時,才將接收到的前八位數(shù)據(jù)送入緩沖器SBUF中,并把中,并把RI置置1、同時向、同時向CPU申請中斷;如果接收到的第申請中斷;如果接收到的第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為為0,RI置置0,將接收到的前八位數(shù)據(jù)丟棄。,將接收到的前八位數(shù)據(jù)丟棄。 若若SM2=0,則接收到,則接收到9位數(shù)據(jù)后應(yīng)申請中斷,并將第位數(shù)據(jù)后應(yīng)申請中斷,并將第9位數(shù)位數(shù)據(jù) 放 入據(jù) 放 入

44、R B 8 中 。 這 種 功 能 可 用 于 多 處 理 機 通 信 中 。中 。 這 種 功 能 可 用 于 多 處 理 機 通 信 中 。 REN(SCON.4)允許串行接收位。允許串行接收位。nREN1時,允許串行接收;時,允許串行接收;REN0時,禁止串行接收。時,禁止串行接收。用軟件置位清除。用軟件置位清除。n TB8(SCON.3)方式方式2和方式和方式3中要發(fā)送的第中要發(fā)送的第9位數(shù)據(jù)。位數(shù)據(jù)。在通信協(xié)議中,常規(guī)定在通信協(xié)議中,常規(guī)定TB8作為奇偶校驗位。在作為奇偶校驗位。在80C51多多機通信中,機通信中,TB8用來表示數(shù)據(jù)幀是地址幀還是數(shù)據(jù)幀。用來表示數(shù)據(jù)幀是地址幀還是數(shù)據(jù)

45、幀。用軟件置位清除。用軟件置位清除。nRB8(SCON.2)RB8(SCON.2)方式方式2 2和方式和方式3 3中接收到的第中接收到的第9 9位數(shù)據(jù)。位數(shù)據(jù)。方式方式1 1中接收到的是停止位。方式中接收到的是停止位。方式0 0中不使用這一位。中不使用這一位。n TI TI(SCONSCON1 1)發(fā)送中斷標志位。發(fā)送中斷標志位。方式方式0 0中,在發(fā)送第中,在發(fā)送第8 8位末尾置位;在其它方式時,在發(fā)送停位末尾置位;在其它方式時,在發(fā)送停止位開始時設(shè)置。止位開始時設(shè)置。由硬件置位,用軟件清除。由硬件置位,用軟件清除。n RI RI(SCONSCON0 0)接收中斷標志位。接收中斷標志位。方式

46、方式0 0中,在接收第中,在接收第 8 8位末尾置位;在其它方式時,在位末尾置位;在其它方式時,在接收停止位中間設(shè)置。接收停止位中間設(shè)置。由硬件置位,用軟件清除。由硬件置位,用軟件清除。 系統(tǒng)復(fù)位后,系統(tǒng)復(fù)位后,SCONSCON中所有位都被清除。中所有位都被清除。 電源控制寄存器電源控制寄存器 PCON 電源控制寄存器電源控制寄存器PCON僅有幾位有定義,其中最高位僅有幾位有定義,其中最高位SMOD與串行口控制有關(guān),其它位與掉電方式有關(guān)。寄存器與串行口控制有關(guān),其它位與掉電方式有關(guān)。寄存器PCON的地址為的地址為87H,只能字節(jié)尋址。其格式如下:只能字節(jié)尋址。其格式如下:n SMOD(PCON

47、.7)串行通信波特率系數(shù)控制位。串行通信波特率系數(shù)控制位。 當(dāng)當(dāng)SMOD1時,使波特率加倍。復(fù)位后,時,使波特率加倍。復(fù)位后,SMOD0。 D7 D6 D5 D4 D3 D2 D1 D0SMOD GF1 GF0 PD IDL 其中:其中:SMOD:波特率倍增位,在串行通訊時使用。:波特率倍增位,在串行通訊時使用。 GF1、GF0:通信標志位:通信標志位1、0。 PD:掉電方位式,:掉電方位式,PD1,則進入掉電方式。,則進入掉電方式。IDL:待機方式位,:待機方式位,IDL1,則進入待機方式。,則進入待機方式。 (1)待機方式(待機方式(IDLE)n 使用指令使使用指令使PCON寄存器寄存器I

48、DL位置位置1,則,則80C51進入待機方式。進入待機方式。 SMOD GF1 GF0 PD IDLn待機方式與掉電方式待機方式與掉電方式 由圖可看出這時振蕩器仍然運行,并向中斷邏輯、串行口和定時器由圖可看出這時振蕩器仍然運行,并向中斷邏輯、串行口和定時器/計數(shù)器電路計數(shù)器電路提供時鐘,中斷功能繼續(xù)存在提供時鐘,中斷功能繼續(xù)存在 。 向向CPU提供時鐘的電路被阻斷,因此提供時鐘的電路被阻斷,因此CPU不能工作,與不能工作,與CPU有關(guān)的如有關(guān)的如SP、PC、PSW、ACC以及全部通用寄存器都被凍結(jié)在原狀態(tài)。以及全部通用寄存器都被凍結(jié)在原狀態(tài)。n 可以采用中斷方式或硬件復(fù)位來退出待機方式??梢圆?/p>

49、用中斷方式或硬件復(fù)位來退出待機方式。 在待機方式下,若產(chǎn)生一個外部中斷請求信號,在單片微機響應(yīng)中斷的同時,在待機方式下,若產(chǎn)生一個外部中斷請求信號,在單片微機響應(yīng)中斷的同時,PCON.0位(位(IDL位)被硬件自動清位)被硬件自動清0, 單片微機就退出待機方式而進入正常工單片微機就退出待機方式而進入正常工作方式。在中斷服務(wù)程序中安排一條作方式。在中斷服務(wù)程序中安排一條RETI指令,就可以使單片微機恢復(fù)正常工作,指令,就可以使單片微機恢復(fù)正常工作,從設(shè)置待機方式指令的下一條指令開始繼續(xù)執(zhí)行程序。從設(shè)置待機方式指令的下一條指令開始繼續(xù)執(zhí)行程序。(2)掉掉 電保護方式電保護方式(Power Down

50、)n PCON寄存器的寄存器的PD位控制單片微機進入掉電保護方式。位控制單片微機進入掉電保護方式。 當(dāng)當(dāng)80C51檢測到電源故障時,除進行信息保護外,還應(yīng)把檢測到電源故障時,除進行信息保護外,還應(yīng)把PCON.1位置位置1,使之進入掉電保護方式。此時單片微機一,使之進入掉電保護方式。此時單片微機一切工作都停止,只有內(nèi)部切工作都停止,只有內(nèi)部RAM單元的內(nèi)容被保護。單元的內(nèi)容被保護。n只能依靠復(fù)位退出掉電保護方式。只能依靠復(fù)位退出掉電保護方式。 80C51備用電源由備用電源由Vcc端引入。當(dāng)端引入。當(dāng)Vcc恢復(fù)正常后,只要硬恢復(fù)正常后,只要硬件復(fù)位信號維持件復(fù)位信號維持10ms,就能使單片微機退出

51、掉電保護方式,就能使單片微機退出掉電保護方式,CPU則從進入待機方式的下一條指令開始重新執(zhí)行程序。則從進入待機方式的下一條指令開始重新執(zhí)行程序。(3)功耗比較功耗比較AT80C51RD2 單片機在不同工作方式下的功耗比較 D7 D6 D5 D4 D3 D2 D1 D0 SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0讀讀SBUF(MOV A,SBUF),),訪問接收數(shù)據(jù)寄存器;訪問接收數(shù)據(jù)寄存器;寫寫SBUF(MOV SBUF,A),),訪問發(fā)送數(shù)據(jù)寄存器。訪問發(fā)送數(shù)據(jù)寄存器。 串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器SBUF 串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器SBUF包含在物理上是隔離的兩個包含

52、在物理上是隔離的兩個8位寄存器:發(fā)位寄存器:發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器,但是它們共用一個地址送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器,但是它們共用一個地址99H。其其格式如下:格式如下:8.3 串行口的工作方式串行口的工作方式8.3.1 串行口方式串行口方式0 同步移位寄存器方式同步移位寄存器方式數(shù)據(jù)傳輸波特率固定為(數(shù)據(jù)傳輸波特率固定為(112)fosc。 由由RXD(P30)引腳輸入或輸出數(shù)據(jù),引腳輸入或輸出數(shù)據(jù),由由TXD(P31)引腳輸出同步移位時鐘。引腳輸出同步移位時鐘。接收發(fā)送的是接收發(fā)送的是8位數(shù)據(jù),傳輸時低位在前。位數(shù)據(jù),傳輸時低位在前。發(fā)送:當(dāng)執(zhí)行任何一條寫發(fā)送:當(dāng)執(zhí)行任何一條寫SB

53、UFSBUF的指令(的指令(MOV SBUFMOV SBUF,A A)時,時,就啟動串行數(shù)據(jù)的發(fā)送。就啟動串行數(shù)據(jù)的發(fā)送。 接收:當(dāng)滿足接收:當(dāng)滿足RENREN1(1(允許接收允許接收) )且接收中斷標志且接收中斷標志RIRI位清除時,位清除時,就會啟動一次接收過程。就會啟動一次接收過程。串行口工作方式串行口工作方式0工作原理圖工作原理圖 特點:特點: 當(dāng)當(dāng) SM00、SM1l時,串行口選擇方式時,串行口選擇方式1。 波特率由定時器計數(shù)器波特率由定時器計數(shù)器 T1的溢出決定的溢出決定 由由 TXD(P31)引腳發(fā)送數(shù)據(jù)。引腳發(fā)送數(shù)據(jù)。 由由 RXD(P30)引腳接收數(shù)據(jù)。引腳接收數(shù)據(jù)。 發(fā)送或

54、接收一幀信息為發(fā)送或接收一幀信息為10位:位:1位起始位位起始位(“0”)、)、8位數(shù)據(jù)位位數(shù)據(jù)位(低位在前低位在前)和和l位停止位位停止位(“1”)。幀格式如下:)。幀格式如下:8.3.2 串行口方式串行口方式18位位UART當(dāng)執(zhí)行任何一條寫當(dāng)執(zhí)行任何一條寫 SBUF的指令時,就啟動串行數(shù)的指令時,就啟動串行數(shù)據(jù)的發(fā)送。據(jù)的發(fā)送。當(dāng)當(dāng)REN1且清除且清除RI后,若在后,若在RXD(P31)引腳上引腳上檢測到一個檢測到一個1到到0的跳變,立即啟動一次接收。的跳變,立即啟動一次接收。置位置位RIRI的條件是:的條件是: (1 1)RIRI0 0 即上一幀數(shù)據(jù)接收完成時發(fā)出的中斷請即上一幀數(shù)據(jù)接收

55、完成時發(fā)出的中斷請求已被響應(yīng),求已被響應(yīng),SBUFSBUF中數(shù)據(jù)已被取走。中數(shù)據(jù)已被取走。 (2 2)SM2SM20 0 或(或(SM2=1SM2=1時接收到的停止位時接收到的停止位1 1)。)。 若以上兩個條件中有一個不滿足,將不可恢復(fù)地若以上兩個條件中有一個不滿足,將不可恢復(fù)地丟失接收到的這一幀信息;如果滿足上述兩個條件,丟失接收到的這一幀信息;如果滿足上述兩個條件,則數(shù)據(jù)位裝入則數(shù)據(jù)位裝入SBUF,停止位裝入停止位裝入RB8且置位且置位RI。串行口方式串行口方式1接收工作原理圖接收工作原理圖特點:特點:n當(dāng)當(dāng)SM01、SM10時,串行口選擇方式時,串行口選擇方式2;n當(dāng)當(dāng)SM11、SM0

56、1時,串行口選擇方式時,串行口選擇方式3。n發(fā)送或接收一幀信息為發(fā)送或接收一幀信息為11位:位:1位起始位(位起始位(“0”)、)、8位數(shù)據(jù)位數(shù)據(jù)位位(低位在前低位在前) 、1位可編程位和位可編程位和1位停止位(位停止位(“l(fā)”)。)。發(fā)送時可編發(fā)送時可編程位程位TB8可設(shè)置為可設(shè)置為1或或0,接收時可編程位進入,接收時可編程位進入SCON寄存器的寄存器的RB8位。位。n 方式方式2和和3的不同在于它們波特率產(chǎn)生方式不同。方式的不同在于它們波特率產(chǎn)生方式不同。方式2的波特的波特率是固定的,為振蕩器頻率的率是固定的,為振蕩器頻率的1/32或或1/64。方式。方式3的波特率則由的波特率則由定時器計

57、數(shù)器定時器計數(shù)器T1和和T2的溢出決定,可用程序設(shè)定。的溢出決定,可用程序設(shè)定。8.3.3 串行口方式串行口方式2和和3 9位位UARTn發(fā)送:當(dāng)執(zhí)行任何一條寫發(fā)送:當(dāng)執(zhí)行任何一條寫SBUF的指令時,就啟動串的指令時,就啟動串行數(shù)據(jù)的發(fā)送。行數(shù)據(jù)的發(fā)送。n 接收:當(dāng)接收:當(dāng)RENl且清除且清除RI后,若在后,若在RXD(P31)引腳上檢測到一個引腳上檢測到一個l到到0的跳變,立即啟動一次接收。的跳變,立即啟動一次接收。n當(dāng)串行口以方式當(dāng)串行口以方式2或方式或方式3接收時,若接收時,若SM21,只有只有當(dāng)接收到的第當(dāng)接收到的第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為為1時,才將數(shù)據(jù)送入時,才將數(shù)據(jù)送入接收緩

58、沖器接收緩沖器SBUF,并使并使RI置置1,申請中斷,否則數(shù)據(jù),申請中斷,否則數(shù)據(jù)將丟失;若將丟失;若SM20,則無論第則無論第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)是是1還是還是0,都能將數(shù)據(jù)裝入,都能將數(shù)據(jù)裝入SBUF,并且發(fā)中斷。并且發(fā)中斷。n幀格式如下:幀格式如下:8.4 多處理機通信方式多處理機通信方式 在串行口控制寄存器在串行口控制寄存器SCON中,設(shè)有多處理機通信位中,設(shè)有多處理機通信位SM2(SCON5)。)。多機通信連線示意圖,系統(tǒng)中左邊的多機通信連線示意圖,系統(tǒng)中左邊的80C51為主機,其余的為為主機,其余的為1n號從機,并保證每臺從機在系統(tǒng)中的編號是惟一的。號從機,并保證每臺從機在系

59、統(tǒng)中的編號是惟一的。主機工作原理主機工作原理:主機欲與某從機通信,先向所有從機發(fā)出所主機欲與某從機通信,先向所有從機發(fā)出所選從機的地址,從機地址符合后,接著才發(fā)送命令或數(shù)據(jù)。選從機的地址,從機地址符合后,接著才發(fā)送命令或數(shù)據(jù)。 在主機發(fā)地址時,置第在主機發(fā)地址時,置第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為為1,表示主機發(fā)送,表示主機發(fā)送的是地址幀;的是地址幀; 當(dāng)主機呼叫某從機聯(lián)絡(luò)正確后,主機發(fā)送命令或數(shù)據(jù)幀時,當(dāng)主機呼叫某從機聯(lián)絡(luò)正確后,主機發(fā)送命令或數(shù)據(jù)幀時,將第將第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)清清0。 從機工作原理:從機工作原理:各從機由于各從機由于SM2置置1,將響應(yīng)主機發(fā)來的第,將響應(yīng)主機發(fā)來的

60、第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為為1的地址信息。從機響應(yīng)中斷后,有兩種不同的地址信息。從機響應(yīng)中斷后,有兩種不同的操作:的操作: 若從機的地址與主機點名的地址不相同,則該從機將繼續(xù)維若從機的地址與主機點名的地址不相同,則該從機將繼續(xù)維持持SM2為為l,從而拒絕接收主機后面發(fā)來的命令或數(shù)據(jù)信息,不從而拒絕接收主機后面發(fā)來的命令或數(shù)據(jù)信息,不會產(chǎn)生中斷,而等待主機的下一次點名。會產(chǎn)生中斷,而等待主機的下一次點名。 若從機的地址與主機點名的地址相同,該從機將本機的若從機的地址與主機點名的地址相同,該從機將本機的SM2清清0,繼續(xù)接收主機發(fā)來的命令或數(shù)據(jù),響應(yīng)中斷。,繼續(xù)接收主機發(fā)來的命令或數(shù)據(jù),響應(yīng)中

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論