《單片機原理與應(yīng)用技術(shù)》課件第6章_第1頁
《單片機原理與應(yīng)用技術(shù)》課件第6章_第2頁
《單片機原理與應(yīng)用技術(shù)》課件第6章_第3頁
《單片機原理與應(yīng)用技術(shù)》課件第6章_第4頁
《單片機原理與應(yīng)用技術(shù)》課件第6章_第5頁
已閱讀5頁,還剩90頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章串行通信6.1串行通信

6.280C51串行口

6.3多機通信

6.4習(xí)題實訓(xùn)六串行通信應(yīng)用

6.1串行通信

通信是指數(shù)據(jù)的傳輸與交換。數(shù)據(jù)通信可以通過兩種方式進行:并行通信和串行通信。串行通信是指使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。并行通信需要多條數(shù)據(jù)線,將數(shù)據(jù)的各個數(shù)位同時傳送。并行通信速度快,但用的通信線多、成本高。串行通信需要的數(shù)據(jù)線少,適合于長距離傳輸,但傳輸速度慢。并行通信傳送速度快,但需要多條數(shù)據(jù)線,有時還需要控制線。圖6-1為兩種通信方式連接示意圖。圖6-1并行通信和串行通信方式連接示意圖6.1.1異步通信和同步通信

1.異步通信方式

異步通信方式是一種常用的通信方式,以幀為發(fā)送單位。幀由四個部分組成:起始位、數(shù)據(jù)位、奇偶校驗位、停止位。起始位占1位,數(shù)據(jù)位占5~8位,奇偶校驗位占1位(也可以沒有奇偶校驗位),停止位占1或2位,如圖6-2所示。圖6-2異步通信原理示意圖

2.同步通信方式

同步通信是一種比特同步的通信方式,要求發(fā)收雙方具有同頻同相的同步時鐘信號,用同步起始位作為發(fā)送或接收數(shù)據(jù)的開始,如圖6-3所示。圖6-3同步通信原理示意圖6.1.2串行通信的數(shù)據(jù)傳送模式

串行通信按照數(shù)據(jù)傳送方向可分為三種傳送模式:

1.單工通信模式

單工通信模式是指通信雙方只能進行單方向傳輸。單工通信的通信線是單向的,發(fā)送端只有發(fā)送器,只能發(fā)送數(shù)據(jù);接收端只有接收器,只能接收數(shù)據(jù),如圖6-4(a)所示。圖6-4串行通信制式

2.半全雙工模式

半雙工模式是指通信雙方都能進行數(shù)據(jù)傳輸,雙方都設(shè)有發(fā)送器和接收器,都能發(fā)送數(shù)據(jù)和接收數(shù)據(jù),但不能同時進行,即發(fā)送時不能接收,接收時不能發(fā)送,如圖6-4(b)所示。

3.全雙工模式

全雙工模式是指通信雙方能同時進行數(shù)據(jù)傳輸,雙方都設(shè)有發(fā)送器和接收器,能同時發(fā)送數(shù)據(jù)和接收數(shù)據(jù),如圖6-4(c)所示。6.1.3信號的調(diào)制與解調(diào)

計算機生成的信號都是數(shù)字信號。有的數(shù)據(jù)傳輸線路是模擬線路,只能傳輸模擬信號,例如電話網(wǎng)。因此計算機在通信時需要對二進制數(shù)據(jù)進行調(diào)制,在發(fā)送時將數(shù)字信號轉(zhuǎn)換為模擬信號,接收時將模擬信號轉(zhuǎn)換為數(shù)字信號。完成模擬信號與數(shù)字信號轉(zhuǎn)換的設(shè)備稱為調(diào)制解調(diào)器。

調(diào)制解調(diào)器(Modem)的工作原理:調(diào)制解調(diào)器分為調(diào)制器和解調(diào)器兩部分,在發(fā)送數(shù)據(jù)時,調(diào)制器將發(fā)送端計算機內(nèi)的數(shù)字信號轉(zhuǎn)換為模擬信號,傳輸?shù)侥M線路上。在接收數(shù)據(jù)時,解調(diào)器將接收到的模擬信號轉(zhuǎn)換為數(shù)字信號,傳送到接收端的計算機上,如圖6-5所示。圖6-5利用調(diào)制解調(diào)器通信的示意圖6.1.4串行通信的校驗

