freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)c語言應(yīng)用與開發(fā)第6章-資料下載頁

2025-05-12 11:36本頁面
  

【正文】 ? 起始位為 0信號,占用一位,用來表示一幀信息的開始;其后就是數(shù)據(jù)位,可以為 5~ 8位,傳送時(shí)低位在先、高位在后;再后面的是奇偶校驗(yàn)位(即可編程位),只占一位;最后是停止位,它用邏輯 1來表示一幀信息的結(jié)束,可以是 1位、 1位半或 2位。 ? (2) 同步通信方式 ? 同步通信方式要求發(fā)收雙方具有同頻同相的同步時(shí)鐘信號,使雙方達(dá)到完全同步。數(shù)據(jù)傳送是以數(shù)據(jù)塊(一組字符)為單位,字符與字符之間、字符內(nèi)部的位與位之間都同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步的關(guān)系,也保持字符同步的關(guān)系。發(fā)送端首先發(fā)送一個(gè)或兩個(gè)同步字符,當(dāng)發(fā)送方和接收方達(dá)到同步后,就可以一個(gè)字符接一個(gè)字符地發(fā)送一大塊數(shù)據(jù),而不再需要用起始位和停止位了,這樣可以明顯地提高數(shù)據(jù)的傳輸速率。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 發(fā)送方對接收方的同步可以通過外同步和自同步兩種方法來實(shí)現(xiàn),如下圖 639所示。 ? 3.單片機(jī)串行口簡介 ? 為了使單片機(jī)能夠?qū)崿F(xiàn)串行通信, 80C51系列單片機(jī)芯片的內(nèi)部設(shè)計(jì)了 UART串行接口,它是一個(gè)全雙工的串行通信端口,能夠同時(shí)進(jìn)行接收和發(fā)送數(shù)據(jù)。其幀格式有 8位、 10位和 11位三種,能夠設(shè)置各種波特率,使用方便、靈活。 ? 80C51串行口的結(jié)構(gòu)如圖 640所示,在進(jìn)行串行通信時(shí),外部數(shù)據(jù)通過 RXD()輸入。輸入數(shù)據(jù)首先逐位進(jìn)入移位寄存器,將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),再送入接收寄存器。發(fā)送時(shí),要發(fā)送的數(shù)據(jù)通過發(fā)送端的控制邏輯門電路逐位通過 TXD()輸出。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? (1) 數(shù)據(jù)緩沖寄存器 SBUF ? 兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器寄存器 SBUF,它們占用同一地址 99H。讀寫不會因?yàn)槭峭坏刂樊a(chǎn)生沖突,因?yàn)?CPU讀數(shù)據(jù)就是讀接收器寄存器,CPU寫數(shù)據(jù)就是寫發(fā)送寄存器。 ? (2) 狀態(tài)控制寄存器 SCON ? SCON 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收 /發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志,既可按字節(jié)尋址也可按位尋址,字節(jié)地址位 98H,位地址為 98H~ 9FH。各位定義如下所示: 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? ① SM0和 SM1為工作方式選擇位,可選擇四種工作方式,如表 63所示: ? ② 在方式 0中, SM置為 0;在方式 1中,當(dāng)串行口處于接收狀態(tài)時(shí),若 SM2=1,只有接收到有效地停止位才將 RI置 1;在方式 2和方式 3中, SM2主要用于進(jìn)行多機(jī)通信控制。當(dāng) SM2=1且 RB=1,則 RI置 1,產(chǎn)生中斷請求,將接收到的 8位數(shù)據(jù)送入 SBUF。當(dāng)SM2=0,不管 RB是否為 1,都將接收到的 8位數(shù)據(jù)送入 SBUF,并產(chǎn)生中斷。 ? ③ REN=1時(shí),允許接收; REN=0時(shí),禁止接收。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? ⑤ 在方式 2或方式 3中 RB8和 TB8相呼應(yīng)。 ? ⑥ 方式 0中,發(fā)送完 8位數(shù)據(jù)后,由硬件置 TI=1,其他方式中,在發(fā)送停止位之初就由硬件置 TI=1。 ? ⑦ 方式 0中,接收完 8位數(shù)據(jù)后,由硬件置 RI=1,其他方式中,在接收停止位中間由硬件置 RI=1。 ? (3) 串行口初始化設(shè)置 在串行口工作之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器 串行口控制和終端控制。具體步驟如下: ? ① 確定定時(shí)器 T1的工作方式 (編程 TMOD寄存器 ); ? ② 計(jì)算定時(shí)器 T1的初值,裝 TH TL1; ? ③ 啟動(dòng)定時(shí)器 T1(編程 TCON中的 TR1位 ); ? ④ 確定串行口控制 (編程 SCON寄存器 ); ? ⑤ 串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置 (編程IE、 IP寄存器 )。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 在串行通信中,收發(fā)雙方對發(fā)送或接受數(shù)據(jù)的速率(波特率 )要有約定。以串行口工作方式 1, SMOD=0為例,它的波特率計(jì)算方法如下: ? 方式 1的波特率= (2SMOD/32) (T1的溢出率 ) ? 當(dāng) T1作為波特率發(fā)生器時(shí),最典型的用法是使 T1工作在自動(dòng)在裝入的 8位定時(shí)器方式下 (即定時(shí)器的方式 2,且 TCON的 TR1=1,以啟動(dòng)定時(shí)器 ),這時(shí)溢出率取決于 TH1中的計(jì)數(shù)值。 ? T1溢出率 =fosc/[12 (256- TH1)] //fosc為單片機(jī)的頻率 () 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 單片機(jī)與 PC機(jī)的通信 單片機(jī)和 PC機(jī)的串行通信一般采用 RS232C、 RS422或 RS485總線標(biāo)準(zhǔn)接口。為保證通信的可靠,在選擇接口時(shí)必須注意: (1)通信的速率; (2)通信距離;(3)抗干擾能力; (4)組網(wǎng)方式。這里介紹采用 RS232C接口與單片機(jī)通信的方法。 RS232C是在 RS232基礎(chǔ)上經(jīng)過改進(jìn)而形成的。RS232C標(biāo)準(zhǔn)是 1969年由美國 EIA(電子工業(yè)聯(lián)合會 )與BELL等公司一起開發(fā)公布的一種串行通信協(xié)議,它適合于數(shù)據(jù)傳輸速率在 0~ 20kb/s范圍內(nèi)的通信。由于通行設(shè)備廠商都生產(chǎn)與 RS232制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在計(jì)算機(jī)通信接口中廣泛應(yīng)用。 ? 1.單片機(jī)與 PC機(jī)的通信電路 ? RS232C標(biāo)準(zhǔn)規(guī)定的邏輯電平使用 3V~ 15V表示邏輯“ 1”,使用 +3V~ +15V表示邏輯“ 0”,與 TTL等數(shù)字電路的邏輯電平不兼容,因此單片機(jī)和 PC機(jī)之間相互連接時(shí)必須先進(jìn)行邏輯電平的轉(zhuǎn)換。這里選用 MAX232作為電平轉(zhuǎn)換芯片,它與 RS232接口的連接電路圖如下圖 641所示,其中 RS232接口的第 2腳是 TXD,第 3腳是 RXD。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 2.單片機(jī)與 PC機(jī)的通信程序設(shè)計(jì) ? (1) 查詢方式串行通信 ? 單片機(jī)以查詢方式接收 PC機(jī)發(fā)送數(shù)據(jù)的程序流程如圖 642所示( P1接發(fā)光二極管)。 ? 程序如下: include define uchar unsigned char uchar a。 void main() { TMOD=0x20。 //設(shè)置定時(shí)器工作方式 TL1=0xfd。 TR1=1。 TH1=0xfd。 //設(shè)置波特率 9600 SCON=0x50。 while(1) { if(RI) { RI=0。 a=SBUF。 P1=a。 } } } 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? (2) 中斷方式串行通信 ? 查詢方式雖然可以實(shí)現(xiàn)單片機(jī)與 PC機(jī)的串行通信,但程序需停在此處不斷查詢標(biāo)志位 RI的狀態(tài),占用了 CPU的資源。實(shí)際應(yīng)用中,常以串口中斷的方式實(shí)現(xiàn)單片機(jī)與 PC機(jī)的串行通信。一個(gè)以串口中斷的方式實(shí)現(xiàn) PC機(jī)與單片機(jī)之間進(jìn)行字符串傳輸?shù)闹袛喾?wù)子程序流程如圖 643所示。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 單片機(jī)之間的通信 80C51的方式 2和方式 3可以被用于多機(jī)通信,也可以方便的應(yīng)用在多機(jī)分布式系統(tǒng)之中。在這種方式中通常采用一個(gè)主機(jī)和多個(gè)從機(jī)的方式。 ? 1.兩個(gè)單片機(jī)之間的通信 ? 雙機(jī)通信也稱為點(diǎn)對點(diǎn)的異步通信。利用單片機(jī)的串行口,可以實(shí)現(xiàn)單片機(jī)與單片機(jī)的串行通信。如果兩個(gè)單片機(jī)之間的距離較短,可以直接連接兩個(gè)單片機(jī)的串行端口,連接時(shí)將一方的 TXD和另一方的 RXD相連。當(dāng)兩個(gè)單片機(jī)的距離較遠(yuǎn)時(shí),采用RS232或者 RS422標(biāo)準(zhǔn)總線接口進(jìn)行雙機(jī)通信,可使通信距離增加到 15m~ 120m。 ? 圖 644所示是兩個(gè) 80C51間進(jìn)行點(diǎn)對點(diǎn)雙機(jī)異步通信的連接方法,信號采用 RS232電平傳輸,并用MAX232芯片進(jìn)行電平轉(zhuǎn)換。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 2.串行多機(jī)通信 在實(shí)際應(yīng)用中,經(jīng)常會遇到多個(gè)單片機(jī)協(xié)調(diào)工作的情況,這就需要構(gòu)建一個(gè)點(diǎn)對多點(diǎn)的分布式多機(jī)通信系統(tǒng), 80C51的方式 2和方式 3可以被用于多機(jī)通信。在這種方式中通常采用一個(gè)主機(jī)和多個(gè)從機(jī)的方式。 ? (1) 硬件連接 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 單片機(jī)構(gòu)成的多機(jī)系統(tǒng)常采用總線型主從式結(jié)構(gòu)。所謂主從式,即在數(shù)個(gè)單片機(jī)中,有一個(gè)是主機(jī),其余的是從機(jī),從機(jī)要服從主機(jī)的調(diào)度和支配。AT89C52單片機(jī)的串行口方式 2和方式 3就適于這種主從式的通信結(jié)構(gòu)。當(dāng)然采用不同的通信標(biāo)準(zhǔn)時(shí),還需進(jìn)行相應(yīng)的電平轉(zhuǎn)換,有時(shí)還要對信號進(jìn)行光電隔離。在實(shí)際的多機(jī)應(yīng)用系統(tǒng)中,常采用 RS485串行標(biāo)準(zhǔn)總線進(jìn)行數(shù)據(jù)傳輸,示意圖如下圖 645所示。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? (2) 通信協(xié)議 在點(diǎn)對多點(diǎn)的多機(jī)通信系統(tǒng)中,關(guān)鍵問題是如何識別各個(gè)點(diǎn)。這主要是靠主、從機(jī)之間正確地設(shè)置與判斷多機(jī)通信控制位 SM2和發(fā)送接收的第 9位數(shù)據(jù)來實(shí)現(xiàn)。 點(diǎn)對多點(diǎn)通信的流程如下: ? ① 所有從機(jī)處于方式 2或方式 3狀態(tài),同時(shí)置 SM2位為 1,使從機(jī)處于接收地址幀狀態(tài)。 ? ② 主機(jī)置 TB8=1,發(fā)送一地址幀,其中 8位是地址,第 9位為地址幀 /數(shù)據(jù)幀的區(qū)分標(biāo)志,該位置 1表示該幀為地址幀。 ? ③ 所有從機(jī)收到地址幀后,都將接收的地址與本機(jī)的地址比較。對于地址相符的從機(jī),使自己的 SM2位置 0(以接收主機(jī)隨后發(fā)來的數(shù)據(jù)幀),并把本機(jī)地址發(fā)回主機(jī)作為應(yīng)答;對于地址不符的從機(jī),仍保持 SM2=1,對主機(jī)隨后發(fā)來的數(shù)據(jù)幀不予理睬。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? ④ 主機(jī)收到從機(jī)應(yīng)答地址后,確認(rèn)地址是否相符,如果地址不符,發(fā)復(fù)位信號,保持 TB8=1;如果地址相符,則置 TB8=0,開始發(fā)送數(shù)據(jù)。 ? ⑤ 從機(jī)接收數(shù)據(jù)結(jié)束后,要發(fā)送一幀校驗(yàn)和,并置第 9位( TB8)為 1,作為從機(jī)數(shù)據(jù)傳送結(jié)束的標(biāo)志。 ? ⑥ 主機(jī)接收校驗(yàn)幀時(shí)先判斷數(shù)據(jù)接收標(biāo)志( RB8),若 RB8=1,表示數(shù)據(jù)傳送結(jié)束,并比較此幀校驗(yàn)和,若正確則回送正確信號 0x00,此信號命令該從機(jī)復(fù)位(即重新等待地址幀);若校驗(yàn)和出錯(cuò),則發(fā)送0xFF,命令該從機(jī)重發(fā)數(shù)據(jù)。若接收幀的 RB8=0,則存數(shù)據(jù)到緩沖區(qū),并準(zhǔn)備接收下幀信息。 ? ⑦ 從機(jī)收到復(fù)位命令后回到監(jiān)聽地址狀態(tài)( SM2=1),否則開始接收數(shù)據(jù)和命令。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? I2C總線技術(shù) 近年來,芯片間的串行數(shù)據(jù)傳輸技術(shù)被大量采用,串行擴(kuò)展接口和串行擴(kuò)展總線的設(shè)置大大簡化了系統(tǒng)結(jié)構(gòu)。由于串行總線連接線少,總線的結(jié)構(gòu)比較簡單,不需要專用的接口,可以直接用導(dǎo)線連接各種芯片,因此,采用串行總線可以使系統(tǒng)的硬件設(shè)計(jì)簡化,系統(tǒng)的體積減小,可靠性提高,同時(shí),系統(tǒng)易于更改和擴(kuò)充。 目前,單片機(jī)應(yīng)用系統(tǒng)中使用的串行總線主要采用 I2C總線、 SPI總線、1Wire總線和 SMBUS等幾種方式。這里主要對 I2C總線進(jìn)行介紹。 ? I2C總線 I2C總線是 PHLIPS公司推出的一種串行總線,是具備多主機(jī)系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高能串行總線。 ? 1. I2C總線的基本結(jié)構(gòu) ? I2C只有兩根雙向信號線,一根是數(shù)據(jù)線 SDA,另一根是時(shí)鐘線 SCL。所有連接到 I2C總線上的設(shè)備,其串行數(shù)據(jù)都接到總線的 SDA線上,而各設(shè)備的時(shí)鐘均接到總線的 SCL線上, I2C總線的基本結(jié)構(gòu)如圖 646所示。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? 為了進(jìn)行通信,每個(gè)接到 I2C總線上的器件都有唯一的地址。主機(jī)與其他器件間進(jìn)行數(shù)據(jù)傳送時(shí),數(shù)據(jù)由主機(jī)發(fā)送到其他器件,這時(shí)主機(jī)稱為發(fā)送器,接受數(shù)據(jù)的器件則為接收器。 ? 2.?dāng)?shù)據(jù)傳輸 ? (1) 數(shù)據(jù)位的有效性規(guī)定 ? I2C總線進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時(shí)鐘信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化,時(shí)序圖如圖 647所示。 第 6章 ELITEIII開發(fā)應(yīng)用實(shí)例 ? (2) 起始和停止條件 ? I2C總線的協(xié)議規(guī)定: SCL線為高電平期間, SDA線由高電平向低電平的變化表示起始信號。 SCL線為高電平期間, SDA線由低電平向高電平的變化表示終止信號,示意圖如圖 648。起始和終止信號都是由主機(jī)發(fā)出的,在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號產(chǎn)生后,總線就處于空閑狀態(tài)。 第 6章 ELITEIII開
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1