軟件和通訊協(xié)議
表1 實例中程序所使用的簡單通訊協(xié)議
注:文中"0x"表示十六進制,,如發(fā)送0x61,0x0,0x0A,0x61,,則這時AT89C51的P0口為0x0A(二進制為00001010),P0.1,P0.3腳為高電平,P0口其它引腳為低電平,。在單片機完成命令后會向串口發(fā)送剛才收到4個字節(jié)的字符,,上位軟件也可以根據(jù)這個確認下位機是否順利完成命令。本實例提供了單片機固件的C語言源程序和window下的V1.0示例程序源代碼(DELPHI),。V1.0的演示程序界面見圖七,。示例程序的使用也是很簡單的,把實例電路連接到電腦的COM1口上,,運行示例程序,,這時點擊"內(nèi)置測試"24個繼電器就會逐個閉合一段時間又斷開,完成后程序會彈出如圖七的成功對話框,,如點擊程序界面上編號的選項框則相應P口上的繼電器閉合或斷開,。 上述的所有源碼程序和可執(zhí)行文件都可在本期的附加光盤上找到,更多更新的相關資料可以訪問筆者的網(wǎng)站http://www.,。(源碼程序可在這點擊下載)
RS232C串口的基本知識 圖八是RS232C的DB25針連接器,,其引腳排列和名稱見表2。在這25個引腳中包含了兩個信道,,分別為主信道和次信道,,其中有4個數(shù)據(jù)線,11個控制線,,3個定時信號線和2個信號地,。次信道為輔助串行通道,其傳輸速率與主信道要低得多,,其它功能都一樣,,但較少的使用到。在AT,、ATX型的PC和新其它新型的PC只提供一到兩個的只有主信道的RS232C串口,,它們通常是使用DB9插針型連接器安裝在PC后面板上,在BIOS或操作系統(tǒng)中稱之為COM1,、COM2(這個設備號也用于程序編寫中,,也可以用COM3,,COM4等),外觀和引腳定義分別見圖三和圖九,,實例電路就是要使用它來進行和電腦進行通訊,。
串行通信時,數(shù)據(jù)和聯(lián)絡信號都是用同一根信號線來傳送的,,這就要求收發(fā)遵守以下幾點: 1) 雙方約定的通信的速率(波特率),,如在實例中單片機和電腦都是使用9600波特,。 2) 雙方約定的數(shù)據(jù)格式(幀格式),,其中包含控制信息應該有明確的定義,如實例中簡單的通訊協(xié)議,。 3) 接收方應如何得知一段數(shù)據(jù)的開始和結(jié)束(幀同步),,如實例中簡單協(xié)議中的B1,B4,。 4) 接收方如何判斷收到的數(shù)據(jù)的正確性(數(shù)據(jù)校驗),。 5) 接收方如何從位流中正確地采樣到位數(shù)據(jù)(位同步)。 6) 收發(fā)出錯時如何外理(出錯外理),。
根據(jù)同步方式的不同,,串行通信又分為兩類,異步通信和同步通信,。同步通信時除了需要發(fā)送數(shù)據(jù)線,,接收數(shù)據(jù)線和信號地線以外,還需要一根時鐘信號線,,時鐘信號用于同步數(shù)據(jù)的發(fā)送和接收,,傳送時是先讀取同步位,,兩設備的同步模式一樣時數(shù)據(jù)開始傳送,直到送完數(shù)據(jù)塊,,發(fā)送大的數(shù)據(jù)塊時要周期性的重發(fā)同步字符,。同步通信主要是應用于高速數(shù)據(jù)傳送場合。而在實例中用到的是最簡單的異步通信,,它不需要上述的時鐘信號線,,只要發(fā)送數(shù)據(jù)線、接收數(shù)據(jù)線和信號地線就可以了,。異步通信發(fā)送的數(shù)據(jù)是以每次一個字符形式發(fā)出,,接收端的同步是通過檢測包含在每個字符的開始和結(jié)束外的同步位而形成,這就造成20%冗余時間,,使速度通訊速度變慢,。 在業(yè)余的制作中通常是使用異步通信,在編寫程序時只要做到上位機和下位機的使用同樣的波特率,、數(shù)據(jù)位數(shù),、停止位和有奇偶校驗位就可以實現(xiàn)簡單的RS232C異步通信。當然異步通信也可實現(xiàn)多種傳輸制式,,如單工,、半雙工和全雙工通信鏈路,這里不做詳細說明了,。 RS232C接口在幾乎每一臺臺式PC電腦中被使用,,在一些新式的筆記本電腦也許只會有USB接口,這時可以用USB轉(zhuǎn)RS232C的設備取得RS232接口,。在你的智能電子制作中不如加入對它的使用,,一定會給你的制作或發(fā)明增色不少,如我們可以在一些要讀數(shù),、采集的儀表中加入串口采集或控制這樣就可以用電腦強大的處理能力去處理相關的數(shù)據(jù),,也可以在一些要用到電腦控制的電路制作中用到串口。圖一,、二,、十一是本文實例制作的實物圖,關于它的PCB和相關的制作資料請訪問筆者的主頁http://www.,,如有相關問題和建議也可以聯(lián)系筆者Email:pnzwzw@,。
表3 零件表
|
|
來自: 雙喜臨門 > 《電子,,電器,,維修》