1.奇偶校驗

奇校驗是指數(shù)據(jù)中“1”的個數(shù)與校驗位中“1”的個數(shù)之和為奇數(shù);偶校驗是指數(shù)據(jù)中“1”的個數(shù)與校驗位中“1”的個數(shù)之和為偶數(shù)。接收方和發(fā)送方采用相同的校驗方法,即或者都是奇校驗,或者都是偶校驗。在發(fā)送字符時,發(fā)送方計算出校驗位,放在數(shù)據(jù)位的后面一起發(fā)送。在接收數(shù)據(jù)時,接收方采用同樣的方法計算校驗位,如果和接收到的校驗位不同表明傳輸過程中出現(xiàn)了差錯。

2.和校驗

和校驗是指發(fā)送方將所發(fā)數(shù)據(jù)塊求和,產(chǎn)生一個字節(jié)的校驗字符附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)時也對數(shù)據(jù)塊求和,將所得的結(jié)果和發(fā)送方發(fā)過來的“校驗字符”相比較,相符則認為無差錯,否則認為傳送過程中出現(xiàn)了差錯。

3.循環(huán)冗余校驗

循環(huán)冗余校驗的基本原理是將一個數(shù)據(jù)塊看成一個位數(shù)很長的二進制數(shù),然后用一個特定的數(shù)去除它,將余數(shù)作為校驗碼附加數(shù)據(jù)塊后一起發(fā)送。接收端收到該數(shù)據(jù)塊和校驗碼后,進行同樣的運算來校驗傳送是否出錯。6.1.5波特率

波特率是指數(shù)據(jù)傳輸?shù)乃俾?,它表示每秒鐘傳送的二進制代碼的位數(shù),其單位是位/秒(b/s)。

例:設(shè)數(shù)據(jù)的傳輸率是240字符/s,求傳輸?shù)牟ㄌ芈省?/p>

因為1個字符共10個二進制位,1個起始位,1個停止位,8個數(shù)據(jù)位,所以波特率為

10?b?×?240/s?=?2400?b/s

波特率的倒數(shù)就是傳輸一個二進制位所需的時間(td),稱為位碼傳送時間,即波特率是衡量傳輸通道頻寬的指標(biāo),它和傳送數(shù)據(jù)的速率并不一致。傳送數(shù)據(jù)的速率是指傳送的有效數(shù)據(jù)的速率。如上例中傳送的十個二進制位,其中只有8個二進制位是有效數(shù)據(jù)位,因此它的數(shù)據(jù)傳送速率為

8?b?×?240?b/s?=?1920?b/s

異步通信的傳輸速率在50~19?200?b/s之間,常用于計算機到終端機和打印機之間的通信、電報以及無線電通信的數(shù)據(jù)傳送等。

6.280C51串行口

80C51系統(tǒng)單片機有一個可編程的全雙工的串行通信接口,它可用作通用異步通信的接收和發(fā)送器,也可用作同步移位寄存器,其幀格式可分為8位、10位或11位,并可以設(shè)置不同的波特率。

串行口簡化結(jié)構(gòu)示意圖如圖6-6所示。圖6-6串行口簡化結(jié)構(gòu)6.2.1串行口特殊功能寄存器

1.串行數(shù)據(jù)緩沖器SBUF

80C51單片機串行口由發(fā)送緩沖寄存器SBUF、接收緩沖寄存器SBUF和移位寄存器三部分組成。因為既有發(fā)送寄存器又有接收寄存器,因此可以實現(xiàn)全雙工方式通信。在發(fā)送數(shù)據(jù)時,CPU主動發(fā)送數(shù)據(jù),不會發(fā)生幀重疊錯誤;而在接收數(shù)據(jù)時,由于在接收寄存器之前有移位寄存器,也不會出現(xiàn)幀重疊錯誤。

在完成串行初始化后,發(fā)送時,將發(fā)送數(shù)據(jù)輸入SBUF,CPU自動啟動和完成串行數(shù)據(jù)的發(fā)送;接收時,CPU自動把接收到的數(shù)據(jù)存入SBUF,用戶就可以從SBUF中讀出接收數(shù)據(jù)。

2.串行控制寄存器SCON

串行控制寄存器SCON的結(jié)構(gòu)和各位名稱、位地址如表6-1所示。表6-1SCON的結(jié)構(gòu)和各位名稱、位地址各位功能說明如下:

(1)?SM0SM1:串行口工作方式選擇位。其狀態(tài)組合所對應(yīng)的工作方式如表6-2所示。表6-2串行口工作方式

3.電源控制寄存器PCON

PCON主要是為CHMOS型單片機電源控制而設(shè)置的專用寄存器,其中最高位SMOD是串行口波特率的倍增位,當(dāng)SMOD=1時串行口波特率加倍。系統(tǒng)復(fù)位時,SMOD=0。PCON寄存器不能進行位尋址,其各位名稱如表6-3所示。表6-3PCON寄存器6.2.2串行口的控制寄存器

串行控制寄存器SCON是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志。字節(jié)地址98H,可位尋址,其格式為

SM0和SM1是串行口的工作方式選擇位,可選擇四種工作方式,如表6-4所示。表6-4串行口的四種工作方式6.2.3串行工作方式

80C51串行通信共有4種工作方式,由串行控制寄存器SCON中的SM0SM1決定,如表6-2所示。

1.串行工作方式0

在方式0下,串行口是作為同步移位寄存器使用。這時以RSK端作為數(shù)據(jù)移位的輸入/輸出端,而由TXD端輸出移位脈沖。移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,無論輸入/輸出,均低位在前高位在后。其幀格式如表6-5所示。表6-5方式0幀格式使用方式0可將串行輸入/輸出數(shù)據(jù)轉(zhuǎn)換成并行輸入輸出數(shù)據(jù)。

1)數(shù)據(jù)發(fā)送

串行口作為并行輸出口使用時,要有“串入并出”的移位寄存器(例如CD4094或74HC164)配合,其典型連接電路如圖6-7(a)和圖6-8所示。

2)數(shù)據(jù)接收

如果把能實現(xiàn)“并入串出”功能的移位寄存器(例如CD4014或74HC164)與串行口配合使用,就可以把串行口變?yōu)椴⑿休斎肟谑褂?,如圖6-7(b)和圖6-8所示。圖6-7方式0實現(xiàn)數(shù)據(jù)移位輸入/輸出圖6-8例6-1電路圖

3)波特率

方式0時,移位操作的波特率是固定的,為單片機晶振頻率的1/12。以fosc表示晶振頻率,則波特率?=?fOSC/12,也就是一個機器周期進行一次移位。若fOSC?=?6?MHz,則波特率為500?kbit/s,即2?ms移位一次;若fOSC=12?MHz,則波特率為1?M(bit/s),即1?ms移位一次。

4)應(yīng)用舉例

【例6-1】

電路如圖6-8所示,試編制程序按下列順序要求每隔0.5?s循環(huán)操作:①8個發(fā)光二極管全部點亮。②從左向右依次暗滅,每次減少一個,直至全滅。③從左向右依次點亮,每次亮一個。④從右向左依次點亮,每次亮一個。⑤從左向右依次點亮,每次增加一個,直至全部點亮。⑥返回②不斷循環(huán)。圖6-9例6-2電路圖

2.串行工作方式1

串行工作方式1是一幀10位的異步串行通信方式,包括1個起始位、8個數(shù)據(jù)位和1個停止位,其幀格式如表6-6所示。

1)數(shù)據(jù)發(fā)送

方式1的數(shù)據(jù)發(fā)送是由一條寫串行數(shù)據(jù)緩沖寄存器SBUF指令開始的。在串行口硬件自動加入起始位和停止位,構(gòu)成一個完整的幀格式,然后在移位脈沖的作用下,由TXD端串行輸出。一個字符幀發(fā)送完后,使TXD輸出線維持在“1”(space)狀態(tài)下,并將串行控制寄存器SCON中的TI置1,表示一幀數(shù)據(jù)發(fā)送完畢。表6-6方式1幀格式

2)數(shù)據(jù)接收

接收數(shù)據(jù)時,SCON中的REN位應(yīng)處于允許接收狀態(tài)(REN=1)。在此前提下,串行口采樣RXD端,當(dāng)采樣從1向0的狀態(tài)跳變時,就認定為已接收到起始位。隨后在移位脈沖的控制下,把接收到的數(shù)據(jù)位移入接收寄存器中。直到停止位到之后把停止位送入RB8中,并置位中斷標(biāo)志位RI,表示可以從SBUF取走接到的一個字符。

3)波特率

