第06章 單片機串行通信系統(tǒng)_第1頁
第06章 單片機串行通信系統(tǒng)_第2頁
第06章 單片機串行通信系統(tǒng)_第3頁
第06章 單片機串行通信系統(tǒng)_第4頁
第06章 單片機串行通信系統(tǒng)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、授課教師:左敬龍授課教師:左敬龍電話:電話:1382868066013828680660短號:短號:6801268012郵箱:郵箱:單片機原理及應用單片機原理及應用單片機串行通信系統(tǒng)單片機串行通信系統(tǒng)串行通信接口概述串行通信接口概述1 1串行通信工作方式串行通信工作方式3 3串行通信波特率設置串行通信波特率設置4 4串行通信應用舉例串行通信應用舉例5 5串行通信接口概述串行通信接口概述1 1串行通信接口串行通信接口2 2 串行通信優(yōu)點:便于長距離傳送 缺點:傳送速度較慢計算機與外界信息交換稱為通信。通信的基本方式可分為并行通信和串行通信:并行通信是數(shù)據(jù)的各位同時發(fā)送或同時接收;串行通信是數(shù)據(jù)的

2、各位依次逐位發(fā)送或接收。并行通信優(yōu)點:傳送速度快 缺點:不便長距離傳送一、串行通信接口概述一、串行通信接口概述串行通信按同步方式可分為異步通信和同步通信。串行通信的通信方式異步通信是指發(fā)送方和接收方采用獨立的時鐘,即雙方?jīng)]有一個相同的參考時鐘作為基準。在同步通信中,每個數(shù)據(jù)塊的開頭以同步字符SYN加以指示,使發(fā)送與接受雙方取得同步。數(shù)據(jù)塊的各字符之間沒有起始位和停止位,提高了通信的速度。但為了能保持同步傳送,在同步通信中須用一個時鐘來協(xié)調收發(fā)器的工作,這就增加了設備的復雜性。 ) )字符格式字符格式雙方要事先約定字符的編碼形式、奇偶校驗形式及起始位和停止位的規(guī)定。雙方要事先約定字符的編碼形式、

3、奇偶校驗形式及起始位和停止位的規(guī)定。例如用例如用ASCIIASCII碼通信,有效數(shù)據(jù)為碼通信,有效數(shù)據(jù)為7 7位,加一個奇偶校驗位、一個起始位和一位,加一個奇偶校驗位、一個起始位和一個停止位共個停止位共1010位。位。 ) )波特率波特率波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進制位數(shù),單位為位波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進制位數(shù),單位為位/ /秒。秒。它與字符的傳送速率它與字符的傳送速率( (字符字符/ /秒秒) )之間有以下關系:之間有以下關系:波特率波特率=1=1個字符的二進制編碼位數(shù)個字符的二進制編碼位數(shù)字符字符/ /秒秒注:在異步通信中,通信雙方必須事先約定字符格式和

4、波特率注:在異步通信中,通信雙方必須事先約定字符格式和波特率) )串行通信的三種數(shù)據(jù)傳輸模式串行通信的三種數(shù)據(jù)傳輸模式(1)單工方式:數(shù)據(jù)僅按一個固定方向傳送。常用于串行口的打印數(shù)據(jù)傳輸與簡單系統(tǒng)間的數(shù)據(jù)采集。 ()半雙工方式:使用同一根傳輸線,數(shù)據(jù)可雙向傳送,但不能同時進行,實際應用中采用某種協(xié)議實現(xiàn)收/發(fā)開關轉換。 ()全雙工方式:數(shù)據(jù)的發(fā)送和接收可同時進行,通信雙方都能在同一時刻進行發(fā)送和接收操作,但一般全雙工傳輸方式的線路和設備比較復雜。 發(fā)送端接受端數(shù)據(jù)線地線單工知式發(fā)送/接收端接收/發(fā)送端數(shù)據(jù)線地線半雙工制式發(fā)送/接收器接收/發(fā)送端數(shù)據(jù)線地線全雙工方式單片機串行通信系統(tǒng)單片機串行通

