999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
首 頁 新聞動態(tài) 產(chǎn)品中心 方案與應(yīng)用 技術(shù)文摘 資料下載 關(guān)于我們 臺達網(wǎng)站 在線視頻
臺達變頻器和C51單片機通訊

中達電通股份有限公司
收藏本文     查看收藏
3 單片機通訊設(shè)計
3.1 C52單片機的串行接口結(jié)構(gòu)
    8051串行接口是一個可編程的全雙工串行通訊接口。它可用作異步通訊方式(UART),與串行傳送信息的外部設(shè)備相連接,或用于通過標(biāo)準(zhǔn)異步通訊協(xié)議進行全雙工的8051多機系統(tǒng)也可以通過同步方式,使用TTL或CMOS移位寄存器來擴充I/O口。8051單片機通過引腳RXD(P3.0,串行數(shù)據(jù)接收端)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送端)與外界通訊。SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同名字和地址空間,但不會出現(xiàn)沖突,因為它們兩個一個只能被CPU讀出數(shù)據(jù),一個只能被CPU寫入數(shù)據(jù)。
    臺達變頻器接受的RS485信號,單片機輸出的是TTL電平。因此要變頻器和單片機通訊要有通訊轉(zhuǎn)換芯片,目前常用的RS485芯片有MAX485、MAX483,S75176等。在本例子中采用了MAX485和S75176芯片,同時電路圖中預(yù)留了RS232電路的接口,方便單片機以RS232通訊方式和其他外設(shè)進行通訊。主單片機采用ATMEL公司的AT89C52單片機。
3.2 軟件調(diào)試界面
     單片機程序通過在KEIL環(huán)境下開發(fā)編譯的,調(diào)試界面如下:

3.3通訊源程序
 
/*********************************************************
*  本程序是AT89C52單片機和臺達B系列、M系列、L系列、F系列通訊例子.
*  通訊協(xié)議ASCII格式,幀格式為“1位起始位、7位數(shù)據(jù)、奇偶位(或無)、結(jié)束位”共10位.
*  臺達VFD系列變頻器一幀的通訊格式:第0位:“:”起始位;第1,2位:站號地址.
*  第3,4位:功能號碼;第5,6,7,8位:寫入的地址;第9,10,11,12位:傳輸數(shù)據(jù).
*  第13,14位:校驗碼;第15,116位:停止0X0D,0X0A.
*  該程序通過向2000H地址寫入0012H數(shù)據(jù)來啟動變頻器;向2000H地址寫入0012H數(shù)據(jù)來停止變頻器.
*  由P1.0來控制MCU發(fā)送數(shù)據(jù),P2來控制通訊指示燈.*
*  編譯環(huán)境:KEIL V3.30
*  作者:劉元剛
*  部門:中達電通股份有限公司AMD產(chǎn)品處
*  編寫時間:2008.1.8
*  修改時間:
*  修改內(nèi)容:
**********************************************************/
#include <reg51.h>
char send[17]={0};
char send1[8]={0x01,0x06,0x01,0x00,0x17,0x70,0x86,0x22};
char count;
int  temp;
bit motor_flag=0;
/*********ASCII格式變量定義**********/
char number ;     //設(shè)備站號
char function ;   //功能
char address_h;   //地址高
char address_l;   //地址低
char  data_h ;    //數(shù)據(jù)
char  data_l ;    //數(shù)據(jù)
char CRC_H;       //校驗
char CRC_L;       //校驗
char send_temp;
int  sum_temp;
/*
     函數(shù)ASCII()實現(xiàn)了臺達變頻器通訊協(xié)議轉(zhuǎn)換為ASCII協(xié)議格式的功能。
*/
void ASCII(void);
/*
    init_serial()函數(shù)串行通訊初始化函數(shù)
    實現(xiàn)了:波特率的設(shè)定,定時器的選擇,發(fā)送模式的選擇
*/
void init_serial(void);
//函數(shù)ASCII7N2()以數(shù)據(jù)格式 7,N 2方式發(fā)送數(shù)據(jù)
void ASCII7N2(void);
//函數(shù)ASCII7O1()以數(shù)據(jù)格式 7,O 1方式發(fā)送數(shù)據(jù)
void ASCII7O1(void);
//函數(shù)ASCII7E1()以數(shù)據(jù)格式 7,E 1方式發(fā)送數(shù)據(jù)
void ASCII7E1(void);
 