方式1的波特率是可變的,其波特率由定時器/計數(shù)器T1的計數(shù)溢出率來決定,其公式為

3.串行工作方式2

串行工作方式2是一幀11位的串行通信方式,即1個起始位、8個數(shù)據(jù)位、1個可編程位TB8/RB8和1個停止位,其幀格式如表6-7所示。

1)數(shù)據(jù)發(fā)送

發(fā)送前應(yīng)先輸入TB8內(nèi)容,可使用如下指令完成:

SETBTB8

CLRTB8

然后再向SBUF寫入8位數(shù)據(jù),并以此來啟動串行發(fā)送。一幀數(shù)據(jù)發(fā)送完畢后,CPU自動將T1置1,其過程與方式1相同。表6-7方式1幀格式圖6-10發(fā)送程序流程圖

【例6-5】

編制一個串行方式2接收程序,接收上例發(fā)送的16個數(shù)據(jù),存首址為40H的內(nèi)RAM中,并核對奇偶校驗位,接收核對正確后,發(fā)出回復(fù)信號FFH;發(fā)現(xiàn)錯誤,發(fā)出回復(fù)信號00H,并等待重新接收。

解:程序如下:

4.串行工作方式3

串行工作方式3同樣是一幀11位的串行通信方式,其通信過程與方式2完全相同,所不同的僅在于波特率。方式2的波特率只有固定的兩種,而方式3的波特率則與方式1相同,即通過設(shè)置TI的初值來設(shè)定波特率。

5.串行口四種工作方式比較

串行口四種工作方式的區(qū)別主要表現(xiàn)在幀格式及波特率兩個方面,見表6-8。表6-8四種工作方式比較表6-9給出了串行方式1或方式3時常用波特率及其產(chǎn)生條件。表6-9常用波特率及其產(chǎn)生條件 6.3多機通信

6.3.1多機通信原理

1.多機通信連接電路

在串行工作方式2或方式3條件下,可實現(xiàn)一臺主機和多臺從機之間的通信,其連接電路如圖6-11所示。圖6-11多機通信連接電路

2.多機通信原理

多機通信時,主機向從機發(fā)送的信息分為地址幀和數(shù)據(jù)幀兩類,以第9位可編程TB8作區(qū)分標(biāo)志,TB8=0,表示數(shù)據(jù);TB8=1,表示地址。多機通信充分利用了80C51串行控制寄存器SCON中的多機通信控制位SM2的特性。當(dāng)SM2=1時,CPU接收的前8位數(shù)據(jù)是否送入SBUF取決于接收的第9位RB8。RB8=1,當(dāng)接收到的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中斷請求;RB8=0,將接收到的前8位數(shù)據(jù)丟棄。即當(dāng)從機SM2=1時,從機只能接收主機發(fā)送的地址幀(RB8=1)對數(shù)據(jù)幀不予理睬;當(dāng)從機SM2=0時,可以接收主機發(fā)送的所有信息。通信開始時,主機首先發(fā)送地址幀。由于各從機SM2=1和RB8=1,所以各從機均分別發(fā)出串行接收中斷請求,通過串行中斷服務(wù)程序來判斷主機發(fā)送的地址與本從機地址是否相符。若相符,則把自身的SM2清零,以準(zhǔn)備接收主機傳送的數(shù)據(jù)幀。其余從機由于地址不符,則仍然保持SM2=1狀態(tài),因而不能接收主機傳送來的數(shù)據(jù)幀。這就是多機通信中主從機一對一的通信情況。通信只能在主機與從機之間進行,如若需進行兩個從機之間的通信,要通過主機作中介才能實現(xiàn)。

3.多機通信過程

(1)各從機在初始化時置SM2=1,均只能接收主機發(fā)送的地址幀(RB8=1)。

(2)主機發(fā)送地址幀(TB8=1),指出接收主機的地址。

(3)各從機接收到主機發(fā)送的地址幀后,與自身比較,相同則是置SM2=0;相異則是保持SM2=1不變。

(4)主機發(fā)送數(shù)據(jù)幀(TB8=0),由于指定的從機已將SM2=0,能接收主機發(fā)送的數(shù)據(jù)幀,而其他從機仍置SM2=1,對主機發(fā)送的數(shù)據(jù)幀不予理睬。

(5)被尋址的從機與主機通信完畢,重置SM2=1,恢復(fù)初始狀態(tài)。