5、信系統(tǒng)串行通信接口概述串行通信接口概述1 1串行通信工作方式串行通信工作方式3 3串行通信波特率設置串行通信波特率設置4 4串行通信應用舉例串行通信應用舉例5 5串行通信接口串行通信接口2 2串行通信接口串行通信接口2 2 80C5180C51系列單片機有系列單片機有一個一個全雙工全雙工的串行口,的串行口,這個口既可以用于網(wǎng)絡通信,也可以實現(xiàn)串行異這個口既可以用于網(wǎng)絡通信,也可以實現(xiàn)串行異步通信,還可以作為同步移位寄存器使用。步通信,還可以作為同步移位寄存器使用。二、二、80C5180C51串行通信接口串行通信接口指令清指令清0 RI/TI波特率發(fā)生器下降沿表示“0”起始位開始波特率因子:16

6、波特率加倍80C5180C51串行通信接口串行通信接口 發(fā)送時,只需將發(fā)送數(shù)據(jù)輸入SBUF,CPU將自動啟動和完成串行數(shù)據(jù)的發(fā)送; 接收時,CPU將自動把接收到的數(shù)據(jù)存入SBUF,用戶只需從SBUF中讀出接收數(shù)據(jù)。串行口特殊功能寄存器1、串行數(shù)據(jù)緩沖器SBUF 在邏輯上只有一個,既表示發(fā)送寄存器,又表示接收寄存器,具有同一個單元地址99H,用同一寄存器名SBUF。 在物理上有兩個,一個是發(fā)送緩沖寄存器,另一個是接收緩沖寄存器。2、串行控制寄存器SCONSCOND7D6D5D4D3D2D1D0位名稱SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H

7、功能工作方式選擇多機通信控制接收 允許發(fā)送 第9位接收 第9位發(fā)送 中斷接收 中斷 SM0 SM1 串行口工作方式選擇位。 SM2 多機通信控制位。 REN 允許接收控制位。REN=1,允許接收。 TB8 方式2和方式3中要發(fā)送的第9位數(shù)據(jù)。 RB8 方式2和方式3中要接收的第9位數(shù)據(jù)。 TI 發(fā)送中斷標志。 RI 接收中斷標志。SM0SM0、SM1SM1:串行口工作方式選擇位。:串行口工作方式選擇位。 用于選擇四種工作方式用于選擇四種工作方式SM0SM0SM1SM1方式方式功能功能波特率波特率0 00 0方式方式0 0移位寄存器方式移位寄存器方式f foscosc/12/120 01 1方式

8、方式1 18 8位異步通信方式位異步通信方式可變可變1 10 0方式方式2 29 9位異步通信方式位異步通信方式f foscosc/32/32或或f foscosc/64/641 11 1方式方式3 39 9位異步通信方式位異步通信方式可變可變3 3、電源控制寄存器、電源控制寄存器PCONPCONPCONPCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名稱位名稱SMODSMODGF1GF1GF0GF0PDPDIDLIDLSMOD=1SMOD=1,串行口波特率加倍。,串行口波特率加倍。PCONPCON寄存器不能進行位尋址。寄存器不能進行位尋址。一一 雨后,一只蜘蛛艱難地

9、向墻上已經(jīng)支離破碎的網(wǎng)爬去,由于墻壁潮濕,它爬到一定的高度,就會掉下來,它一次次地向上爬,一次次地又掉下來 第一個人看到了,他嘆了一口氣,自言自語:“我的一生不正如這只蜘蛛嗎?忙忙碌碌而無所得?!庇谑?,他日漸消沉。 第二個人看到了,他說:這只蜘蛛真愚蠢,為什么不從旁邊干燥的地方繞一下爬上去?我以后可不能像它那樣愚蠢。于是,他變得聰明起來。 第三個人看到了,他立刻被蜘蛛屢敗屢戰(zhàn)的精神感動了。于是,他變得堅強起來。 秘訣:有成功心態(tài)者處處都能發(fā)覺成功的力量。秘訣:有成功心態(tài)者處處都能發(fā)覺成功的力量。優(yōu)秀是一種習慣單片機串行通信系統(tǒng)單片機串行通信系統(tǒng)串行通信接口概述串行通信接口概述1 1串行通信工作

10、方式串行通信工作方式3 3串行通信波特率設置串行通信波特率設置4 4串行通信應用舉例串行通信應用舉例5 5串行通信工作方式串行通信工作方式3 3串行通信接口串行通信接口2 280C51串行通信共有4種工作方式,由串行控制寄存器SCON中SM0 SM1決定。 1、串行工作方式0(同步移位寄存器工作方式) 以RXD(P3.0)端作為數(shù)據(jù)移位的輸入/輸出端, 以TXD(P3.1)端輸出移位脈沖。 移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設起始位和停止位,無論輸入/輸出,均低位在前高位在后。 其幀格式為: D0D1D2D3D4D5D6D7 方式0可將串行輸入輸出數(shù)據(jù)轉換成并行輸入輸出數(shù)據(jù)。三、 串行通信工

