版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機原理及應(yīng)用任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試地面中心站 井下分站 智能傳感器 通信通信任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試2 數(shù)據(jù)傳輸功能在監(jiān)控系統(tǒng)中占有十分重要的地位。其作用是將傳感器檢測所得的電信號(檢測對象的反應(yīng)量),由井下傳送道地面中心站進行集中處理,要求傳輸距離遠)不中斷)準(zhǔn)確性高。因此,必須了解單片機的通信。 礦用傳感器輸出的電信號可分為連續(xù)變化的模擬量信號和階越變化的開關(guān)量信號兩大類。從廣義上講,開關(guān)量信號是一種簡單的數(shù)字信號。模擬信號可通過模擬/數(shù)字轉(zhuǎn)換器(a/d轉(zhuǎn)換器)轉(zhuǎn)換為數(shù)字信號。數(shù)字信號也可以通過數(shù)字/模擬轉(zhuǎn)換器(d/a轉(zhuǎn)換器)轉(zhuǎn)換程模擬信號。按照系
2、統(tǒng)所傳輸信號的不同,礦用監(jiān)控系統(tǒng)可分為兩類:模擬傳輸系統(tǒng)和數(shù)字傳輸系統(tǒng)。前言前言任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試3 數(shù)字傳輸系統(tǒng)與模擬傳輸系統(tǒng)相比,具有以下優(yōu)點: (1)抗干擾能力強; (2)傳輸中的差錯可以設(shè)法控制,以改善傳輸質(zhì)量; (3)可以傳遞各種信息,使傳輸系統(tǒng)變得通用)靈活; (4)便于用計算機對系統(tǒng)進行管理。 由于井下電磁干擾嚴(yán)重及傳感器種類繁多等因素,數(shù)字傳輸在礦井監(jiān)控信息傳輸系統(tǒng)中得到越來越廣泛的應(yīng)用,所以必須了解并熟練掌握單片機通信。 任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試4一、任務(wù)分析一、任務(wù)分析二、任務(wù)演示二、任務(wù)演示三、相關(guān)知識三、相關(guān)知識四、任務(wù)布置四、
3、任務(wù)布置任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試5一、任務(wù)分析一、任務(wù)分析 (一)單片機單機的通信 異步串行通信通常以字符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收端通過傳輸線一幀一幀地接收。在方式0中波特率由晶體振蕩器的頻率決定,與t1無關(guān),所以無需對t1進行設(shè)置。本設(shè)計中波特率不倍增,所以無需對pcon進行設(shè)置(因單片機復(fù)位時波特率倍增位smod已置成0)。采用串行通信方式0,所以scon設(shè)置為00h。 字符幀由三個部分組成,分別是起始位)數(shù)據(jù)位和停止位,如圖9-1所示:起始位數(shù)據(jù)位(0)數(shù)據(jù)位(1)數(shù)據(jù)位(n-1)停止位一幀數(shù)據(jù)返回任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)
4、通信實現(xiàn)與調(diào)試6 起始位位于字符幀的開頭,占一位,為0(低電平),表示發(fā)送端開始發(fā)送一幀數(shù)據(jù)。 數(shù)據(jù)位緊跟起始位后,低位在前,高位在后,根據(jù)串行通信工作方式的不同,數(shù)據(jù)位可為8位或9位。 停止位位于字符幀的末尾,占一位,為1(高電平),表示一幀數(shù)據(jù)發(fā)送完畢。 1、串行接收 在串行接收數(shù)據(jù)時,當(dāng)cpu允許接收(即串行口控制寄存器scon中的ren位為1)時,外部數(shù)據(jù)通過引腳rxd(p3.0)串行輸入,數(shù)據(jù)低位在前,高位在后,一幀數(shù)據(jù)接收完畢,再并行送入接收緩沖器sbuf中,同時由硬件將接收中斷標(biāo)志位ri置“1”。 任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試7 2、串行發(fā)送 在串行發(fā)送數(shù)據(jù)時,將發(fā)
5、送數(shù)據(jù)并行寫入發(fā)送緩沖器sbuf中,同時啟動數(shù)據(jù)由txd(p3.1)引腳串行發(fā)送,當(dāng)一幀數(shù)據(jù)發(fā)送完畢(即發(fā)送緩沖器空),由硬件自動將發(fā)送中斷請求標(biāo)志位ti置“1”。 3、數(shù)據(jù)傳送速率 串行通信的速率用波特率來表示,所謂波特率就是指一秒鐘傳送數(shù)據(jù)位的個數(shù)。每秒鐘傳送一個數(shù)據(jù)位就是1波特,即1波特1bps(位/秒)。時鐘頻率高,則波特率高,通信速度就快;反之,時鐘頻率低,波特率就低,通信速度就慢。 任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試8 4、串行通信控制 串行通信主要是由串行口控制寄存器scon控制,其主要用于串行通信的工作方式)控制,多機通信時傳送數(shù)據(jù)或地址的控制,是否允許接收數(shù)據(jù)控制,串
6、行數(shù)據(jù)接收或發(fā)送完畢控制等。(二)單片機的多機通信(二)單片機的多機通信 使甲)乙雙方能夠進行通信。要求:將甲機內(nèi)部ram20h27h單元的數(shù)據(jù)發(fā)送給乙機。返回任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試96mhzc230pfc330pfa7b6c4d2e1f9g10dp5com3com8smgr3r9470+5va1b2q03q14q25q36q410q511q612q713clk8clr9ic 274ls164+5vc110ufr210kr1470sea31xtal119xtal218rst9p3.7/r d17p3.6/wr16p3.2/int012p3.3/int113p3.4/t014
7、p3.5/t115p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p0.039p0.138p0.237p0.336p0.435p0.534p0.633p0.732p2.021p2.122p2.223p2.324p2.425p2.526p2.627p2.728psen29ale30p3.1/txd11p3.0/r xd10vcc40gnd20ic1at89c51返回 二、任務(wù)演示二、任務(wù)演示任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試10位地址 9fh 9eh 9dh 9ch 9bh 9ah 99h 98h 位符號 sm0 sm1 sm2 ren tb8 rb8 t
8、i ri (一)單片機的單機通信(一)單片機的單機通信 1、串行通信控制 (1) 串行口控制寄存器sconscon是51系列單片機的一個可位尋址的專用寄存器,用于串行通信方式選擇,接收和發(fā)送控制,串行口狀態(tài)指示等。單元地址為98h,位地址為98h9fh。寄存器的內(nèi)容及位地址見表9-2。表9-2 scon寄存器返回 三)相關(guān)知識三)相關(guān)知識任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試11任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試12 (2)sm0 、sm1串行口工作方式選擇位。 這兩位用于選擇串行口的4種工作方式,其狀態(tài)組合和對應(yīng)工作方式見表9-3。 表9-3 串行口工作方式選擇sm0 sm1 方
9、式 功能說明 波特率 0 0 方式0 8位同步移位寄存器 fosc/12 0 1 方式1 10位uart 由t1的溢出率確定 1 0 方式2 11位uart fosc/64 或者fosc/32 1 1 方式3 11位uart 由t1的溢出率確定 (3)sm2、tb8、rb8多機通信控制位 在方式2和方式3時,tb8是發(fā)送數(shù)據(jù)的第9位,rb8是接收數(shù)據(jù)的第9位,由用戶用指令進行置“1”或清“0”,tb8和rb8是對應(yīng)的,在發(fā)送端發(fā)的tb8位就是接收端接收的rb8位。 任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試13 方式2和方式3用于多機通信時,在發(fā)送端若tb8=1,則表示發(fā)送的為地址幀;若tb8
10、=0則表示發(fā)送的為數(shù)據(jù)幀。 接收端若sm21,表示地址接收狀態(tài),若接收到的rb8=1,即接收的為地址幀時,將接收到的地址送入接收sbuf中,并置位ri產(chǎn)生中斷請求;若rb8=0,即接收到的為數(shù)據(jù)幀,ri不置“1”,同時將接收到的數(shù)據(jù)幀丟棄。若sm20,表示數(shù)據(jù)接收狀態(tài),則不論rb8=1或rb8=0,都將接收到的數(shù)據(jù)送入接收sbuf中,并產(chǎn)生中斷請求。在方式2和方式3用于雙機通信時,tb8)rb8可作奇偶校驗位用。在方式1中,當(dāng)sm2=0時,rb8為接收到的停止位;當(dāng)sm2=1,則只有接收到有效停止位時,ri才置“1”。而串行口工作在方式0中,sm2必須置“0”,不用tb8和rb8位。任務(wù)九任務(wù)
11、九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試14 (4)ren允許接收位 由指令置“1”或清“0”,ren1時,允許接收數(shù)據(jù);ren0時,禁止接收數(shù)據(jù)。 (5)ti發(fā)送中斷標(biāo)志位 在方式0時,發(fā)送完第8位數(shù)據(jù)后,該位由硬件置“1”。在其他方式下,在發(fā)送停止位之初,由硬件置“1”。 因此,ti1表示幀發(fā)送結(jié)束,其狀態(tài)既可供軟件查詢使用,也可用于請求中斷。ti在查詢方式或中斷方式下都必須由指令清“0”。 (6)ri接收中斷標(biāo)志位 在方式0時,接收完第8位數(shù)據(jù)后,該位由硬件置“1”。在其他方式下,在接收停止位的中間,該位由硬件置“1”。因此,ri1表示幀接收結(jié)束,其狀態(tài)既可供軟件查詢使用,也可用于請求中斷。同樣
12、,ri在查詢方式或中斷方式下都必須由指令清“0”。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試15 (7)電源控制寄存器pcon pcon不可位尋址,字節(jié)地址為87h。pcon主要是為chmos型51系列單片機的電源控制而設(shè)置的專用寄存器,其各控制位的符號見表9-4。位序 d7 d6 d5 d4 d3 d2 d1 d0 位符號 smod gf1 gf0 pd idl 與串行通信有關(guān)的只有d7位(smod),該位為波特率倍增位。當(dāng)smod=1時,串行口波特率增加一倍;當(dāng)smod=0時,串行口波特率為設(shè)定值。當(dāng)系統(tǒng)復(fù)位時,smod=0。 gf1、gf0、pd和idl位為電源控制位,其中g(shù)f1和gf0
13、為通用標(biāo)志位,由指令置“1”或清“0”。pd和idl位為低功耗方式控制位,其中pd位為掉電方式控制位,pd=1時,進入掉電工作方式;idl位為待機方式控制位,idl=1時,進入待機工作方式表9-4 pcon寄存器任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試16 2、工作方式 51系列單片機串行通信有4種工作方式,由scon中的sm0和sm1位確定。 方式0 串行口工作在方式0時,作同步移位寄存器使用,以8位數(shù)據(jù)為一幀,無起始位和停止位。串行數(shù)據(jù)由rxd(p3.0)端輸入或輸出端,同步移位脈沖由txd(p3.1)端輸出。這種工作方式常用于擴展i/o口中,外接移位寄存器(并入串出移位寄存器74ls1
14、65或串入并出移位寄存器74ls164),實現(xiàn)數(shù)據(jù)并行輸入或輸出。工作在方式0時,波特率固定為fosc/12,即每個機器周期輸入或輸出一位數(shù)據(jù)。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試17 (1)數(shù)據(jù)發(fā)送 當(dāng)數(shù)據(jù)寫入sbuf后,從rxd端輸出,在移位脈沖的控制下,逐位移入74ls164,74ls164完成數(shù)據(jù)的串并轉(zhuǎn)換。當(dāng)8位數(shù)據(jù)全部輸出后,由硬件將ti置“1”,發(fā)出中斷請求。數(shù)據(jù)由74ls164并行輸出,其接口電路如圖9-5所示,rxd端接74ls164的串行輸入端a)b,txd接74ls164的時鐘脈沖輸入端clk,p1.0接74ls164的清零端。由該圖可知通過外接74ls164,串行
15、口能夠?qū)崿F(xiàn)數(shù)據(jù)的并行輸出。 q0 q1 q2 q3 q4 q5 q6 q7abclkclr123456891011 12 13p3.0p3.1p1.051單片機74ls164圖9-5 方式0 外接移位寄存器輸出任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試18 (2)數(shù)據(jù)接收 要實現(xiàn)接收數(shù)據(jù),必須首先把scon中的允許接收位ren置“1”。當(dāng)ren為1時,數(shù)據(jù)在移位脈沖的控制下,從rxd端輸入。當(dāng)接收完8位數(shù)據(jù)時,將接收中斷標(biāo)志位ri置“1”,發(fā)出中斷請求。數(shù)據(jù)由74ls165并行輸入,其接口電路如圖9-6所示。rxd接74ls165的數(shù)據(jù)輸出端q,txd接74ls165的時鐘脈沖輸入端clk,p
16、1.0接移位/置數(shù)端。由該電路可知,通過外接74ls165,串行口能夠?qū)崿F(xiàn)數(shù)據(jù)的并行輸入。d0 d1 d2 d3 d4 d5 d6 d7qclks/l965432114131211p3.0p3.1p1.051單片機74ls165方式0 外接移位寄存器輸入任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試19 方式1 方式1為10位異步串行通信方式。其幀格式為1個起始位)8個數(shù)據(jù)位和1個停止位,其波特率可調(diào)。 (1)數(shù)據(jù)發(fā)送 數(shù)據(jù)寫入sbuf后,就啟動發(fā)送器開始發(fā)送,此時由硬件加入起始位和停止位,構(gòu)成一幀數(shù)據(jù),由txd串行輸出。發(fā)送完一幀數(shù)據(jù)后,將ti置“1”,通知cpu可以進行下一個數(shù)據(jù)的發(fā)送。 (2
17、)數(shù)據(jù)接收 ren=1且接收到起始位后,就開始接收一幀數(shù)據(jù)。當(dāng)停止位到來后,把停止位送入rb8中,并置位ri,通知cpu接收到一個數(shù)據(jù),將其從sbuf中取走。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試20)(t1322smod溢出率波特率(3)波特率確定工作在方式1時,其波特率是可變的,波特率的計算公式為: 其中,smod為pcon寄存器的最高位,其值為1或0。 當(dāng)定時器1作波特率發(fā)生器使用時,選用工作方式2(即自動重裝初值方式),可以避免因程序反復(fù)裝入定時初值所引起的定時誤差,使波特率更加穩(wěn)定。設(shè)t1初值為x,則溢出周期為:x)(256fosc12t任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試
18、21x)(25612fosc322波特率smod波特率3841)(smodfosc256x溢出率為溢出周期的倒數(shù),則波特率的計算公式為: t1的初值為: 任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試22 方式2 方式2為11位異步串行通信方式。其幀格式為1個起始位)9個數(shù)據(jù)位和1個停止位。與方式1相比增加了一個第9位數(shù)據(jù)位(d8),其功能由用戶確定,是一個可編程位。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試23 (1)數(shù)據(jù)發(fā)送 發(fā)送前先根據(jù)通信協(xié)議用指令設(shè)置好scon中的tb8(發(fā)送端發(fā)送的第9位數(shù)據(jù),雙機通信時作奇偶校驗位;多機通信時作地址/數(shù)據(jù)標(biāo)識位, tb8為1時發(fā)送的為地址, tb8為0
19、時發(fā)送的為數(shù)據(jù))。然后將要發(fā)送的數(shù)據(jù)(d0d7)寫入sbuf中,而d8位的內(nèi)容則由硬件電路從tb8中直接送到發(fā)送移位寄存器的第9位,并以此來啟動串行發(fā)送。一幀發(fā)送完畢,將ti位置“1”,其他過程與方式1相同。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試24 (2)數(shù)據(jù)接收 方式2的接收過程也與方式1基本類似,所不同的只在第9位數(shù)據(jù)上,串行口把接收到的前8位數(shù)據(jù)送入sbuf,而把第9位數(shù)據(jù)送入rb8。在接收前先將ren位置“1”,將ri位清“0”。然后根據(jù)sm2的狀態(tài)和接收到的rb8的狀態(tài)決定串行口在數(shù)據(jù)到來后是否使ri置“1”,如ri置“1”則接收數(shù)據(jù),否則不接收數(shù)據(jù)。 當(dāng)sm2=0時,單片機處
20、于數(shù)據(jù)接收狀態(tài),不管rb8為0還是為1,ri均置“1”,此時串行口將接收發(fā)送來的數(shù)據(jù)。 當(dāng)sm2=1時,單片機處于地址接收狀態(tài)。如接收到的rb8為1時,表示接收到的為地址,此時ri置“1”,串行口接收發(fā)來的地址;如接收到的rb8為0時,表示接收到的為數(shù)據(jù),因本機當(dāng)前處于地址接收狀態(tài),所以該數(shù)據(jù)不能被接收,ri不置“1”,此數(shù)據(jù)為發(fā)送給其他單片機的數(shù)據(jù)。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試25(3)波特率確定fosc642波特率smod 方式2的波特率是固定的,由晶振頻率及smod的值確定。當(dāng)smod為0時,波特率為晶振頻率1/32,即fosc/32;當(dāng)smod為1時,波特率為晶振頻率的1
21、/64,即fosc/64。用公式表示為: 方式3 方式3同方式2相似,只不過方式3的波特率是可變的,由用戶來確定。其波特率的確定同方式1。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試26(二)多機通信(二)多機通信mcs-51串行口的方式2和方式3有一個專門的應(yīng)用領(lǐng)域,即多機通信。這一功能通常采用主從式多機通信方式,在這種方式中,用一臺主機和多臺從機。主機發(fā)送的信息可以傳送到各個從機或指定的從機,各從機發(fā)送的信息只能被主機接收,從機與從機之間不能進行通信。圖9-7是多機通信的一種連接示意圖。txd rxdrxdrxd0#從 機1#從 機2#從 機805180518051txdtxdtxdrxd主
22、 機8051圖9-7 多機通信連接示意圖任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試27 多機通信的實現(xiàn),主要依靠主)從機之間正確地設(shè)置與判斷sm2和發(fā)送或接收的第9位數(shù)據(jù)來(tb8或rb8)完成的。我們首先將上述二者的作用總結(jié)如下: 在單片機串行口以方式2或方式3接收時,一方面,若sm2=1,表示置多機通信功能位,這時有兩種情況:(1)接收到第9位數(shù)據(jù)為1。此時數(shù)據(jù)裝入sbuf,并置ri=1,向cpu發(fā)中斷請求;(2)接收到第9位數(shù)據(jù)為0。此時不產(chǎn)生中斷,信息將被丟失,不能接收。 另一方面,若sm2=0,則接收到的第9位信息無論是1還是0,都產(chǎn)生ri=1的中斷標(biāo)志,接收的數(shù)據(jù)裝入sbuf。根據(jù)
23、這個功能,就可以實現(xiàn)多機通信。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試28 在編程前,首先要給各從機定義地址編號,如分別為00h)01h)02h等。在主機想發(fā)送一個數(shù)據(jù)塊給某個從機時,它必須先送出一個地址字節(jié),以辨認(rèn)從機。編程實現(xiàn)多機通信的過程如下:1、主機發(fā)送一幀地址信息,與所需的從機聯(lián)絡(luò)。主機應(yīng)置tb8為1,表示發(fā)送的是地址幀。例如: mov scon,#0d8h ;設(shè)串行口為方式3,tb8=1,允許接收。2、所有從機初始化設(shè)置sm2=1,處于準(zhǔn)備接收一幀地址信息的狀態(tài)。例如: mov scon,#0f0h ;設(shè)串行口為方式3,sm2=1,允許接收。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與
24、調(diào)試29 3、各從機接收到地址信息,因為rb8=1,則置中斷標(biāo)志ri。中斷后,首先判斷主機送過來的地址信息與自己的地址是否相符。對于地址相符的從機,置sm2=0,以接收主機隨后發(fā)來的所有信息。對于地址不相符的從機,保持sm2=1的狀態(tài),對主機隨后發(fā)來的信息不理睬,直到發(fā)送新的一幀地址信息。 4、主機發(fā)送控制指令和數(shù)據(jù)信息給被尋址的從機。其中主機置tb8為0,表示發(fā)送的是數(shù)據(jù)或控制指令。對于沒選中的從機,因為sm2=1,rb8=0,所以不會產(chǎn)生中斷,對主機發(fā)送的信息不接收。 對于多機通信的編程,本書將不再列出,有興趣的讀者可自行編寫。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試30(三)(三)pc
25、pc機和單片機之間的通信機和單片機之間的通信 在數(shù)據(jù)處理和過程控制應(yīng)用領(lǐng)域,通常需要一臺pc機,由它來管理一臺或若干臺以單片機為核心的智能測量控制儀表。這時,也就是要實現(xiàn)pc機和單片機之間的通信。本節(jié)介紹pc機和單片機的通信接口設(shè)計和軟件編程。 1、接口設(shè)計 pc機與單片機之間可以由rs-232c)rs-422或rs-423等接口相連,關(guān)于這些標(biāo)準(zhǔn)接口的特征我們已經(jīng)在前面的篇幅中介紹過。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試31 在pc機系統(tǒng)內(nèi)都裝有異步通信適配器,利用它可以實現(xiàn)異步串行通信。該適配器的核心元件是可編程的intel 8250芯片,它使pc機有能力與其他具有標(biāo)準(zhǔn)的rs-232
26、c接口的計算機或設(shè)備進行通信。而mcs-51單片機本身具有一個全雙工的串行口,因此只要配以電平轉(zhuǎn)換的驅(qū)動電路)隔離電路就可組成一個簡單可行的通信接口。同樣,pc機和單片機之間的通信也分為雙機通信和多機通信。pc機和單片機最簡單的連接是零調(diào)制三線經(jīng)濟型。這是進行全雙工通信所必須的最少線路。因為mcs-51單片機輸入)輸出電平為ttl電平,而pc機配置的是rs-232c標(biāo)準(zhǔn)接口,二者的電氣規(guī)范不同,所以要加電平轉(zhuǎn)換電路。常用的有mc1488)mc1489和max232,圖9-8 給出了采用max232芯片的pc機和單片機串行通信接口電路,與pc機相連采用9芯標(biāo)準(zhǔn)插座。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通
27、信實現(xiàn)與調(diào)試32c1+1c1-3c2+4c2-5vs+2vs-6vcc16gnd15t1in11t1out14t2in10t2out7r1out12r1in13r2out9r2in8max232rxdtxd10111627384958051圖9-8 pc機和單片機串行通信接口任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試33 2、軟件編程 這里,我們列舉一個實用的通信測試軟件,其功能為:將pc機鍵盤的輸入發(fā)送給單片機,單片機收到pc機發(fā)來的數(shù)據(jù)后,回送同一數(shù)據(jù)給pc機,并在屏幕上顯示出來。只要屏幕上顯示的字符與所鍵入的字符相同,說明二者之間的通信正常。 通信雙方約定:波特率為2400;信息格式為8
28、個數(shù)據(jù)位,1個停止位,無奇偶校驗位。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試34 mcs-51通過中斷方式接收pc機發(fā)送的數(shù)據(jù),并回送。單片機串行口工作在方式1,晶振為6mhz,波特率2400,定時器t1按方式2工作,經(jīng)計算定時器預(yù)置值為0f3h,smod=1。 程序參考如下: org 0000h ljmp csh ;轉(zhuǎn)初始化程序 org 0023h ljmp ints ;轉(zhuǎn)串行口中斷程序 org 0050hcsh: mov tmod,#20h ;設(shè)置定時器1為方式2任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試35任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試36 mov tl1,#0f3h ;設(shè)
29、置預(yù)置值 mov th1,#0f3h setb tr1 ;啟動定時器1 mov scon #50h ;串行口初始化 mov pcon #80h setb ea ;允許串行口中斷 setb es ljmp main ;轉(zhuǎn)主程序(主程序略) ints: clr ea ;關(guān)中斷clr ri ;清串行口中斷標(biāo)志 push dpl ;保護現(xiàn)場任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試37 push dph push a ; mov a,sbuf ;接收pc機發(fā)送的數(shù)據(jù) mov sbuf,a ;將數(shù)據(jù)回送給pc機 wait: jnb ti,wait ;等待發(fā)送 clr ti pop a ;發(fā)送完,恢復(fù)現(xiàn)場
30、 pop dph pop dpl setb ea ;開中斷 reti ;返回任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試38 3、pc機通信程序 pc機方面的通信程序可以用匯編語言編寫,也可以用其它高級語言例如vc)vb來編寫。這里只介紹用匯編語言編寫的程序。 參考程序如下: stack segment para stack code db 256 dup(0) stack ends code segment para public code start proc far assume cs:code,ss:stack任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試39 push ds mov ax,
31、0 push ax cli input: mov al,80h ;置dlab=1 mov dx,3fbh ;寫入通信線控制寄存器 out dx,al mov al,30h ;置產(chǎn)生2400波特率除數(shù)低位 mov dx,3f8h out dx,al ;寫入除數(shù)鎖存器低位 mov al,00h ;置產(chǎn)生2400波特率除數(shù)高位 mov dx,3f9h out dx,al ;寫入除數(shù)鎖存器高位任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試40 mov al,03h ;設(shè)置數(shù)據(jù)格式 mov dx,3fbh ;寫入通信線路控制寄存器 out dx,al mov al,00h ;禁止所有中斷 mov dx,3f
32、9h out dx,al wait1: mov dx,3fdh ;發(fā)送保持寄存器不空 則循環(huán)等待 in al,dx test al,20h jz wait1任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試41wait2: mov ah,1 ;檢查鍵盤緩沖區(qū),無字符則循環(huán)等待 int 16h jz wait2 mov ah,0 ;若有,則取鍵盤字符 int 16hsend: mov dx,3f8h ;發(fā)送鍵入的字符 out dx,alrece: mov dx,3fdh ;檢查接收數(shù)據(jù)是否準(zhǔn)備好 in al,dx test al,01h jz rece任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試42 te
33、st al,1ah ;判斷接收到的數(shù)據(jù)是否出錯 jnz error mov dx,3f8h in al,dx ;讀取數(shù)據(jù) and al,7eh ;去掉無效位 push ax mov bx,0 ;顯示接收字符 mov ah,14 int 10h pop ax cmp al,0dh ;接到的字符若不是回車則返回 jnz wait1 mov al,0ah ;是回車則回車換行任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試43 mov bx,0 mov ah,14h int 10h jmp wait1 error: mov dx,3f8h ;讀接收寄存器,清除錯誤字符 in al,dx mov al,? ;
34、顯示?號 mov bx,0 mov ah,14h int 10h jmp wait1 ;繼續(xù)循環(huán) start ends code ends end start任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試44 (四)干擾的來源及排除(四)干擾的來源及排除 由于生產(chǎn)現(xiàn)場的環(huán)境惡劣,單片機應(yīng)用系統(tǒng)易受各種干擾侵襲,它直接影響到系統(tǒng)的可靠性。因此,單片機應(yīng)用系統(tǒng)的抗干擾設(shè)計是設(shè)計)使用和維護人員關(guān)注的重要課題。 各種應(yīng)用系統(tǒng)所處環(huán)境不同,所面臨的干擾源也不相同,因而采取的抗干擾措施也不盡相同。在單片機應(yīng)用系統(tǒng)中,主要考慮以下幾方面的問題。 1、抑制電源的干擾。對單片機系統(tǒng)危害最嚴(yán)重的干擾來源于電源污染。
35、由于任何電源及輸電線路都存在內(nèi)阻和分布電容)分布電感等,正是這些因素產(chǎn)生了電源的噪聲干擾。決問題的方法是:采用交流穩(wěn)壓器來保證供電的穩(wěn)定性,防止電源系統(tǒng)的過壓和欠壓;利用低通濾波器濾去高次諧波以改善電源波形;采用隔離變壓器)雙層屏蔽(初)次級屏蔽)措施來減少分布電容,提高系統(tǒng)抗共模干擾能力,在有條件的情況下,還可采用分散獨立功能塊供電和干擾抑制器等,抑制來自電源的干擾。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試45 2、抑制來自傳感器。各功能模塊部分的干擾模擬電路通過隔離放大器進行隔離、數(shù)字電路通過光電耦合器進行隔離、模擬地和數(shù)字地分開、采用提高電路共模抑制比等措施可以有效地抑制來自傳感器、各
36、功能模塊部分的干擾。 3、數(shù)據(jù)傳輸?shù)母蓴_。在應(yīng)用系統(tǒng)的長線數(shù)據(jù)傳輸中,采用雙絞線作為傳輸線,能有效地抑制共模噪聲及電磁場干擾。但必須注意對傳輸線進行阻抗匹配,以免產(chǎn)生反射,使信號失真。 4、抑制空間的電磁干擾。來自系統(tǒng)內(nèi)部和外部的電磁場在線路、導(dǎo)線、殼體上產(chǎn)生輻射、吸收與調(diào)制,抗干擾設(shè)計主要考慮地線設(shè)計、系統(tǒng)的屏蔽與布局設(shè)計。 5、地線的設(shè)計。在單片機應(yīng)用系統(tǒng)中,地線大致分為系統(tǒng)地、機殼地(屏蔽地、數(shù)字地、模擬地等。在設(shè)計時,數(shù)字地和模擬地要分開,分別與電源端地線相連;當(dāng)系統(tǒng)工作頻率小于1mhz時,屏蔽線應(yīng)采用單點接地;當(dāng)系統(tǒng)工作頻率在110mhz時,屏蔽線應(yīng)采用多點接地。 任務(wù)九任務(wù)九煤礦安
37、全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試46 6、印刷電路板設(shè)計 在印刷電路板中,要嚴(yán)格將強、弱電路分開,盡量不要把它們設(shè)計在一塊印刷電路板上電源線的走向應(yīng)盡量與數(shù)據(jù)傳遞方向一致;接地線應(yīng)盡量加粗在印刷電路板的各個關(guān)鍵部位應(yīng)配置去藕濾波電容。 7、電平匹配 在電路設(shè)計時,要注意電平匹配。如ttl“1”電平是245v,“0”電平是00.4v;而cmos輸入“1”電平是4.995v,“0”電平是00.01v。因此,當(dāng)cmos器件接受ttl輸出時,其輸入端就要加電平轉(zhuǎn)換器或上拉電阻,否則,cmos器件就會處于不確定狀態(tài)。cmos電路中不使用的輸入端不允許浮空,否則會引起邏輯電平不正常,且易接受外界干擾產(chǎn)生誤動作。在
38、設(shè)計時可根據(jù)實際情況,將多余的輸入端與正電源或地相連接。 8、總線驅(qū)動 單片機在進行擴展時,不應(yīng)超過單片機的驅(qū)動能力,否則將會使整個系統(tǒng)工作不正常。如果要超負(fù)載驅(qū)動,則應(yīng)加上總線驅(qū)動器,如使用74ls245等增強單片機的驅(qū)動能力。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試47 9、軟件的抗干擾設(shè)計。軟件的抗干擾設(shè)計是單片機應(yīng)用系統(tǒng)抗干擾設(shè)計的一個重要組成部分。在許多情況下,應(yīng)用系統(tǒng)的抗干擾不可能完全依靠硬件來解決。而對軟件采取抗干擾設(shè)計,往往成本低、見效快,起到事半功倍的效果。在實際情況中,針對不同的干擾后果,采取不同的軟件對策。在實時數(shù)據(jù)采集系統(tǒng)中,為了消除傳感器通道中的干擾信號,可采用軟件
39、數(shù)字濾波,如算術(shù)平均值法、比較舍取法、中值法、一階遞推數(shù)字濾波法等;在開關(guān)量控制系統(tǒng)中,為防止干擾進入系統(tǒng)造成各種控制條件、數(shù)據(jù)控制失誤,可采取軟件冗余、設(shè)置當(dāng)前輸出狀態(tài)寄存單元、自檢程序等措施;為防止pc失控,造成程序“亂飛”,可設(shè)置軟件“監(jiān)視跟蹤定時器”來監(jiān)視程序運行狀態(tài),也可在非程序區(qū)設(shè)置軟件陷阱,強行使程序回復(fù)到復(fù)位狀態(tài)。用硬件設(shè)置watchdog電路強制系統(tǒng)返回也是一種常用的方法。返回任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試48 (五)礦井監(jiān)控信息傳輸基本概念(五)礦井監(jiān)控信息傳輸基本概念 1、摸擬傳輸與數(shù)字傳輸 礦用傳感器輸出的電信號可分為連續(xù)變化的模擬量信號和階躍變化的開關(guān)量信
40、號兩大類。從廣義上講,開關(guān)量信號是一種簡單的數(shù)字信號。模擬信號可通過模擬數(shù)字轉(zhuǎn)換器(a/ d 轉(zhuǎn)換器)轉(zhuǎn)換為數(shù)字信號。數(shù)字信號也可以通過數(shù)生扮模擬轉(zhuǎn)換器(d / a 轉(zhuǎn)換器)轉(zhuǎn)換成模擬信號。按照系統(tǒng)所傳輸?shù)男盘柕牟煌V井監(jiān)控信息傳輸系統(tǒng)可分為兩類。模擬傳輸系統(tǒng)和數(shù)字傳輸系統(tǒng)。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試49 數(shù)字傳輸系統(tǒng)與模擬傳輸系統(tǒng)相比,具有如下優(yōu)點: 抗干擾能力強;劇專輸中的差錯可以設(shè)法控制,改善傳輸質(zhì)量; 可以傳遞各種消息,使傳輸系統(tǒng)變得通用)靈活; 便于用計算機對系統(tǒng)進行管理。但數(shù)字傳輸?shù)纳鲜鰞?yōu)點都是用比模擬傳輸占據(jù)更寬的傳輸頻帶而換得的。 由于井下電磁干擾嚴(yán)重,傳感器種類繁多等因素,數(shù)字傳輸在礦井監(jiān)控信息傳輸系統(tǒng)中得到了越來越廣泛地應(yīng)用。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試50 2、單向傳輸、半雙工及全雙工傳輸 單向傳輸是指消息只能單方向進行傳輸?shù)墓ぷ鞣绞?,如圖9-10 ( a )所示。 半又見工(單工)傳輸方式是指通信雙方都能收發(fā)消息,但不能同時進行收和發(fā)的工作方式,如圖9-10 ( b )所示。 全雙工傳輸是指通信雙方可同時進行雙向傳輸消息的工作方式,如圖9-10 ( c )所示。任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試51任務(wù)九任務(wù)九煤礦安全監(jiān)測系統(tǒng)通信實現(xiàn)與調(diào)試
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 前臺的辭職報告模板合集七篇
- 迎新年晚會意義策劃
- 2023一年級數(shù)學(xué)上冊 八 認(rèn)識鐘表(小明的一天)教學(xué)實錄 北師大版
- 2024-2025學(xué)年新教材高中化學(xué) 第五章 化工生產(chǎn)中的重要非金屬元素 1.3 硫酸根離子檢驗、硫和含硫化合物的相互轉(zhuǎn)化教學(xué)實錄 新人教版必修2
- 2024秋八年級道德與法治上冊 第一單元 成長的空間 第一課 相親相愛一家人(他們這樣做的原因)教學(xué)思路 人民版
- 2024年某城市地鐵線路建設(shè)及運營管理長期租賃合同
- 實際正常和標(biāo)準(zhǔn)成本法ActualNormalandStandardCosting
- 廣州市來穗人員服務(wù)管理局來穗人員積分制服務(wù)管理信息系統(tǒng)
- 2022天宮課堂第三課觀后感10篇范文
- 2023二年級數(shù)學(xué)下冊 7 萬以內(nèi)數(shù)的認(rèn)識第8課時 近似數(shù)教學(xué)實錄 新人教版
- 市場部培訓(xùn)課程課件
- 充電樁采購安裝售后服務(wù)方案
- 八年級歷史上冊論述題匯總
- 資產(chǎn)評估學(xué)教程(第八版)習(xí)題及答案 喬志敏
- 體質(zhì)健康成績測試全自動化計算模板
- 垃圾清運服務(wù)投標(biāo)方案(技術(shù)方案)
- 人教版小學(xué)三年級上學(xué)期期末數(shù)學(xué)試卷(及答案)
- 人教版六年級下冊數(shù)學(xué)工程問題(課件)
- 沖壓成型精密五金機構(gòu)件生產(chǎn)QC工程圖
- 2023柔性棚洞防護結(jié)構(gòu)技術(shù)規(guī)程
- 天津高考英語詞匯3500
評論
0/150
提交評論