4.多機通信協(xié)議

多機通信是一個較為復(fù)雜的通信過程,必須有通信協(xié)議來保證多機通信的可操作性和操作秩序。這些通信協(xié)議,除設(shè)定相同的波特率及幀格式外,至少應(yīng)包括從機地址、主機控制命令、從機狀態(tài)字格式和數(shù)據(jù)通信格式的約定。

6.3.2多機通信應(yīng)用舉例

【例6-6】

按下列通信協(xié)議,設(shè)計一個多機通信應(yīng)用程序。

從機地址:可有255臺從機,依次為00H~FEH;

主機控制命令:FFH(地址幀),所有從機SM2=1,準(zhǔn)備接收主機尋址;

00H(數(shù)據(jù)幀):被尋址的從機接收數(shù)據(jù);

01H(數(shù)據(jù)幀):被尋址的從機發(fā)送數(shù)據(jù)。

從機狀態(tài)字格式如表6-10所示。表6-10從機狀態(tài)字格式

解:(1)主機通信子程序。主機通信子程序流程圖如圖6-12所示。

設(shè)在主程序中已對T1、波特率等完成初始化,有關(guān)數(shù)據(jù)已存入下列工作寄存器中。

R0:主機發(fā)送數(shù)據(jù)塊的首地址;

R1:主機接收數(shù)據(jù)塊的首地址;

R2:尋址的從機地址;

R3:主機發(fā)出的命令;

R4:主機發(fā)送的數(shù)據(jù)塊長度;

R5:主機接收的數(shù)據(jù)塊長度。圖6-12主機子程序流程圖

(2)從機中斷服務(wù)程序。通信中斷服務(wù)子程序流程圖如圖6-13所示。圖6-13從機子程序流程圖 6.4習(xí)題

1.什么叫串行通信和并行通信?各有什么特點。

2.什么叫異步通信和同步通信?各有什么特點。

3.什么叫波特率?串行通信對波特率有什么基本要求?

4.已知異步通信接口的幀格式由1個起始位、7個數(shù)據(jù)位、1個奇偶位和1個停止位組成。當(dāng)該接口每分鐘傳送3600個字符時,試計算其波特率。

5.串行通信按照數(shù)據(jù)傳送方向有哪幾種制式?

6.試述串行通信常用的差錯校驗方法。

7.串行緩沖寄存器SBUF有什么用?簡述串行口接收和發(fā)送數(shù)據(jù)的過程。

8.簡述串行控制寄存器SCON各位的名稱。簡述串行口接收和發(fā)送數(shù)據(jù)的過程。

9.電路如圖6-6所示。試編制程序使發(fā)光二極管從左向右依次點亮,并進行循環(huán)操作。

10.兩片4094串聯(lián)電路如圖?6-14?所示。試編制程序按下列順序要求每隔0.5?s循環(huán)操作:

(1)從左向右依次點亮,每次兩個;

(2)從左向右依次點亮,每次增加兩個,直至全部點亮;

(3)從左向右依次熄滅,每次減少兩個,直至全滅。

返回并不斷循環(huán)。圖6-14兩片4094串聯(lián)電路圖

11.2片4014串聯(lián)電路如圖6-15所示。試編制程序輸入K1~K16狀態(tài)裝飾,并存入內(nèi)RAM40H41H。圖6-152片4014串聯(lián)電路圖

15.設(shè)80C51單片機串行口工作于方式1,晶振頻率為12?MHz,定時器T1工作于方式2。作為波特率發(fā)生器,要求波特率為1200?bit/s,SMOD=0,試計算T1的時間常數(shù)和波特率誤差,編寫初始化程序。

16.設(shè)以串行方式1進行數(shù)據(jù)傳送,fOSC?=?6?MHz,波特率為2400?bit/s(SMOD=1)。發(fā)送的8個數(shù)據(jù)依次存在外RAM首址4000H單元中,先發(fā)送數(shù)據(jù)長度,后發(fā)送8個數(shù)據(jù),試編寫發(fā)送子程序。

17.條件同上題,數(shù)據(jù)長度未知,先接收數(shù)據(jù)長度,后接收數(shù)據(jù)。試編寫接收子程序,接收數(shù)據(jù)存在內(nèi)RAM50H開始的區(qū)域中。