11、作方式 數(shù)據(jù)發(fā)送 將數(shù)據(jù)寫入發(fā)送緩沖器SBUF后,TXD端輸出移位脈沖,串行口把SBUF中的數(shù)據(jù)依次由低到高以fosc/12波特率從RXD端輸出,一幀數(shù)據(jù)發(fā)送完畢后硬件置發(fā)送中斷標志位TI為1。若要再次發(fā)送數(shù)據(jù),必須用指令將TI清零。 發(fā)送: SBUF= 0 x55; /啟動發(fā)送 while(!TI);/等待發(fā)送結束 TI =0;/清發(fā)送中斷標志 接收: while(1)/不停地等待接收if(RI) RI=0;/清接收中斷標志ACC=SBUF; /將接收數(shù)據(jù)送累加器A 在RI=0的條件下,用指令置REN=1即可開始串行接收。TXD端輸出移位脈沖,數(shù)據(jù)依次由低到高以fosc/12波特率經(jīng)RXD端

12、接收到SBUF中,一幀數(shù)據(jù)接收完成后硬件置接收中斷標志位RI為1。若要再次接收一幀數(shù)據(jù),應該用指令MOV A,SBUF將上一幀數(shù)據(jù)取走,并用指令將RI清零。用方式0通信時,多用查詢方式。 數(shù)據(jù)接收接收: while(RI);等待接收 RI=0;;清接收中斷標志table=SBUF;將接收數(shù)據(jù)送累加器A 接收: while(1)/不停地等待接收if(RI) ACC=SBUF; /將接收數(shù)據(jù)送累加器ARI=0;/清接收中斷標志復位時,SCON被清零,因此,工作方式的缺省值為方式0。接收前,務必先置位REN=1方允許接收數(shù)據(jù)。 在RI=0的條件下,用指令置REN=1即可開始串行接收。TXD端輸出移位

13、脈沖,數(shù)據(jù)依次由低到高以fosc/12波特率經(jīng)RXD端接收到SBUF中,一幀數(shù)據(jù)接收完成后硬件置接收中斷標志位RI為1。若要再次接收一幀數(shù)據(jù),應該用指令MOV A,SBUF將上一幀數(shù)據(jù)取走,并用指令將RI清零。用方式0通信時,多用查詢方式。 數(shù)據(jù)接收2、串行工作方式1起始D0D1D2D3D4D5D6D7停止1) 數(shù)據(jù)發(fā)送 發(fā)送時只要將數(shù)據(jù)寫入SBUF,在串行口由硬件自動加入起始位和停止位,構成一個完整的幀格式。然后在移位脈沖的作用下,由TXD端串行輸出。一幀數(shù)據(jù)發(fā)送完畢后硬件自動置TI=1。再次發(fā)送數(shù)據(jù)前,用指令將TI清零。方式1是一幀10位的異步串行通信方式,包括1個起始位,8個數(shù)據(jù)位和一個

14、停止位。波特率可變,由定時器/計數(shù)器T1的溢出率和SMOD(PCON.7)決定。其幀格式如下:2) 數(shù)據(jù)接收 接收時,在REN=1前提下,當采樣到RXD從1向0跳變狀態(tài)時,就認定為已接收到起始位。隨后在移位脈沖的控制下,數(shù)據(jù)從RXD端輸入。 在方式1接收數(shù)據(jù)時,必須同時滿足以下兩個條件:RI=0,SM2=0或接收到的停止位=1。若有任一條件不滿足,則所接收的數(shù)據(jù)幀就會丟失。在滿足上述接收條件時,接收到的8位數(shù)據(jù)位進入接收緩沖器SBUF,停止位送入RB8,并置中斷標志位RI=1。再次接收數(shù)據(jù)前,需用指令將RI清零。 3 3、串行工作方式、串行工作方式2 2起始位起始位 數(shù)據(jù)位數(shù)據(jù)位停止位停止位0

