




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機的串行接口基本概念、工作原理和應(yīng)用編程本章介紹的主要內(nèi)容串行通信的基本概念串行通信接口結(jié)構(gòu)和工作原理串行通信的控制寄存器串行通信的應(yīng)用編程 8 .1 概 述 單片機應(yīng)用與數(shù)據(jù)采集或工業(yè)控制時,往往作為前端機安裝在工業(yè)現(xiàn)場,遠離主機,現(xiàn)場數(shù)據(jù)采用串行通信方式發(fā)往主機進行處理,以降低通信成本,提高通信可靠性。如下圖所示。 數(shù)據(jù)通信方式有兩種:并行通信與串行通信。下面是兩種通信方式的示意圖:并行通信: 所傳送數(shù)據(jù)的各位同時發(fā)送或接收,數(shù)據(jù)有多少位就需要多少根數(shù)據(jù)線。 特點:速度快,成本高,適合近距離傳輸。如計算機并口,打印機,8255 。 串行通信: 所傳送數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收
2、。只需一根數(shù)據(jù),一根地線,共2根(如雙向通信發(fā)送和接收各需1根數(shù)據(jù)線。) 特點:成本低,硬件方便,適合遠距離通信,傳輸速度低。 通信的雙方應(yīng)該有一個約定,什么時候開始發(fā)送,什么時候發(fā)送完畢;接收方收到的信息是否正確等,這就是通信協(xié)議。串行通信的分類:同步串行通信和異步串行通信一、異步通信: 異步串行通信一幀數(shù)據(jù)格式: 一個起始位 “0”,表示字符的開始,然后是58位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接 下來是奇偶校驗位(可省略),最后以停止位“1”表示字符的結(jié)束。優(yōu)點:硬件結(jié)構(gòu)簡單。缺點:傳輸速度慢。P1D0D1D2D3D4D5D6D7P10第n個字符(一幀)n-1n+10D0起始位
3、數(shù)據(jù)位(58位)校驗位停止位SYN字符1SYN字符2數(shù)據(jù)1數(shù)據(jù)2.數(shù)據(jù)n連續(xù)傳送n 個數(shù)據(jù)校驗二、同步通信 在同步通信中,發(fā)送方在數(shù)據(jù)或字符開始處就用同步字符(常約定12個字節(jié))指示一幀的開始 ,由時鐘來實現(xiàn)發(fā)送端和接收端同步,接收方一旦檢測到與規(guī)定的同步字符符合,下面 就連續(xù)按順序傳送若干個數(shù)據(jù) ,最后發(fā)校驗字節(jié)。見下圖:2. 半雙工方式 三、單工、半雙工、全雙工通信方式按通信方向分類:單工、半雙工、全雙工通信方式 1.單工方式: 一端是發(fā)送端,另外一端是接收端:電臺與收音機 每端口有一個發(fā)送器和一個接收器,通過開關(guān)連接在線路上,數(shù)據(jù)可以雙向傳送,但不能同時發(fā)送和接收. 要通過換向器轉(zhuǎn)換方向
4、。對講機 通信雙方用兩個獨立的收發(fā)器單獨連接,可以同時發(fā)送和接收數(shù)據(jù),因而提高了速度。 機 3. 全雙工方式 在串行傳輸中,通信的雙方都按通信協(xié)議進行,所謂通信協(xié)議就是通信雙方必須共同遵守的 一種約定,約定包括數(shù)據(jù)的格式、同步的方式、傳送的步驟、檢糾錯方式及控制字符的定義 等。 串行接口的基本任務(wù)就是: 1.實現(xiàn)數(shù)據(jù)格式化 因為CPU發(fā)出的數(shù)據(jù)是并行數(shù)據(jù),接口電路應(yīng)實現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化任務(wù), 如自動生成起止方式的幀數(shù)據(jù)格式(異步方式)或在待傳送的數(shù)據(jù)塊前加上同步字符等。2.進行串、并轉(zhuǎn)換 在發(fā)送端,接口將CPU送來的并行信號轉(zhuǎn)換成串行數(shù)據(jù)進行傳送;而在接收端,接口要將接 收到串行
5、數(shù)據(jù)變成并行數(shù)據(jù)送往CPU,由CPU進行處理。3.控制數(shù)據(jù)的傳輸速率 接口應(yīng)具備對數(shù)據(jù)傳輸率波特率的控制選擇能力,即具有波特率發(fā)生器。4.進行傳送錯誤檢測 在發(fā)送時,對傳送的數(shù)據(jù)自動生成校驗位或校驗碼,在接收端能檢查校驗位或校驗碼,以確定傳送中是否有誤碼。 51系列單片機內(nèi)有一個全雙工的異步通信接口,通過對串行接口寫控制字可以選擇其數(shù)據(jù)格式,同時內(nèi)部有波特率發(fā)生器,提供可選的波特率,可完成雙機通信或多機通信。4. 串行通信接口 串行接口通常分為兩種類型:串行通信接口和串行擴展接口。 串行通信接口(Serial Communication Interface,SCI) 是指設(shè)備之間的互連接口,它
6、們互相之間距離比較長。如當(dāng)代PC機的COM接口(COM1-COM4)和USB接口。 USB(Universal Serial Bus,通用串行總線)是近幾年開發(fā)的新規(guī)范,它使得設(shè)備的連接簡單快捷,并且支持熱插拔,易于擴展,被廣泛應(yīng)用于PC機和嵌入式系統(tǒng)上。 近年來推出有RS-422/423、RS-485等串行通信標準,其采用平衡通信接口,即在發(fā)送端將TTL電平信號轉(zhuǎn)換成差分信號輸出,接收端將差分信號變成TTL電平信號輸入,提高了抗干擾能力,使通信距離增加到幾十米至上千米,并且增加了多點、雙向通信能力。 PC機上的COM1-COM4口使用的是RS-232C串行通信標準接口,本章僅介紹RS-232
7、C接口,其它接口可參考有關(guān)資料。 以上標準都有專用芯片實現(xiàn)通信協(xié)議,這些接口芯片稱為收發(fā)器。 串行擴展接口是設(shè)備內(nèi)部器件之間的互連接口,常用的串行擴展接口規(guī)范有SPI、I2C等。串行接口擴展的芯片很多,可以根據(jù)需要選擇。 五. 波特率 單位時間內(nèi)傳送的信息量。在計算機中,以每秒傳送的二進制位數(shù)為單位。例如:100字符/秒,1個字符11位, 波特率為:10011=1100(波特) 平均每位傳送占用時間 六. 串行通信總線標準及接口(一)通信線的連接 通信速率和通信距離這兩個方面是相互制約的,降低通信速率,可以提高通信距離. 不同的通信距離,串行通信電路有不同的連接方法 RXD TXD GNDRX
8、DTXDGNDRXDTXDGND電平轉(zhuǎn)換RXDTXDGNDRXDTXDGND電平轉(zhuǎn)換RXDTXDGND微機微機其他設(shè)備較遠距離傳送電路近距離傳送電路RS-232RS-232微機接口調(diào)制解調(diào)器調(diào)制解調(diào)器接口微機電話分機電話分機遠距離傳送電路 數(shù)字信號通過調(diào)制器變成模擬信號通過 線傳送到對方,接收方通過解調(diào)器將模擬信號轉(zhuǎn)換成數(shù)字信號接收。 測控系統(tǒng)中,計算機通信主要采用異步串行通信方式,常用的異步總線標準有三種:1、RS-232(RS-232A RS-232B RS-232C)2、RS-449 (RS422 RS423 RS485)3、20mA電流環(huán) 這里重點介紹RS-232 RS-232C:速率
9、:20Kbit/S, 最大通信距離 : 15m RS422: 10Mbit/s, : 300m 90Kbit/s, :1200m(二)串行通信接口總線標準抗干擾能力 采用標準的通信接口,本身具有一定的抗干擾能力,但是工業(yè)現(xiàn)場的情況往往很惡劣,因而要根據(jù)具體情況進行選擇。 RS232C:一般場合 RS422: 共模信號比較強 光纖: 電磁干擾較強二、RS232C 美國電子工業(yè)協(xié)會(EIA)公布的一種異步通信標準。 RS232C標準是:設(shè)備之間通信的距離不大于15米最大傳輸速率20KB/S采用負邏輯:“1” 5V 15V “0” +5V + 15V不帶負載時輸出電平:25V +25V輸出短路電流:
10、 最大負載電容: 2500pF 當(dāng)計算機采用RS232標準時必須通過電平,MAX232 是EIA和TTL電平轉(zhuǎn)換芯片。內(nèi)部具有電壓提升電路,并有兩路接收器和發(fā)送器。其連線和引腳如圖。 TTL電平可以由專用集成電路轉(zhuǎn)換成RS232C標準; 如: MC1488 或 75188 TTL RS232C 從MC1489 或 75189 RS232C TTL 由于MC1488需要采用12V電源,一般在單片機通信中大量使用的是只需要+5V電源、具有發(fā)送和接收的一體化芯片,如:MAX232、ICL232、ADM202等。 MAX232的引腳和電路如下: RXD TXD GNDTXDGND8xx518xx51R
11、XDMCS51和PC機的雙機通信MCS51和PC機的雙機通信見下圖 MCS51之間的雙機通信8.2 MCS-51的串行口結(jié)構(gòu) 51單片機有一個可編程的全雙工異步串行通信接口,它可作異步串行通信(UART)用,也可作同步移位寄存器,其幀格式可有8位、10位或l l位,并能設(shè)置各種波特率,給使用者帶來很大的靈活性。 一、串行口的內(nèi)部結(jié)構(gòu) 51單片機通過引腳RXD(P3.0)串行數(shù)據(jù)接收端和引腳TXD(P3.l)串行數(shù)據(jù)發(fā)送端與外界進行通信。 圖中有兩個物理上獨立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H,可同時發(fā)送、接收數(shù)據(jù)。 發(fā)送緩沖器只能寫入,不能讀出,CPU寫SBUF,一方面修改發(fā)送
12、寄存器,同時啟動數(shù)據(jù)串行發(fā)送; 接收緩沖器只能讀出、不能寫入。讀SBUF,就是讀接收寄存器。串行控制寄存器SCON 用以存 放串行口的控制和狀態(tài)信息。8XX51串行口正是通過對上述專用寄存器的設(shè)置、檢測與讀取來管理串行通信的。特殊功能寄存器PCON的最高位SMOD為串行口波特率的倍增控制位。波特率發(fā)生器 可以有兩種選擇: 1. 定時器T1作波特率發(fā)生器,改變計數(shù)初值就可以改變串行通信的速率,稱為可變波特率。 2. 以內(nèi)部時鐘的分頻器作波特率發(fā)生器,因內(nèi)部時鐘頻率一定,稱為固定波特率shift串行數(shù)據(jù)CPU SBUFMOV A , SBUFshiftMOV SBUF , A并行數(shù)據(jù)甲方(發(fā)送)乙
13、方(接收) TICPU SBUF并行數(shù)據(jù)RI 甲方發(fā)送時,CPU執(zhí)行指令 MOV SBUF , A 啟動了發(fā)送過程,數(shù)據(jù)并行送入SBUF ,在發(fā)送時鐘 shift的控制下由低位到高位一位一位發(fā)送,乙方在接收時鐘 shift 的控制下由低位到高位 順序進入移位寄存器SBUF ,甲方一幀數(shù)據(jù)發(fā)送完畢,置位發(fā)送中斷標志TI,該位可作為查詢標志(或引起中斷),CPU可再發(fā)送下一幀數(shù)據(jù) 。二、串行通信的傳送過程用下面簡圖說明乙方一幀數(shù)據(jù)到齊即接收緩沖器滿,置位接收中斷標志RI,該位可作為查詢標志(或引起接收中斷),通過MOV A ,SBUF CPU將這幀數(shù)據(jù)并行讀入。 由上述可知:甲、乙方的移位時鐘頻率
14、應(yīng)相同,即應(yīng)具有相同的波特率,否則會造成數(shù)據(jù)丟失。發(fā)送方是先發(fā)數(shù)據(jù)再查標志,接收方是先查標志再收數(shù)據(jù)。 CPU通過指令和SBUF并行交換數(shù)據(jù),并不能控制數(shù)據(jù)的串行移位,它只能查詢標志位來確定數(shù)據(jù)的移位是否完成。三、串行口的控制寄存器 51單片機串行口是一個可編程接口,對它的編程只用兩個控制字分別寫入特殊功能寄存器: 串行口控制寄存器SCON(98H) 電源控制寄存器PCON(97H) SM0SM1 SM2RENTB8RB8TIRI方式選擇多機控制串行接收允許/ 禁止欲發(fā)的第九位收到的第九位發(fā)送中斷有/無接收中斷有/無8.3 串行口的控制寄存器 8.3.1 串行口的控制寄存器SCON 8XX51
15、串行通信的方式選擇 ,接受和發(fā)送控制及串行口的標志均由專用寄存器SCON控制和指示,其格式如下:SM0.SM1:串行口工作方式控制位。 0 0-方式0, 0 1-方式1 1 0-方式2, 1 1-方式3REN:串行接收允許位。 0-禁止接收, 1-允許接收TB8: 在方式2,3中,TB8是發(fā)送機要發(fā)送的第9位數(shù)據(jù)。RB8:在方式2,3中,RB8是接受機收到的第9位數(shù)據(jù),該數(shù)據(jù)來自發(fā)送機的TB8。TI: 發(fā)送中斷標志位。發(fā)送前必須用軟件清零,發(fā)送過程中TI保持零電平,發(fā)送完一幀數(shù)據(jù)后,由硬件置 “1”,如果再發(fā)送,必須用軟件再清零。RI: 接收中斷標志位。 接收前,必須用軟件清零,接收過程中RI
16、保持零電平,接收完一幀數(shù)據(jù)后由片內(nèi)硬件自動置“1”。如果再接收必須用軟件清零。SM2:多機通信控制位,僅用于方式2和方式3。 當(dāng)選擇方式2或方式3時,發(fā)送機設(shè)置SM2=1, 以發(fā)送第九位TB8為1作為地址幀尋找從機,以TB8為0作為數(shù)據(jù)幀進行通信,從機初始化時設(shè)置SM2=1,若接收到的第九位數(shù)據(jù)RB8=0,不置位RI,即不引起接收中斷,亦既不接收數(shù)據(jù)幀,繼續(xù)監(jiān)聽,如接收到的RB8=1,置位RI,引起接收中斷, 中斷程序中判斷所接收的地址幀和本機的地址是否符合,若不符合,維持SM2=1,繼續(xù)監(jiān)聽,若符合,則清SM2,接收對放發(fā)來的后續(xù)信息。綜上所述,SM2的作用為:在方式2, 3中,發(fā)送機SM2
17、=1(程序設(shè)置). 接收機SM2=1,若RB8=1,激活RI,引起接收中斷. RB8=0,不激活RI,不引起接斷. SM2=0,無論RB8=1還是RB8=0均激活RI引起接收中斷。 在方式1中, 當(dāng)接收時SM2=1, 則只有收到有效停止位才激活RI,在方式 0 中, SM2應(yīng)置為0。SMODXXXXXXXPCON87HSMOD : 波特率加倍位。在計算串行方式 1、 2、 3的波特 率時, SMOD 0不加倍; SMOD 1 加倍 PCON的字節(jié)地址為87H,無位地址, 只能字節(jié)尋址,初始化時SMOD=0。 8 .3. 2 電源控制寄存器PCON PCON的格式如下圖所示,串行通信只用其中的最
18、高位SMOD(1)方式0的數(shù)據(jù)格式為8位,低位在前,高位在后(2)RXD為串行數(shù)據(jù)的發(fā)送端或接收端,(3)TXD輸出頻率為fosc/12的時鐘脈沖。(4)波特率固定為fosc/12 (fosc為單片機晶振頻率)8.4 串行口的工作方式 根據(jù)串行通信數(shù)據(jù)格式和波特率的不同, 51系列單片機的串行通信有四種工作方式,通過編程進行選擇,各工作方式的特點如下:1.方式0 移位寄位器方式多用于接口的擴展,當(dāng)用單片機構(gòu)成系統(tǒng)時,往往感到并行口不夠用,此時可通過外接串入并出移位寄存器擴展輸出接口;通過外接并入串出移位寄存器擴展輸入接口,方式 0 也可應(yīng)用于短距離的單片機之間的通信。 使用方式0實現(xiàn)數(shù)據(jù)的移位
19、輸入/輸出時,實際上是把串行口變成并行口使用。串行口作為并行輸出口使用時,要有“串入并出”的移位寄存器配合(例如CD4049或74HC164),其電路連接如圖所示。 如果把實現(xiàn)并入串出功能的移位寄存器(例如CD4014或74HC165)與串行口配合使用,如圖所示,就可以把串行口變?yōu)椴⑿休斎肟谑褂谩?使用74HC164的并行輸出引腳接8支發(fā)光二極管,利用它的串入并出功能,把發(fā)光二極管從左向右輪流點亮,并反復(fù)循環(huán)。發(fā)光二極管為共陰極型,電路連接如圖所示。1.串口方式0應(yīng)用(1) 匯編語言編程 ORG1000HSTART:MOV SCON, #00H;置串行口工作方式0 MOV A, #80H ;最
20、高位燈先亮 OUT0: MOV SBUF, A;開始串行輸出OUT1: JNB TI, OUT1 ;輸出完否?未完, 等待;完了,繼續(xù)執(zhí)行 CLR TI ;完了,清零TI標志位,以備下次發(fā)送 ACALL DELAY ;延時一段時間 RR A ;循環(huán)右移 SJMP OUT0 ;循環(huán);延時子程序DELAY: MOV R7, #250D1: MOV R6, #250D2:DJNZR6, D2 DJNZR7, D1 RET END(2) C51編程#include #include #define out_on P10=1extern void delay(void); /*外部延時函數(shù)*/void
21、main( )unsigned char i;SCON=0 x00; /*串行口方式0工作*/ES=0; /*禁止串行中斷*/ out_on;分析:當(dāng)串行口把8位狀態(tài)碼串行移位輸出后,TI置1。把TI作為狀態(tài)查詢標志,使用查詢方法。for(; ; )for(i=0; i8; i+) SBUF=_cror_(0 x80, i); /*串行輸出*/while(!TI) /*狀態(tài)查詢*/ TI=0; /*清發(fā)送中斷標志*/delay( ); /*狀態(tài)維持*/ 2.方式1 為10位異步通信方式, 每幀數(shù)據(jù)由1個起始位“0”,八個數(shù)據(jù)位和1個停止位“1”共10位構(gòu)成.其中起始位和停止位在發(fā)送時是自動插入
22、的。以TXD為串行數(shù)據(jù)的發(fā)送端,T1提供移位時鐘, RXD為數(shù)據(jù)的接收端,由T1提供移位時鐘,是波特率可變方式:根據(jù)給定的波特率,可以計算T1的計數(shù)初值X。3. 方式 2 11位異步發(fā)送/接收方式,即每幀數(shù)據(jù)由有一個起始位“0”, 9個數(shù)據(jù)位和1個停止位“1”組成。 發(fā)送時9個數(shù)據(jù)位,由SCON寄存器的TB8位提供, 接收到的第9位數(shù)據(jù)存放在SCON寄存器的RB8位。 第9位數(shù)據(jù)可作為檢驗位,也可用于多機通信中識別傳送的是地址還是數(shù)據(jù)的特征位。波特率固定為 11位異步發(fā)送/接收方式,即每幀數(shù)據(jù)由有一個起始位“0”, 9個數(shù)據(jù)位和1個停止位“1”組成。 發(fā)送時9個數(shù)據(jù)位,由SCON寄存器的TB8
23、位提供, 接收到的第9位數(shù)據(jù)存放在SCON寄存器的RB8位。 第9位數(shù)據(jù)可作為檢驗位,也可用于多機通信中識別傳送的是地址還是數(shù)據(jù)的特征位。4. 方式3串行口的波特率有兩種方式:固定波特率可變波特率注意:使用可變波特率時,先確定T1 的計數(shù)初值,并對T1 進行初始化。串行通信的編程方式:查詢方式: 查TI或RI 是否為“1”。中斷方式:如果預(yù)先開了中斷,當(dāng)TI、RI 為“1”,會自動產(chǎn)生中斷。注意:兩種方式中當(dāng)發(fā)送或接受數(shù)據(jù)后都要注意人工清除TI 或RI 。8.5 串行口的應(yīng)用編程查詢方式發(fā)送程序: (先發(fā)后查) 發(fā)送一個數(shù)據(jù)查詢TI 發(fā)送下一個數(shù)據(jù)查詢方式接收程序:(先查后收) 查詢RI讀入一
24、個數(shù)據(jù)查詢RI讀下一個數(shù)據(jù)中斷方式發(fā)送程序: 發(fā)送一個數(shù)據(jù)等待中斷,在中斷中再發(fā)送下一個數(shù)據(jù)。中斷方式接收程序: 等待中斷,在中斷中再接收一個數(shù)據(jù)。T1初始化、啟動T1工作設(shè)定串行通信方式置發(fā)送數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器清TI發(fā)送數(shù)據(jù)TI1?修改地址指針和塊長度計數(shù)器全部數(shù)據(jù)發(fā)送完?開始結(jié)束8.5.1 查詢方式發(fā)送流程圖YNYNT1初始化、啟動T1工作設(shè)定串行通信方式,允許接收置接收緩沖區(qū)首址接收數(shù)據(jù)塊長度清RIRI1?修改地址指針和塊長度計數(shù)器全部數(shù)據(jù)接收完?開始結(jié)束接收數(shù)據(jù)Y8.5.1 查詢方式接受流程圖NYN 中斷方式的初始化編程同查詢方式,不同的是要開中斷,即置位EA和ES,編寫中斷服
25、務(wù)程序。 方式1 通信的中斷方式串行通信的程序流程見下圖:8.5.2 中斷方式設(shè)定T1和SCON置發(fā)送數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器發(fā)送數(shù)據(jù)全部數(shù)據(jù)發(fā)送完?N中斷方式發(fā)送流程圖等待中斷1 EA, 1ES發(fā)送數(shù)據(jù)中斷返回0 EA, 0ES中斷服務(wù)程序主程序修改數(shù)據(jù)地址指針和塊長度計數(shù)器清TIY設(shè)定T1和SCON置位REN允許接受置接收數(shù)據(jù)塊首址數(shù)據(jù)塊長度計數(shù)器全部數(shù)據(jù)接收完?Y中斷方式接收流程圖等待中斷1 EA, 1ES中斷返回0 EA, 0ES中斷服務(wù)程序主程序數(shù)據(jù)送接收緩沖器清RI接收數(shù)據(jù)N例8-1. 在內(nèi)部數(shù)據(jù)存貯器20H3FH單元中共有32個數(shù)據(jù),要求采用方式 1 串行發(fā)送出去, 傳送速率為
26、1200波特,設(shè)fosc12MHZ。方法:T1工作于方式 2 作波特率發(fā)生器,取SMOD0,T1的時間常數(shù)計算如下:發(fā)送程序: ORG 0000H MOV TMOD, #20H ;設(shè)置波特率,T1方式2 MOV TH1, #0E6H MOV TL1, #0E6H ;T1時間常數(shù) SETB TR1 ;啟動T1 MOV SCON, #40H ;串行口工作于方式1 MOV R0, #20H ;R0指發(fā)送緩沖區(qū)首 MOV R7, #32 ;R7作發(fā)送數(shù)據(jù)計數(shù)LO: MOV SBUF,R0 ;發(fā)送數(shù)據(jù) JNB TI, ;一幀未發(fā)完繼續(xù)查詢 CLR TI ;一幀發(fā)完清TI INC R0 DJNZ R7,
27、LO ;數(shù)據(jù)塊未發(fā)完繼續(xù) SJMP 接收程序: ORG 0000H MOV TMOD, #20H ;設(shè)置波特率 MOV TH1, #0E6H MOV TL1, #0E6H SETB TR1 ;初始化T1, 并啟動T1 MOV SCON, #50H ;設(shè)定串行方式1,并允許接收 MOV R0, #20H MOV R7, #32 LOOP:JNB RI, ;一幀收完? CLR RI ;收完清RI MOV R0, SBUF ;將數(shù)據(jù)讀入 INC R0 DJNZ R7, LOOP SJMP 查詢方式 C 語言發(fā)送程序查詢方式 C 語言接收程序#includemain( ) unsigned char
28、i; char *p; TMOD=0 x20; TH1=0 xe6; TL1=0 xe6; TR1=1; SCON=0 x40; p=0 x20;for (i=0;i=32;i+) SBUF=*p; p+; while (!TI); TI=0; #include main( ) unsigned char i; char *p; TMOD=0 x20; TH1=0 xe6;TL1=0 xe6; TR1=1; SCON=0 x50; p=0 x20;for (i=0;i=32;i+) while (!RI); RI=0; *p=SBUF; p+; 中斷方式 C 語言發(fā)送程序#includeTrs
29、 interrupt 4 TI=0; i+; p+; SBUF=*p; main( ) unsigned char i; char *p; TMOD=0 x20; TH1=0 xe6;TL1=0 xe6; TR1=1; EA=1;ES=1; SCON=0 x40; p=0 x20; SBUF=*p; for (i=0;i32; );/*等待中斷*/中斷方式 C 語言接收程序#includeTrs interrupt 4 RI=0; i+; *p =SBUF; p+; main( ) unsigned char i; char *p; TMOD=0 x20; TH1=0 xe6;TL1=0 xe
30、6; TR1=1; EA=1;ES=1; SCON=0 x50; p=0 x20; for (i=0;i32;);RXD89C51TXDP1.0解:依據(jù)公式波特率 求得 例8-2 接線如圖,編一個自發(fā)自收程序,檢查單片機的串行口是否完好,f=12MHz,波特率600,取SMOD0。匯編語言編程 MOV TMOD,#20H MOV TH1, #0CCH MOV TL1, #0CCH ; 設(shè)定波特率 SETB TR1 MOV SCON, #50HABC: CLR TI MOV P1, #0FEH ; LED滅 ACALL DAY ; 延時 MOV A, #0FFH MOV SBUF, A ; 發(fā)送數(shù)據(jù)FFH JNB RI, $ ;RI = 0等待 如果發(fā)送接收正確,可觀察到接的發(fā)光二極管閃亮。 CLR RI MOV A, SBUF ; 接收數(shù)據(jù),A=FFH MOV P1, A ; 燈亮 JNB TI, $ ;TI = 0 等待 ACALL DAY ; 延時 SJMP ABCDAY: MOV R0, #0DAL: MOV R1, #0 DJNZ R1, $ DJNZ R0, DAL RET 例8-2 C語言編程include main() unsigned int I; TMOD=0 x20;TH1=0 xcc;TL1=0 xcc; / 初始化T1 TR1=1; / 無限循環(huán)執(zhí)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 參加企業(yè)培訓(xùn)心得體會范文(15篇)
- 企業(yè)綠色采購與綠色生產(chǎn)實踐考核試卷
- 液力元件冷卻系統(tǒng)設(shè)計考核試卷
- 稀土金屬壓延加工中的質(zhì)量管理體系認證考核試卷
- 水資源管理與保護考核試卷
- 稀有金屬在核工業(yè)的應(yīng)用考核試卷
- 電子電路的寬禁帶半導(dǎo)體應(yīng)用考核試卷
- 碳酸飲料行業(yè)節(jié)能減排技術(shù)應(yīng)用考核試卷
- 森林公園規(guī)劃與設(shè)計考核試卷
- 學(xué)校火災(zāi)事故應(yīng)急預(yù)案范文(7篇)
- 銷售部長助理崗位職責(zé)
- ISOTS 22163專題培訓(xùn)考試
- 六年級下冊數(shù)學(xué)課件-第4單元 比例 整理和復(fù)習(xí) 人教版(共21張PPT)
- JJF(魯) 142-2022 稱重式雨量計校準規(guī)范
- Adobe-Illustrator-(Ai)基礎(chǔ)教程
- 程序的運行結(jié)果PPT學(xué)習(xí)教案
- 圓柱鋼模計算書
- 合成寶石特征x
- 查擺問題及整改措施
- 年度研發(fā)費用專項審計報告模板(共22頁)
- 隧道工程隧道支護結(jié)構(gòu)設(shè)計實用教案
評論
0/150
提交評論