中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
RS232C串行通訊接口的應(yīng)用(下篇)
RS232C串行通訊接口的應(yīng)用(下篇)
作者:溫正偉
軟件和通訊協(xié)議
實例中的軟件可以分為上位機(jī)和下位機(jī)。下位機(jī)是由AT89C51與其固件程序組成,上位機(jī)則是由DELPHI編寫的串口應(yīng)用程序。上位機(jī)程序主要負(fù)責(zé)向RS232C發(fā)送主控信號和接收處理返回的信號,下位機(jī)則用于接收電腦主機(jī)從RS232C發(fā)送過來的主控信號再根據(jù)信號的內(nèi)容作出相應(yīng)的控制。上位機(jī)和下位機(jī)通訊時應(yīng)先預(yù)定通訊所用的速率和格式,這里選用9600波特,8數(shù)據(jù)位,1停止位,無校驗位。為了保證單片機(jī)在接收到控制字符時不會誤動作,我用設(shè)定了一個簡單的通訊協(xié)議,協(xié)議為4個字節(jié),只有當(dāng)前后兩個用于校驗的字節(jié)都為0x61時,中間的控制字才為有效。如果對通訊的可靠性要求高的話,應(yīng)用到CRC等算法來產(chǎn)生校驗字節(jié)。協(xié)議說明如下:
字節(jié) 數(shù)值范圍 含義
B1 0x61(也可以改為0x00-0xFF) 用于和B4組成簡單的命令有效標(biāo)識,也可以做為主控板的ID(更改此值要在單片機(jī)程序中修改)
B2 0x00-0x04 0x00-0x02分別為表示控制89C51的P0,P1,P2口。當(dāng)B2B3都為0x03時,關(guān)閉P0,P1,P2。當(dāng)B2B3都為0x04時運行89C51內(nèi)置測試程序。
B3 0x00-0xFF 向P口輸出的數(shù)據(jù)。
B4 同B1 只有B1,B4為一樣值時命令才有效。
表1 實例中程序所使用的簡單通訊協(xié)議
注:文中"0x"表示十六進(jìn)制,如發(fā)送0x61,0x0,0x0A,0x61,則這時AT89C51的P0口為0x0A(二進(jìn)制為00001010),P0.1,P0.3腳為高電平,P0口其它引腳為低電平。在單片機(jī)完成命令后會向串口發(fā)送剛才收到4個字節(jié)的字符,上位軟件也可以根據(jù)這個確認(rèn)下位機(jī)是否順利完成命令。
本實例提供了單片機(jī)固件的C語言源程序和window下的V1.0示例程序源代碼(DELPHI)。V1.0的演示程序界面見圖七。示例程序的使用也是很簡單的,把實例電路連接到電腦的COM1口上,運行示例程序,這時點擊"內(nèi)置測試"24個繼電器就會逐個閉合一段時間又?jǐn)嚅_,完成后程序會彈出如圖七的成功對話框,如點擊程序界面上編號的選項框則相應(yīng)P口上的繼電器閉合或斷開。
上述的所有源碼程序和可執(zhí)行文件都可在本期的附加光盤上找到,更多更新的相關(guān)資料可以訪問筆者的網(wǎng)站http://www.cdle.net。(源碼程序可在這點擊下載
圖7:示例軟件界面
RS232C串口的基本知識
圖八是RS232C的DB25針連接器,其引腳排列和名稱見表2。在這25個引腳中包含了兩個信道,分別為主信道和次信道,其中有4個數(shù)據(jù)線,11個控制線,3個定時信號線和2個信號地。次信道為輔助串行通道,其傳輸速率與主信道要低得多,其它功能都一樣,但較少的使用到。在AT、ATX型的PC和新其它新型的PC只提供一到兩個的只有主信道的RS232C串口,它們通常是使用DB9插針型連接器安裝在PC后面板上,在BIOS或操作系統(tǒng)中稱之為COM1、COM2(這個設(shè)備號也用于程序編寫中,也可以用COM3,COM4等),外觀和引腳定義分別見圖三和圖九,實例電路就是要使用它來進(jìn)行和電腦進(jìn)行通訊。
圖8:DB25型連接器
圖9:DB-9型連接器
引腳號
名 稱
1
保護(hù)地
2
發(fā)送數(shù)據(jù)TxD
3
接收數(shù)據(jù)RxD
4
請求發(fā)送RTS
5
清除發(fā)送CTS
6
數(shù)據(jù)裝置準(zhǔn)備好DSR
7
信號好GND
8
載波檢測CD
9
保留,供測試用
10
保留,供測試用
11
未定義
12
次信道載波檢測
13
次信道清除發(fā)送
14
次信道發(fā)送數(shù)據(jù)
15
發(fā)送器時鐘TxC
16
次信道接收數(shù)據(jù)
17
接收器時鐘RxC
18
未定義
19
次信道請求發(fā)送
20
數(shù)據(jù)終端準(zhǔn)備好DTS
21
信號質(zhì)量檢測
22
振鈴指示RI
23
數(shù)據(jù)信號速率選擇器
24
終端發(fā)送器時鐘
25
未定義
表2 RS232C的引腳定義
RS232C的引腳很多。但在業(yè)余的電子制作中主要用到的是RxD/TxD(數(shù)據(jù)收發(fā)引腳),它也是在上面實例制作中用到的引腳。RxD(Received Data)為串行數(shù)據(jù)接收端,用于接收數(shù)據(jù)用。TxD(Transmitted Data)為串行數(shù)據(jù)發(fā)送端。其它的控制腳使用時就要注意軟件中的功能和電平的狀態(tài)。當(dāng)兩個設(shè)備都有RS232C串行接口時,只要把它們的RxD、TxD交叉相連就可以用實現(xiàn)串行通訊了,如圖十的連接方式就可以用于兩臺電腦之間的通訊。當(dāng)兩設(shè)備的接口電平不相同時就要根據(jù)上面提到的EIA和TTL電平轉(zhuǎn)換的問題。實際上實例電路也是用到了圖十的連接方式只不過是多用了電平轉(zhuǎn)換。
串行通信時,數(shù)據(jù)和聯(lián)絡(luò)信號都是用同一根信號線來傳送的,這就要求收發(fā)遵守以下幾點:
1) 雙方約定的通信的速率(波特率),如在實例中單片機(jī)和電腦都是使用9600波特。
2) 雙方約定的數(shù)據(jù)格式(幀格式),其中包含控制信息應(yīng)該有明確的定義,如實例中簡單的通訊協(xié)議。
3) 接收方應(yīng)如何得知一段數(shù)據(jù)的開始和結(jié)束(幀同步),如實例中簡單協(xié)議中的B1,B4。
4) 接收方如何判斷收到的數(shù)據(jù)的正確性(數(shù)據(jù)校驗)。
5) 接收方如何從位流中正確地采樣到位數(shù)據(jù)(位同步)。
6) 收發(fā)出錯時如何外理(出錯外理)。
圖10:最簡單的串口連接方式
根據(jù)同步方式的不同,串行通信又分為兩類,異步通信和同步通信。同步通信時除了需要發(fā)送數(shù)據(jù)線,接收數(shù)據(jù)線和信號地線以外,還需要一根時鐘信號線,時鐘信號用于同步數(shù)據(jù)的發(fā)送和接收,傳送時是先讀取同步位,兩設(shè)備的同步模式一樣時數(shù)據(jù)開始傳送,直到送完數(shù)據(jù)塊,發(fā)送大的數(shù)據(jù)塊時要周期性的重發(fā)同步字符。同步通信主要是應(yīng)用于高速數(shù)據(jù)傳送場合。而在實例中用到的是最簡單的異步通信,它不需要上述的時鐘信號線,只要發(fā)送數(shù)據(jù)線、接收數(shù)據(jù)線和信號地線就可以了。異步通信發(fā)送的數(shù)據(jù)是以每次一個字符形式發(fā)出,接收端的同步是通過檢測包含在每個字符的開始和結(jié)束外的同步位而形成,這就造成20%冗余時間,使速度通訊速度變慢。
在業(yè)余的制作中通常是使用異步通信,在編寫程序時只要做到上位機(jī)和下位機(jī)的使用同樣的波特率、數(shù)據(jù)位數(shù)、停止位和有奇偶校驗位就可以實現(xiàn)簡單的RS232C異步通信。當(dāng)然異步通信也可實現(xiàn)多種傳輸制式,如單工、半雙工和全雙工通信鏈路,這里不做詳細(xì)說明了。
RS232C接口在幾乎每一臺臺式PC電腦中被使用,在一些新式的筆記本電腦也許只會有USB接口,這時可以用USB轉(zhuǎn)RS232C的設(shè)備取得RS232接口。在你的智能電子制作中不如加入對它的使用,一定會給你的制作或發(fā)明增色不少,如我們可以在一些要讀數(shù)、采集的儀表中加入串口采集或控制這樣就可以用電腦強(qiáng)大的處理能力去處理相關(guān)的數(shù)據(jù),也可以在一些要用到電腦控制的電路制作中用到串口。圖一、二、十一是本文實例制作的實物圖,關(guān)于它的PCB和相關(guān)的制作資料請訪問筆者的主頁http://www.cdle.net,如有相關(guān)問題和建議也可以聯(lián)系筆者Email:pnzwzw@cdle.net。
圖11:實物圖
零件 數(shù)量 備注
AT89C51 1
AT89C52,AT89S51/52均可直接代用
DB9插座 1
11.0592M晶振 1
發(fā)光二極管 1
10K電阻 2
以下零件只包括一個主控板和一個繼電器控制板
1K電阻 11
8.2K電阻 1
10K8位排阻 1
IN4148 9
BC547 2
其它同類管子也可
30p瓷片電容 2
10uF電解電容 1
10pin扦針 5
9012 8
5V繼電器 8
如用大于5伏的繼電器需更改驅(qū)動電路
10pin接線 1
表3 零件表
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
RS232C串行通訊接口的應(yīng)用
有關(guān)RS232和RS485接口的問答
GPS板+單片機(jī)+液晶顯示 的文檔
初識RS-232協(xié)議_網(wǎng)絡(luò)標(biāo)準(zhǔn)和協(xié)議_IT專家網(wǎng)
UART
筆試常考:嵌入式5大常用協(xié)議(UART、RS232、RS485、IIC、SPI)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服