日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于MAX1487芯片的遠程多機通訊應(yīng)用
基于MAX1487芯片的遠程多機通訊應(yīng)用
 更新時間:2008-8-16 20:57:16  點擊數(shù):12
【字體: 字體顏色

一般的程序設(shè)計是中斷一次接收一個字節(jié)數(shù)據(jù),這里我們將使一次中斷接收一個完整的數(shù)據(jù)包。數(shù)據(jù)包由五部分組成:從機地址(1Byte);命令字節(jié)(1Byte);數(shù)據(jù)字節(jié)數(shù)(1Byte);傳送數(shù)據(jù)(0-256Byte);校驗和(2Byte)。主機向下先發(fā)送從機地址,從機進入中斷接收程序,如地址相符,再以查詢方式接收命令字節(jié)、數(shù)據(jù)字節(jié)數(shù)、數(shù)據(jù)、校驗和。從機根據(jù)接收到的校驗和判斷接收正確與否,這時從機由接收狀態(tài)置成發(fā)送狀態(tài),若接收正確則向主機回發(fā)“A5H”信號及其它回應(yīng)信息,否則發(fā)“5AH”信號,中斷返回前從機再置成接收狀態(tài)。在主從機收發(fā)程序中做了超時處理,若經(jīng)過一段時間收不到信息,則此次通訊失敗。
3 軟件設(shè)計
1.單片機部分
工作方式:定時器1為工作方式2,串行口為工作方式3;
傳送方式:中斷接收與發(fā)送響應(yīng)信息;
數(shù)據(jù)格式:一個起始位,八個數(shù)據(jù)位,一個TB8或RB8,一個停止位;
波特率:9600bps
從機中斷子程序流程圖略。
下面給出單片機通訊程序采用Franklin/Keil C51語言編制。
main()
{  //初始化
TMOD=0x20;
TL1=0xFD;    //設(shè)定波特率為9600bit
TH1=0xFD;
PCON=0x80;
TCON=0x00;
SMOD=0x00;
SCON=0xF0;
TR1=1;
REN=1;
ES=1;
EA=1;
P35=1; //處于接收狀態(tài)
}
     //串行口中斷程序
void serial() interrupt 4 using 1  {
 unsigned char address;
RI=0;  //關(guān)中斷
 address=SBUF;
//判斷是否符合本機地址,如1號機
if (address= =0x01)         
 { P35=0;
  SM2=0; //清SM2位,準備接收數(shù)據(jù)
    ……
        //接收數(shù)據(jù)及相應(yīng)處理
        (發(fā)送功能可在此部分完成)  
     ……
 SM2=1;
}
else SM2=1;      //不是發(fā)給本機數(shù)據(jù),
置位SM2,退出
   }
2.PC機部分
傳送方式:查詢方式接收和發(fā)送數(shù)據(jù);
數(shù)據(jù)格式:一個起始位,八個數(shù)據(jù)位,一個可編程位(類似TB8或RB8),一個停止位;
波特率:9600bps
上位PC機通信程序的開發(fā)環(huán)境采用Borland C++ Builder5.0可視化編程工具,它是基于C++語言的快速應(yīng)用程序開發(fā)(RAD)工具,是最先進的開發(fā)應(yīng)用程序組件思想和面向?qū)ο蟮模茫Z言融合的產(chǎn)物,C++ Builder5.0內(nèi)置了近200個完全封裝了Windows 9x公用特性且具有擴展性的可重用控件,這就使得利用C++ Builder開發(fā)應(yīng)用程序非常方便、快捷。
在Windows98/95環(huán)境中,編寫串行通信應(yīng)用程序,一般采用如下兩種方法:其一是通過調(diào)用Win32 API提供的串行通信函數(shù),這種方法實現(xiàn)相當繁瑣;另一種方法則是利用專門處理串行通信的控件來編程,用戶只需在自己的應(yīng)用程序中嵌入這一類控件,編寫少量代碼便可輕松高效地完成任務(wù)。在本系統(tǒng)中,我們選擇一個名為Comm的第三方控件來實現(xiàn)串口的通信管理。
表1 Comm控件的重要屬性和事件列表
屬性(事件)名稱              用    途
BaudRate        設(shè)置串行通信波特率
Databits        設(shè)置有效數(shù)據(jù)位長度
DeviceAddress       設(shè)置串行口地址
DeviceName       選擇串行口
Parity        奇偶校驗位設(shè)置
OnBreak        通信中斷時激活
OnError        數(shù)據(jù)傳輸有誤時激活
Comm控件的一些重要屬性(Property)和事件(Event)如表1所示。串行端口的選擇、波特率的設(shè)定以及數(shù)據(jù)格式的定義等都可通過設(shè)置相應(yīng)的屬性來完成。在由計算機和多個單片機應(yīng)用系統(tǒng)構(gòu)成的多機環(huán)境中,一般把通信數(shù)據(jù)分為“地址幀”和 “數(shù)據(jù)幀”來傳送,PC機的串行通信本身并不具備多機通信功能,也不能產(chǎn)生TB8或者RB8,但可以通過靈活設(shè)置Comm控件中的“Parity”屬性來形成正確的地址/數(shù)據(jù)標志位,從而使PC機與單片機之間實現(xiàn)多機通信。
PC機與某一下位機通信,在對話框中選擇下位機的地址號、設(shè)定通信命令,在“連接”按鈕(Button)的OnClick事件處理函數(shù)中編寫代碼實現(xiàn)與下位機的數(shù)據(jù)通信。另外在通信被中斷或數(shù)據(jù)傳輸有誤時,分別激活Comm控件的OnBreak事件和OnError事件。在OnBreak或者OnError的事件處理函數(shù)中加入代碼用來完成是否重發(fā)或取消本次通信等操作。
PC機收發(fā)數(shù)據(jù)的流程圖略。
4 結(jié)束語
此設(shè)計應(yīng)用在實際設(shè)備中取得良好效果。MAX1487芯片的使用在RS485遠程多機通訊中表現(xiàn)出較強功能,值得推廣。
另外,值得一提的是,用C語言進行8051單片機程序設(shè)計是單片機開發(fā)與應(yīng)用的必然趨勢,而Franklin/Keil C51是一種很好的單片機C語言的編譯器,能自動完成變量存儲單元的分配,使得程序設(shè)計和維護效率大為提高。
參考文獻
[1]ANALOG DESIGN GUIDE MAXIM CORPORATION 1997,7

  • 上一篇: CDMA20001x中的分組網(wǎng)技術(shù)
  • 下一篇: 金融稅控收款機系統(tǒng)中Modem的解決方案
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1