15、 0D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7TB8TB81 11 1)數(shù)據(jù)發(fā)送)數(shù)據(jù)發(fā)送: : 發(fā)送數(shù)據(jù)前,由指令將發(fā)送數(shù)據(jù)前,由指令將TB8TB8置位或清零,將數(shù)據(jù)寫入發(fā)送置位或清零,將數(shù)據(jù)寫入發(fā)送緩沖器緩沖器SBUFSBUF后,在串行口由硬件自動加入起始位和停止位來后,在串行口由硬件自動加入起始位和停止位來構成完整的字符幀,并在移位脈沖的作用下將其通過構成完整的字符幀,并在移位脈沖的作用下將其通過TXDTXD端向端向外串行發(fā)送,發(fā)送完畢后硬件自動置外串行發(fā)送,發(fā)送完畢后硬件自動置TI=1TI=1。在工作方式在工作方式2 2下,下,波特率只有二種波特率只有二種:SMO

16、DSMOD0 0時,波特率為時,波特率為f f0SC0SC/64/64;SMODSMOD1 1時,波特率為時,波特率為f f0SC0SC/32/32。 串行接口工作方式串行接口工作方式2 2為為9 9位異步通信接口,傳送一幀數(shù)據(jù)有位異步通信接口,傳送一幀數(shù)據(jù)有1111位。位。1 1位起始位位起始位( (低電平信號低電平信號) ),8 8位數(shù)據(jù)位位數(shù)據(jù)位( (先低位后高位先低位后高位) ),1 1位可編程位,位可編程位,1 1位停止位位停止位( (高電平信號高電平信號) )。其格式如下:。其格式如下:2)數(shù)據(jù)接收 在REN=1的條件下,串行口采樣RXD端,當檢測到有從1向0的狀態(tài)跳變的起始位時,

17、便在移位脈沖的控制下,從RXD端接收數(shù)據(jù)。在方式2的接收中,也必須同時滿足以下兩個條件:RI=0,SM2=0或接收到的停止位為1。若有任一條件不滿足,則所接收的數(shù)據(jù)幀就會被丟失。在滿足上述接收條件時,接收到的8位數(shù)據(jù)位進入接收緩沖器SBUF中,第9位數(shù)據(jù)位送入RB8中,并置RI=1。再次接收數(shù)據(jù)時,需用指令將RI清零。 串行接口工作方式3也是9位異步通信接口,傳送一幀數(shù)據(jù)有11位。1位起始位(低電平信號),8位數(shù)據(jù)位(先低位后高位),1位可編程位,1位停止位(高電平信號)。 但波特率與工作方式1相同,由定時器/計數(shù)器T1的溢出率和SMOD(PCON.7)決定。 也就是說方式3的工作機制與方式2

18、相同,波特率與方式1相同,它是方式1和方式2的綜合運用。4、串行工作方式3串行口四種工作方式的比較四種工作方式的區(qū)別主要表現(xiàn)在幀格式及波特率兩個方面。表6-2 四種工作方式比較工作方式幀 格 式波 特 率方式08位全是數(shù)據(jù)位,沒有起始位、停止位固定,即每個機器周期傳送一位數(shù)據(jù)方式110位,其中1位起始位,8位數(shù)據(jù)位,1位停止位不固定,取決于T1溢出率和SMOD方式211位,其中1位起始位,9位數(shù)據(jù)位,1位停止位固定,即2SMODfosc /64方式3同方式2同方式1單片機串行通信系統(tǒng)單片機串行通信系統(tǒng)串行通信接口概述串行通信接口概述1 1串行通信工作方式串行通信工作方式3 3串行通信波特率設置

19、串行通信波特率設置4 4串行通信應用舉例串行通信應用舉例5 5串行通信波特率設置串行通信波特率設置4 4串行通信接口串行通信接口2 2 MCS-51單片機的串行通信波特率是隨著串行口的工作方式不同而改變的。波特率除了與單片機系統(tǒng)的振蕩頻率fosc、電源控制寄存器PCON的SMOD位有關外,還與定時器T1的設置狀態(tài)有關。只有正確進行波特率的設置才能使單片機正常工作。四、串行通信波特率設置1、四種工作方式下的波特率計算工作方式0:波特率固定不變,它與系統(tǒng)的振蕩頻率fosc的大小有關,其值為fosc/12。工作方式1和方式3:波特率是可變的,波特率=(2SMOD/32)定時器T1的溢出率工作方式2:

