日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]51單片機(jī)與三菱PLC無協(xié)議通訊成功

我用了兩個晚上的時間查閱一些資料,利用三菱PLC的擴(kuò)展RS485通訊板與其51單片機(jī)連接通訊,可寫PLC任意的地址。長度可達(dá)1000米,看見網(wǎng)上寫的都很煩且對三菱和單片機(jī)不是很熟的朋友來說有一定的閱讀難度,今天將它與大家分享。希望在此基礎(chǔ)上大家能擴(kuò)展出自己想要的功能,過些時間有空我在寫個半雙工的程序。

硬件部分:

我用的是天祥單片機(jī)實(shí)驗(yàn)板,由于沒有RS485接口,我利用ADM485芯片自制了一個485接口與三菱PLC的擴(kuò)展RS485通訊如圖,但如果要進(jìn)行半雙工通訊,須將P3.0口到下載程序的RS232芯片的線斷開可用一個跳線,用RS485的時候斷開RS232,用RS232的時候插上跳線帽。硬件連接如圖

 

PLC程序:

通訊我用單片機(jī)做主機(jī)(只發(fā)送指令),PLC做從機(jī)(只接收指令),單工單向,以便初學(xué)著掌握。

格式:1位啟始,8位數(shù)據(jù),一位停止。

所以PLC寄存器D8120:0C81.

plc程序很簡單不懂的可以看下三菱PLC的通訊手冊。如下圖:

 

三:單片機(jī)程序:

#include /*單片機(jī)的頭文件*/

unsigned char code tab[]={0x17,0xff};/*PLC輸出的Y點(diǎn)數(shù),PLC輸出Y燈0125678亮*/

sbit led=P1^1; /*將RS485置為發(fā)送數(shù)據(jù)模式*/

unsigned char i;

void init()

{

SCON=0x50; /*串口中斷開*/

TMOD=0x20; /*定時器設(shè)置*/

TH1=0xfd; /*定時時間的高位*/

TL1=0xfd; /*定時時間的低位,速度為9600BPS*/

TR1=1; /*定時器開*/

EA=1; /*開總中斷*/

TI=0; /*復(fù)位串口中斷*/

led=1; /*將RS485置為發(fā)送數(shù)據(jù)模式*/

}

void main()

{

init(); /*調(diào)用子程序*/

for(i=0;i<2;i++)

{

SBUF=tab[i]; /*將數(shù)據(jù)發(fā)送到串口*/

while(!TI); /*等待串口數(shù)據(jù)發(fā)送結(jié)束*/

TI=0; /*復(fù)位串口中斷*/

}

}

四:注意點(diǎn)。

1:RS485的線不能接反,否則數(shù)據(jù)將不正確。

2:單片機(jī)的晶振要選擇11.0592MHZ,否則PLC接收到數(shù)據(jù)也不正確。

3:RS485芯片的電源不能接反,否則要燒壞芯片。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