main()
{
     init_serial();
/***********VFD系列變頻器通訊資料初始化*****/
     number=0x01;
     function=0x06;
     address_h=0x20;
     address_l=0x00;
     data_h=0X00;
     data_l=0x12;
/******************************************/
     while(1)
     {
        if(P1!=0XFF)
        {
        for(temp=0;temp<3000;temp++)//延時一段時間
        {;}
            if(P1!=0XFF)
            {
            P2=0;
            TI=0;
            ASCII();//發(fā)送數(shù)據(jù)的處理
 
            ASCII7N2();//以通訊協(xié)議為ASCII 9600,7,N,2發(fā)送數(shù)據(jù)
            ASCII7O1();//以通訊協(xié)議為ASCII 9600,7,O,1發(fā)送數(shù)據(jù)
            ASCII7E1();//以通訊協(xié)議為ASCII 9600,7,E,1發(fā)送數(shù)據(jù)
           
            for(temp=0;temp<10000;temp++)
//發(fā)送完數(shù)據(jù)之后延時一段時間
            {;}
            for(temp=0;temp<10000;temp++)
            {;}
            motor_flag=~motor_flag;       //完成了變頻器啟動和停止之間的切換
            if(motor_flag==1){data_l=0x11;}
            else{data_l=0x12;}
            P1=0XFF;
            P2=0XFF;
            }
        }       
     } 
}
/*******************************************************************************
******
函數(shù)nop名稱:void init_serial(void)
函數(shù)功能:
參數(shù)列表:
返回值  :
影響資源:
實現(xiàn)過程:
********************************************************************************
*****/
void init_serial(void)
{
    SCON=0x40;//工作在方式1,
    TMOD=0x20;
    TH1=0xFD; //波特率為9600,晶振11.0592MHZ
    TL1=0xFD; 
    TR1=1;        //啟動定時器1
    P1=0XFF;
}
 
void ASCII7N2(void)
{
     for(count=0;count<17;count++)
            {
            SBUF=send[count]|0X80;
            while(TI==0);
            TI=0;
            }
}
void ASCII7O1(void)
{
    for(count=0;count<17;count++)
            {
            temp=0;
            ACC=send[count]&0X7F;
            send_temp=ACC;
            temp=P;
            send_temp=(temp<<7)|send_temp;
            SBUF=send_temp;
            while(TI==0);
            TI=0;
            }
}
void ASCII7E1(void)
{
    for(count=0;count<17;count++)
            {
            temp=0;
            ACC=send[count]&0X7F;
            send_temp=ACC;
            temp=~P;
            send_temp=(temp<<7)|send_temp;
            SBUF=send_temp;
            while(TI==0);
            TI=0;
            }
}
/*******************************************************************************
 
 
臺達相關(guān)解決方案:
臺達堆垛機方案:精準(zhǔn)是王道 平穩(wěn)更高效
不負期望 強大性能 | 臺達ASDA-A3伺服高端應(yīng)用面面說
云端漫游智能制造 低碳方案盡在眼前!
看臺達三招化解數(shù)據(jù)中心升級難
云課堂 | 聽數(shù)據(jù)中心專家開講新一代綠色微模塊
建設(shè)低碳綠色智能工廠,從優(yōu)化冷水機開始!
臺達在這個智慧園區(qū)上展現(xiàn)的“硬功夫“和”軟實力”
臺達澆鑄控制解決方案 助力發(fā)泡橡膠制程大升級
臺達為數(shù)據(jù)托管跨國公司提供 28 MW 關(guān)鍵電力解決方案
低碳模式 綠色主張 臺達方案與你分享
臺達LED直流智能照明解決方案,點亮家門口的“指路燈”
深化“雙碳”牽引目標(biāo) 臺達為智能廠務(wù)增加綠色助力
更多臺達解決方案...
通過中華工控網(wǎng)在線留言中達電通股份有限公司:
用戶名: 密碼: 免費注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)
 
中華工控網(wǎng) GKong.com制作發(fā)布 廣告聯(lián)系