18.設(shè)計一個串行方式2發(fā)送子程序(SMOD?=?0),甲機每隔1?s(fOSC?=?6?MHz,用T0中斷)從P1口讀入8位數(shù)據(jù)串行發(fā)送,第9位數(shù)據(jù)位作為奇偶校驗位。接到乙機核對正確的回復(fù)信號(用00H表示)后,置P3.5?=?1(正確指示燈亮)。否則置P3.5?=?0(正確指導(dǎo)燈滅)。再重發(fā)一遍,直至乙機發(fā)回正確的回復(fù)信號。

19.編制一個串行方式2接收子程序,接收上題發(fā)送的數(shù)據(jù),并核對奇偶校驗位,接收核對正確,發(fā)出回復(fù)信號00H,存入首址為200H的外RAM中;發(fā)現(xiàn)錯誤,發(fā)出回復(fù)信號FFH,并等待重新接收。

20.80C51串行通信有哪幾種工作方式?小結(jié)80C51串行口4種工作方式的特點。

21.80C51單片機串行通信四種工作方式的波特率有什么不同?

22.若異步通信接口按方式3傳送,已知其每分鐘傳送3600字符,波特率是多少?

23.什么叫多機通信?與雙機通信有什么區(qū)別?

24.試說明多機通信原理。

25.簡述多機通信過程。

26.多機通信協(xié)議應(yīng)包括哪些內(nèi)容?

實訓(xùn)六串行通信應(yīng)用

一、實驗?zāi)康?/p>

(1)掌握串行口的工作原理及異步通信和同步通信的功能和編程方法;

(2)理解串行口通信與并行通信的兩種方式;

(3)掌握串行通信的重要指標(biāo),字符幀和波特率;

(4)初步了解MCS-51單片機串行口的使用方法。

二、實驗設(shè)備與元器件

(1)至少20?MB硬盤、16?MB內(nèi)存的Pentium、Pentium-Ⅱ或相應(yīng)兼容處理器的PC機。

(2)?KeilCV8.08版本的mVision2/3軟件。三、實驗要求

(1)掌握串行口的各個寄存器的含義和定義方法;

(2)掌握設(shè)置各個寄存器的編程方法;

(3)掌握單片機串行口通信程序設(shè)計的方法。

四、實驗內(nèi)容與步驟

MCS-51系列單片機內(nèi)部提供了5個中斷源,2個中斷優(yōu)先級,每個中斷源的優(yōu)先級可以進行編程控制。中斷允許受到CPU開中斷和中斷源開中斷的兩級控制。

MCS-51系列單片機的片內(nèi)外圍部件要用到特殊功能寄存器或SFR尋址。SFR是位于80H~FFH的片內(nèi)可直接尋址存儲器。Keil開發(fā)工具軟件提供了定義這些寄存器的頭文件。需要將這些已提供的頭文件或自行創(chuàng)建的頭文件包含到程序中,才能訪問片內(nèi)外圍部件。在編寫單片機的Cx51語句時,在文件的開頭加上語句#include<reg51.h>,這條語句就是定義了所有硬件地址的文件,也可以直接在C源程序或頭文件中定義自己的SFR符號。Cx51編譯器支持byteSFR和bitSFR符號,例如:sfrIE=0Xa8;sbitEA=IE^7。

1.串行口的設(shè)計

程序6-1

在單片機控制系統(tǒng)中,P1口低4位接4個二極管,P3口P3.2~P3.5接具有鎖存功能的按鍵(K1-K4)程序功能。利用scanf輸入函數(shù)輸入P3口的狀態(tài),從而控制K1的值,利用if語句檢測K1的值,如果按下K1鍵即K1=1,發(fā)光二極管全亮;如彈起K1鍵即K1=0,發(fā)光二極管全滅。通過分析上面的程序可以看出SCON=0x50,TMOD=0x20,TH1=221,TR1=1,TI=1這五條語句就是設(shè)置單片機的串行口的工作方式的,其中SCON是串行口控制寄存器,我們將它設(shè)置為0X50,意思是串行口工作方式1(由定時器控制的10位異步收發(fā)方式),多機通信控制位的工作方式為接收到字符,RI就置位,同時允許串行口接收。TMOD為定時器/計數(shù)器的方式控制寄存器數(shù)值為0x20,它的啟動僅受TR0和TR1控制,設(shè)置并使用定時器1工

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論