




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、項(xiàng)目7 PC機(jī)與單片機(jī)串行通信單片機(jī)應(yīng)用技術(shù)精品課程組單片機(jī)應(yīng)用技術(shù)1本講主要內(nèi)容4 相關(guān)知識(shí)1 教學(xué)目標(biāo)2 工作任務(wù)3 項(xiàng)目實(shí)踐5 能力拓展6 項(xiàng)目考核21、終極目標(biāo):制作PC機(jī)與單片機(jī)通信的單片機(jī)系統(tǒng)。2、促成目標(biāo):(1) 了解MCS-51單片機(jī)串行接口結(jié)構(gòu);(2) 掌握MCS-51串行接口的使用方法;(3) 理解MCS-51單片機(jī)串行口接收和發(fā)送數(shù)據(jù)的實(shí)現(xiàn)方法;(4) 熟悉MCS-51單片機(jī)串行通信的格式規(guī)定;(5) 理解MCS-51單片機(jī)串行通信的程序設(shè)計(jì)思想?!窘虒W(xué)目標(biāo)】3 單片機(jī)系統(tǒng)接收電腦PC機(jī)串口發(fā)過(guò)來(lái)的ASCII碼,并在液晶LCD1602上顯示出來(lái);同時(shí)把收到的ASCII碼回
2、傳給電腦PC機(jī)串口,以驗(yàn)證串口接收、發(fā)送數(shù)據(jù)的正確性。【工作任務(wù)】41系統(tǒng)組成 本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號(hào)的處理及控制功能等。 本系統(tǒng)的硬件采用模塊化設(shè)計(jì),以AT89S52單片機(jī)為核心,與LCD顯示電路、串行口通信電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個(gè)模塊:AT89S52主控模塊、LCD顯示模塊、串行口通信模塊等。其中AT89S52主要完成外圍硬件的控制以及一些運(yùn)算功能,LCD顯示模塊完成字符、數(shù)字的顯示功能、串行口通信模塊主要完成單片機(jī)和PC機(jī)之間的通信功能。系統(tǒng)組成方框圖如圖7.1所示?!卷?xiàng)目實(shí)踐】【活動(dòng)一】總體設(shè)計(jì)5單片機(jī)L
3、CD顯示電路復(fù)位電路時(shí)鐘電路電源電路串行口通信電路圖7.1 單片機(jī)串行通信控制系統(tǒng)組成方框圖【項(xiàng)目實(shí)踐】6 應(yīng)用軟件采用模塊化設(shè)計(jì)方法。該系統(tǒng)軟件主要由主程序、串口接收發(fā)送數(shù)據(jù)中斷子程序、LCD顯示子程序等模塊組成,系統(tǒng)軟件結(jié)構(gòu)框圖如圖7.4所示。LCD顯示子程序串口接收發(fā)送數(shù)據(jù)中斷子程序主 程 序圖7.4 系統(tǒng)軟件結(jié)構(gòu)框圖【項(xiàng)目實(shí)踐】72系統(tǒng)工作原理 MCS51單片機(jī)串行口發(fā)送/接收數(shù)據(jù)時(shí),通過(guò)2個(gè)串行緩沖器SBUF進(jìn)行,這2個(gè)緩沖器采用一個(gè)地址(98H),但在物理上是獨(dú)立的。其中接收緩沖器只能讀出不能寫(xiě)入,發(fā)送緩沖器只能寫(xiě)入不能讀出。 發(fā)送過(guò)程 由指令MOV SBUF,A啟動(dòng),此時(shí)待傳送的
4、數(shù)據(jù)由A累加器傳入串行發(fā)送緩沖器SBUF,由硬件自動(dòng)在發(fā)送字符的始、末加上起始位(低電平)、停止位(高電子)及其它控制位(如奇偶位等),而后在移位脈沖的控制下,低位在前,高位在后,逐位從TXD端(方式0除外)發(fā)出?!卷?xiàng)目實(shí)踐】8 接收過(guò)程 串行口的接收與否受制于允許接收位REN的狀態(tài),當(dāng)REN被軟件置“1”后,允許接收器接收。串口的接收器以所選波特率的16倍速對(duì)RXD線進(jìn)行監(jiān)視。當(dāng)“1”到“0”跳變時(shí),檢測(cè)器連續(xù)采樣到RXD線上低電平時(shí)。便認(rèn)定RXD端出現(xiàn)起始位,繼而接收控制器開(kāi)始工作。在每位傳送時(shí)間的第7、8、9三個(gè)脈沖狀態(tài)采樣RXD線,決定所接收的值為“0”或“1”。當(dāng)接收完停止位后,控制
5、電路使中斷標(biāo)志R1置為“1”,此時(shí)程序可通過(guò)MOV A,SBUF指令將接收到的字符從SBUF送入累加器A,從而完成一幀數(shù)據(jù)的接收工作?!卷?xiàng)目實(shí)踐】91主控模塊設(shè)計(jì) 本項(xiàng)目采用ATMEL公司生產(chǎn)的AT89S52單片機(jī),主控模塊的具體設(shè)計(jì)參見(jiàn)項(xiàng)目1。 2LCD顯示模塊設(shè)計(jì) LCD顯示模塊選用1602字符型LCD模塊,具體設(shè)計(jì)請(qǐng)參見(jiàn)項(xiàng)目6“LCD顯示技術(shù)”。 3串行口通信模塊設(shè)計(jì) 51單片機(jī)有一個(gè)全雙工的串行通信口,使單片機(jī)和計(jì)算機(jī)之間可以方便地進(jìn)行通信。 電平范圍是電路能夠安全可靠識(shí)別信號(hào)的電壓范圍。 CMOS電路的電平范圍一般是從0到電源電壓。CMOS電平中,高電平(3.55V)為邏輯“1”,低
6、電平(00.8V)為邏輯“0”。 【項(xiàng)目實(shí)踐】【活動(dòng)二】硬件設(shè)計(jì)10 RS232接口的電平范圍是-15V到+15V,RS232電平采用負(fù)邏輯,即邏輯“1”:-3-15V,邏輯“0”:+3+15V。 單片機(jī)的串口是TTL電平的,而計(jì)算機(jī)的串口是RS232電平,要使兩者之間進(jìn)行通信,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,即單片機(jī)的串口要外接電平轉(zhuǎn)換電路芯片把與TTL兼容的CMOS高電平表示的1轉(zhuǎn)換成RS232的負(fù)電壓信號(hào),把低電平轉(zhuǎn)換成RS-232的正電壓信號(hào)。典型的轉(zhuǎn)換電路給出-9V和+9V。 實(shí)現(xiàn)邏輯電平轉(zhuǎn)換可以采用以下三種方式: (1) 采用MC1488和MC1489芯片的轉(zhuǎn)換接口 MC1488和
7、MC1489芯片為早期的RS232至TTL邏輯電平的轉(zhuǎn)換芯片。該方式的不便之處是需要12V電壓,并且功耗較大,不適合用于低功耗的系統(tǒng)?!卷?xiàng)目實(shí)踐】11 (2) 采用MAX232芯片的轉(zhuǎn)換接口 MAX232是MAXIM公司生產(chǎn)的,包含兩路驅(qū)動(dòng)器和接收器的RS-232轉(zhuǎn)換芯片。MAX232芯片內(nèi)部有一個(gè)電壓轉(zhuǎn)換器,可以把輸人的+5V電壓轉(zhuǎn)換為RS-232接口所需的10V電壓,尤其適用于沒(méi)有12V的單電源系統(tǒng)。與此原理相同的芯片還有MAX202、AD公司的ADDt101以及SIL公司的IC1232芯片。 (3) 采用分立元件實(shí)現(xiàn)轉(zhuǎn)換接口 采用分立元件實(shí)現(xiàn)的RS232至TTL電平的轉(zhuǎn)換接口電路,其特點(diǎn)
8、是利用PC機(jī)的RS232接口的3腳信號(hào)(也可用4、7腳)來(lái)供給負(fù)電源,PC機(jī)的3、4、7腳在非發(fā)送邏輯“0”電平時(shí)均為1電平(10V左右),其驅(qū)動(dòng)能力為20mA,利用這個(gè)特性,用一個(gè)二極管和電解電容,即在電解電容上獲取了RS232通信所需的負(fù)電源。該電路簡(jiǎn)單、功耗小,在沒(méi)有專用芯片時(shí)不失為一種替代方法。 使用RS232接口進(jìn)行異步通信,必須將單片機(jī)的TTL電平轉(zhuǎn)換為RS232電平,即在通信方的單片機(jī)接口部分增加RS232電氣轉(zhuǎn)換接口,在本項(xiàng)目中利用MAXIM公司的MAX232集成芯片構(gòu)成轉(zhuǎn)換接口電路。 【項(xiàng)目實(shí)踐】12圖7.5 MAX232芯片引腳圖【項(xiàng)目實(shí)踐】13圖7.5 MAX232芯片內(nèi)
9、部框圖【項(xiàng)目實(shí)踐】14圖7.1 RS232接口引腳圖RS232引腳定義如表7.1所示。 表7.1 RS232接口引腳定義引腳定義符號(hào)1載波檢測(cè)DCD2接收數(shù)據(jù)RXD3發(fā)送數(shù)據(jù)TXD4數(shù)據(jù)終端準(zhǔn)備好DTR5信號(hào)地SG6數(shù)據(jù)準(zhǔn)備好DSR7請(qǐng)求發(fā)送RTS8清除發(fā)送CTS9振鈴提示RI【項(xiàng)目實(shí)踐】15 因此,MAX232芯片的T1in引腳連接AT89S52單片機(jī)的TXD引腳,MAX232芯片的R1out引腳連接AT89S52單片機(jī)的RXD引腳;MAX232芯片的T1out引腳連接DB9針接口的第2引腳,MAX232芯片的R1in引腳連接DB9針接口的第3引腳,串行通信模塊與單片機(jī)的接口電路原理圖見(jiàn)圖6
10、.7?!卷?xiàng)目實(shí)踐】16圖7.7 串行通信模塊與單片機(jī)的接口電路原理圖【項(xiàng)目實(shí)踐】171算法設(shè)計(jì) 編寫(xiě)單片機(jī)異步通信程序步驟如下: (1) 設(shè)置串口工作方式。 此時(shí)需對(duì)串行控制器SCON中的SM0、SM1進(jìn)行設(shè)置。PC機(jī)與單片機(jī)的通信中一般選擇串口工作在方式1下。 串行控制器SCON(98H)的格式如下所示:SM0SMlSM2RENTB8RB8TIRI (2) 選擇波特率發(fā)生器。選擇定時(shí)器l或定時(shí)器2做為其波特率發(fā)生器。 【項(xiàng)目實(shí)踐】【活動(dòng)三】軟件設(shè)計(jì)18 (3) 設(shè)置定時(shí)器工作方式。 當(dāng)選擇定時(shí)器1做為波特率發(fā)生器時(shí),需設(shè)置其方式寄存器TMOD 為計(jì)數(shù)方式并選擇相應(yīng)的工作方式(一般選擇方式2以
11、避免重裝定時(shí)器初值);當(dāng)選擇定時(shí)器2做為波特率發(fā)生器時(shí),需將T2CON設(shè)置為波特率發(fā)生器工作方式。 (4) 設(shè)置波特率參數(shù)。 影響波特率的參數(shù)有二,一是特殊寄存器PCON的SMOD位,另一個(gè)是相應(yīng)定時(shí)器初值。 (5) 允許串行中斷。 因在程序中我們一般采有中斷接收方式,故應(yīng)設(shè)EAl、ES=1。 (6) 允許接收數(shù)據(jù)。 設(shè)置SCON中的REN為1。表示允許串行口接收數(shù)據(jù)。 (7) 允許定時(shí)/計(jì)數(shù)器工作。 此時(shí)開(kāi)啟定時(shí)/計(jì)數(shù)器,使其產(chǎn)生波特率 (8) 編寫(xiě)串行中斷服務(wù)程序。 當(dāng)有數(shù)據(jù)到達(dá)串口時(shí),系統(tǒng)將自動(dòng)執(zhí)行所編寫(xiě)的中斷服務(wù)程序。 (9) 收/發(fā)相應(yīng)數(shù)據(jù)。 注意的是發(fā)送操作完成需將T1清零,接收工
12、作完成后需將R1清零?!卷?xiàng)目實(shí)踐】19 2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 1602LCD使能信號(hào)E 定義為P2口線的P2.2; 1602LCD讀/寫(xiě)選擇信號(hào)R/W定義為P2口線的P2.1,0為寫(xiě)數(shù)據(jù)信號(hào),1為讀數(shù)據(jù)信號(hào); 1602LCD 數(shù)據(jù)/命令選擇信號(hào)RS定義為P2口線的P2.0,0為命令信號(hào);1為數(shù)據(jù)信號(hào); 1602LCD的8位雙向數(shù)據(jù)線DB7DB0信號(hào)LCDPORT定義為P0口線; 1602LCD寫(xiě)命令入口參數(shù)CMD_BYTE定義為片內(nèi)數(shù)據(jù)存儲(chǔ)器的2EH單元; 1602LCD寫(xiě)顯示數(shù)據(jù)入口參數(shù)DAT_BYTE定義為片內(nèi)數(shù)據(jù)存儲(chǔ)器的2FH單元; 串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT定義為片內(nèi)數(shù)據(jù)存儲(chǔ)器的
13、位尋址區(qū)的00H位; 串口接收數(shù)據(jù)單元RECDATA定義為片內(nèi)數(shù)據(jù)存儲(chǔ)器的30H單元;【項(xiàng)目實(shí)踐】20 3程序設(shè)計(jì) (1) 主程序設(shè)計(jì) 主程序主要完成硬件初始化、子程序調(diào)用等功能。 初始化 首先調(diào)用LCD子程序,設(shè)置LCD的DDRAM地址,在LCD上顯示數(shù)據(jù)“RECDATA:”。把串口接收數(shù)據(jù)單元RECDATA清零。設(shè)置寄存器SCON的SM0、SM1位定義串口工作方式,選擇波特率發(fā)生器為定時(shí)器T1;設(shè)定定時(shí)器T1工作方式為方式2;設(shè)置波特率參數(shù)為9600bps;允許串行中斷及總中斷;允許串口接收數(shù)據(jù),定義REN=1;啟動(dòng)定時(shí)/計(jì)數(shù)器T1工作,定義TR1=1。 串口收發(fā)數(shù)據(jù) 判斷串口成功接收數(shù)據(jù)
14、標(biāo)志位RECOKBIT是否為0,若RECOKBIT為0,表明串口未接收到數(shù)據(jù),則繼續(xù)等待串口接收數(shù)據(jù);若RECOKBIT為1,表明串口成功接收或發(fā)送數(shù)據(jù),進(jìn)入串口中斷服務(wù)子程序,單片機(jī)接收數(shù)據(jù),并將串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT清零,調(diào)用LCD顯示接收數(shù)據(jù)子程序,在LCD上顯示單片機(jī)從串口接收到的數(shù)據(jù)。主程序設(shè)計(jì)流程圖如圖7.5所示?!卷?xiàng)目實(shí)踐】21主程序設(shè)計(jì)流程圖如圖7.5所示?!卷?xiàng)目實(shí)踐】22圖6.5 主程序設(shè)計(jì)流程圖【項(xiàng)目實(shí)踐】23 (2) 串口接收發(fā)送數(shù)據(jù)中斷服務(wù)子程序設(shè)計(jì) 判斷串口發(fā)送標(biāo)志位TI是否為1,若TI為1,則把數(shù)據(jù)從單片機(jī)發(fā)給PC機(jī),并把TI清零,中斷子程序返回;若
15、TI為0,表明RI=0,則把串口接收標(biāo)志位RI清零,把串口接收緩沖器SBUF中的數(shù)據(jù)寫(xiě)入串口接收數(shù)據(jù)單元RECDATA,再把該數(shù)據(jù)送到串口發(fā)送緩沖器SBUF中,傳給PC機(jī),置串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT為1,表明串口成功接收發(fā)送數(shù)據(jù),最后中斷子程序返回。串口收發(fā)數(shù)據(jù)中斷服務(wù)子程序設(shè)計(jì)流程圖如圖7.6所示?!卷?xiàng)目實(shí)踐】24接收標(biāo)志位RI清零從PC機(jī)串口接收數(shù)據(jù),把接收緩沖器SBUF中的數(shù)據(jù)寫(xiě)到單片機(jī)的接收數(shù)據(jù)單元RECDATA設(shè)置成功接收數(shù)據(jù)標(biāo)志位RECOKBIT發(fā)送標(biāo)志位TI=1?中斷子程序返回YN把單片機(jī)的接收數(shù)據(jù)單元RECDATA數(shù)據(jù)發(fā)送到發(fā)送緩沖器SBUF中,PC機(jī)的串口調(diào)試軟
16、件SSCOM3.2接收數(shù)據(jù)并顯示在窗口中接收標(biāo)志位RI清零開(kāi)始圖7.6 串口接收發(fā)送數(shù)據(jù)中斷服務(wù)子程序流程圖【項(xiàng)目實(shí)踐】25 (3) LCD顯示子程序模塊設(shè)計(jì) LCD顯示子程序模塊包括LCD初始化子程序、寫(xiě)入指令數(shù)據(jù)到LCD子程序、寫(xiě)入顯示數(shù)據(jù)到LCD子程序、字符顯示子程序、延時(shí)子程序等模塊組成,詳細(xì)設(shè)計(jì)請(qǐng)參見(jiàn)項(xiàng)目6“LCD顯示技術(shù)”。 4匯編語(yǔ)言源程序;*;實(shí)驗(yàn)名稱:RS232通信與PC通信;功能:接收電腦送過(guò)來(lái)的數(shù)據(jù),并且顯示16進(jìn)制數(shù),并將數(shù)據(jù)回傳到電腦(只;顯示最后一個(gè));作者:linux;日期:08-04-08;*【項(xiàng)目實(shí)踐】26;*;功能:LCD口線的定義;* E BIT P2.2
17、; RW BIT P2.1 RS BIT P2.0 LCDPORT EQU P0 CMD_BYTE EQU 2EH DAT_BYTE EQU 2FH RECOKBIT BIT 00H ;串口成功接收數(shù)據(jù)標(biāo)志位 RECDATA EQU 30H ;串口接收數(shù)據(jù)單元 ORG 0000H AJMP MAIN【項(xiàng)目實(shí)踐】27;*;功能:串口接收發(fā)送數(shù)據(jù)中斷子程序;* ORG 0023HRS232: JB TI,SEND232CLR RIMOV A,SBUFMOV RECDATA,AMOV SBUF,ASETB RECOKBIT RETISEND232:CLR TI RETI;*;功能:主程序;*【項(xiàng)目實(shí)
18、踐】28ORG 0050HMAIN: MOV 20H,#00HLCALL INITLCDMOV CMD_BYTE,#80H ;設(shè)置DDRAM的地址LCALL WRITE_CMDLCALL DELAY0MOV DAT_BYTE,#RLCALL WRITE_DATMOV DAT_BYTE,#ELCALL WRITE_DATMOV DAT_BYTE,#CLCALL WRITE_DATMOV DAT_BYTE,#DLCALL WRITE_DATMOV DAT_BYTE,#A“LCALL WRITE_DATMOV DAT_BYTE,#TLCALL WRITE_DAT【項(xiàng)目實(shí)踐】29MOV DAT_BYT
19、E,#ALCALL WRITE_DATMOV DAT_BYTE,#:LCALL WRITE_DATMOV RECDATA,#00HMOV TMOD,#20HMOV TH1,#0FDH;波特率9600MOV TL1,#0FDHMOV SCON,#50HSETB TR1SETB RENMOV IE,#90H;串口中斷WAIT:JNB RECOKBIT,WAITCLR RECOKBITACALL DISPRECSJMP WAIT【項(xiàng)目實(shí)踐】30;*;功能:;LCD1602要用到的一些子程序;*;*;功能:;寫(xiě)命令(入口參數(shù)CMD_BYTE);*WRITE_CMD:CLR RS CLR RW MOV
20、A,CMD_BYTE MOV LCDPORT,A SETB E NOP NOP CLRE LCALL DELAY0 RET【項(xiàng)目實(shí)踐】31;*;功能:;寫(xiě)顯示數(shù)據(jù)(入口參數(shù)DAT_BYTE);*WRITE_DAT:SETB RS CLR RW MOV A,DAT_BYTE MOV LCDPORT,A SETB E NOP NOP CLR E LCALL DELAY0 RET【項(xiàng)目實(shí)踐】32;*;功能:;LCD顯示初始化;*INITLCD:MOV CMD_BYTE,#30H LCALL WRITE_CMD MOV CMD_BYTE,#30H LCALL WRITE_CMD MOV CMD_BYT
21、E,#30H LCALL WRITE_CMD MOV CMD_BYTE,#38H;設(shè)定工作方式 LCALL WRITE_CMD MOV CMD_BYTE,#0CH;顯示狀態(tài)設(shè)置 LCALL WRITE_CMD MOV CMD_BYTE,#01H;清屏 LCALL WRITE_CMD MOV CMD_BYTE,#06H;輸入方式設(shè)置 LCALL WRITE_CMD RET【項(xiàng)目實(shí)踐】33;*;功能:延時(shí)子程序;*DELAY0:MOV R5, #0A0HDELAY1:NOPDJNZ R5,DELAY1RET;*;功能:LCD顯示接收數(shù)據(jù)子程序;*DISPREC:MOV CMD_BYTE, #89H
22、 ;設(shè)置DDRAM的地址 LCALL WRITE_CMD MOV DAT_BYTE,RECDATA LCALL WRITE_DAT RET END【項(xiàng)目實(shí)踐】34/*實(shí)驗(yàn)名稱:RS232通信實(shí)驗(yàn) 功能:接收電腦送過(guò)來(lái)的數(shù)據(jù),并且顯示16進(jìn)制數(shù),并將數(shù)據(jù)回傳到電腦 作者:http:/ 08-04-008 */#include /LCD的口線sbit E=P22;sbit RW=P21;sbit RS=P20;unsigned char recdata;/RS232收到的值unsigned char bdata myflag;sbit recokbit = myflag0;void Delay(u
23、nsigned int t);void SendCommandByte(unsigned char ch);void SendDataByte(unsigned char ch);【項(xiàng)目實(shí)踐】5C語(yǔ)言源程序35void InitLcd(void);void disprec(void); void rs232(void);void main(void)InitLcd();myflag=0 x00;SendCommandByte(0 x80);Delay(2);SendDataByte(R);SendDataByte(E);SendDataByte(C);SendDataByte(D);SendD
24、ataByte(A);SendDataByte(T);SendDataByte(A);SendDataByte(:);TMOD=0 x20;【項(xiàng)目實(shí)踐】36TH1=0 xfd;TL1=0 xfd;SCON=0 x50;TR1=1;REN=1;IE=0 x90;while(1)if(recokbit=1)recokbit=0;disprec();/以下為串口中斷程序void rs232(void) interrupt 4【項(xiàng)目實(shí)踐】37if(RI=1)RI=0;recdata=SBUF;SBUF=recdata;recokbit=1;elseTI=0;void Delay(unsigned in
25、t t) / delay 40us for(;t!=0;t-) ;/=void SendCommandByte(unsigned char ch)【項(xiàng)目實(shí)踐】38 RS=0; RW=0; P0=ch; E=1; Delay(1); E=0; Delay(100); /delay 40us/-void SendDataByte(unsigned char ch) RS=1; RW=0; P0=ch; E=1; Delay(1); E=0; Delay(100); /delay 40us【項(xiàng)目實(shí)踐】39/-void InitLcd(void)SendCommandByte(0 x30); Send
26、CommandByte(0 x30); SendCommandByte(0 x30); SendCommandByte(0 x38);/設(shè)置工作方式 SendCommandByte(0 x0c); /顯示狀態(tài)設(shè)置 SendCommandByte(0 x01); /清屏 SendCommandByte(0 x06); /輸入方式設(shè)置void disprec(void)SendCommandByte(0 x89);SendDataByte(recdata); 【項(xiàng)目實(shí)踐】40 在PC機(jī)上打開(kāi)串口調(diào)試軟件串口調(diào)試助手SSCOM3.2,設(shè)置串口號(hào)、波特率、校驗(yàn)位等參數(shù)(注意:這些參數(shù)應(yīng)與單片機(jī)中串口參
27、數(shù)設(shè)置一致),在字符輸入框內(nèi)要發(fā)送的ASCII碼,點(diǎn)擊發(fā)送,此時(shí)在LCD1602上顯示出當(dāng)前收到的ASCII碼。同時(shí)在串口調(diào)試助手SSCOM3.2的接收窗口可以看到當(dāng)前的回傳ASCII碼。串口與PC機(jī)通信系統(tǒng)調(diào)試過(guò)程如圖7.8所示。 【項(xiàng)目實(shí)踐】【活動(dòng)四】系統(tǒng)仿真調(diào)試41圖7.8 串口與PC機(jī)通信系統(tǒng)調(diào)試示意圖【項(xiàng)目實(shí)踐】42 在實(shí)際工作中,計(jì)算機(jī)的CPU與外部設(shè)備之間常常要進(jìn)行信息交換;一臺(tái)計(jì)算機(jī)與外界的信息交換稱為數(shù)據(jù)通信。 數(shù)據(jù)通信方式有兩種,即并行數(shù)據(jù)通信和串行數(shù)據(jù)通信。并行數(shù)據(jù)通信中,數(shù)據(jù)的各位同時(shí)傳送,其優(yōu)點(diǎn)是傳遞速度快;缺點(diǎn)是數(shù)據(jù)有多少位,就需要多少根傳送線;串行通信中,數(shù)據(jù)字節(jié)
28、一位一位串行地順序傳送,通過(guò)串行接口實(shí)現(xiàn)。它的優(yōu)點(diǎn)是只需一對(duì)傳送線(利用電話線就可作為傳送線),這樣就大大降低了傳送成本,特別適用于遠(yuǎn)距離通信;其缺點(diǎn)是傳送速度較低。在應(yīng)用時(shí),可根據(jù)數(shù)據(jù)通信的距離決定采用哪種通信方式,例如,在PC機(jī)與外部設(shè)備(如打印機(jī)等)通信時(shí),如果距離小于30m可采用并行數(shù)據(jù)通信方式;當(dāng)距離大于30m時(shí),則要采用串行數(shù)據(jù)通信方式。 8051單片機(jī)具有并行和串行二種基本數(shù)據(jù)通信方式。圖5-1(a)所示為8051單片機(jī)與外設(shè)間8位數(shù)據(jù)并行通信的連接方法。圖5-1(b)所示為串行數(shù)據(jù)通信方式的連接方法。【相關(guān)知識(shí)】43下面主要介紹單片機(jī)串行通信技術(shù): 圖5-1 兩種通信方式的示意
29、圖 (a)并行通信 (b)串行方式【相關(guān)知識(shí)】44一、串行通信分類 按照串行數(shù)據(jù)的時(shí)鐘控制方式,串行通信分為異步通信和同步通信兩類。 1、異步通信 在異步通信中,數(shù)據(jù)是以字符為單位組成字符幀傳送的。發(fā)送端和接收端由各自獨(dú)立的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘彼此獨(dú)立,互不同步。每一字符幀的數(shù)據(jù)格式如圖5-2所示。在幀格式中,一個(gè)字符由四個(gè)部分組成:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位。 (1)起始位:位于字符幀開(kāi)頭,僅占一位,為邏輯低電平“0”,用來(lái)通知接收設(shè)備,發(fā)送端開(kāi)始發(fā)送數(shù)據(jù)。線路上在不傳送字符時(shí)應(yīng)保持為“1”。接收端不斷檢測(cè)線路的狀態(tài) ,若連續(xù)為“1”以后又測(cè)到一個(gè)“0”,就知道發(fā)來(lái)
30、一個(gè)新字符,應(yīng)馬上準(zhǔn)備接收。 【相關(guān)知識(shí)】【第一部分】串行通信基礎(chǔ)45 (2)數(shù)據(jù)位:數(shù)據(jù)位(D0D7)緊接在起始位后面,通常為58位,依據(jù)數(shù)據(jù)位由低到高的順序依次傳送。 (3)奇偶校驗(yàn)位:奇偶校驗(yàn)位只占一位,緊接在數(shù)據(jù)位后面,用來(lái)表征串行通信中采用奇校驗(yàn)還是偶校驗(yàn),也可用這一位(I/O)來(lái)確定這一幀中的字符所代表信息的性質(zhì)(地址/數(shù)據(jù)等)。 (4)停止位:位于字符幀的最后,表征字符的結(jié)束,它一定是高電位(邏輯“1”)。停止位可以是1位、1.5位、或2位。接收端收到停止位后,知道上一字符已傳送完畢,同時(shí)也為接收下一字符作好準(zhǔn)備(只要再收到“0”就是新的字符的起始位)。若停止位以后不是緊接著傳送
31、下一個(gè)字符,則讓線路上保持為“1”。圖5-2(a)表示一個(gè)字符緊接一個(gè)字符傳送的情況,上一個(gè)字符的停止位和下一個(gè)字符的起始位是緊相鄰的;圖5-2(b)則是兩個(gè)字符間有空閑位的情況,空閑位為“1”,線路處于等待狀態(tài)。存在空閑位正是異步通信的特征之一?!鞠嚓P(guān)知識(shí)】46 圖5-2 異步通信一幀數(shù)據(jù)格式 (a)無(wú)空閑位字符幀 (b)有空閑位字符幀【相關(guān)知識(shí)】47 2同步通信 同步通信時(shí),字符與字符之間沒(méi)有間隙,也不用起始位和停止位,僅在數(shù)據(jù)塊開(kāi)始時(shí)用同步字符SYNC來(lái)指示(常約定12個(gè)),然后是連續(xù)的數(shù)據(jù)塊。同步字符的插入可以是單同步字符方式或雙同步字符方式,如圖5-3所示;同步字符可以由用戶約定,也
32、可以采用ASCII碼中規(guī)定的SYN代碼,即16H。通信時(shí)先發(fā)送同步字符,接收方檢測(cè)到同步字符后,即準(zhǔn)備接收數(shù)據(jù)。 在同步傳輸時(shí),要求用時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端與接收端之間的同步。為了保證接收無(wú)誤,發(fā)送方除了傳送數(shù)據(jù)外,還要把時(shí)鐘信號(hào)同時(shí)傳送?!鞠嚓P(guān)知識(shí)】48同步字符1數(shù)據(jù)字符1數(shù)據(jù)字符2數(shù)據(jù)字符3數(shù)據(jù)字符nCRC1CRC2同步字符1同步字符2數(shù)據(jù)字符1數(shù)據(jù)字符2數(shù)據(jù)字符nCRC1CRC2(a) (b) 圖5-3 同步傳送的數(shù)據(jù)格式 (a)單同步字符幀格式 (b)雙同步字符幀格式 同步通信方式適合2400bps以上速率的數(shù)據(jù)傳輸,由于不必加起始位和停止位,傳送效率較高,但實(shí)現(xiàn)起來(lái)比較復(fù)雜?!鞠嚓P(guān)知識(shí)】4
33、9二、波特率 波特率,即數(shù)據(jù)傳送速率,表示每秒鐘傳送二進(jìn)制代碼的位數(shù),它的單位是位/秒(b/s),常用bps表示。波特率是異步通信的重要指標(biāo),表征數(shù)據(jù)傳輸?shù)乃俣?,波特率越高,?shù)據(jù)傳輸速度越快, 在數(shù)據(jù)傳送方式確定后,以多大的速率發(fā)送/接收數(shù)據(jù),是實(shí)現(xiàn)串行通信必須解決的問(wèn)題。 假設(shè)數(shù)據(jù)傳送的速率是120字符/s,每個(gè)字符格式包含10個(gè)代碼位(1個(gè)起始位、1個(gè)停止位、8個(gè)數(shù)據(jù)位),則通信波特率為:120字符/s10位/字符1200b/s1200波特 每一位的傳輸時(shí)間為波特率的倒數(shù):Td1/12000.833ms三、串行通信的制式 在串行通信中按照數(shù)據(jù)傳送方向,串行通信可分為單工、半雙工和全雙工三種
34、制式。 1單工制式 在單工制式中,只允許數(shù)據(jù)向一個(gè)方向傳送,通信的一端為發(fā)送器,另一端為接收器?!鞠嚓P(guān)知識(shí)】502半雙工制式在半雙工制式中,系統(tǒng)每個(gè)通信設(shè)備都由一個(gè)發(fā)送器和一個(gè)接收器組成,允許數(shù)據(jù)向兩個(gè)方向中的任一方向傳送,但每次只能有一個(gè)設(shè)備發(fā)送,即在同一時(shí)刻,只能進(jìn)行一個(gè)方向傳送,不能雙向同時(shí)傳輸。3全雙工制式在全雙工制式中,數(shù)據(jù)傳送方式是雙向配置,允許同時(shí)雙向傳送數(shù)據(jù)。 在實(shí)際應(yīng)用中,異步通信通常采用半雙工制式,這種用法簡(jiǎn)單、實(shí)用?!鞠嚓P(guān)知識(shí)】51【第二部分】串行通信總線標(biāo)準(zhǔn) 在進(jìn)行串行通信接口設(shè)計(jì)時(shí),必須根據(jù)需要確定選擇標(biāo)準(zhǔn)接口、傳輸介質(zhì)及電平轉(zhuǎn)換等問(wèn)題。和并行傳送一樣,現(xiàn)在已經(jīng)頒布了
35、很多種串行標(biāo)準(zhǔn)總線,如RS-232C,RS-422、RS-485和20mA電流環(huán)等。采用標(biāo)準(zhǔn)接口后,能夠方便地把單片機(jī)和外設(shè)、測(cè)量?jī)x器等有機(jī)地連接起來(lái),從而構(gòu)成一個(gè)測(cè)控系統(tǒng)。一、RS-232C總線標(biāo)準(zhǔn)與應(yīng)用 RS-232C是使用得最早、最多的一種異步串行通信總線標(biāo)準(zhǔn)。它由美國(guó)電子工業(yè)協(xié)會(huì) (Electronic Industries Association)于1962年公布,1969年最后一次修訂而成。其中RS是 Recommended Sandard的縮寫(xiě),232是該標(biāo)準(zhǔn)的標(biāo)識(shí),C表示此標(biāo)準(zhǔn)已修改了三次。 RS-232C主要用來(lái)定義計(jì)算機(jī)系統(tǒng)的一些數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE
36、)之間接口的電氣特性,目前已廣泛用于計(jì)算機(jī)與終端或外設(shè)之間的近端連接,適合于短距離或帶調(diào)制解調(diào)器的通信場(chǎng)合?!鞠嚓P(guān)知識(shí)】 52 (一)RS-232C的電氣特性 RS-232C標(biāo)準(zhǔn)早于TTL電路的產(chǎn)生,與TTL、MOS邏輯電平規(guī)定不同。該標(biāo)準(zhǔn)采用負(fù)邏輯:低電平表示邏輯1,電平值為3Vl5V;高電平表示邏輯0,電平值為+3V一+l5V。因此,RS-232C不能直接與TTL電路連接,使用時(shí)必須加上適當(dāng)?shù)碾娖睫D(zhuǎn)換電路,否則將使TTL電路燒毀。 (二)RS-232C引腳功能 RS-232C標(biāo)準(zhǔn)總線有25條信號(hào)線,引腳名稱見(jiàn)表5-1。 RS-232C信號(hào)分為兩類,一類是DTE與DCE交換的信息:TxD和R
37、xD;另一類是為了正確無(wú)誤地傳輸上述信息而設(shè)計(jì)的聯(lián)絡(luò)信號(hào)。下面介紹這兩類信號(hào)。 1數(shù)據(jù)發(fā)送與接收線 發(fā)送數(shù)據(jù)TxD:通過(guò)TxD線,終端將串行數(shù)據(jù)由發(fā)送端(DTE)向接收端(DCE)發(fā)送。按串行數(shù)據(jù)格式,先低位后高位的順序發(fā)出。接收數(shù)據(jù)RxD:通過(guò)RxD線,終端接收從發(fā)送端DTE (或調(diào)制解調(diào)器)輸出的數(shù)據(jù)?!鞠嚓P(guān)知識(shí)】53 2聯(lián)絡(luò)信號(hào) 這類信號(hào)共有6個(gè): 請(qǐng)求傳送信號(hào)RTS:用來(lái)表示DTE請(qǐng)求DCE發(fā)送數(shù)據(jù),即當(dāng)終端要發(fā)送數(shù)據(jù)時(shí),該信號(hào)RTS=1。 清除發(fā)送信號(hào)CTS: 用來(lái)表示DCE準(zhǔn)備好接收DTE發(fā)來(lái)的數(shù)據(jù),是對(duì)請(qǐng)求發(fā)送信號(hào)RTS的響應(yīng)信號(hào)。 數(shù)據(jù)準(zhǔn)備就緒信號(hào)DSR:這是DCE向DTE發(fā)出
38、的聯(lián)絡(luò)信號(hào)。DSR將指出本地DCE的工作狀態(tài)。當(dāng)DSR=l時(shí),表示DCE沒(méi)有處于測(cè)試通話狀態(tài),這時(shí)DCE可以與遠(yuǎn)程DCE建立通道。 數(shù)據(jù)終端就緒信號(hào)DTR:這是DTE向DCE發(fā)送的聯(lián)絡(luò)信號(hào)。DTR=l時(shí),表示DTE處于就緒狀態(tài),本地DCE和遠(yuǎn)程DCE之間建立通信通道;而DTR=0時(shí),將迫使DCE終止通信工作。 數(shù)據(jù)載波檢測(cè)信號(hào)DCD:這是DCE向DTE發(fā)出的狀態(tài)信息。當(dāng)DCD=1時(shí),表示本地DCE接收到遠(yuǎn)程DCE發(fā)送。 振鈴指示信號(hào)RI:這是DCE向DTE發(fā)出的狀態(tài)信息。RI=1時(shí),表示本地DCE接收到遠(yuǎn)程DCE的振鈴信號(hào)?!鞠嚓P(guān)知識(shí)】54表5-1 RS232各引腳信號(hào)說(shuō)明 【相關(guān)知識(shí)】1*2
39、*3*4*5*6*7*8*9,101112131455續(xù)表5-1 RS232各引腳信號(hào)說(shuō)明 【相關(guān)知識(shí)】15*1617*181920*21*22*23*24*25563RS-232C與單片機(jī)的連接 RS-232C接口與單片機(jī)聯(lián)接時(shí)需要進(jìn)行電平轉(zhuǎn)換,常用的電平轉(zhuǎn)換芯片有MC1488、MC1489、MAX232,其中MAX232采用單5V電源供電,使用非常方便。 MAX232系列芯片由MAXIM公司生產(chǎn),內(nèi)含兩路接收器和驅(qū)動(dòng)器。其內(nèi)部的電源電壓變換器可以把輸入的+5V電源電壓變換成RS-232C輸出所需的10V電壓。采用該芯片硬件接口簡(jiǎn)單、價(jià)格適中,所以被廣泛使用。圖5-4為該芯片引腳圖,圖5-5
40、 為該芯片應(yīng)用電路。圖中電容C1、C2、C3、C4、C5均為1.0uF/16V。圖5-4 MAX232引腳 【相關(guān)知識(shí)】57圖7-5 MAX232應(yīng)用電路二、RS-485總線標(biāo)準(zhǔn) 1RS-485接口介紹 RS-485收發(fā)器采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力,加上接收器具有高的靈敏度,能檢測(cè)低達(dá)200mV的電壓,故傳輸信號(hào)能在千米以外得到恢復(fù)。使用RS-485總線,一對(duì)雙絞線就能實(shí)現(xiàn)多站聯(lián)網(wǎng),構(gòu)成分布式系統(tǒng),設(shè)備簡(jiǎn)單、價(jià)格低廉、能進(jìn)行長(zhǎng)距離通信的優(yōu)點(diǎn)使其得到了廣泛的應(yīng)用?!鞠嚓P(guān)知識(shí)】58 RS-485支持半雙工或全雙工模式。組網(wǎng)時(shí)通常采用終端匹配的總線型結(jié)構(gòu),采用一條總線將各個(gè)節(jié)
41、點(diǎn)串接起來(lái),表5-2為一些常見(jiàn)芯片可聯(lián)接的節(jié)點(diǎn)數(shù)。表5-2 常見(jiàn)芯片聯(lián)接節(jié)點(diǎn)數(shù)節(jié)點(diǎn)數(shù)型 號(hào)32SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,MAX49064SN75LBC184128MAX487,MAX1487256MAX1482,MAX1483,MAX3080MAX3089 RS-485接口可連接成半雙工和全雙工兩種通信方式。半雙工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX 1487、MAX3082、MAX1483等;全雙工通信的芯片有SN75179、SN75180、MAX488MAX491、MAX14
42、82等。通常采用半雙工方式組網(wǎng)應(yīng)用?!鞠嚓P(guān)知識(shí)】59 2RS-485芯片介紹 圖5-6為MAX485芯片引腳圖,各引腳功能如下: (1)RO:接收器輸出。AB+0.2V時(shí),RO=“1”;AB0.2V,RO=“0” (2):接收器輸出使能。=“0”時(shí),允許接收器輸出;=“1”時(shí),禁止接收器輸出,RO為高阻。 (3)DE:驅(qū)動(dòng)器輸出使能。DE=“1”時(shí),允許驅(qū)動(dòng)器工作;DE=“0”時(shí),驅(qū)動(dòng)器被禁止,輸出端A、B為高阻。 (4)DI:驅(qū)動(dòng)器輸入。DI=“1”時(shí),A輸出高電平,B輸出低電平;DI=“0”時(shí),A輸出低電平,B輸出高電平。 (5)GND:地。 (6)A:接收器同相輸入和驅(qū)動(dòng)器同相輸出。 (
43、7)B:接收器反相輸入和驅(qū)動(dòng)器反相輸出。 (8)VCC:5V電源。 【相關(guān)知識(shí)】60圖5-6 MAX485芯片引腳圖 3RS-485芯片應(yīng)用介紹 圖5-7為典型半雙工RS-485通信網(wǎng)絡(luò)。圖中各驅(qū)動(dòng)器分時(shí)使用傳輸線(不發(fā)送數(shù)據(jù)的驅(qū)動(dòng)器應(yīng)被禁止)。網(wǎng)絡(luò)上可掛32個(gè)站。傳輸線通常采用雙絞線,可以較大程度抑制共模干擾。在傳輸線的末端接120的電阻進(jìn)行阻抗匹配,消除由于不匹配在線路上產(chǎn)生的信號(hào)反射。 在實(shí)際應(yīng)用中,為減少誤碼率,通信距離越遠(yuǎn),通信數(shù)率應(yīng)取低一些。RS-485規(guī)定:通信距離為120m時(shí),最大通信速率為1Mbps;若通信距離為1.2km,則最大通信速率為100kbps。 【相關(guān)知識(shí)】61
44、RS-485與PC機(jī)間可采用RS232/485接口卡。RS-485芯片與單片機(jī)聯(lián)接電路請(qǐng)參見(jiàn)相關(guān)部分內(nèi)容。圖5-7 485芯片聯(lián)接電路【相關(guān)知識(shí)】62【第三部分】MCS-51單片機(jī)串行接口 MCS-51內(nèi)部有一個(gè)可編程全雙工串行接口,具有UART(通用異步接收和發(fā)送器)的全部功能,通過(guò)單片機(jī)的引腳RXD(P3.0)、TXD(P3.1)同時(shí)接收、發(fā)送數(shù)據(jù),構(gòu)成雙機(jī)或多機(jī)通信系統(tǒng)?!鞠嚓P(guān)知識(shí)】一、MCS-51串行口的內(nèi)部結(jié)構(gòu) MCS-51串行口的內(nèi)部結(jié)構(gòu),如圖5-8所示:63圖5-8 串行口結(jié)構(gòu)框圖 在圖5-8中,與MCS-51串行口有關(guān)的特殊功能寄行器為SBUF、SCON、PCON,下面對(duì)它們分
45、別討論?!鞠嚓P(guān)知識(shí)】64 1串行口數(shù)據(jù)緩沖器SBUF SBUF是一個(gè)特殊功能寄存器,有兩個(gè)在物理上獨(dú)立的接收緩沖器與發(fā)送緩沖器。發(fā)送緩沖器只能寫(xiě)入不能讀出,寫(xiě)入SBUF的數(shù)據(jù)存儲(chǔ)在發(fā)送緩沖器,用于串行發(fā)送;接收緩沖器只能讀出不能寫(xiě)入。兩個(gè)緩沖器共用一個(gè)地址99H,通過(guò)對(duì)SBUF的讀、寫(xiě)指令來(lái)區(qū)別是對(duì)接收緩沖器還是發(fā)送緩沖器進(jìn)行操作。接收或發(fā)送數(shù)據(jù),是通過(guò)串行口對(duì)外的兩條獨(dú)立收發(fā)信號(hào)線RXD(P3.0)、TXD(P3.1)來(lái)實(shí)現(xiàn)的。 2.串行口控制寄存器SCON SCON用來(lái)控制串行口的工作方式和狀態(tài),字節(jié)地址為98H,可以位尋址。SCON的格式如下所示: SCON(98H)SM0SMlSM2R
46、ENTB8RB8TIRI【相關(guān)知識(shí)】65各位功能說(shuō)明如下:SM0、SMl:串行口工作方式選擇位,其定義如表5-3所示。SM0SM1工作方式功能說(shuō)明001101010123同步移位寄存器輸入/輸出,波特率為fOSC/128位UART,波特率可變(TI溢出率/n,n=16或32)9位UART,波特率為fosc/n,n=32或64)9位UART,波特率可變(TI溢出率/n,n=16或32)表5-3 串行口工作方式設(shè)定【相關(guān)知識(shí)】66 SM2:多機(jī)通信控制位,用于方式2和方式3中。在方式2和方式3處于接收方式時(shí),若SM2=1,表示置多機(jī)通信功能。如果接收到的第9位數(shù)據(jù)RB8為1,則將數(shù)據(jù)裝入SBUF,
47、并置RI為1,向CPU申請(qǐng)中斷;如果接收到的第9位數(shù)據(jù)RB8為0,則不接收數(shù)據(jù),RI仍為0,不向CPU申請(qǐng)中斷。若SM2=0,不論接收到的第9位RB8為0還是為l,TI、RI都以正常方式被激活,接收到的數(shù)據(jù)裝入SBUF。在方式1,若SM2=1,則只有收到有效的停止位后,RI置1。在方式0中,SM2應(yīng)為0。 REN:允許串行接收位。REN=l時(shí),允許接收;REN=0時(shí),禁止接收。 TB8:發(fā)送數(shù)據(jù)的第9位。在方式2和方式3中,TB8是第9位發(fā)送數(shù)據(jù),可做奇偶校驗(yàn)位。在多機(jī)通信中,可作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)識(shí)位,一般約定發(fā)送地址幀時(shí),TB8為1,發(fā)送數(shù)據(jù)幀時(shí),TB8為0。 RB8:接收數(shù)據(jù)的第9
48、位。在方式2和方式3中,RB8是第9位接收數(shù)據(jù)?!鞠嚓P(guān)知識(shí)】67 TI:發(fā)送中斷標(biāo)志位。在方式0中,發(fā)送完8位數(shù)據(jù)后,由硬件置位;在其它方式,在發(fā)送停止位時(shí)由硬件置位。因此,TI是發(fā)送完一幀數(shù)據(jù)的標(biāo)志,當(dāng)TI=l時(shí),向CPU申請(qǐng)串行中斷,響應(yīng)中斷后,必須由軟件清除TI。 RI:接收中斷標(biāo)志位。在方式0中,接收完8位數(shù)據(jù)后,由硬件置位;在其它方式中在接收停止位的中間點(diǎn)由硬件置位。接收完一幀數(shù)據(jù)RI=l,向CPU申請(qǐng)中斷,響應(yīng)中斷后,必須由軟件清除RI。 3電源及波特率選擇寄存器PCON PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,字節(jié)地址為87H。在HMOS的8051單片機(jī)中
49、,PCON只有最高位被定義,其它位都是虛設(shè)的。PCON(87H)SMODSSSSSSSSSSSSGF11GF00PPDDIDLL PCON的最高位SMOD為串行口波特率的倍增位。在方式1、2和3時(shí),串行通信的波特率與SMOD有關(guān)。當(dāng)SMOD=l時(shí),通信波特率加倍,當(dāng)SMOD=0時(shí),波特率不變。其它各位為掉電方式控制位,在此不再贅述?!鞠嚓P(guān)知識(shí)】68二、MCS-51串行口的工作方式 MCS-51的串行口有4種工作方式,通過(guò)SCON中的SMl、SM0位來(lái)決定,如表5-4所示。 1工作方式0 在方式0下,串行口作同步移位寄存器用,其波特率固定為fOSC/l2。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由T
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信陽(yáng)學(xué)院《物聯(lián)網(wǎng)安全技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025至2031年中國(guó)禮品杯套裝行業(yè)投資前景及策略咨詢研究報(bào)告
- 甘肅省慶陽(yáng)市第九中學(xué)2023-2024學(xué)年中考適應(yīng)性考試數(shù)學(xué)試題含解析
- 醫(yī)療互聯(lián)網(wǎng)現(xiàn)狀及發(fā)展趨勢(shì)
- 25年公司、項(xiàng)目部、各個(gè)班組安全培訓(xùn)考試試題帶下載答案
- 2025年新員工入職前安全培訓(xùn)考試試題答案高清
- 25年企業(yè)主要負(fù)責(zé)人安全培訓(xùn)考試試題附答案【研優(yōu)卷】
- 2024-2025新員工崗前安全培訓(xùn)考試試題及答案高清版
- 2025廠里安全培訓(xùn)考試試題有解析答案
- 2025公司、項(xiàng)目部、各個(gè)班組安全培訓(xùn)考試試題及完整答案(歷年真題)
- 老母親贍養(yǎng)協(xié)議書(shū)范本
- 4.3 誠(chéng)實(shí)守信(課件)-2024-2025學(xué)年八年級(jí)道德與法治上冊(cè) (統(tǒng)編版2024)
- 工地會(huì)議室使用管理制度
- 2024年?yáng)|南亞智能聯(lián)網(wǎng)電視(Connected TV)市場(chǎng)深度研究及預(yù)測(cè)報(bào)告
- 工程倫理智慧樹(shù)知到期末考試答案章節(jié)答案2024年武漢科技大學(xué)
- 2022年版 義務(wù)教育《數(shù)學(xué)》課程標(biāo)準(zhǔn)
- 2024年高考政治必修四 《哲學(xué)與文化》(思維導(dǎo)圖+核心考點(diǎn)+易混易錯(cuò))
- MOOC 基于計(jì)算思維的Python程序設(shè)計(jì)-河北工程大學(xué) 中國(guó)大學(xué)慕課答案
- JJG 621-2012 液壓千斤頂行業(yè)標(biāo)準(zhǔn)
- JTG∕T F30-2014 公路水泥混凝土路面施工技術(shù)細(xì)則
- 施工工地環(huán)保知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論