20、波特率有兩種固定值。當SM0D=1時,波特率=(2SM0D/64)fosc=fosc/32當SM0D=0時,波特率=(2SM0D/64)fosc=fosc/64 定時器的溢出率是指在1秒鐘內產(chǎn)生溢出的次數(shù)。定時器的溢出率與定時器的工作模式有關,可以改變單片機內部的特殊功能寄存器TMOD中的T1方式字段中的M1、M0二位,即TM0D.5和TMOD.4位,選擇定時器工作的四種工作模式中的一種進行工作。在串行口通信中,一般都使定時器T1工作在模式2。 在工作方式2時,T1為8位自動裝入定時器,由TL1進行計數(shù)。 因此定時器T1的溢出與系統(tǒng)的時鐘頻率fosc有關,也與每次溢出后TL1重新裝載值N有關。

21、N值越大,定時器T1的溢出率也就越大。 當N=0FFH時,每隔12個時鐘周期,定時器T1就溢出一次。一般情況下,定時器T1溢出一次所需要的時間為: (28N)12時鐘周期=(28N)12/fosc(秒) 2、定時器T1的溢出率計算定時器每秒所溢出的次數(shù)為: 定時器T1的溢出率=fosc/(12(28N)。 式中的N為時間常數(shù),即TH1的預置初值。 例如:系統(tǒng)的時鐘頻率fosc=12MHz,TH1的預置值N=E6H,定時器T1在工作模式2下的溢出率為: 12106/12/(28E6H)38461.5次/秒。 若SMOD=1,串口傳輸數(shù)據(jù)的波特率是多少? 設波特率用B表示,計數(shù)初值用N表示,則波特

22、率B與T1計數(shù)初值N之間的關系可以表示為:)256(12322NfBOSCSMODBfBfNOSCSMODOSCSMOD384225612322256【例6-1】若fosc=6MHz,波特率為2400波特,設SMOD=1,則定時/計數(shù)器T1的計數(shù)初值為多少? N = 256-2SMODfosc /(24003212) = 242.98243 =F3H將N=F3H帶入公式,反過來求B=2403.846,誤差率 0.16%若fosc=11.0592MHz,波特率為2400,設SMOD=0,則N=F4H。3、波特率與計數(shù)初值的關系 解決的方法只有調整單片機的時鐘頻率fosc,通常采用11.0592M

23、Hz晶振。常用波特率及其產(chǎn)生條件 常用波特率通常按規(guī)范取1200、2400、4800、9600、,若采用晶振12MHz和6MHz,則計算得出的T1定時初值將不是一個整數(shù),產(chǎn)生波特率誤差而影響串行通信的同步性能。 財富是一時的朋友,而朋友才是永久的財富; 每個人都有五個不停旋轉的球:工作、健康、家庭、朋友和靈魂。工作是橡膠球,掉下去會彈起來;而另外四個都是玻璃球,掉了-就碎了。單片機串行通信系統(tǒng)單片機串行通信系統(tǒng)串行通信接口概述串行通信接口概述1 1串行通信工作方式串行通信工作方式3 3串行通信波特率設置串行通信波特率設置4 4串行通信應用舉例串行通信應用舉例5 5串行通信應用舉例串行通信應用舉

24、例5 5串行通信接口串行通信接口2 2五、串行通信應用舉例1、 串行口的編程 串行口需初始化后,才能完成數(shù)據(jù)的輸入、輸出。初始化過程如下: 按選定串行口的工作方式設定SCON的SM0、SM1;對于工作方式2或3,應根據(jù)需要在TB8中寫入待發(fā)送的第9位 數(shù)據(jù);若選定的工作方式不是模式0,還需設定接收/發(fā)送的波特率;設定SMOD的狀態(tài),以控制波特率是否加倍;若選定工作方式1或3,則應對定時器T1進行初始化操作,即設定T1的工作方式和初值,以設定其溢出率。 電路如圖6-8所示,試編制程序輸入K1K8的狀態(tài)信息,并存入內RAM 40H。 圖6-8 串行通訊方式0應用。圖6-8 串行通訊方式0應用2、

25、工作方式0應用舉例 4014 是一個并入串出轉換芯片,Q8端為串行數(shù)據(jù)輸出端,CLK為時鐘脈沖輸入端,P/S為操作控制端,P/S=1:鎖存并行輸入數(shù)據(jù),P/S=0:允許串行移位操作。 要完成題目的要求,應先將開關狀態(tài)鎖存,然后串行輸入單片機。 C語言參考程序: # include sbit P1_0=P10; /定義P1.0口void main() /主函數(shù)unsigned char i; P1_0=1; /鎖存并行輸入數(shù)據(jù)P1_0=0; /允許串行移位操作SCON=0 x00; /設定串行口為方式0while (!RI) ; /等待接收完畢i=SBUF; /存入K1K8狀態(tài)數(shù)據(jù)RI=0; /

26、清中斷標志【 例 3 】 設 甲 乙 兩 機 以 串 行 方 式 1 進 行 數(shù) 據(jù) 傳 送 ,fosc=11.0592MHz,波特率為1200b/s。甲機發(fā)送的16個字節(jié)數(shù)據(jù)存在內RAM40H4FH單元中,乙機接收后存在內RAM 50H為首的地址區(qū)域中。 T1初值 =解:串行方式1波特率取決于T1溢出率(設SMOD=0),計算T1定時初值3、 工作方式1應用舉例120012110592003222560= 232 = E8HC語言參考程序:甲機發(fā)送程序:#include /包含特殊功能寄存器庫#define uchar unsigned charuchar idata buf16; /要發(fā)送

27、的16個數(shù)據(jù)uchar i; /變量i, 循環(huán)發(fā)送的次數(shù)記錄void main( ) /主函數(shù)TMOD=0 x20; /置T1定時器工作方式2TL1=0 xE8; TH1=0 xE8; /置T1計數(shù)初值PCON=0 x00; /置SMOD=0SCON=0 x40; /工作在方式1,不允許接收 TR1=1; / T1啟動計數(shù)for(i=0;i16;i+) /循環(huán)發(fā)送16個數(shù)據(jù)SBUF=bufi; /發(fā)送數(shù)據(jù)while(TI= =0); /等待發(fā)送完畢TI=0; /發(fā)送完后清中斷標志 乙機接收程序如下: #include /包含特殊功能寄存器庫#define uchar unsigned char

28、 /定義uchar為無符號字符數(shù)據(jù)類型uchar i; /變量i,作為接收數(shù)據(jù)的次數(shù)記錄。void main( ) /主函數(shù)unsigned char *P; P=0 x50; /定義指針變量并賦初值TMOD=0 x20; /置T1定時器工作方式2TL1=0 xE8; TH1=0 xE8;/置T1計數(shù)初值PCON=0 x00; /置SMOD=0SCON=0 x50; /工作在方式1,允許接收 TR1=1; / T1啟動計數(shù)for(i=0;i16;i+) /循環(huán)體(連續(xù)接收16個數(shù)據(jù))while(RI= =0); /等待接收數(shù)據(jù)*P =SBUF; /接收數(shù)據(jù),送指定單元RI=0; /收完一個字節(jié)

29、的數(shù)據(jù)后清中斷標志P+; /地址加1,準備存放下一個數(shù)據(jù) 【例6-4】設計一個串行方式2收發(fā)程序,設SMOD=1,波特率固定為fosc/32。甲機串行發(fā)送片內RAM50H-5FH中的數(shù)據(jù),第9位數(shù)據(jù)作為奇偶校驗位,接到接收方核對正確的回復信號(用FFH表示)后,再發(fā)送下一字節(jié)數(shù)據(jù),否則再重發(fā)一遍。乙機將接收到的數(shù)據(jù)存在首址為40H的內RAM中,并核對奇偶校驗位。核對正確,發(fā)出回復信號FFH;發(fā)現(xiàn)錯誤,發(fā)出回復信號00H,并等待重新接收。4、 工作方式2應用舉例C語言參考程序:甲機發(fā)送: #include /包含特殊功能寄存器庫#define uchar unsigned char /定義uchar為無符號字符數(shù)據(jù)類型uchar idata buf16; /發(fā)送的16個數(shù)據(jù)存放在buf數(shù)組中.uchar dat; uchar i; sbit P=PSW0; /定義PSW0位變量void main( ) /主函數(shù)PCON=0 x80; /置SMOD=1SCON=0 x90; /串行口工作在方式2,允許接收do /循環(huán)體for(i=0;i16;i+) / 連續(xù)發(fā)送16個數(shù)據(jù)dat = buf i;

溫馨提示

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

評論

0/150

提交評論